From 6bc1706e77c607947ac30f96ec0bce3e056b3026 Mon Sep 17 00:00:00 2001 From: midipix Date: Wed, 14 Feb 2024 01:35:44 +0000 Subject: driver: added the --as switch (assembler argument to pass through to dlltool). --- src/driver/slbt_driver_ctx.c | 4 ++++ src/driver/slbt_host_params.c | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) (limited to 'src/driver') 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); -- cgit v1.2.3