diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c index 1379731..ac41ed3 100644 --- a/src/driver/slbt_driver_ctx.c +++ b/src/driver/slbt_driver_ctx.c @@ -334,6 +334,10 @@ static int slbt_split_argv( *targv++ = argv[i++]; *targv++ = argv[i]; + } else if (!(strcmp("dlopen",&argv[i][1]))) { + *targv++ = argv[i++]; + *targv++ = argv[i]; + } else if (!(strcmp("export-symbols",&argv[i][1]))) { *targv++ = argv[i++]; *targv++ = argv[i]; @@ -990,6 +994,9 @@ int slbt_get_driver_ctx( cctx.drvflags |= SLBT_DRIVER_AVOID_VERSION; break; + case TAG_DLOPEN: + break; + case TAG_EXPSYM_FILE: cctx.symfile = entry->arg; break; diff --git a/src/internal/slibtool_driver_impl.h b/src/internal/slibtool_driver_impl.h index 9a4a750..a6b69a6 100644 --- a/src/internal/slibtool_driver_impl.h +++ b/src/internal/slibtool_driver_impl.h @@ -39,6 +39,7 @@ enum app_tags { TAG_SHREXT, TAG_RPATH, TAG_RELEASE, + TAG_DLOPEN, TAG_EXPSYM_FILE, TAG_EXPSYM_REGEX, TAG_VERSION_INFO, diff --git a/src/skin/slbt_skin_default.c b/src/skin/slbt_skin_default.c index 09408a3..6f752b7 100644 --- a/src/skin/slbt_skin_default.c +++ b/src/skin/slbt_skin_default.c @@ -139,6 +139,12 @@ const struct argv_option slbt_default_options[] = { "followed by the creation of libfoo.so " "as a symlink thereto"}, + {"dlopen", 0,TAG_DLOPEN,ARGV_OPTARG_REQUIRED, + ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_SPACE, + 0,"", + "add the directory containing %s to the library path " + "[currently a no-op]"}, + {"export-symbols", 0,TAG_EXPSYM_FILE,ARGV_OPTARG_REQUIRED, ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_SPACE, 0,"",