Author: rpaulo
Date: Tue Aug 17 20:39:28 2010
New Revision: 211437
URL: http://svn.freebsd.org/changeset/base/211437

Log:
  For every instance of '.if ${CC} == "foo"' or '.if ${CC} != "foo"' in
  Makefiles or *.mk files, use ${CC:T:Mfoo} instead, so only the basename
  of the compiler command (excluding any arguments) is considered.
  
  This allows you to use, for example, CC="/nondefault/path/clang -xxx",
  and still have the various tests in bsd.*.mk identify your compiler as
  clang correctly.
  
  ICC if cases were also changed.
  
  Submitted by: Dimitry Andric <dimitry at andric.com>

Modified:
  head/share/mk/bsd.dep.mk
  head/share/mk/bsd.lib.mk
  head/share/mk/bsd.sys.mk
  head/sys/conf/kern.mk
  head/sys/conf/kern.pre.mk
  head/sys/conf/kmod.mk
  head/sys/dev/aic7xxx/aicasm/Makefile
  head/sys/i386/acpica/Makefile

Modified: head/share/mk/bsd.dep.mk
==============================================================================
--- head/share/mk/bsd.dep.mk    Tue Aug 17 20:26:17 2010        (r211436)
+++ head/share/mk/bsd.dep.mk    Tue Aug 17 20:39:28 2010        (r211437)
@@ -125,7 +125,7 @@ depend: beforedepend ${DEPENDFILE} after
 
 # Different types of sources are compiled with slightly different flags.
 # Split up the sources, and filter out headers and non-applicable flags.
-.if ${CC} == "icc"
+.if ${CC:T:Micc} == "icc"
 MKDEP_CFLAGS=  ${CFLAGS:M-X*} ${CFLAGS:M-[BIDU]*}
 MKDEP_CXXFLAGS=        ${CXXFLAGS:M-X*} ${CXXFLAGS:M-[BIDU]*}
 MKDEP_OBJCFLAGS=${OBJCFLAGS:M-X*} ${OBJCFLAGS:M-[BIDU]*}

Modified: head/share/mk/bsd.lib.mk
==============================================================================
--- head/share/mk/bsd.lib.mk    Tue Aug 17 20:26:17 2010        (r211436)
+++ head/share/mk/bsd.lib.mk    Tue Aug 17 20:39:28 2010        (r211437)
@@ -65,7 +65,7 @@ PICFLAG=-fpic
 .endif
 .endif
 
-.if ${CC} == "icc"
+.if ${CC:T:Micc} == "icc"
 PO_FLAG=-p
 .else
 PO_FLAG=-pg

Modified: head/share/mk/bsd.sys.mk
==============================================================================
--- head/share/mk/bsd.sys.mk    Tue Aug 17 20:26:17 2010        (r211436)
+++ head/share/mk/bsd.sys.mk    Tue Aug 17 20:39:28 2010        (r211437)
@@ -11,7 +11,7 @@
 # the default is gnu99 for now
 CSTD           ?= gnu99
 
-.if ${CC} != "icc"
+.if ${CC:T:Micc} != "icc"
 . if ${CSTD} == "k&r"
 CFLAGS         += -traditional
 . elif ${CSTD} == "c89" || ${CSTD} == "c90"
@@ -24,7 +24,7 @@ CFLAGS                += -std=iso9899:1999
 CFLAGS         += -std=${CSTD}
 . endif
 .endif
-.if !defined(NO_WARNS) && ${CC} != "icc"
+.if !defined(NO_WARNS) && ${CC:T:Micc} != "icc"
 # -pedantic is problematic because it also imposes namespace restrictions
 #CFLAGS                += -pedantic
 . if defined(WARNS)
@@ -79,7 +79,7 @@ CWARNFLAGS    +=      -Werror
 CWARNFLAGS     +=      -Wno-unknown-pragmas
 .endif
 
