summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorespie <espie@openbsd.org>2012-07-09 12:53:05 +0000
committerespie <espie@openbsd.org>2012-07-09 12:53:05 +0000
commit9fb381579dd2be785175bf16c71ba1e7a4666a34 (patch)
treef93164b9441127c1d567ad40cc0355a5a7184c5f
parentUse strtonum() instead of strtol() inside ask_num(). Many overflows (diff)
downloadwireguard-openbsd-9fb381579dd2be785175bf16c71ba1e7a4666a34.tar.xz
wireguard-openbsd-9fb381579dd2be785175bf16c71ba1e7a4666a34.zip
somehow, the require is not enough for inheritance to work correctly ?
-rwxr-xr-xusr.bin/libtool/libtool24
1 files changed, 21 insertions, 3 deletions
diff --git a/usr.bin/libtool/libtool b/usr.bin/libtool/libtool
index 7db0fb82092..2946cc12ef6 100755
--- a/usr.bin/libtool/libtool
+++ b/usr.bin/libtool/libtool
@@ -1,5 +1,5 @@
#!/usr/bin/perl
-# $OpenBSD: libtool,v 1.27 2012/07/09 10:52:26 espie Exp $
+# $OpenBSD: libtool,v 1.28 2012/07/09 12:53:05 espie Exp $
# Copyright (c) 2007-2010 Steven Mestdagh <steven@openbsd.org>
# Copyright (c) 2012 Marc Espie <espie@openbsd.org>
@@ -113,6 +113,13 @@ sub help_all
}
}
+package LT::Mode::Compile;
+our @ISA = qw(LT::Mode);
+package LT::Mode::Install;
+our @ISA = qw(LT::Mode);
+package LT::Mode::Link;
+our @ISA = qw(LT::Mode);
+
package LT::Mode::Empty;
our @ISA = qw(LT::Mode);
sub run
@@ -319,8 +326,9 @@ $gp->handle_options(
exit 0;
},
'-no-warning|-no-warn' => sub {},
-# -preserve-dup-deps
-# dlopen|-dlopen
+ # ignored
+ '-preserve-dup-deps',
+ '-dlopen=|dlopen=@',
);
if ($help) {
@@ -372,6 +380,16 @@ if (!defined $mode) {
tsay {"implicit mode: ", $mode->{origin}} if $mode;
}
+if (!defined $mode) {
+ shortdie "no explicit mode, couldn't figure out implicit mode\n";
+}
+
+if (!$mode->isa("LT::Mode::Execute")) {
+ if ($gp->dlopen > 0) {
+ shortdie "Error: -dlopen FILE in generic libtool options is an error in non execute mode";
+ }
+}
+
# from here, options may be intermixed with arguments
$gp->configure('permute');