]> granicus.if.org Git - apache/commitdiff
One issue I repeatedly have with 3rd party module builds is that
authorWilliam A. Rowe Jr <wrowe@apache.org>
Mon, 16 May 2005 13:03:35 +0000 (13:03 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Mon, 16 May 2005 13:03:35 +0000 (13:03 +0000)
  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

support/apxs.in

index c0314d477f9e8e5e7d53315b238b4090d7f89bf0..f1a5a3c900c64d60fcaff1a285ec0526d5b2c300 100644 (file)
@@ -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");