summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-04-21 21:05:17 -0400
committermidipix <writeonce@midipix.org>2016-04-21 21:05:17 -0400
commit0e609bfcff021c701474af9095eb0ba57d9eeeb0 (patch)
tree2734622945c544d0571dfe5dd2cd89a11f8c2b2a
parent94ae747d1e600883992c26349e39fea05bdc16c4 (diff)
downloadslibtool-0e609bfcff021c701474af9095eb0ba57d9eeeb0.tar.bz2
slibtool-0e609bfcff021c701474af9095eb0ba57d9eeeb0.tar.xz
driver: added -disable-static support [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.c9
4 files changed, 17 insertions, 1 deletions
diff --git a/include/slibtool/slibtool.h b/include/slibtool/slibtool.h
index 0e9f471..9da8d3f 100644
--- a/include/slibtool/slibtool.h
+++ b/include/slibtool/slibtool.h
@@ -58,6 +58,7 @@ extern "C" {
#define SLBT_DRIVER_IMAGE_MACHO 0x800000
#define SLBT_DRIVER_ALL_STATIC 0x01000000
+#define SLBT_DRIVER_DISABLE_STATIC 0x02000000
/* execution modes */
enum slbt_mode {
diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c
index 8caa5cb..544e485 100644
--- a/src/driver/slbt_driver_ctx.c
+++ b/src/driver/slbt_driver_ctx.c
@@ -702,6 +702,9 @@ int slbt_get_driver_ctx(
else if (!strcmp("NASM",entry->arg))
cctx.tag = SLBT_TAG_NASM;
+
+ else if (!strcmp("disable-static",entry->arg))
+ cctx.drvflags |= SLBT_DRIVER_DISABLE_STATIC;
break;
case TAG_CONFIG:
@@ -811,6 +814,10 @@ int slbt_get_driver_ctx(
cctx.drvflags |= SLBT_DRIVER_ALL_STATIC;
break;
+ case TAG_DISABLE_STATIC:
+ cctx.drvflags |= SLBT_DRIVER_DISABLE_STATIC;
+ break;
+
case TAG_AVOID_VERSION:
cctx.drvflags |= SLBT_DRIVER_AVOID_VERSION;
break;
diff --git a/src/internal/slibtool_driver_impl.h b/src/internal/slibtool_driver_impl.h
index 9e0872f..3c45f91 100644
--- a/src/internal/slibtool_driver_impl.h
+++ b/src/internal/slibtool_driver_impl.h
@@ -46,6 +46,7 @@ enum app_tags {
TAG_SHARED,
TAG_STATIC,
TAG_ALL_STATIC,
+ TAG_DISABLE_STATIC,
TAG_NO_UNDEFINED,
TAG_MODULE,
TAG_AVOID_VERSION,
diff --git a/src/skin/slbt_skin_default.c b/src/skin/slbt_skin_default.c
index a9fffa7..0e29d96 100644
--- a/src/skin/slbt_skin_default.c
+++ b/src/skin/slbt_skin_default.c
@@ -21,7 +21,7 @@ const struct argv_option slbt_default_options[] = {
"do not make any changes to the file system"},
{"tag", 0,TAG_TAG,ARGV_OPTARG_REQUIRED,0,
- "CC|CXX|NASM",0,
+ "CC|CXX|NASM|disable-static",0,
"a universal playground game"},
{"config", 0,TAG_CONFIG,ARGV_OPTARG_NONE,0,0,0,
@@ -120,6 +120,13 @@ const struct argv_option slbt_default_options[] = {
"statically linked binary; for libraries, "
"only create an archive of non-pic objects"},
+ {"disable-static", 0,TAG_DISABLE_STATIC,ARGV_OPTARG_NONE,
+ ARGV_OPTION_HYBRID_ONLY,0,0,
+ "for libraries, only create a shared library, "
+ "and accordingly do not create an archive "
+ "containing the individual object files. "
+ "[currently a no-op]"},
+
{"avoid-version", 0,TAG_AVOID_VERSION,ARGV_OPTARG_NONE,
ARGV_OPTION_HYBRID_ONLY,0,0,
"do not store version information, "