diff options
author | midipix <writeonce@midipix.org> | 2024-02-14 01:35:44 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2024-02-14 01:57:26 +0000 |
commit | 6bc1706e77c607947ac30f96ec0bce3e056b3026 (patch) | |
tree | fed9c75b2c866c8300213733699c76a282649717 /src/driver | |
parent | 68760b855037f8f5d03c99db3e5b646674d9cfe6 (diff) | |
download | slibtool-6bc1706e77c607947ac30f96ec0bce3e056b3026.tar.bz2 slibtool-6bc1706e77c607947ac30f96ec0bce3e056b3026.tar.xz |
driver: added the --as switch (assembler argument to pass through to dlltool).
Diffstat (limited to 'src/driver')
-rw-r--r-- | src/driver/slbt_driver_ctx.c | 4 | ||||
-rw-r--r-- | src/driver/slbt_host_params.c | 21 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c index 6f96e42..deb8cdc 100644 --- a/src/driver/slbt_driver_ctx.c +++ b/src/driver/slbt_driver_ctx.c @@ -593,6 +593,10 @@ int slbt_get_driver_ctx( cfgmeta_ar = cfgexplicit; break; + case TAG_AS: + cctx.host.as = entry->arg; + break; + case TAG_RANLIB: cctx.host.ranlib = entry->arg; cfgmeta_ranlib = cfgexplicit; diff --git a/src/driver/slbt_host_params.c b/src/driver/slbt_host_params.c index f63f9b3..6414ec1 100644 --- a/src/driver/slbt_host_params.c +++ b/src/driver/slbt_host_params.c @@ -369,6 +369,24 @@ int slbt_init_host_params( host->ar = drvhost->ar; } + /* as */ + if (host->as) + cfgmeta->as = cfgexplicit; + else { + if (!(drvhost->as = calloc(1,toollen))) + return -1; + + if (fnative) { + strcpy(drvhost->as,"as"); + cfgmeta->as = cfgnative; + } else { + sprintf(drvhost->as,"%s-as",host->host); + cfgmeta->as = cfghost; + } + + host->as = drvhost->as; + } + /* ranlib */ if (host->ranlib) cfgmeta->ranlib = cfgmeta_ranlib ? cfgmeta_ranlib : cfgexplicit; @@ -480,6 +498,9 @@ void slbt_free_host_params(struct slbt_host_strs * host) if (host->ar) free(host->ar); + if (host->as) + free(host->as); + if (host->ranlib) free(host->ranlib); |