diff options
Diffstat (limited to 'src/driver/slbt_driver_ctx.c')
-rw-r--r-- | src/driver/slbt_driver_ctx.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c index 76c7c4a..09adb68 100644 --- a/src/driver/slbt_driver_ctx.c +++ b/src/driver/slbt_driver_ctx.c @@ -440,6 +440,7 @@ int slbt_lib_get_driver_ctx( sargv.cargv = 0; objlistv = 0; ndlopen = 0; + lflags = 0; switch (slbt_split_argv(argv,flags,&sargv,&objlistv,fdctx->fderr,fdctx->fdcwd)) { case SLBT_OK: @@ -617,6 +618,14 @@ int slbt_lib_get_driver_ctx( cctx.drvflags |= SLBT_DRIVER_OUTPUT_M4_DIR; break; + case TAG_PRINT_SHARED_EXT: + cctx.drvflags |= SLBT_DRIVER_OUTPUT_SHARED_EXT; + break; + + case TAG_PRINT_STATIC_EXT: + cctx.drvflags |= SLBT_DRIVER_OUTPUT_STATIC_EXT; + break; + case TAG_DEBUG: cctx.drvflags |= SLBT_DRIVER_DEBUG; break; @@ -1004,7 +1013,8 @@ int slbt_lib_get_driver_ctx( if (cctx.drvflags & SLBT_DRIVER_HEURISTICS) { if (slbt_get_lconf_flags(&ctx->ctx,lconf,&lflags,false) < 0) - return slbt_lib_get_driver_ctx_fail(&ctx->ctx,0); + if (!(cctx.drvflags & SLBT_DRIVER_OUTPUT_MASK)) + return slbt_lib_get_driver_ctx_fail(&ctx->ctx,0); } else { switch (cctx.mode) { case SLBT_MODE_UNKNOWN: |