summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-05-03 14:43:21 -0400
committermidipix <writeonce@midipix.org>2016-05-03 14:43:21 -0400
commit0a9bff7db844b4bf21bf548616647bddecb13ff2 (patch)
tree463c6f104a37aedd5abc697a3b98082bbdeb4f2b
parent51838dc8ff5f599a4616fc4588604e229e91c4c0 (diff)
downloadslibtool-0a9bff7db844b4bf21bf548616647bddecb13ff2.tar.bz2
slibtool-0a9bff7db844b4bf21bf548616647bddecb13ff2.tar.xz
driver: added --legabits support.
-rw-r--r--include/slibtool/slibtool.h1
-rw-r--r--src/driver/slbt_driver_ctx.c10
-rw-r--r--src/internal/slibtool_driver_impl.h1
-rw-r--r--src/skin/slbt_skin_default.c8
4 files changed, 20 insertions, 0 deletions
diff --git a/include/slibtool/slibtool.h b/include/slibtool/slibtool.h
index e02e6dc..88e044c 100644
--- a/include/slibtool/slibtool.h
+++ b/include/slibtool/slibtool.h
@@ -60,6 +60,7 @@ extern "C" {
#define SLBT_DRIVER_ALL_STATIC 0x01000000
#define SLBT_DRIVER_DISABLE_STATIC 0x02000000
#define SLBT_DRIVER_DISABLE_SHARED 0x04000000
+#define SLBT_DRIVER_LEGABITS 0x08000000
#define SLBT_DRIVER_ANNOTATE_ALWAYS 0x10000000
#define SLBT_DRIVER_ANNOTATE_NEVER 0x20000000
diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c
index 8d8faa9..44e92c8 100644
--- a/src/driver/slbt_driver_ctx.c
+++ b/src/driver/slbt_driver_ctx.c
@@ -874,6 +874,16 @@ int slbt_get_driver_ctx(
cctx.drvflags |= SLBT_DRIVER_FEATURES;
break;
+ case TAG_LEGABITS:
+ if (!entry->arg)
+ cctx.drvflags |= SLBT_DRIVER_LEGABITS;
+
+ else if (!strcmp("enabled",entry->arg))
+ cctx.drvflags |= SLBT_DRIVER_LEGABITS;
+
+ else
+ cctx.drvflags &= ~(uint64_t)SLBT_DRIVER_LEGABITS;
+
case TAG_WARNINGS:
if (!strcmp("all",entry->arg))
cctx.warnings = SLBT_WARNING_LEVEL_ALL;
diff --git a/src/internal/slibtool_driver_impl.h b/src/internal/slibtool_driver_impl.h
index 09c1f10..ac823a8 100644
--- a/src/internal/slibtool_driver_impl.h
+++ b/src/internal/slibtool_driver_impl.h
@@ -19,6 +19,7 @@ enum app_tags {
TAG_DEBUG,
TAG_DRY_RUN,
TAG_FEATURES,
+ TAG_LEGABITS,
TAG_MODE,
TAG_WARNINGS,
TAG_ANNOTATE,
diff --git a/src/skin/slbt_skin_default.c b/src/skin/slbt_skin_default.c
index cdc9fa2..90d5aad 100644
--- a/src/skin/slbt_skin_default.c
+++ b/src/skin/slbt_skin_default.c
@@ -40,6 +40,14 @@ const struct argv_option slbt_default_options[] = {
{"features", 0,TAG_FEATURES,ARGV_OPTARG_NONE,0,0,0,
"show feature information"},
+ {"legabits", 0,TAG_LEGABITS,ARGV_OPTARG_OPTIONAL,0,
+ "enabled|disabled",0,
+ "enable/disable legacy bits, i.e. "
+ "the installation of an .la wrapper "
+ "along with its associated shared library "
+ "and/or static archive. option syntax is "
+ "--legabits[=%s]"},
+
{"no-warnings", 0,TAG_WARNINGS,ARGV_OPTARG_NONE,0,0,0,""},
{"preserve-dup-deps", 0,TAG_DEPS,ARGV_OPTARG_NONE,0,0,0,