diff options
author | midipix <writeonce@midipix.org> | 2024-02-26 04:56:18 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2024-02-26 05:11:57 +0000 |
commit | b5e10411a1c764c7b7f82b8b1ff093df7546d028 (patch) | |
tree | 4bf144d1119ce78f5a045bfe8ba6aa0ed77f6077 /src/internal | |
parent | 489101c7b5e84298eba80777b0ec22cb39ad11a7 (diff) | |
download | slibtool-b5e10411a1c764c7b7f82b8b1ff093df7546d028.tar.bz2 slibtool-b5e10411a1c764c7b7f82b8b1ff093df7546d028.tar.xz |
driver: added the --nm switch.
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/slibtool_driver_impl.h | 4 | ||||
-rw-r--r-- | src/internal/slibtool_lconf_impl.c | 13 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/internal/slibtool_driver_impl.h b/src/internal/slibtool_driver_impl.h index 3b989b5..656c113 100644 --- a/src/internal/slibtool_driver_impl.h +++ b/src/internal/slibtool_driver_impl.h @@ -47,6 +47,7 @@ enum app_tags { TAG_FLAVOR, TAG_AR, TAG_AS, + TAG_NM, TAG_RANLIB, TAG_WINDRES, TAG_DLLTOOL, @@ -114,12 +115,14 @@ struct slbt_host_strs { char * flavor; char * ar; char * as; + char * nm; char * ranlib; char * windres; char * dlltool; char * mdso; char ** ar_argv; char ** as_argv; + char ** nm_argv; char ** ranlib_argv; char ** windres_argv; char ** dlltool_argv; @@ -284,6 +287,7 @@ int slbt_init_host_params( const char * cfgmeta_host, const char * cfgmeta_ar, const char * cfgmeta_as, + const char * cfgmeta_nm, const char * cfgmeta_ranlib, const char * cfgmeta_dlltool); diff --git a/src/internal/slibtool_lconf_impl.c b/src/internal/slibtool_lconf_impl.c index f6bfd36..b96e4f9 100644 --- a/src/internal/slibtool_lconf_impl.c +++ b/src/internal/slibtool_lconf_impl.c @@ -819,6 +819,19 @@ slbt_hidden int slbt_get_lconf_flags( } + /* nm tool */ + if (!ctx->cctx.host.nm) { + if (slbt_get_lconf_var(confctx,"NM=",0x20,&val) < 0) + return SLBT_CUSTOM_ERROR( + dctx,SLBT_ERR_LCONF_PARSE); + + if (val[0] && !(ctx->host.nm = strdup(val))) + return SLBT_SYSTEM_ERROR(dctx,0); + + ctx->cctx.host.nm = ctx->host.nm; + } + + /* ranlib tool */ if (!ctx->cctx.host.ranlib) { if (slbt_get_lconf_var(confctx,"RANLIB=",0x20,&val) < 0) |