diff options
Diffstat (limited to 'src/internal')
-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; |