summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/slibtool/slibtool.h1
-rw-r--r--src/driver/slbt_driver_ctx.c8
-rw-r--r--src/internal/slibtool_driver_impl.h1
-rw-r--r--src/skin/slbt_skin_default.c6
4 files changed, 16 insertions, 0 deletions
diff --git a/include/slibtool/slibtool.h b/include/slibtool/slibtool.h
index cfad114..73683e9 100644
--- a/include/slibtool/slibtool.h
+++ b/include/slibtool/slibtool.h
@@ -156,6 +156,7 @@ struct slbt_common_ctx {
char * libname;
const char * rpath;
const char * release;
+ const char * regex;
char ** targv;
char ** cargv;
};
diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c
index 29aff8b..69db462 100644
--- a/src/driver/slbt_driver_ctx.c
+++ b/src/driver/slbt_driver_ctx.c
@@ -239,6 +239,10 @@ static int slbt_split_argv(
*targv++ = argv[i++];
*targv++ = argv[i];
+ } else if (!(strcmp("export-symbols-regex",&argv[i][1]))) {
+ *targv++ = argv[i++];
+ *targv++ = argv[i];
+
} else if (!(strcmp("version-info",&argv[i][1]))) {
*targv++ = argv[i++];
*targv++ = argv[i];
@@ -699,6 +703,10 @@ int slbt_get_driver_ctx(
cctx.release = entry->arg;
break;
+ case TAG_EXPSYM_REGEX:
+ cctx.regex = entry->arg;
+ break;
+
case TAG_VERSION_INFO:
cctx.verinfo.verinfo = entry->arg;
break;
diff --git a/src/internal/slibtool_driver_impl.h b/src/internal/slibtool_driver_impl.h
index 5e7edad..712f79c 100644
--- a/src/internal/slibtool_driver_impl.h
+++ b/src/internal/slibtool_driver_impl.h
@@ -34,6 +34,7 @@ enum app_tags {
TAG_OUTPUT,
TAG_RPATH,
TAG_RELEASE,
+ TAG_EXPSYM_REGEX,
TAG_VERSION_INFO,
TAG_VERSION_NUMBER,
TAG_NO_SUPPRESS,
diff --git a/src/skin/slbt_skin_default.c b/src/skin/slbt_skin_default.c
index 26588c4..58059e8 100644
--- a/src/skin/slbt_skin_default.c
+++ b/src/skin/slbt_skin_default.c
@@ -90,6 +90,12 @@ const struct argv_option slbt_default_options[] = {
ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_SPACE,0,0,
"specify release information"},
+ {"export-symbols-regex",0,TAG_EXPSYM_REGEX,ARGV_OPTARG_REQUIRED,
+ ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_SPACE,
+ 0,"<regex>",
+ "only export symbols mathing the regex expression"
+ "%s [currently a no-op]"},
+
{"version-info", 0,TAG_VERSION_INFO,ARGV_OPTARG_REQUIRED,
ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_SPACE,0,
"<current>[:<revision>[:<age>]]",