-.if ${MK_SSP} != "no" && ${CC} != "icc" && ${MACHINE_ARCH} != "ia64" && \
+.if ${MK_SSP} != "no" && ${CC:T:Micc} != "icc" && ${MACHINE_ARCH} != "ia64" && 
\
        ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "mips"
 # Don't use -Wstack-protector as it breaks world with -Werror.
 SSP_CFLAGS     ?=      -fstack-protector

Modified: head/sys/conf/kern.mk
==============================================================================
--- head/sys/conf/kern.mk       Tue Aug 17 20:26:17 2010        (r211436)
+++ head/sys/conf/kern.mk       Tue Aug 17 20:39:28 2010        (r211437)
@@ -6,7 +6,7 @@
 # Note that the newly added -Wcast-qual is responsible for generating 
 # most of the remaining warnings.  Warnings introduced with -Wall will
 # also pop up, but are easier to fix.
-.if ${CC} == "icc"
+.if ${CC:T:Micc} == "icc"
 #CWARNFLAGS=   -w2     # use this if you are terribly bored
 CWARNFLAGS=
 .else
@@ -29,8 +29,8 @@ CWARNFLAGS?=  -Wall -Wredundant-decls -Wn
 # operations inside the kernel itself.  These operations are exclusively
 # reserved for user applications.
 #
-.if ${MACHINE_ARCH} == "i386" && ${CC} != "icc"
-.if ${CC} != "clang"
+.if ${MACHINE_ARCH} == "i386" && ${CC:T:Micc} != "icc"
+.if ${CC:T:Mclang} != "clang"
 CFLAGS+=       -mno-align-long-strings -mpreferred-stack-boundary=2
 .endif
 CFLAGS+=       -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3
@@ -93,20 +93,20 @@ INLINE_LIMIT?=      8000
 # GCC 3.0 and above like to do certain optimizations based on the
 # assumption that the program is linked against libc.  Stop this.
 #
-.if ${CC} == "icc"
+.if ${CC:T:Micc} == "icc"
 CFLAGS+=       -nolib_inline
 .else
 CFLAGS+=       -ffreestanding
 .endif
 
-.if ${CC} == "icc"
+.if ${CC:T:Micc} == "icc"
 CFLAGS+=       -restrict
 .endif
 
 #
 # GCC SSP support.
 #
-.if ${MK_SSP} != "no" && ${CC} != "icc" && ${MACHINE_ARCH} != "ia64" && \
+.if ${MK_SSP} != "no" && ${CC:T:Micc} != "icc" && ${MACHINE_ARCH} != "ia64" && 
\
        ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "mips"
 CFLAGS+=       -fstack-protector
 .endif

Modified: head/sys/conf/kern.pre.mk
==============================================================================
--- head/sys/conf/kern.pre.mk   Tue Aug 17 20:26:17 2010        (r211436)
+++ head/sys/conf/kern.pre.mk   Tue Aug 17 20:39:28 2010        (r211437)
@@ -23,7 +23,7 @@ NM?=          nm
 OBJCOPY?=      objcopy
 SIZE?=         size
 
-.if ${CC} == "icc"
+.if ${CC:T:Micc} == "icc"
 COPTFLAGS?=    -O
 .else
 . if defined(DEBUG)
