From f5fa4cfd2ddab00584b0382e8a8f9c26b18b5c09 Mon Sep 17 00:00:00 2001 From: midipix Date: Apr 23 2016 13:25:06 +0000 Subject: driver: added -disable-shared support. --- diff --git a/include/slibtool/slibtool.h b/include/slibtool/slibtool.h index 9da8d3f..091ec79 100644 --- a/include/slibtool/slibtool.h +++ b/include/slibtool/slibtool.h @@ -59,6 +59,7 @@ extern "C" { #define SLBT_DRIVER_ALL_STATIC 0x01000000 #define SLBT_DRIVER_DISABLE_STATIC 0x02000000 +#define SLBT_DRIVER_DISABLE_SHARED 0x04000000 /* execution modes */ enum slbt_mode { diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c index 544e485..673cfeb 100644 --- a/src/driver/slbt_driver_ctx.c +++ b/src/driver/slbt_driver_ctx.c @@ -705,6 +705,9 @@ int slbt_get_driver_ctx( else if (!strcmp("disable-static",entry->arg)) cctx.drvflags |= SLBT_DRIVER_DISABLE_STATIC; + + else if (!strcmp("disable-shared",entry->arg)) + cctx.drvflags |= SLBT_DRIVER_DISABLE_SHARED; break; case TAG_CONFIG: @@ -818,6 +821,10 @@ int slbt_get_driver_ctx( cctx.drvflags |= SLBT_DRIVER_DISABLE_STATIC; break; + case TAG_DISABLE_SHARED: + cctx.drvflags |= SLBT_DRIVER_DISABLE_SHARED; + 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 3c45f91..2ecc652 100644 --- a/src/internal/slibtool_driver_impl.h +++ b/src/internal/slibtool_driver_impl.h @@ -47,6 +47,7 @@ enum app_tags { TAG_STATIC, TAG_ALL_STATIC, TAG_DISABLE_STATIC, + TAG_DISABLE_SHARED, 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 0e29d96..e3c0ce2 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|disable-static",0, + "CC|CXX|NASM|disable-static|disable-shared",0, "a universal playground game"}, {"config", 0,TAG_CONFIG,ARGV_OPTARG_NONE,0,0,0, @@ -127,6 +127,13 @@ const struct argv_option slbt_default_options[] = { "containing the individual object files. " "[currently a no-op]"}, + {"disable-shared", 0,TAG_DISABLE_SHARED,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, + "for libraries, only create an archive " + "containing the individual object files, and " + "accordingly do not create a shared library. " + "[currently a no-op]"}, + {"avoid-version", 0,TAG_AVOID_VERSION,ARGV_OPTARG_NONE, ARGV_OPTION_HYBRID_ONLY,0,0, "do not store version information, "