perl5.004 on AIX: Patches
[p5sagit/p5-mst-13.2.git] / Makefile.SH
index 57acde5..70876e1 100755 (executable)
@@ -24,19 +24,34 @@ case "$d_dosuid" in
 esac
 
 linklibperl='$(LIBPERL)'
+shrpldflags='$(LDDLFLAGS)'
 case "$useshrplib" in
 true)
        pldlflags="$cccdlflags"
        # NeXT-4 specific stuff.  Can't we do this in the hint file?
        case "${osname}${osvers}" in
        next4*)
-               ld='libtool -dynamic -undefined warning -framework System \
-               -compatibility_version 1 -current_version $(PATCHLEVEL) \
-               -prebind -seg1addr 0x27000000 -install_name $(SHRPDIR)/$@'
+               ld=libtool
+               lddlflags="-dynamic -undefined warning -framework System \
+               -compatibility_version 1 -current_version $patchlevel \
+               -prebind -seg1addr 0x27000000 -install_name \$(shrpdir)/\$@"
                ;;
-       sunos*)
+       sunos*|freebsd[23]*|netbsd*)
                linklibperl="-lperl"
                ;;
+       aix*)
+               shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp"
+               case "$osvers" in
+               3*)
+                       shrpldflags="$shrpldflags -e _nostart $ldflags $libs $cryptlib"
+                       ;;
+               *)
+                       shrpldflags="$shrpldflags -b noentry $ldflags $libs $cryptlib"
+                       ;;
+               esac
+               aixinstdir=`pwd | sed 's/\/UU$//'`
+               linklibperl="-L $archlibexp/CORE -L $aixinstdir -lperl"
+               ;;
        esac
        ;;
 *)     pldlflags=''
@@ -98,6 +113,7 @@ man3ext = $man3ext
 # The following are used to build and install shared libraries for
 # dynamic loading.
 LDDLFLAGS = $lddlflags
+SHRPLDFLAGS = $shrpldflags
 CCDLFLAGS = $ccdlflags
 DLSUFFIX = .$dlext
 PLDLFLAGS = $pldlflags
@@ -248,8 +264,16 @@ $(LIBPERL): $& perl$(OBJ_EXT) $(obj)
        case "$useshrplib" in
        true)
                $spitshell >>Makefile <<'!NO!SUBS!'
-       $(LD) $(LDDLFLAGS) -o $@ perl$(OBJ_EXT) $(obj) $(libs)
+       $(LD) $(SHRPLDFLAGS) -o $@ perl$(OBJ_EXT) $(obj)
+!NO!SUBS!
+               case "$osname" in
+               aix)
+                       $spitshell >>Makefile <<'!NO!SUBS!'
+       mv $@ libperl$(OBJ_EXT)
+       $(AR) qv $(LIBPERL) libperl$(OBJ_EXT)
 !NO!SUBS!
+                       ;;
+               esac
                ;;
        *)
                $spitshell >>Makefile <<'!NO!SUBS!'
@@ -281,6 +305,9 @@ perl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs
 pureperl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs
        purify $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o pureperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
+purecovperl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs
+       purecov $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o purecovperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
+
 quantperl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs
        quantify $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o quantperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
@@ -290,7 +317,7 @@ quantperl: $& perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs
 # has been invoked correctly.
 
 suidperl: $& sperl$(OBJ_EXT) perlmain$(OBJ_EXT) $(LIBPERL) $(DYNALOADER) $(static_ext) ext.libs
-       $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o suidperl perlmain$(OBJ_EXT) sperl$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LIBPERL) `cat ext.libs` $(libs)
+       $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o suidperl perlmain$(OBJ_EXT) sperl$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
 !NO!SUBS!
 
@@ -344,7 +371,7 @@ install.man:        all installman
 # normally shouldn't remake perly.[ch].
 
 run_byacc:     FORCE
-       @ echo 'Expect' 130 shift/reduce and 1 reduce/reduce conflict
+       @ echo 'Expect' 113 shift/reduce and 1 reduce/reduce conflict
        $(BYACC) -d perly.y
        sh $(shellflags) ./perly.fixer y.tab.c perly.c
        sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
@@ -394,7 +421,7 @@ d_dummy $(dynamic_ext):     miniperl preplibrary $(DYNALOADER) FORCE
 s_dummy $(static_ext): miniperl preplibrary $(DYNALOADER) FORCE
        @sh ext/util/make_ext static $@ LIBPERL_A=$(LIBPERL)
 
-clean:         _tidy _mopop
+clean:         _tidy _mopup
 
 realclean:     _cleaner _mopup
        @echo "Note that make realclean does not delete config.sh"
@@ -478,7 +505,7 @@ minitest: miniperl
        @echo "You may see some irrelevant test failures if you have been unable"
        @echo "to build lib/Config.pm."
        - cd t && (rm -f perl$(EXE_EXT); $(LNS) ../miniperl$(EXE_EXT) perl$(EXE_EXT)) \
-               && ./perl TEST base/*.t comp/*.t cmd/*.t pragma/*.t io/*.t op/*.t </dev/tty
+               && ./perl TEST base/*.t comp/*.t cmd/*.t io/*.t op/*.t pragma/*.t </dev/tty
 
 clist: $(c)
        echo $(c) | tr ' ' '\012' >.clist