@@ -48,7 +48,7 @@ COPTFLAGS+= ${_ICC_CPUCFLAGS:C/(-x[^M^K^
 COPTFLAGS+= ${_CPUCFLAGS}
 . endif
 .endif
-.if ${CC} == "icc"
+.if ${CC:T:Micc} == "icc"
 C_DIALECT=
 NOSTDINC= -X
 .else
@@ -92,8 +92,8 @@ INCLUDES+= -I$S/dev/cxgb
 
 CFLAGS=        ${COPTFLAGS} ${C_DIALECT} ${DEBUG} ${CWARNFLAGS}
 CFLAGS+= ${INCLUDES} -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include 
opt_global.h
-.if ${CC} != "icc"
-.if ${CC} != "clang"
+.if ${CC:T:Micc} != "icc"
+.if ${CC:T:Mclang} != "clang"
 CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT}
 .if ${MACHINE_CPUARCH} != "mips"
 CFLAGS+= --param inline-unit-growth=100
@@ -111,7 +111,7 @@ WERROR?= -Werror
 ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS}
 
 .if defined(PROFLEVEL) && ${PROFLEVEL} >= 1
-.if ${CC} == "icc" || ${CC} == "clang"
+.if ${CC:T:Micc} == "icc" || ${CC:T:Mclang} == "clang"
 .error "Profiling doesn't work with icc or clang yet"
 .endif
 CFLAGS+=       -DGPROF -falign-functions=16

Modified: head/sys/conf/kmod.mk
==============================================================================
--- head/sys/conf/kmod.mk       Tue Aug 17 20:26:17 2010        (r211436)
+++ head/sys/conf/kmod.mk       Tue Aug 17 20:39:28 2010        (r211437)
@@ -81,7 +81,7 @@ OBJCOPY?=     objcopy
 
 .SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S
 
-.if ${CC} == "icc"
+.if ${CC:T:Micc} == "icc"
 CFLAGS:=       ${CFLAGS:C/(-x[^M^K^W]+)[MKW]+|-x[MKW]+/\1/}
 .else
 . if !empty(CFLAGS:M-O[23s]) && empty(CFLAGS:M-fno-strict-aliasing)
@@ -94,7 +94,7 @@ CFLAGS+=      -D_KERNEL
 CFLAGS+=       -DKLD_MODULE
 
 # Don't use any standard or source-relative include directories.
-.if ${CC} == "icc"
+.if ${CC:T:Micc} == "icc"
 NOSTDINC=      -X
 .else
 CSTD=          c99
@@ -114,7 +114,7 @@ CFLAGS+=    -I. -I@
 # for example.
 CFLAGS+=       -I@/contrib/altq
 
-.if ${CC} != "icc" && ${CC} != "clang"
+.if ${CC:T:Micc} != "icc" && ${CC:T:Mclang} != "clang"
 CFLAGS+=       -finline-limit=${INLINE_LIMIT}
 CFLAGS+= --param inline-unit-growth=100
 CFLAGS+= --param large-function-growth=1000
@@ -122,7 +122,7 @@ CFLAGS+= --param large-function-growth=1
 
 # Disallow common variables, and if we end up with commons from
 # somewhere unexpected, allocate storage for them in the module itself.
-.if ${CC} != "icc"
+.if ${CC:T:Micc} != "icc"
 CFLAGS+=       -fno-common
 .endif
 LDFLAGS+=      -d -warn-common

Modified: head/sys/dev/aic7xxx/aicasm/Makefile
==============================================================================
--- head/sys/dev/aic7xxx/aicasm/Makefile        Tue Aug 17 20:26:17 2010        
(r211436)
+++ head/sys/dev/aic7xxx/aicasm/Makefile        Tue Aug 17 20:39:28 2010        
(r211437)
@@ -24,7 +24,7 @@ WARNS?=       5
 DEPENDFILE=    .depend_aicasm
 .endif
 
-.if ${CC} == "icc"
+.if ${CC:T:Micc} == "icc"
 CFLAGS+=       -restrict
 NOSTDINC=      -X
 .else

Modified: head/sys/i386/acpica/Makefile
==============================================================================
--- head/sys/i386/acpica/Makefile       Tue Aug 17 20:26:17 2010        
(r211436)
+++ head/sys/i386/acpica/Makefile       Tue Aug 17 20:39:28 2010        
(r211437)
@@ -9,7 +9,7 @@ DEPENDFILE=
 MAKESRCPATH= ${.CURDIR}
 CLEANFILES= acpi_wakecode.h acpi_wakecode.bin acpi_wakecode.o
 .endif
-.if ${CC} == "icc"
+.if ${CC:T:Micc} == "icc"
 CFLAGS+=       -restrict
 NOSTDINC=      -X
 .else
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to