=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/libtool/libtool,v retrieving revision 1.27 retrieving revision 1.28 diff -c -r1.27 -r1.28 *** src/usr.bin/libtool/libtool 2012/07/09 10:52:26 1.27 --- src/usr.bin/libtool/libtool 2012/07/09 12:53:05 1.28 *************** *** 1,5 **** #!/usr/bin/perl ! # $OpenBSD: libtool,v 1.27 2012/07/09 10:52:26 espie Exp $ # Copyright (c) 2007-2010 Steven Mestdagh # Copyright (c) 2012 Marc Espie --- 1,5 ---- #!/usr/bin/perl ! # $OpenBSD: libtool,v 1.28 2012/07/09 12:53:05 espie Exp $ # Copyright (c) 2007-2010 Steven Mestdagh # Copyright (c) 2012 Marc Espie *************** *** 113,118 **** --- 113,125 ---- } } + 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,326 **** exit 0; }, '-no-warning|-no-warn' => sub {}, ! # -preserve-dup-deps ! # dlopen|-dlopen ); if ($help) { --- 326,334 ---- exit 0; }, '-no-warning|-no-warn' => sub {}, ! # ignored ! '-preserve-dup-deps', ! '-dlopen=|dlopen=@', ); if ($help) { *************** *** 370,375 **** --- 378,393 ---- if (!defined $mode) { $mode = $gp->guess_implicit_mode($ltprog); 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