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: Toomas Soome <tsoome@me.com>
Reviewed? by: Yuri Pankov <yuripv@yuripv.net>
Reviewed? by: Robert Mustacchi <rm@joyent.com>
Reviewed? by: Jason King <jason.king@joyent.com>
@@ -482,19 +482,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
@@ -779,52 +777,55 @@
#
SPRO_ROOT= $(BUILD_TOOLS)/SUNWspro
SPRO_VROOT= $(SPRO_ROOT)/SS12
GNU_ROOT= /usr
+$(__GNUC)PRIMARY_CC= gcc4,$(GCC_ROOT)/bin/gcc,gnu
+$(__SUNC)PRIMARY_CC= studio12,$(SPRO_VROOT)/bin/cc,sun
+$(__GNUC)PRIMARY_CCC= gcc4,$(GCC_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.
#
# 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++
+CW= $(ONBLD_TOOLS)/bin/$(MACH)/cw
+
+sparc_CC= $(CW) $(CW_CC_COMPILERS) --
+sparc_CCC= $(CW) -C $(CW_CCC_COMPILERS) --
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
-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_CC= $(CW) $(CW_CC_COMPILERS) --
+sparcv9_CCC= $(CW) -C $(CW_CCC_COMPILERS) --
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
-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_CC= $(CW) $(CW_CC_COMPILERS) --
+i386_CCC= $(CW) -C $(CW_CCC_COMPILERS) --
i386_CPP= /usr/ccs/lib/cpp
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_CC= $(CW) $(CW_CC_COMPILERS) --
+amd64_CCC= $(CW) -C $(CW_CCC_COMPILERS) --
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
@@ -843,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