diff options
-rw-r--r-- | include/slibtool/slibtool.h | 1 | ||||
-rw-r--r-- | src/driver/slbt_driver_ctx.c | 7 | ||||
-rw-r--r-- | src/internal/slibtool_driver_impl.h | 1 | ||||
-rw-r--r-- | src/skin/slbt_skin_default.c | 9 |
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, " |