Print this page
9128 cw(1onbld) should be able to run multiple shadows
9129 file-locking tests shouldn't build multiple source files in one compiler invocation
9130 DTrace tst.gcc.d isn't useful
9132 cw(1onbld) shouldn't shadow pure preprocessing
Reviewed by: Andy Fiddaman <omnios@citrus-it.net>
@@ -487,19 +487,17 @@
CTF_FLAGS = $(CTF_FLAGS_32)
#
# Flags used with genoffsets
#
-GOFLAGS = -_noecho \
- $(CALLSYMS) \
- $(CDWARFSTR)
+GOFLAGS = $(CALLSYMS) $(CDWARFSTR)
OFFSETS_CREATE = $(GENOFFSETS) -s $(CTFSTABS) -r $(CTFCONVERT) \
- $(CC) $(GOFLAGS) $(CFLAGS) $(CPPFLAGS)
+ $(CW) --noecho $(CW_CC_COMPILERS) -- $(GOFLAGS) $(CFLAGS) $(CPPFLAGS)
OFFSETS_CREATE64 = $(GENOFFSETS) -s $(CTFSTABS) -r $(CTFCONVERT) \
- $(CC) $(GOFLAGS) $(CFLAGS64) $(CPPFLAGS)
+ $(CW) --noecho $(CW_CC_COMPILERS) -- $(GOFLAGS) $(CFLAGS64) $(CPPFLAGS)
#
# tradeoff time for space (smaller is better)
#
sparc_SPACEFLAG = -xspace -W0,-Lt
@@ -784,10 +782,19 @@
#
SPRO_ROOT= $(BUILD_TOOLS)/SUNWspro
SPRO_VROOT= $(SPRO_ROOT)/SS12
GNU_ROOT= /usr
+$(__GNUC)PRIMARY_CC= gcc4,$(GNUC_ROOT)/bin/gcc,gnu
+$(__SUNC)PRIMARY_CC= studio12,$(SPRO_VROOT)/bin/cc,sun
+$(__GNUC)PRIMARY_CCC= gcc4,$(GNUC_ROOT)/bin/g++,gnu
+$(__SUNC)PRIMARY_CCC= studio12,$(SPRO_VROOT)/bin/CC,sun
+
+CW_CC_COMPILERS= $(PRIMARY_CC:%=--primary %) $(SHADOW_CCS:%=--shadow %)
+CW_CCC_COMPILERS= $(PRIMARY_CCC:%=--primary %) $(SHADOW_CCCS:%=--shadow %)
+
+
# Till SS12u1 formally becomes the NV CBE, LINT is hard
# coded to be picked up from the $SPRO_ROOT/sunstudio12.1/
# location. Impacted variables are sparc_LINT, sparcv9_LINT,
# i386_LINT, amd64_LINT.
# Reset them when SS12u1 is rolled out.
@@ -794,46 +801,35 @@
#
# Specify platform compiler versions for languages
# that we use (currently only c and c++).
#
-sparc_CC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
-$(__GNUC)sparc_CC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
-sparc_CCC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
-$(__GNUC)sparc_CCC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
-sparc_CPP= /usr/ccs/lib/cpp
-sparc_AS= /usr/ccs/bin/as -xregsym=no
-sparc_LD= /usr/ccs/bin/ld
-sparc_LINT= $(SPRO_ROOT)/sunstudio12.1/bin/lint
+CW= $(ONBLD_TOOLS)/bin/$(MACH)/cw
-sparcv9_CC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
-$(__GNUC64)sparcv9_CC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
-sparcv9_CCC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
-$(__GNUC64)sparcv9_CCC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
-sparcv9_CPP= /usr/ccs/lib/cpp
-sparcv9_AS= /usr/ccs/bin/as -xregsym=no
-sparcv9_LD= /usr/ccs/bin/ld
-sparcv9_LINT= $(SPRO_ROOT)/sunstudio12.1/bin/lint
+BUILD_CC= $(CW) $(CW_CC_COMPILERS) --
+BUILD_CCC= $(CW) -C $(CW_CCC_COMPILERS) --
+BUILD_CPP= /usr/ccs/lib/cpp
+BUILD_LD= /usr/ccs/bin/ld
+BUILD_LINT= $(SPRO_ROOT)/sunstudio12.1/bin/lint
-i386_CC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
-$(__GNUC)i386_CC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
-i386_CCC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
-$(__GNUC)i386_CCC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
-i386_CPP= /usr/ccs/lib/cpp
+$(MACH)_CC= $(BUILD_CC)
+$(MACH)_CCC= $(BUILD_CCC)
+$(MACH)_CPP= $(BUILD_CPP)
+$(MACH)_LD= $(BUILD_LD)
+$(MACH)_LINT= $(BUILD_LINT)
+$(MACH64)_CC= $(BUILD_CC)
+$(MACH64)_CCC= $(BUILD_CCC)
+$(MACH64)_CPP= $(BUILD_CPP)
+$(MACH64)_LD= $(BUILD_LD)
+$(MACH64)_LINT= $(BUILD_LINT)
+
+sparc_AS= /usr/ccs/bin/as -xregsym=no
+sparcv9_AS= $($(MACH)_AS)
+
i386_AS= /usr/ccs/bin/as
$(__GNUC)i386_AS= $(ONBLD_TOOLS)/bin/$(MACH)/aw
-i386_LD= /usr/ccs/bin/ld
-i386_LINT= $(SPRO_ROOT)/sunstudio12.1/bin/lint
-
-amd64_CC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
-$(__GNUC64)amd64_CC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
-amd64_CCC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
-$(__GNUC64)amd64_CCC= $(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
-amd64_CPP= /usr/ccs/lib/cpp
amd64_AS= $(ONBLD_TOOLS)/bin/$(MACH)/aw
-amd64_LD= /usr/ccs/bin/ld
-amd64_LINT= $(SPRO_ROOT)/sunstudio12.1/bin/lint
NATIVECC= $($(NATIVE_MACH)_CC)
NATIVECCC= $($(NATIVE_MACH)_CCC)
NATIVECPP= $($(NATIVE_MACH)_CPP)
NATIVEAS= $($(NATIVE_MACH)_AS)
@@ -848,16 +844,10 @@
CPP= $(NATIVECPP)
AS= $(NATIVEAS)
LD= $(NATIVELD)
LINT= $(NATIVELINT)
-# The real compilers used for this build
-CW_CC_CMD= $(CC) -_compiler
-CW_CCC_CMD= $(CCC) -_compiler
-REAL_CC= $(CW_CC_CMD:sh)
-REAL_CCC= $(CW_CCC_CMD:sh)
-
# Pass -Y flag to cpp (method of which is release-dependent)
CCYFLAG= -Y I,
BDIRECT= -Bdirect
BDYNAMIC= -Bdynamic