diff options
author | Marc Espie <espie@cvs.openbsd.org> | 2012-07-12 12:20:07 +0000 |
---|---|---|
committer | Marc Espie <espie@cvs.openbsd.org> | 2012-07-12 12:20:07 +0000 |
commit | d766153a31146479ec19a244f7e47862e83d2680 (patch) | |
tree | f1642508392e7d852416e293dce3a4da53fe08d2 /usr.bin | |
parent | cc30ce82fe04aa24416554146779c6f16f9e6a81 (diff) |
allow "long options" to be one letter, enforce with !
make sure -L dir will error out.
"cute" gnu libtool: -x c will vanish from linker arguments, but only
in library linking-mode.
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/libtool/LT/Getopt.pm | 6 | ||||
-rw-r--r-- | usr.bin/libtool/LT/Mode/Link.pm | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/usr.bin/libtool/LT/Getopt.pm b/usr.bin/libtool/LT/Getopt.pm index 6c4b07fe0c7..a2a8a7d602c 100644 --- a/usr.bin/libtool/LT/Getopt.pm +++ b/usr.bin/libtool/LT/Getopt.pm @@ -1,4 +1,4 @@ -# $OpenBSD: Getopt.pm,v 1.10 2012/07/10 11:39:52 espie Exp $ +# $OpenBSD: Getopt.pm,v 1.11 2012/07/12 12:20:06 espie Exp $ # Copyright (c) 2012 Marc Espie <espie@openbsd.org> # @@ -26,6 +26,10 @@ sub factory return Option::Short->new($1); } elsif (m/^(.)\:$/) { return Option::ShortArg->new($1); + } elsif (m/^(\-?.)(?:\:\!|\!\:)$/) { + return Option::LongArg0->new($1); + } elsif (m/^(\-?.)\!$/) { + return Option::Long->new($1); } elsif (m/^(\-?.*)\=$/) { return Option::LongArg->new($1); } elsif (m/^(\-?.*)\:$/) { diff --git a/usr.bin/libtool/LT/Mode/Link.pm b/usr.bin/libtool/LT/Mode/Link.pm index 7c504400c1a..7713a17d36e 100644 --- a/usr.bin/libtool/LT/Mode/Link.pm +++ b/usr.bin/libtool/LT/Mode/Link.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: Link.pm,v 1.14 2012/07/12 11:59:38 espie Exp $ +# $OpenBSD: Link.pm,v 1.15 2012/07/12 12:20:06 espie Exp $ # # Copyright (c) 2007-2010 Steven Mestdagh <steven@openbsd.org> # Copyright (c) 2012 Marc Espie <espie@openbsd.org> @@ -147,7 +147,7 @@ sub run 'prefer-non-pic', 'release:', 'rpath:@', - # 'L', sub { shortdie "libtool does not allow spaces in -L dir\n"}, + 'L:!', sub { shortdie "libtool does not allow spaces in -L dir\n"}, 'R:@', 'shrext:', 'static', @@ -182,6 +182,7 @@ sub run my $linkmode = PROGRAM; if ($ofile =~ m/\.l?a$/) { $linkmode = LIBRARY; + $gp->handle_permuted_options('x:!'); } tsay {"linkmode: $linkmode"}; |