summaryrefslogtreecommitdiff
path: root/usr.bin/libtool/LT
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>2012-07-12 12:20:07 +0000
committerMarc Espie <espie@cvs.openbsd.org>2012-07-12 12:20:07 +0000
commitd766153a31146479ec19a244f7e47862e83d2680 (patch)
treef1642508392e7d852416e293dce3a4da53fe08d2 /usr.bin/libtool/LT
parentcc30ce82fe04aa24416554146779c6f16f9e6a81 (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/libtool/LT')
-rw-r--r--usr.bin/libtool/LT/Getopt.pm6
-rw-r--r--usr.bin/libtool/LT/Mode/Link.pm5
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"};