summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2020-12-19 22:14:58 +0000
committermidipix <writeonce@midipix.org>2020-12-19 22:14:58 +0000
commit56f236d413d8aa5e0c875f0926f0c6dd9fb1d7d0 (patch)
tree87d1cf1e630214640cf95b24894dfef98a038cf3
parent5c4d52d78ab5f2a925ad0ac185d8a4d4738c9b0a (diff)
downloadslibtool-56f236d413d8aa5e0c875f0926f0c6dd9fb1d7d0.tar.bz2
slibtool-56f236d413d8aa5e0c875f0926f0c6dd9fb1d7d0.tar.xz
driver: support -static-libtool-libs (currently as a no-op).
-rw-r--r--include/slibtool/slibtool.h1
-rw-r--r--src/driver/slbt_driver_ctx.c7
-rw-r--r--src/internal/slibtool_driver_impl.h1
-rw-r--r--src/skin/slbt_skin_default.c5
4 files changed, 14 insertions, 0 deletions
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,"<flag>[,<flag]...",