diff options
Diffstat (limited to 'src/output/slbt_output_exec.c')
-rw-r--r-- | src/output/slbt_output_exec.c | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/output/slbt_output_exec.c b/src/output/slbt_output_exec.c index 187c3ac..9c88bac 100644 --- a/src/output/slbt_output_exec.c +++ b/src/output/slbt_output_exec.c @@ -1,6 +1,6 @@ /*******************************************************************/ -/* slibtool: a skinny libtool implementation, written in C */ -/* Copyright (C) 2016--2021 SysDeer Technologies, LLC */ +/* slibtool: a strong libtool implementation, written in C */ +/* Copyright (C) 2016--2024 SysDeer Technologies, LLC */ /* Released under the Standard MIT License; see COPYING.SLIBTOOL. */ /*******************************************************************/ @@ -17,8 +17,8 @@ static const char aclr_reset[] = "\x1b[0m"; static const char aclr_bold[] = "\x1b[1m"; static const char aclr_green[] = "\x1b[32m"; -static const char aclr_blue[] = "\x1b[34m"; static const char aclr_magenta[] = "\x1b[35m"; +static const char aclr_white[] = "\x1b[37m"; static int slbt_output_exec_annotated( const struct slbt_driver_ctx * dctx, @@ -31,7 +31,9 @@ static int slbt_output_exec_annotated( const char * aclr_color; const char * aclr_unset; - fdout = slbt_driver_fdout(dctx); + fdout = (strcmp(step,"execute")) + ? slbt_driver_fdout(dctx) + : slbt_driver_fderr(dctx); if (slbt_dprintf( fdout,"%s%s%s: %s%s%s%s:%s", @@ -43,7 +45,7 @@ static int slbt_output_exec_annotated( for (parg=ectx->argv; *parg; parg++) { if ((parg == ectx->lout[0]) || (parg == ectx->mout[0])) { aclr_set = aclr_bold; - aclr_color = aclr_blue; + aclr_color = aclr_white; aclr_unset = aclr_null; } else { aclr_set = aclr_null; @@ -74,7 +76,9 @@ static int slbt_output_exec_plain( int fdout; char ** parg; - fdout = slbt_driver_fdout(dctx); + fdout = (strcmp(step,"execute")) + ? slbt_driver_fdout(dctx) + : slbt_driver_fderr(dctx); if (slbt_dprintf(fdout,"%s: %s:",dctx->program,step) < 0) return SLBT_SYSTEM_ERROR(dctx,0); @@ -90,11 +94,17 @@ static int slbt_output_exec_plain( } int slbt_output_exec( - const struct slbt_driver_ctx * dctx, const struct slbt_exec_ctx * ectx, const char * step) { - int fdout = slbt_driver_fdout(dctx); + const struct slbt_driver_ctx * dctx; + int fdout; + + dctx = (slbt_get_exec_ictx(ectx))->dctx; + + fdout = (strcmp(step,"execute")) + ? slbt_driver_fdout(dctx) + : slbt_driver_fderr(dctx); if (dctx->cctx->drvflags & SLBT_DRIVER_ANNOTATE_NEVER) return slbt_output_exec_plain(dctx,ectx,step); @@ -109,37 +119,27 @@ int slbt_output_exec( return slbt_output_exec_plain(dctx,ectx,step); } -int slbt_output_compile( - const struct slbt_driver_ctx * dctx, - const struct slbt_exec_ctx * ectx) +int slbt_output_compile(const struct slbt_exec_ctx * ectx) { - return slbt_output_exec(dctx,ectx,"compile"); + return slbt_output_exec(ectx,"compile"); } -int slbt_output_execute( - const struct slbt_driver_ctx * dctx, - const struct slbt_exec_ctx * ectx) +int slbt_output_execute(const struct slbt_exec_ctx * ectx) { - return slbt_output_exec(dctx,ectx,"execute"); + return slbt_output_exec(ectx,"execute"); } -int slbt_output_install( - const struct slbt_driver_ctx * dctx, - const struct slbt_exec_ctx * ectx) +int slbt_output_install(const struct slbt_exec_ctx * ectx) { - return slbt_output_exec(dctx,ectx,"install"); + return slbt_output_exec(ectx,"install"); } -int slbt_output_link( - const struct slbt_driver_ctx * dctx, - const struct slbt_exec_ctx * ectx) +int slbt_output_link(const struct slbt_exec_ctx * ectx) { - return slbt_output_exec(dctx,ectx,"link"); + return slbt_output_exec(ectx,"link"); } -int slbt_output_uninstall( - const struct slbt_driver_ctx * dctx, - const struct slbt_exec_ctx * ectx) +int slbt_output_uninstall(const struct slbt_exec_ctx * ectx) { - return slbt_output_exec(dctx,ectx,"uninstall"); + return slbt_output_exec(ectx,"uninstall"); } |