From fc8ee9c0c22a831f03d35885e14ac72ddc91a04c Mon Sep 17 00:00:00 2001 From: midipix Date: Tue, 13 Feb 2024 16:22:20 +0000 Subject: driver: rlibtool mode: also derive DLLTOOL from the located libtool script. --- src/internal/slibtool_driver_impl.h | 3 ++- src/internal/slibtool_lconf_impl.c | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'src/internal') 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; -- cgit v1.2.3