mirror of
https://github.com/opnsense/src.git
synced 2026-03-13 14:12:38 -04:00
* 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
|
||
|---|---|---|
| .. | ||
| atm | ||
| bootforth | ||
| BSD_daemon | ||
| cvsup | ||
| diskless | ||
| drivers | ||
| etc | ||
| find_interface | ||
| FreeBSD_version | ||
| ibcs2 | ||
| IPv6 | ||
| isdn | ||
| kld | ||
| libvgl | ||
| mdoc | ||
| meteor | ||
| netgraph | ||
| nwclient | ||
| perfmon | ||
| portal | ||
| ppi | ||
| ppp | ||
| pppd | ||
| printing | ||
| scsi_target | ||
| ses | ||
| slattach | ||
| sliplogin | ||
| startslip | ||
| sunrpc | ||
| worm | ||
| Makefile | ||