diff --git a/include/slibtool/slibtool.h b/include/slibtool/slibtool.h index 6e8062d..c1f9ede 100644 --- a/include/slibtool/slibtool.h +++ b/include/slibtool/slibtool.h @@ -52,6 +52,7 @@ extern "C" { #define SLBT_DRIVER_STRICT 0x020000 #define SLBT_DRIVER_NO_UNDEFINED 0x040000 #define SLBT_DRIVER_MODULE 0x080000 +#define SLBT_DRIVER_AVOID_VERSION 0x100000 /* execution modes */ enum slbt_mode { diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c index 5640453..47e4f7d 100644 --- a/src/driver/slbt_driver_ctx.c +++ b/src/driver/slbt_driver_ctx.c @@ -758,6 +758,10 @@ int slbt_get_driver_ctx( cctx.drvflags |= SLBT_DRIVER_MODULE; break; + case TAG_AVOID_VERSION: + cctx.drvflags |= SLBT_DRIVER_AVOID_VERSION; + break; + case TAG_SHARED: cctx.drvflags &= ~(uint64_t)SLBT_DRIVER_STATIC; break; diff --git a/src/internal/slibtool_driver_impl.h b/src/internal/slibtool_driver_impl.h index 685c511..c0c137c 100644 --- a/src/internal/slibtool_driver_impl.h +++ b/src/internal/slibtool_driver_impl.h @@ -45,6 +45,7 @@ enum app_tags { TAG_STATIC, TAG_NO_UNDEFINED, TAG_MODULE, + TAG_AVOID_VERSION, TAG_COMPILER_FLAG, TAG_VERBATIM_FLAG, }; diff --git a/src/skin/slbt_skin_default.c b/src/skin/slbt_skin_default.c index f9f2109..829b9d7 100644 --- a/src/skin/slbt_skin_default.c +++ b/src/skin/slbt_skin_default.c @@ -109,6 +109,11 @@ const struct argv_option slbt_default_options[] = { "object name need not follow the platform's " "library naming conventions"}, + {"avoid-version", 0,TAG_AVOID_VERSION,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, + "do not store version information, " + "do not create version-specific symlinks"}, + {"version-info", 0,TAG_VERSION_INFO,ARGV_OPTARG_REQUIRED, ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_SPACE,0, "[:[:]]",