From 56f236d413d8aa5e0c875f0926f0c6dd9fb1d7d0 Mon Sep 17 00:00:00 2001 From: midipix Date: Dec 19 2020 22:14:58 +0000 Subject: driver: support -static-libtool-libs (currently as a no-op). --- diff --git a/include/slibtool/slibtool.h b/include/slibtool/slibtool.h index fd188df..de49275 100644 --- a/include/slibtool/slibtool.h +++ b/include/slibtool/slibtool.h @@ -68,6 +68,7 @@ extern "C" { #define SLBT_DRIVER_IMPLIB_IDATA SLBT_DRIVER_XFLAG(0x0001) #define SLBT_DRIVER_IMPLIB_DSOMETA SLBT_DRIVER_XFLAG(0x0002) #define SLBT_DRIVER_EXPORT_DYNAMIC SLBT_DRIVER_XFLAG(0x0010) +#define SLBT_DRIVER_STATIC_LIBTOOL_LIBS SLBT_DRIVER_XFLAG(0x0100) /* error flags */ #define SLBT_ERROR_TOP_LEVEL 0x0001 diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c index 7e1e690..b105c2b 100644 --- a/src/driver/slbt_driver_ctx.c +++ b/src/driver/slbt_driver_ctx.c @@ -553,6 +553,9 @@ static int slbt_split_argv( *targv++ = argv[i++]; *targv++ = argv[i]; + } else if (!(strcmp("static-libtool-libs",&argv[i][1]))) { + *targv++ = argv[i]; + } else if (!(strcmp("export-dynamic",&argv[i][1]))) { *targv++ = argv[i]; @@ -1528,6 +1531,10 @@ int slbt_get_driver_ctx( case TAG_DLOPEN: break; + case TAG_STATIC_LIBTOOL_LIBS: + cctx.drvflags |= SLBT_DRIVER_STATIC_LIBTOOL_LIBS; + break; + case TAG_EXPORT_DYNAMIC: cctx.drvflags |= SLBT_DRIVER_EXPORT_DYNAMIC; break; diff --git a/src/internal/slibtool_driver_impl.h b/src/internal/slibtool_driver_impl.h index 19b4f46..8aaf592 100644 --- a/src/internal/slibtool_driver_impl.h +++ b/src/internal/slibtool_driver_impl.h @@ -66,6 +66,7 @@ enum app_tags { TAG_HEURISTICS, TAG_SHARED, TAG_STATIC, + TAG_STATIC_LIBTOOL_LIBS, TAG_ALL_STATIC, TAG_DISABLE_STATIC, TAG_DISABLE_SHARED, diff --git a/src/skin/slbt_skin_default.c b/src/skin/slbt_skin_default.c index 1f81148..5533b04 100644 --- a/src/skin/slbt_skin_default.c +++ b/src/skin/slbt_skin_default.c @@ -265,6 +265,11 @@ const struct argv_option slbt_default_options[] = { ARGV_OPTION_HYBRID_ONLY,0,0, "only build ./srcfile.o"}, + {"static-libtool-libs", 0,TAG_STATIC_LIBTOOL_LIBS,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, + "statically link libtool libraries " + "[currently a no-op]"}, + {"Wc", 0,TAG_COMPILER_FLAG,ARGV_OPTARG_REQUIRED, ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_COMMA, 0,"[,