summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2024-02-16 07:32:01 +0000
committermidipix <writeonce@midipix.org>2024-02-16 07:32:01 +0000
commitba922898a1106882fa7f1228dd64c2d3587e0dc5 (patch)
tree6408f0c20693ca34ca543deab47707cf1f4aa938 /src
parent2611275c5f0a180c96963c9b1c4d2f1d76a04b5d (diff)
downloadslibtool-ba922898a1106882fa7f1228dd64c2d3587e0dc5.tar.bz2
slibtool-ba922898a1106882fa7f1228dd64c2d3587e0dc5.tar.xz
driver: host.as: added support for tool-specific argument vector.
Diffstat (limited to 'src')
-rw-r--r--src/driver/slbt_driver_ctx.c3
-rw-r--r--src/internal/slibtool_lconf_impl.c13
2 files changed, 11 insertions, 5 deletions
diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c
index bbc1dd9..50c1a9b 100644
--- a/src/driver/slbt_driver_ctx.c
+++ b/src/driver/slbt_driver_ctx.c
@@ -948,6 +948,9 @@ int slbt_get_driver_ctx(
if (slbt_driver_parse_tool_argv(ctx->cctx.host.ranlib,&ctx->host.ranlib_argv) < 0)
return slbt_get_driver_ctx_fail(&ctx->ctx,0);
+ if (slbt_driver_parse_tool_argv(ctx->cctx.host.as,&ctx->host.as_argv) < 0)
+ return slbt_get_driver_ctx_fail(&ctx->ctx,0);
+
/* flavor settings */
slbt_init_flavor_settings(
&ctx->cctx,0,
diff --git a/src/internal/slibtool_lconf_impl.c b/src/internal/slibtool_lconf_impl.c
index 5daa2f4..93dc2d3 100644
--- a/src/internal/slibtool_lconf_impl.c
+++ b/src/internal/slibtool_lconf_impl.c
@@ -825,12 +825,15 @@ int slbt_get_lconf_flags(
/* as tool (optional) */
if (!ctx->cctx.host.as) {
- if (!slbt_get_lconf_var(addr,cap,"AS=",0,&val)) {
- if (val[0] && !(ctx->host.as = strdup(val)))
- return SLBT_SYSTEM_ERROR(dctx,0);
+ if (slbt_get_lconf_var(addr,cap,"AS=",0x20,&val) < 0)
+ return SLBT_CUSTOM_ERROR(
+ dctx,SLBT_ERR_LCONF_PARSE);
- ctx->cctx.host.as = ctx->host.as;
- }
+ if (val[0] && !(ctx->host.as = strdup(val)))
+ return SLBT_SYSTEM_ERROR(dctx,0);
+
+
+ ctx->cctx.host.as = ctx->host.as;
}