diff options
author | midipix <writeonce@midipix.org> | 2016-04-23 21:51:32 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-04-23 22:09:24 -0400 |
commit | 70c446d3551afa585977e4bf040b6cbef450597f (patch) | |
tree | 354ec64bb43010e92369ea2fdd8d8e75067f8bbe /src/driver/slbt_driver_ctx.c | |
parent | 663ef212c7bfaeb19d329af0195a26a48f30b4c9 (diff) | |
download | slibtool-70c446d3551afa585977e4bf040b6cbef450597f.tar.bz2 slibtool-70c446d3551afa585977e4bf040b6cbef450597f.tar.xz |
driver: support automake's reliance on unrecognized argument removal.
Diffstat (limited to 'src/driver/slbt_driver_ctx.c')
-rw-r--r-- | src/driver/slbt_driver_ctx.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c index f65c633..ed9639a 100644 --- a/src/driver/slbt_driver_ctx.c +++ b/src/driver/slbt_driver_ctx.c @@ -208,10 +208,17 @@ static int slbt_split_argv( cargv = sargv->cargv; for (; i<argc; i++) { - if (argv[i][0] != '-') - *cargv++ = argv[i]; + if (argv[i][0] != '-') { + if (argv[i+1] && (argv[i+1][0] == '+') + && (argv[i+1][1] == '=') + && (argv[i+1][2] == 0) + && !(strrchr(argv[i],'.'))) + /* libfoo_la_LDFLAGS += -Wl,.... */ + i++; + else + *cargv++ = argv[i]; - else if (argv[i][1] == 'o') { + } else if (argv[i][1] == 'o') { *targv++ = argv[i]; if (argv[i][2] == 0) |