diff options
author | ian <ian@FreeBSD.org> | 2014-07-25 23:21:36 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2014-07-25 23:21:36 +0000 |
commit | 0adc7b49f4bf6aacff060b6e571f815c7d7252d3 (patch) | |
tree | 4a8016c56f91711d1db7232aaf0585ae5699b2f0 | |
parent | d599f4ba1eb7534933e5371228b5883e9c2c5d9c (diff) | |
download | FreeBSD-src-0adc7b49f4bf6aacff060b6e571f815c7d7252d3.zip FreeBSD-src-0adc7b49f4bf6aacff060b6e571f815c7d7252d3.tar.gz |
MFC r263373, r268402
Add a way to apply CFLAGS only when building the given architecture. This
is useful primarily on a system used for cross-building, when you have a
set of flags to apply to the TARGET_ARCH being cross-built but don't want
those settings applied to building the cross-tools or other components that
run on the build host machine.
Support CXXFLAGS.${MACHINE_ARCH} as well as CFLAGS. This allows different
C++ options for toolchain versus target when cross-building.
-rw-r--r-- | share/examples/etc/make.conf | 7 | ||||
-rw-r--r-- | share/mk/bsd.cpu.mk | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/share/examples/etc/make.conf b/share/examples/etc/make.conf index 15eee8a..d52d518 100644 --- a/share/examples/etc/make.conf +++ b/share/examples/etc/make.conf @@ -60,6 +60,12 @@ # nonstandard optimization settings # before submitting bug reports without patches to the developers. # +# CFLAGS.arch provides a mechanism for applying CFLAGS only when building +# the given architecture. This is useful primarily on a system used for +# cross-building, when you have a set of flags to apply to the TARGET_ARCH +# being cross-built but don't want those settings applied to building the +# cross-tools or other components that run on the build host machine. +# # CXXFLAGS controls the compiler settings used when compiling C++ code. # Note that CXXFLAGS is initially set to the value of CFLAGS. If you wish # to add to CXXFLAGS value, "+=" must be used rather than "=". Using "=" @@ -71,6 +77,7 @@ # # CFLAGS+= -msse3 # CXXFLAGS+= -msse3 +# CFLAGS.armv6+= -mfloat-abi=softfp # # MAKE_SHELL controls the shell used internally by make(1) to process the # command scripts in makefiles. Three shells are supported, sh, ksh, and diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk index 60cf2f6..6338924 100644 --- a/share/mk/bsd.cpu.mk +++ b/share/mk/bsd.cpu.mk @@ -262,3 +262,8 @@ CFLAGS += -G0 .if !defined(NO_CPU_CFLAGS) CFLAGS += ${_CPUCFLAGS} .endif + +# Add in any architecture-specific CFLAGS. +# These come from make.conf or the command line or the environment. +CFLAGS += ${CFLAGS.${MACHINE_ARCH}} +CXXFLAGS += ${CXXFLAGS.${MACHINE_ARCH}} |