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