Wrap the macro arguments for ck_proto in ().
[p5sagit/p5-mst-13.2.git] / ext / SDBM_File / Makefile.PL
index a1debb9..1267efc 100644 (file)
@@ -1,12 +1,17 @@
 use ExtUtils::MakeMaker;
+use Config;
 
 # The existence of the ./sdbm/Makefile.PL file causes MakeMaker
 # to automatically include Makefile code for the targets
 #      config, all, clean, realclean and sdbm/Makefile
 # which perform the corresponding actions in the subdirectory.
 
+# Work around: Darwin ppc64 bug ignores archive contents when building bundles
+
 $define = ($^O eq 'MSWin32') ? '-DMSDOS' : '';
 if ($^O eq 'MSWin32') { $myextlib = 'sdbm\\libsdbm$(LIB_EXT)'; }
+elsif ($^O eq 'darwin' && $Config{'ldflags'} =~/-arch ppc64/) {
+                        $myextlib = '-all_load sdbm/libsdbm$(LIB_EXT)'; }
 else                  { $myextlib = 'sdbm/libsdbm$(LIB_EXT)';  }
 
 WriteMakefile(
@@ -20,19 +25,27 @@ WriteMakefile(
              );
 
 sub MY::postamble {
-  if ($^O =~ /MSWin32/ && Win32::IsWin95()) {
-    # XXX: dmake-specific, like rest of Win95 port
-    return
-    '
+  if ($^O =~ /MSWin32/ && !defined($ENV{SYSTEMROOT})) {
+       if ($Config{'make'} =~ /dmake/i) {
+           # dmake-specific
+           return <<'EOT';
 $(MYEXTLIB): sdbm/Makefile
 @[
        cd sdbm
        $(MAKE) all
        cd ..
 ]
-';
-  }
-  elsif ($^O ne 'VMS') {
+EOT
+       } elsif ($Config{'make'} =~ /nmake/i) {
+           #
+           return <<'EOT';
+$(MYEXTLIB): sdbm/Makefile
+       cd sdbm
+       $(MAKE) all
+       cd ..
+EOT
+       } 
+} elsif ($^O ne 'VMS') {
     '
 $(MYEXTLIB): sdbm/Makefile
        cd sdbm && $(MAKE) all