diff options
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/slibtool_driver_impl.h | 3 | ||||
-rw-r--r-- | src/internal/slibtool_lconf_impl.c | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/internal/slibtool_driver_impl.h b/src/internal/slibtool_driver_impl.h index 948d68c..2644e27 100644 --- a/src/internal/slibtool_driver_impl.h +++ b/src/internal/slibtool_driver_impl.h @@ -245,7 +245,8 @@ int slbt_init_host_params( struct slbt_host_params * host, struct slbt_host_params * cfgmeta, const char * cfgmeta_ar, - const char * cfgmeta_ranlib); + const char * cfgmeta_ranlib, + const char * cfgmeta_dlltool); void slbt_free_host_params(struct slbt_host_strs * host); diff --git a/src/internal/slibtool_lconf_impl.c b/src/internal/slibtool_lconf_impl.c index da0ffdd..c6c2f2a 100644 --- a/src/internal/slibtool_lconf_impl.c +++ b/src/internal/slibtool_lconf_impl.c @@ -806,6 +806,17 @@ int slbt_get_lconf_flags( } + /* dlltool tool (optional) */ + if (!ctx->cctx.host.dlltool) { + if (slbt_get_lconf_var(addr,cap,"DLLTOOL=",&val) >= 0) { + if (val[0] && !(ctx->host.dlltool = strdup(val))) + return SLBT_SYSTEM_ERROR(dctx,0); + + ctx->cctx.host.dlltool = ctx->host.dlltool; + } + } + + /* all done */ ctx->lconf.addr = addr; ctx->lconf.size = st.st_size; |