diff options
author | Ilya Zakharevich <ilya@math.berkeley.edu> | 2001-06-26 00:22:25 -0400 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-06-26 11:57:44 +0000 |
commit | 5f929d0c0da8cd6ab656225ff6a3f15d20352856 (patch) | |
tree | 0ff8d0c7c3184fecb78c42a398d4bfd476693c4b | |
parent | 2b96b0a587f7ad8b6305181755f2d821e8a640ff (diff) | |
download | perl-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.PL | 12 | ||||
-rw-r--r-- | lib/ExtUtils.t | 1 | ||||
-rw-r--r-- | lib/ExtUtils/MM_Unix.pm | 2 | ||||
-rw-r--r-- | os2/Makefile.SHs | 72 |
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 |