Hi,

Is it a deliberate decision that cw echo the cmdlines it invokes (cc, gcc, ...)
to stderr instead of stdout?  When building interactively and there's a problem
this makes a 'dmake >/dev/null' (intended to see only stderr to observe the
complaints from the compiler) pretty useless unless I set DMAKE_MODE=serial
which is tedious.

I see it is hardcoded:

static int
invoke(cw_ictx_t *ctx)
{
        char **newargv;
        int ac;
        struct ae *a;

        if ((newargv = calloc(sizeof (*newargv), ctx->i_ae->ael_argc + 1)) ==
            NULL)
                nomem();

        if (ctx->i_flags & CW_F_ECHO)
                (void) fprintf(stderr, "+ ");

        for (ac = 0, a = ctx->i_ae->ael_head; a; a = a->ae_next, ac++) {
                newargv[ac] = a->ae_arg;
                if (ctx->i_flags & CW_F_ECHO)
                        (void) fprintf(stderr, "%s ", a->ae_arg);

This doesn't seem right to me - make/dmake certainly render makefile
commands to stdout.

(gav...@hyper:swfma-bld/usr/src/cmd/echo )-> dmake
/tank/ws/gavinm/swfma-bld/usr/src/tools/proto/root_i386-nd/opt/onbld/bin/i386/cw -_cc -O -xspace -Xa -xildoff -errtags=yes -errwarn=%all -erroff=E_EMPTY_TRANSLATION_UNIT -erroff=E_STATEMENT_NOT_REACHED -xc99=%none -W0,-xglobalstatic -v -D_iBCS2 -DTEXT_DOMAIN=\"SUNW_OST_OSCMD\" -D_TS_ERRNO -I/tank/ws/gavinm/swfma-bld/proto/root_i386/usr/include -Bdirect -M/tank/ws/gavinm/swfma-bld/usr/src/common/mapfiles/common/map.noexstk -M/tank/ws/gavinm/swfma-bld/usr/src/common/mapfiles/i386/map.pagealign -M/tank/ws/gavinm/swfma-bld/usr/src/common/mapfiles/i386/map.noexdata -o echo echo.c -L/tank/ws/gavinm/swfma-bld/proto/root_i386/lib -L/tank/ws/gavinm/swfma-bld/proto/root_i386/usr/lib + /ws/onnv-tools/SUNWspro/SS12/bin/cc -O -xspace -Xa -xildoff -errtags=yes -errwarn=%all -erroff=E_EMPTY_TRANSLATION_UNIT -erroff=E_STATEMENT_NOT_REACHED -xc99=%none -W0,-xglobalstatic -v -D_iBCS2 -DTEXT_DOMAIN="SUNW_OST_OSCMD" -D_TS_ERRNO -I/tank/ws/gavinm/swfma-bld/proto/root_i386/usr/include -Bdirect -M/tank/ws/gavinm/swfma-bld/usr/src/common/mapfiles/common/map.noexstk -M/tank/ws/gavinm/swfma-bld/usr/src/common/mapfiles/i386/map.pagealign -M/tank/ws/gavinm/swfma-bld/usr/src/common/mapfiles/i386/map.noexdata -o echo echo.c -L/tank/ws/gavinm/swfma-bld/proto/root_i386/lib -L/tank/ws/gavinm/swfma-bld/proto/root_i386/usr/lib

The first line is from dmake and is to stdout; the second is from cw and is to 
stderr:

(gav...@hyper:swfma-bld/usr/src/cmd/echo )-> dmake > /dev/null
+ /ws/onnv-tools/SUNWspro/SS12/bin/cc -O -xspace -Xa -xildoff -errtags=yes -errwarn=%all -erroff=E_EMPTY_TRANSLATION_UNIT -erroff=E_STATEMENT_NOT_REACHED -xc99=%none -W0,-xglobalstatic -v -D_iBCS2 -DTEXT_DOMAIN="SUNW_OST_OSCMD" -D_TS_ERRNO -I/tank/ws/gavinm/swfma-bld/proto/root_i386/usr/include -Bdirect -M/tank/ws/gavinm/swfma-bld/usr/src/common/mapfiles/common/map.noexstk -M/tank/ws/gavinm/swfma-bld/usr/src/common/mapfiles/i386/map.pagealign -M/tank/ws/gavinm/swfma-bld/usr/src/common/mapfiles/i386/map.noexdata -o echo echo.c -L/tank/ws/gavinm/swfma-bld/proto/root_i386/lib -L/tank/ws/gavinm/swfma-bld/proto/root_i386/usr/lib

Thanks

Gavin

--
Gavin Maltby
Oracle Corporation - Open Storage Systems
_______________________________________________
tools-discuss mailing list
tools-discuss@opensolaris.org

Reply via email to