Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Feb 2001 03:14:25 -0800 (PST)
From:      Kris Kennaway <kris@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/etc/defaults make.conf src/share/mk bsd.cpu.mk sys.mk
Message-ID:  <200102221114.f1MBEQk65407@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
kris        2001/02/22 03:14:25 PST

  Modified files:
    etc/defaults         make.conf 
    share/mk             sys.mk 
  Added files:
    share/mk             bsd.cpu.mk 
  Log:
  Overhaul the MACHINE_CPU behaviour:
  
  * Rip out MACHINE_CPU stuff from sys.mk and include a new <bsd.cpu.mk>
    after we pull in /etc/make.conf.  We need to do it afterwards so we can
    react to the user setting of the:
  
  * CPUTYPE variable, which contains the CPU type which the user wants to
    optimize for.  For example, if you want your binaries to only run on an
    i686-class machine (or higher), set this to i686.  If you want to support
    running binaries on a variety of CPU generations, set this to the lowest
    common denominator.  Supported values are listed in make.conf.
  
  * bsd.cpu.mk does the expansion of CPUTYPE into MACHINE_CPU using the
    (hopefully) correct unordered list of CPU types which should be used on
    that CPU.  For example, an AMD k6 CPU wants any of the following:
      k6 k5 i586 i486 i386
    This is still an unordered list so the client makefile logic is simple -
    client makefiles need to test for the various elements of the set in
    decreasing order of priority using ${MACHINE_CPU:M<foo>}, as before.
    The various MACHINE_CPU lists are believed to be correct, but should be
    checked.
  
  * If NO_CPU_CFLAGS is not defined, add relevant gcc compiler optimization
    settings by default (e.g. -karch=k6 for CPUTYPE=k6, etc).  Release
    builders and developers of third-party software need to make sure not to
    enable CPU-specific optimization when generating code intended to be
    portable.  We probably need to move to an /etc/world.conf to allow the
    optimization stuff to be applied separately to world/kernel and external
    compilations, but it's not any worse a problem than it was before.
  
  * Add coverage for the ia64/itanium MACHINE_ARCH/CPUTYPE.
  
  * Add CPUTYPE support for all of the CPU types supported by FreeBSD and gcc
    (only i386, alpha and ia64 first, since those are the minimally-working
    ports.  Other architecture porters, please feel free to add the relevant
    gunk for your platform).
  
  Reviewed by:    jhb, obrien
  
  Revision  Changes    Path
  1.140     +14 -12    src/etc/defaults/make.conf
  1.50      +3 -11     src/share/mk/sys.mk


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102221114.f1MBEQk65407>