From: William A. Rowe Jr Date: Mon, 16 May 2005 13:03:35 +0000 (+0000) Subject: One issue I repeatedly have with 3rd party module builds is that X-Git-Tag: 2.1.5~109 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=10d2058ea4bcdddd581ce3fa7f694ed6c3296a21;p=apache One issue I repeatedly have with 3rd party module builds is that they may choose to build a platform-default library with the usual platform-default extension, as part of the compilation process. Modules built on HP/UX with the .sl extension, on OSX with .dylib, or on OS2 or Win32 with .dll are perfectly legitimate loadable modules, but don't pass muster with apxs. This patch allows any of the common source library extensions to be passed in, but makes .so the explicit target. The behavior already works for .la origin files with an .so target name. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@170383 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/support/apxs.in b/support/apxs.in index c0314d477f..f1a5a3c900 100644 --- a/support/apxs.in +++ b/support/apxs.in @@ -468,13 +468,15 @@ if ($opt_i or $opt_e) { my @cmds = (); my $f; foreach $f (@args) { - if ($f !~ m#(\.so$|\.la$)#) { + # ack all potential gcc, hp/ux, win32+os2+aix and os/x extensions + if ($f !~ m#(\.so$|\.la$|\.sl$|\.dll$|\.dylib$|)#) { error("file $f is not a shared object"); exit(1); } my $t = $f; $t =~ s|^.+/([^/]+)$|$1|; - $t =~ s|\.la$|\.so|; + # use .so unambigiously for installed shared library modules + $t =~ s|\.[^./\\]+$|\.so|; if ($opt_i) { push(@cmds, "$installbuilddir/instdso.sh SH_LIBTOOL='" . "$libtool' $f $CFG_LIBEXECDIR");