summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Zakharevich <ilya@math.berkeley.edu>2001-06-26 00:22:25 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2001-06-26 11:57:44 +0000
commit5f929d0c0da8cd6ab656225ff6a3f15d20352856 (patch)
tree0ff8d0c7c3184fecb78c42a398d4bfd476693c4b
parent2b96b0a587f7ad8b6305181755f2d821e8a640ff (diff)
downloadperl-5f929d0c0da8cd6ab656225ff6a3f15d20352856.tar.gz
static build
Message-ID: <20010626042225.A2604@math.ohio-state.edu> p4raw-id: //depot/perl@10952
-rw-r--r--ext/List/Util/Makefile.PL12
-rw-r--r--lib/ExtUtils.t1
-rw-r--r--lib/ExtUtils/MM_Unix.pm2
-rw-r--r--os2/Makefile.SHs72
4 files changed, 75 insertions, 12 deletions
diff --git a/ext/List/Util/Makefile.PL b/ext/List/Util/Makefile.PL
index e2b7be9537..93f1d4fc54 100644
--- a/ext/List/Util/Makefile.PL
+++ b/ext/List/Util/Makefile.PL
@@ -42,6 +42,18 @@ sub xs_o { # many makes are too dumb to use xs_c then c_o
';
}
+sub top_targets { # many makes are too dumb to use xs_c then c_o
+ my($self) = shift;
+ my $out = $self->SUPER::top_targets(@_);
+ $out .
+'
+
+ListUtil.c: Util.c
+ @$(NOOP)
+
+';
+}
+
__EOMM__
}
}
diff --git a/lib/ExtUtils.t b/lib/ExtUtils.t
index aafe609de5..9ab6acffc4 100644
--- a/lib/ExtUtils.t
+++ b/lib/ExtUtils.t
@@ -397,7 +397,6 @@ if ($?) {
if ($Config{usedl}) {
print "ok 4\n";
} else {
- push @files, "perl$Config{exe_ext}";
my $makeperl = "$make perl";
print "# make = '$makeperl'\n";
$makeout = `$makeperl`;
diff --git a/lib/ExtUtils/MM_Unix.pm b/lib/ExtUtils/MM_Unix.pm
index 573147c751..a2373824c2 100644
--- a/lib/ExtUtils/MM_Unix.pm
+++ b/lib/ExtUtils/MM_Unix.pm
@@ -466,7 +466,7 @@ EOT
push(@otherfiles, qw[./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/extralibs.all
perlmain.c tmon.out mon.out core core.*perl.*.?
*perl.core so_locations pm_to_blib
- *$(OBJ_EXT) *$(LIB_EXT) perl.exe
+ *$(OBJ_EXT) *$(LIB_EXT) perl.exe perl perl$(EXE_EXT)
$(BOOTSTRAP) $(BASEEXT).bso
$(BASEEXT).def lib$(BASEEXT).def
$(BASEEXT).exp
diff --git a/os2/Makefile.SHs b/os2/Makefile.SHs
index 9efc864afa..9ae99cdc7e 100644
--- a/os2/Makefile.SHs
+++ b/os2/Makefile.SHs
@@ -231,18 +231,52 @@ sys_harness: perl_sys
!NO!SUBS!
-# Now we need to find directories in ./ext/ which are two level deep
+# Now we need to find directories in ./ext/ which are up to 3 level deep
+# Currently (2001/06) there is no directories 4 levels deep.
+# (Only directories so that there is no Makefile.PL some levels up matter.)
dirs=''
+ddirs=''
preci='ext/%/Makefile.aout '
for d in ext/*
do
- # echo "Checking '$d'..."
- f="`echo $d/*/Makefile.PL`"
- # SDBFile/sdbm, skip kid makefile
- if test ! -e "$d/Makefile.PL" -a ! "$f" = ""; then
- dirs="$dirs $d"
- preci="$preci $d/%/Makefile.aout"
+ # echo "...Checking '$d'..."
+ # skip the kid if the parent exists: cmp SDBFile/sdbm, done by MakeMaker
+ if test ! -e "$d/Makefile.PL"; then
+ # Need to treat subdirectories manually
+ # echo "...Checking subdirs of '$d'..."
+ d_treated=''
+ for dd in $d/*
+ do
+ if test ! -d $dd; then
+ continue
+ fi
+ if test -e "$dd/Makefile.PL"; then
+ if test "X$d_treated" = "X"; then
+ d_treated=1
+ # echo "...Found parentless 2-level deep Makefile.PL's in $d/*/:" $d/*/Makefile.PL
+ dirs="$dirs $d"
+ preci="$preci $d/%/Makefile.aout"
+ fi
+ else
+ # Need to treat subsubdirectories manually
+ dd_treated=''
+ for ddd in $dd/*
+ do
+ if test ! -d $ddd; then
+ continue
+ fi
+ if test -e "$ddd/Makefile.PL"; then
+ if test "X$dd_treated" = "X"; then
+ dd_treated=1
+ # echo "...Found parentless 3-level deep Makefile.PL's in $dd/*/:" $dd/*/Makefile.PL
+ ddirs="$ddirs $dd"
+ preci="$preci $dd/%/Makefile.aout"
+ fi
+ fi
+ done
+ fi
+ done
fi
done
@@ -251,13 +285,31 @@ $spitshell >>Makefile <<!GROK!THIS!
!GROK!THIS!
+for d in $ddirs
+do
+ # Remove the leading component ext/
+ dd=`dirname $d`
+ pp=`basename $dd`
+ p=$pp/`basename $d`
+ $spitshell >>Makefile <<!GROK!THIS!
+lib/auto/$p/*/%.a : $d/%/Makefile.aout
+ @cd $d/\$(basename \$(notdir \$@)) ; make -f Makefile.aout config || echo "\$(MAKE) config failed, continuing anyway..."
+ cd $d/\$(basename \$(notdir \$@)) ; make -f Makefile.aout LINKTYPE=static CCCDLFLAGS=
+
+$d/%/Makefile.aout : miniperl_
+ cd \$(dir \$@) ; ../../../../miniperl_ -I ../../../../lib Makefile.PL MAKEFILE=Makefile.aout INSTALLDIRS=perl
+
+!GROK!THIS!
+
+done
+
for d in $dirs
do
p=`basename $d`
$spitshell >>Makefile <<!GROK!THIS!
-lib/auto/$p/*/%.a : ext/$p/%/Makefile.aout
- @cd ext/$p/\$(basename \$(notdir \$@)) ; make -f Makefile.aout config || echo "\$(MAKE) config failed, continuing anyway..."
- cd ext/$p/\$(basename \$(notdir \$@)) ; make -f Makefile.aout LINKTYPE=static CCCDLFLAGS=
+lib/auto/$p/*/%.a : $d/%/Makefile.aout
+ @cd $d/\$(basename \$(notdir \$@)) ; make -f Makefile.aout config || echo "\$(MAKE) config failed, continuing anyway..."
+ cd $d/\$(basename \$(notdir \$@)) ; make -f Makefile.aout LINKTYPE=static CCCDLFLAGS=
$d/%/Makefile.aout : miniperl_
cd \$(dir \$@) ; ../../../miniperl_ -I ../../../lib Makefile.PL MAKEFILE=Makefile.aout INSTALLDIRS=perl