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>

@@ -75,24 +75,21 @@
         if [[ $# -lt 1 ]] ; then
                 ndrgen_usage "C pre-processor path is missing"
         else
                 CC=$1
                 shift $(($OPTIND - 1))
-
-                # Check for cw being invoked with -_cc or -_gcc
-                if [[ $1 = "-_cc" || $1 = "-_gcc" ]] ; then
-                        CC_ARG=$1
-                        shift $(($OPTIND - 1))
-                fi
         fi
 fi
 
 if [[ $CC = "" ]] ; then
         ndrgen_usage "C pre-processor is not defined"
 fi
 
-if [ ! -f $CC ] || [ ! -x $CC ] ; then
+# Remove the non-cw options
+CC=${CC%% -- *}
+
+if [ ! -f ${CC%% *} ] || [ ! -x ${CC%% *} ] ; then
         ndrgen_usage "cannot run $CC"
 fi
 
 for i
 do

@@ -104,11 +101,11 @@
         BASENAME=`basename $i .ndl`
         TMP_NAME=$BASENAME.ndl.c
 
         cp $i $TMP_NAME
 
-        if $CC $CC_ARG -E  -D__a64 -D__EXTENSIONS__ -D_FILE_OFFSET_BITS=64 \
+        if $CC  -E  -D__a64 -D__EXTENSIONS__ -D_FILE_OFFSET_BITS=64 \
                 -I. -I${INCDIR} -I${INCDIR}/ndl -DNDRGEN $TMP_NAME | \
                 $NDRPROG > $BASENAME.raw
         then
                 touch ${BASENAME}_ndr.c
                 ndrgen_copy_header $i ${BASENAME}_ndr.c