Decouple quadmath from longdouble.
[perl.git] / ext / SDBM_File / Makefile.PL
1 use ExtUtils::MakeMaker;
2 use Config;
3
4 # The existence of the ./sdbm/Makefile.PL file causes MakeMaker
5 # to automatically include Makefile code for the targets
6 #       config, all, clean, realclean and sdbm/Makefile
7 # which perform the corresponding actions in the subdirectory.
8
9 # Work around: Darwin ppc64 bug ignores archive contents when building bundles
10
11 $define = ($^O eq 'MSWin32') ? '-DMSDOS' : '';
12 if ($^O eq 'MSWin32') { $myextlib = 'sdbm\\libsdbm$(LIB_EXT)'; }
13 elsif ($^O eq 'darwin' && $Config{'ldflags'} =~/-arch ppc64/) {
14                         $myextlib = '-all_load sdbm/libsdbm$(LIB_EXT)'; }
15 else                  { $myextlib = 'sdbm/libsdbm$(LIB_EXT)';  }
16
17 WriteMakefile(
18               NAME      => 'SDBM_File',
19               MYEXTLIB => $myextlib,
20               XSPROTOARG => '-noprototypes',            # XXX remove later?
21               VERSION_FROM => 'SDBM_File.pm',
22               DEFINE => $define,
23              );
24
25 # We don't want the default subdir rule, as it creates a race condition with the
26 # rule we add below.
27 sub MY::subdir_x {
28     return '';
29 }
30
31 sub MY::postamble {
32   if ($^O =~ /MSWin32/ && !defined($ENV{SYSTEMROOT})) {
33         if ($Config{'make'} =~ /dmake/i) {
34             # dmake-specific
35             return <<'EOT';
36 $(MYEXTLIB): sdbm/Makefile
37 @[
38         cd sdbm
39         $(MAKE) all
40         cd ..
41 ]
42 EOT
43         } elsif ($Config{'make'} =~ /nmake/i) {
44             #
45             return <<'EOT';
46 $(MYEXTLIB): sdbm/Makefile
47         cd sdbm
48         $(MAKE) all
49         cd ..
50 EOT
51         } 
52 } elsif ($^O ne 'VMS') {
53     '
54 $(MYEXTLIB): sdbm/Makefile
55         cd sdbm && $(MAKE) all
56 ';
57   }
58   else {
59     '   
60 $(MYEXTLIB) : [.sdbm]descrip.mms
61         set def [.sdbm]
62     $(MMS) all
63     set def [-]
64 ';  
65   }
66 }