diff options
author | midipix <writeonce@midipix.org> | 2024-03-31 22:19:58 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2024-03-31 22:25:36 +0000 |
commit | c7368741d167922bcc339bc751621e8381ab7d43 (patch) | |
tree | 83f10645d8aabaf6025e48bbca2bf75e58aab04d /src | |
parent | 7368417ce05a129c43abff2b492fd5ad1c305da5 (diff) | |
download | slibtool-c7368741d167922bcc339bc751621e8381ab7d43.tar.bz2 slibtool-c7368741d167922bcc339bc751621e8381ab7d43.tar.xz |
driver: --mkvars, slbt_get_mkvars_var(): special the SLIBTOOL make variable.
Diffstat (limited to 'src')
-rw-r--r-- | src/internal/slibtool_mkvars_impl.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/internal/slibtool_mkvars_impl.c b/src/internal/slibtool_mkvars_impl.c index a18dbfe..155036a 100644 --- a/src/internal/slibtool_mkvars_impl.c +++ b/src/internal/slibtool_mkvars_impl.c @@ -27,6 +27,7 @@ static int slbt_get_mkvars_var( const char ** pline; const char * mark; const char * match; + char * ch; ssize_t len; int cint; @@ -64,6 +65,21 @@ static int slbt_get_mkvars_var( return 0; } + /* special case the SLIBTOOL make variable */ + if (!strcmp(var,"SLIBTOOL")) { + mark = match; + ch = *val; + + for (; *mark; ) { + if (isspace(cint = *mark)) { + *ch = '\0'; + return 0; + } + + *ch++ = *mark++; + } + } + /* validate */ for (mark=match; *mark; mark++) { if ((*mark >= 'a') && (*mark <= 'z')) @@ -141,6 +157,9 @@ slbt_hidden int slbt_get_mkvars_flags( dctx, SLBT_ERR_MKVARS_PARSE); } + } else if (!strcmp(val,"false")) { + optshared = SLBT_DRIVER_DISABLE_SHARED; + optstatic = SLBT_DRIVER_DISABLE_STATIC; } else { optshared = SLBT_DRIVER_SHARED; optstatic = SLBT_DRIVER_STATIC; |