I tend to agree it's odd and nonstandard, and should probably be stdout.

On 05/10/10 10:51 PM, Gavin Maltby wrote:
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


_______________________________________________
tools-discuss mailing list
tools-discuss@opensolaris.org

Reply via email to