1ba47ec9dSmillertAPE=/sys/src/ape 2ba47ec9dSmillert< $APE/config 3ba47ec9dSmillert<plan9/buildinfo 4ba47ec9dSmillertarchname = plan9_$objtype 5*eac174f2Safresh1privroot = /sys/lib/perl 6*eac174f2Safresh1privlib = $privroot/$p9pvers 7*eac174f2Safresh1archroot = /$objtype/lib/perl 8*eac174f2Safresh1archlib = $archroot/$p9pvers 9ba47ec9dSmillertsitelib = $privlib/site_perl 10ba47ec9dSmillertsitearch = $archlib/site_perl 11*eac174f2Safresh1corelib = $archlib/CORE 12*eac174f2Safresh1arpalib = $corelib/arpa 13ba47ec9dSmillert 14*eac174f2Safresh1pwd=`{pwd} 15*eac174f2Safresh1cpanlib=`{cd cpan; ls -ld * | grep '^d' | awk '{ print $10 }' | grep -v '^\.'} 16*eac174f2Safresh1icpanlib=`{echo $pwd^/cpan/^$cpanlib^/lib} 17*eac174f2Safresh1distlib=`{cd dist; ls -ld * | grep '^d' | awk '{ print $10 }' | grep -v '^\.'} 18*eac174f2Safresh1idistlib=`{echo $pwd^/dist/^$distlib $pwd^/dist/^$distlib^/lib } 19*eac174f2Safresh1extlib=`{cd ext; ls -ld * | grep '^d' | awk '{ print $10 }' | grep -v '^\.'} 20*eac174f2Safresh1iextlib=`{echo $pwd^/ext/^$extlib $pwd^/ext/^$extlib/lib } 21*eac174f2Safresh1 22*eac174f2Safresh1buildlibs=`{echo -I$pwd^/^(lib archlib privlib) -I^$icpanlib -I^$idistlib -I^$iextlib } 23*eac174f2Safresh1miniperl=`{echo $pwd/miniperl $buildlibs } 24*eac174f2Safresh1perl=`{echo $pwd/perl $buildlibs } 25*eac174f2Safresh1xscmd=`{echo $pwd/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp -noprototypes -typemap $pwd/dist/ExtUtils-ParseXS/t/typemap} 26*eac174f2Safresh1miniperlxs=`{echo $miniperl $xscmd} 27*eac174f2Safresh1perlxs=`{echo $perl $xscmd} 28*eac174f2Safresh1 29*eac174f2Safresh1BASECFLAGS=-B -D_SUSV2_SOURCE -D_POSIX_SOURCE -D_BSD_EXTENSION 30*eac174f2Safresh1PERLCFLAGS =-DPERL_CORE $BASECFLAGS 31*eac174f2Safresh1CFLAGS=-DPERL_IS_MINIPERL $PERLCFLAGS 32ba47ec9dSmillert 33ba47ec9dSmillertCCCMD = $CC -c $CFLAGS 34*eac174f2Safresh1PERLCCCMD= $CC -c $PERLCFLAGS 35*eac174f2Safresh1XSCCCMD= $CC -c $BASECFLAGS 36ba47ec9dSmillert 37*eac174f2Safresh1perllib = archlib/CORE/libperl.a 38ba47ec9dSmillert 39*eac174f2Safresh1perlshr = archlib/CORE/libperlshr.a 40ba47ec9dSmillert 41ba47ec9dSmillertinstallman1dir = /sys/man/1 42ba47ec9dSmillertinstallman3dir = /sys/man/2 43ba47ec9dSmillert 4448950c12Ssthenpodnames = perl perlbook perldata perldebtut perldiag perldsc perlform perlfunc perlipc perllexwarn perllol perlmod perlmodlib perlmodinstall perlnewmod perlop perlootut perlopentut perlpacktut perlpod perlport perlrequick perlretut perlref perlreftut perlrequick perlrun perlsec perlstyle perlsub perlsyn perltie perltrap perlutil perlunifaq perluniintro perlvar 4555745691Smillertfaqpodnames = perlfaq perlfaq1 perlfaq2 perlfaq3 perlfaq4 perlfaq5 perlfaq6 perlfaq7 perlfaq8 perlfaq9 46e9260a21Safresh1advpodnames = perlapi perlapio perlcall perlclib perlcompile perldebguts perldbmfilter perldebug perldelta perldiag perlebcdic perlembed perlfilter perlfork perlguts perlhack perlintern perliol perllocale perlnumber perlobj perlpodspec perlre perlthrtut perltodo perlunicode perlunicook perlxs perlxs perlxstut 47*eac174f2Safresh1archpodnames = perlaix perlamiga perlbeos perlbs2000 perlce perlcygwin perldgux perlfreebsd perlhpux perlhurd perlirix perlmacosx perlmpeix perlos2 perlos390 perlos400 perlplan9 perlqnx perlsolaris perltru64 perlvms perlvos perlwin32 48*eac174f2Safresh1histpodnames = perl5004delta perl5005delta perl561delta perl56delta perl570delta perl571delta perl572delta perl573delta perl58delta perlhist 49ba47ec9dSmillert 50ba47ec9dSmillertlibpods = ${podnames:%=pod/%.pod} 51ba47ec9dSmillert 52ba47ec9dSmillertperlpods = $libpods 53ba47ec9dSmillert 54*eac174f2Safresh1extensions = File::Glob IO Opcode DynaLoader Fcntl POSIX Cwd re B Devel::Peek attributes Hash::Util Hash::Util::FieldHash mro Storable Time::HiRes Unicode::Normalize List::Util 55*eac174f2Safresh1ext_xs = Glob.xs IO.xs Opcode.xs dl_none.xs Fcntl.xs POSIX.xs Cwd.xs re.xs B.xs Peek.xs attributes.xs Util.xs FieldHash.xs mro.xs Storable.xs HiRes.xs Normalize.xs ListUtil.xs 56ba47ec9dSmillertext_c = ${ext_xs:%.xs=%.c} 57*eac174f2Safresh1ext_obj = ${ext_xs:%.xs=%.$O} bsd_glob.$O poll.$O re_comp.$O re_exec.$O 58ba47ec9dSmillert 59*eac174f2Safresh1# Socket requires a full version of Perl (one with IO to build). 60*eac174f2Safresh1more_extensions = Socket Data::Dumper 61*eac174f2Safresh1more_ext_xs = Socket.xs Dumper.xs 62*eac174f2Safresh1more_ext_c = ${more_ext_xs:%.xs=%.c} 63*eac174f2Safresh1more_ext_obj = ${more_ext_xs:%.xs=%.$O} 64*eac174f2Safresh1 65*eac174f2Safresh1obj = av.$O caretx.$O deb.$O doio.$O doop.$O dquote.$O dump.$O globals.$O gv.$O hv.$O keywords.$O locale.$O malloc.$O mathoms.$O mg.$O mro_core.$O numeric.$O op.$O pad.$O perlapi.$O perlio.$O perly.$O pp.$O pp_ctl.$O pp_hot.$O pp_pack.$O pp_sort.$O pp_sys.$O reentr.$O regcomp.$O regexec.$O run.$O scope.$O sv.$O taint.$O time64.$O toke.$O universal.$O utf8.$O util.$O 66ba47ec9dSmillert 67f64b279aSmillertOBJS = perl.$O plan9.$O $obj 68ba47ec9dSmillert 69*eac174f2Safresh1# TODO: what's this used for? 70*eac174f2Safresh1testlist = `{cd t; echo base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t} 71ba47ec9dSmillert 72ba47ec9dSmillertinstall:V: perl preplibrary 73*eac174f2Safresh1 cp perl /$objtype/bin/perl-$p9pvers 74*eac174f2Safresh1 cp plan9/aperl /rc/bin/Perl-$p9pvers 75ba47ec9dSmillert 76*eac174f2Safresh1 if (test ! -d $privroot) mkdir $privroot 77*eac174f2Safresh1 if (test ! -d $privlib) mkdir $privlib 78*eac174f2Safresh1 if (test ! -d $privlib/auto) mkdir $privlib/auto 79*eac174f2Safresh1 if (test ! -d $sitelib) mkdir $sitelib 80*eac174f2Safresh1 if (test ! -d $archroot) mkdir $archroot 81*eac174f2Safresh1 if (test ! -d $archlib) mkdir $archlib 82*eac174f2Safresh1 if (test ! -d $sitearch) mkdir $sitearch 83*eac174f2Safresh1 if (test ! -d $corelib) mkdir $corelib 84*eac174f2Safresh1 if (test ! -d $arpalib) mkdir $arpalib 85*eac174f2Safresh1 cp *.h plan9/*.h $corelib 86*eac174f2Safresh1 cp plan9/arpa/*.h $arpalib 87*eac174f2Safresh1 88*eac174f2Safresh1 # Populate library directories 89*eac174f2Safresh1 {cd privlib ; tar c . } | {cd $privlib ; tar x } 90*eac174f2Safresh1 {cd lib ; tar c . } | {cd $privlib ; tar x } 91*eac174f2Safresh1 {cd archlib ; tar c . } | {cd $archlib ; tar x } 92*eac174f2Safresh1 # mk man # don't make man pages now--resolve multiversion 93*eac174f2Safresh1 94*eac174f2Safresh1perl: perlnosocket more_extensions 95*eac174f2Safresh1 $LD $PERLCFLAGS -o perl perlmain.$O perl.$O $perllib $perlshr $more_ext_obj 96*eac174f2Safresh1 97*eac174f2Safresh1perlnosocket: config.h miniperlmain.$O miniperl archlib/Config.pm perlmain.$O $perlshr 98*eac174f2Safresh1 $LD $PERLCFLAGS -o perl perlmain.$O perl.$O $perllib $perlshr 99ba47ec9dSmillert 100ba47ec9dSmillertminiperl: config.h $perllib miniperlmain.$O 101ba47ec9dSmillert $LD $CFLAGS -o miniperl miniperlmain.$O $perllib 102ba47ec9dSmillert 103*eac174f2Safresh1preplibrary:V: miniperl archlib/Config.pm 104*eac174f2Safresh1 mkdir -p privlib/auto 105*eac174f2Safresh1 for (file in lib/*.pm lib/*/*.pm archlib/Config.pm) $miniperl -e 'use AutoSplit; autosplit(@ARGV)' $file privlib/auto 106ba47ec9dSmillert 107ba47ec9dSmillert$perllib(%):N: % 108ba47ec9dSmillert$perllib: ${OBJS:%=$perllib(%)} 109*eac174f2Safresh1 mkdir -p archlib/CORE 110ba47ec9dSmillert ar rv $perllib $OBJS 111ba47ec9dSmillert $RANLIB $perllib 112ba47ec9dSmillert 113*eac174f2Safresh1miniperlmain.$O: config.h uudmap.h 114ba47ec9dSmillert $CCCMD miniperlmain.c 115ba47ec9dSmillert 116ba47ec9dSmillertperlmain.$O: config.h perlmain.c 117*eac174f2Safresh1 $PERLCCCMD perl.c 118*eac174f2Safresh1 $PERLCCCMD perlmain.c 119ba47ec9dSmillert 120*eac174f2Safresh1malloc.$O: malloc.c 121*eac174f2Safresh1 # Does the PTRDIFF_MAX need to be set per architecture? 122*eac174f2Safresh1 $CCCMD -DPTRDIFF_MAX^'='^9223372036854775807L malloc.c 123*eac174f2Safresh1 124*eac174f2Safresh1perlmain.c: miniperl extensions archlib/Config.pm 125*eac174f2Safresh1 $miniperl -MExtUtils::Miniperl -e 'writemain(\q{perlmain.c}, @ARGV)' $extensions 126ba47ec9dSmillert 127ba47ec9dSmillertconfig.h: plan9/fndvers 128ba47ec9dSmillert plan9/fndvers 129*eac174f2Safresh1 mkdir -p archlib/CORE 130*eac174f2Safresh1 cp config.h archlib/CORE 131ba47ec9dSmillert 132ba47ec9dSmillert$perlshr(%):N: % 133ba47ec9dSmillert$perlshr: ${ext_obj:%=$perlshr(%)} 134ba47ec9dSmillert ar rv $perlshr $ext_obj 135ba47ec9dSmillert $RANLIB $perlshr 136ba47ec9dSmillert 137*eac174f2Safresh1uudmap.h: generate_uudmap.c 138*eac174f2Safresh1 $CCCMD generate_uudmap.c 139*eac174f2Safresh1 # This is currently a show-stopper for cross-compilation: find the true $objtype by looking at kernel? 140*eac174f2Safresh1 $LD $CFLAGS -o generate_uudmap generate_uudmap.$O 141*eac174f2Safresh1 chmod +x generate_uudmap 142*eac174f2Safresh1 ./generate_uudmap uudmap.h bitcount.h mg_data.h 143*eac174f2Safresh1 144*eac174f2Safresh1extensions:V: miniperl archlib/Config.pm $ext_c dist/XSLoader/XSLoader.pm 145*eac174f2Safresh1 146*eac174f2Safresh1more_extensions:V: perlnosocket $more_ext_c $more_ext_obj 147*eac174f2Safresh1 ext_obj=`{echo $ext_obj $more_ext_obj} 148*eac174f2Safresh1 149*eac174f2Safresh1Socket.$O: Socket.c 150*eac174f2Safresh1 $XSCCCMD -I plan9 Socket.c 151*eac174f2Safresh1 152*eac174f2Safresh1attributes.$O: attributes.c 153*eac174f2Safresh1 $XSCCCMD -I plan9 attributes.c 154*eac174f2Safresh1 155*eac174f2Safresh1mro.$O: mro.c 156*eac174f2Safresh1 $XSCCCMD -I plan9 mro.c 157*eac174f2Safresh1 158*eac174f2Safresh1B.$O: B.c 159*eac174f2Safresh1 $XSCCCMD -I plan9 B.c 160*eac174f2Safresh1 161*eac174f2Safresh1Peek.$O: Peek.c 162*eac174f2Safresh1 $XSCCCMD -I plan9 Peek.c 163*eac174f2Safresh1 164*eac174f2Safresh1Util.$O: Util.c 165*eac174f2Safresh1 $XSCCCMD -I plan9 Util.c 166*eac174f2Safresh1 167*eac174f2Safresh1FieldHash.$O: FieldHash.c 168*eac174f2Safresh1 $XSCCCMD -I plan9 FieldHash.c 169*eac174f2Safresh1 170*eac174f2Safresh1re.$O: re.c 171*eac174f2Safresh1 $XSCCCMD -DPERL_EXT_RE_BUILD -DPERL_EXT_RE_DEBUG -DPERL_EXT -I plan9 re.c 172*eac174f2Safresh1 173*eac174f2Safresh1re_comp.$O: re_comp.c 174*eac174f2Safresh1 $XSCCCMD -DPERL_EXT_RE_BUILD -DPERL_EXT_RE_DEBUG -DPERL_EXT -I plan9 re_comp.c 175*eac174f2Safresh1 176*eac174f2Safresh1re_exec.$O: re_exec.c 177*eac174f2Safresh1 $XSCCCMD -DPERL_EXT_RE_BUILD -DPERL_EXT_RE_DEBUG -DPERL_EXT -I plan9 re_exec.c 178*eac174f2Safresh1 179*eac174f2Safresh1Cwd.$O: Cwd.c IO.c 180*eac174f2Safresh1 cp dist/IO/ppport.h dist/PathTools 181*eac174f2Safresh1 $XSCCCMD -DDOUBLE_SLASHES_SPECIAL^'='^0 -I plan9 Cwd.c 182*eac174f2Safresh1 183*eac174f2Safresh1IO.$O: extensions 184*eac174f2Safresh1 $XSCCCMD -I plan9 IO.c 185*eac174f2Safresh1 186*eac174f2Safresh1poll.$O: extensions 187*eac174f2Safresh1 $XSCCCMD -I plan9 poll.c 188*eac174f2Safresh1 189*eac174f2Safresh1POSIX.$O: extensions 190*eac174f2Safresh1 $XSCCCMD -I plan9 POSIX.c 191*eac174f2Safresh1 192*eac174f2Safresh1Glob.$O: extensions 193*eac174f2Safresh1 $XSCCCMD -I plan9 Glob.c 194*eac174f2Safresh1 195*eac174f2Safresh1bsd_glob.$O: extensions 196*eac174f2Safresh1 $XSCCCMD -I plan9 -I. bsd_glob.c 197*eac174f2Safresh1 198*eac174f2Safresh1Normalize.$O: extensions 199*eac174f2Safresh1 $XSCCCMD -I plan9 -I. Normalize.c 200*eac174f2Safresh1 201*eac174f2Safresh1Dumper.$O: Dumper.c 202*eac174f2Safresh1 $XSCCCMD -I plan9 -I. Dumper.c 203*eac174f2Safresh1 204*eac174f2Safresh1HiRes.$O: extensions 205*eac174f2Safresh1 $XSCCCMD -I plan9 -I. HiRes.c 206*eac174f2Safresh1 207*eac174f2Safresh1Storable.$O: extensions 208*eac174f2Safresh1 $XSCCCMD -I plan9 -I. Storable.c 209*eac174f2Safresh1 210*eac174f2Safresh1ListUtil.$O: extensions 211*eac174f2Safresh1 $XSCCCMD -I plan9 -I. ListUtil.c 212*eac174f2Safresh1 213*eac174f2Safresh1Opcode.$O: extensions 214*eac174f2Safresh1 $XSCCCMD -I plan9 Opcode.c 215*eac174f2Safresh1 216*eac174f2Safresh1Fcntl.$O: extensions 217*eac174f2Safresh1 $XSCCCMD -I plan9 Fcntl.c 218*eac174f2Safresh1 219*eac174f2Safresh1dl_none.$O: extensions 220*eac174f2Safresh1 $XSCCCMD -I plan9 dl_none.c 221*eac174f2Safresh1 222*eac174f2Safresh1Glob.c: archlib/Config.pm ext/File-Glob/Glob.xs 223*eac174f2Safresh1 cd ext/File-Glob 224*eac174f2Safresh1 $miniperl Makefile.PL # to write constants 225*eac174f2Safresh1 cd $pwd 226*eac174f2Safresh1 $miniperlxs ext/File-Glob/Glob.xs > $target 227*eac174f2Safresh1 cp ext/File-Glob/bsd_glob.^(c h) $pwd 228*eac174f2Safresh1 mkdir -p archlib/File 229*eac174f2Safresh1 cp ext/File-Glob/Glob.pm archlib/File/Glob.pm 230*eac174f2Safresh1 231*eac174f2Safresh1ppport.h: archlib/Config.pm 232*eac174f2Safresh1 if (test ! -f /bin/sh) bind -a /386/bin/ape /bin 233*eac174f2Safresh1 # specify the list, otherwise suicide 234*eac174f2Safresh1 $miniperl mkppport --list mkppport.lst 235*eac174f2Safresh1 236*eac174f2Safresh1Cwd.c: archlib/Config.pm dist/PathTools/Cwd.xs 237*eac174f2Safresh1 $miniperlxs dist/PathTools/Cwd.xs > $target 238*eac174f2Safresh1 cp dist/PathTools/Cwd.pm archlib 239*eac174f2Safresh1 { cd dist/PathTools/lib; tar c . } | { mkdir -p archlib; cd archlib; tar x } 240*eac174f2Safresh1 241*eac174f2Safresh1IO.c: archlib/Config.pm dist/IO/IO.xs ppport.h 242*eac174f2Safresh1 $miniperlxs dist/IO/IO.xs > $target 243*eac174f2Safresh1 cp dist/IO/poll.^(c h) $pwd 244*eac174f2Safresh1 cp dist/IO/IO.pm archlib 245*eac174f2Safresh1 { cd dist/IO/lib; tar c . } | { mkdir -p archlib; cd archlib; tar x } 246*eac174f2Safresh1 247*eac174f2Safresh1dist/XSLoader/XSLoader.pm: archlib/Config.pm 248*eac174f2Safresh1 cd dist/XSLoader 249*eac174f2Safresh1 $miniperl XSLoader_pm.PL 250*eac174f2Safresh1 cp XSLoader.pm $pwd/archlib 251*eac174f2Safresh1 252*eac174f2Safresh1ext/Errno/Errno.pm: perlnosocket 253*eac174f2Safresh1 cd ext/Errno 254*eac174f2Safresh1 $perl Makefile.PL 255*eac174f2Safresh1 $perl Errno_pm.PL arch.txt 256*eac174f2Safresh1 cp Errno.pm $pwd/archlib 257*eac174f2Safresh1 258*eac174f2Safresh1Socket.c: perlnosocket cpan/Socket/Socket.xs ext/Errno/Errno.pm 259*eac174f2Safresh1 cd cpan/Socket 260*eac174f2Safresh1 $perl Makefile.PL # to write const-xs.inc 261*eac174f2Safresh1 cd $pwd 262*eac174f2Safresh1 $perlxs cpan/Socket/Socket.xs > $target 263*eac174f2Safresh1 cp cpan/Socket/Socket.pm archlib 264*eac174f2Safresh1 265*eac174f2Safresh1uni.data: archlib/Config.pm lib/unicore/mktables 266*eac174f2Safresh1 $miniperl lib/unicore/mktables -C lib/unicore -makelist -p 267*eac174f2Safresh1 268*eac174f2Safresh1Normalize.c: archlib/Config.pm dist/Unicode-Normalize/Normalize.xs uni.data 269*eac174f2Safresh1 $miniperl dist/Unicode-Normalize/mkheader 270*eac174f2Safresh1 $miniperlxs dist/Unicode-Normalize/Normalize.xs > $target 271*eac174f2Safresh1 mkdir -p archlib/Unicode 272*eac174f2Safresh1 cp dist/Unicode-Normalize/Normalize.pm archlib/Unicode 273*eac174f2Safresh1 274*eac174f2Safresh1Dumper.c: perlnosocket dist/Data-Dumper/Dumper.xs 275*eac174f2Safresh1 $perlxs dist/Data-Dumper/Dumper.xs > $target 276*eac174f2Safresh1 mkdir -p archlib/Data 277*eac174f2Safresh1 cp dist/Data-Dumper/Dumper.pm archlib/Data 278*eac174f2Safresh1 279*eac174f2Safresh1HiRes.c: archlib/Config.pm dist/Time-HiRes/HiRes.xs 280*eac174f2Safresh1 cd dist/Time-HiRes 281*eac174f2Safresh1 $miniperl Makefile.PL # to write const-xs.inc 282*eac174f2Safresh1 cd $pwd 283*eac174f2Safresh1 $miniperlxs dist/Time-HiRes/HiRes.xs > $target 284*eac174f2Safresh1 mkdir -p archlib/Time 285*eac174f2Safresh1 cp dist/Time-HiRes/HiRes.pm archlib/Time 286*eac174f2Safresh1 287*eac174f2Safresh1ListUtil.c: archlib/Config.pm cpan/Scalar-List-Utils/ListUtil.xs 288*eac174f2Safresh1 cp cpan/Scalar-List-Utils/multicall.h $pwd 289*eac174f2Safresh1 $miniperlxs cpan/Scalar-List-Utils/ListUtil.xs > $target 290*eac174f2Safresh1 { cd cpan/Scalar-List-Utils/lib; tar c . } | { mkdir -p archlib; cd archlib; tar x } 291*eac174f2Safresh1 292*eac174f2Safresh1Storable.c: archlib/Config.pm dist/Storable/Storable.xs 293*eac174f2Safresh1 $miniperlxs dist/Storable/Storable.xs > $target 294*eac174f2Safresh1 cp dist/Storable/Storable.pm archlib 295*eac174f2Safresh1 296*eac174f2Safresh1Opcode.c: archlib/Config.pm ext/Opcode/Opcode.xs 297*eac174f2Safresh1 $miniperlxs ext/Opcode/Opcode.xs > $target 298*eac174f2Safresh1 cp ext/Opcode/^(Opcode ops)^.pm archlib 299*eac174f2Safresh1 300*eac174f2Safresh1Fcntl.c: archlib/Config.pm ext/Fcntl/Fcntl.xs 301*eac174f2Safresh1 cd ext/Fcntl 302*eac174f2Safresh1 $miniperl Makefile.PL # to write const-xs.inc 303*eac174f2Safresh1 cd $pwd 304*eac174f2Safresh1 $miniperlxs ext/Fcntl/Fcntl.xs > $target 305*eac174f2Safresh1 cp ext/Fcntl/Fcntl.pm archlib 306*eac174f2Safresh1 307*eac174f2Safresh1POSIX.c: archlib/Config.pm ext/POSIX/POSIX.xs 308*eac174f2Safresh1 cd ext/POSIX 309*eac174f2Safresh1 $miniperl Makefile.PL # to write const-xs.inc 310*eac174f2Safresh1 cd $pwd 311*eac174f2Safresh1 $miniperlxs ext/POSIX/POSIX.xs > $target 312*eac174f2Safresh1 cp ext/POSIX/lib/POSIX.pm archlib 313*eac174f2Safresh1 314*eac174f2Safresh1B.c: archlib/Config.pm ext/B/B.xs 315*eac174f2Safresh1 cd ext/B 316*eac174f2Safresh1 $miniperl Makefile.PL PERL_CORE^'='^1 # to write const-xs.inc 317*eac174f2Safresh1 cd $pwd 318*eac174f2Safresh1 $miniperlxs ext/B/B.xs > $target 319*eac174f2Safresh1 cp ext/B/^(B O)^.pm archlib 320*eac174f2Safresh1 321*eac174f2Safresh1Peek.c: archlib/Config.pm ext/Devel-Peek/Peek.xs 322*eac174f2Safresh1 $miniperlxs ext/Devel-Peek/Peek.xs > $target 323*eac174f2Safresh1 cp ext/Devel-Peek/Peek.pm archlib 324*eac174f2Safresh1 325*eac174f2Safresh1attributes.c: archlib/Config.pm ext/attributes/attributes.xs 326*eac174f2Safresh1 $miniperlxs ext/attributes/attributes.xs > $target 327*eac174f2Safresh1 cp ext/attributes/attributes.pm archlib 328*eac174f2Safresh1 329*eac174f2Safresh1mro.c: archlib/Config.pm ext/mro/mro.xs 330*eac174f2Safresh1 $miniperlxs ext/mro/mro.xs > $target 331*eac174f2Safresh1 cp ext/mro/mro.pm archlib 332*eac174f2Safresh1 333*eac174f2Safresh1Util.c: archlib/Config.pm ext/Hash-Util/Util.xs 334*eac174f2Safresh1 $miniperlxs ext/Hash-Util/Util.xs > $target 335*eac174f2Safresh1 { cd ext/Hash-Util/lib; tar c . } | { cd archlib; tar x } 336*eac174f2Safresh1 337*eac174f2Safresh1FieldHash.c: archlib/Config.pm ext/Hash-Util-FieldHash/FieldHash.xs 338*eac174f2Safresh1 $miniperlxs ext/Hash-Util-FieldHash/FieldHash.xs > $target 339*eac174f2Safresh1 { cd ext/Hash-Util-FieldHash/lib; tar c . } | { cd archlib; tar x } 340*eac174f2Safresh1 341*eac174f2Safresh1re.c: archlib/Config.pm ext/re/re.xs 342*eac174f2Safresh1 $miniperlxs ext/re/re.xs > $target 343*eac174f2Safresh1 cp ext/re/re_^(comp top)^.h $pwd 344*eac174f2Safresh1 cp ext/re/re.pm archlib 345*eac174f2Safresh1 346*eac174f2Safresh1re_comp.c: miniperl re.c regcomp.c 347*eac174f2Safresh1 cp regcomp.c $target 348*eac174f2Safresh1 349*eac174f2Safresh1re_exec.c: miniperl re.c regexec.c 350*eac174f2Safresh1 cp regexec.c $target 351*eac174f2Safresh1 352*eac174f2Safresh1dl_none.c: archlib/Config.pm ext/DynaLoader/dl_none.xs 353*eac174f2Safresh1 cd ext/DynaLoader; 354*eac174f2Safresh1 $miniperl DynaLoader_pm.PL 355*eac174f2Safresh1 cd $pwd 356*eac174f2Safresh1 $miniperlxs ext/DynaLoader/dl_none.xs > $target 357*eac174f2Safresh1 cp ext/DynaLoader/DynaLoader.pm archlib 358*eac174f2Safresh1 359*eac174f2Safresh1preptest:Q: perl 360*eac174f2Safresh1 # Bind the crap out of everything, as different tests expect different INCs 361*eac174f2Safresh1 cp perl t/perl 362*eac174f2Safresh1 cd t 363*eac174f2Safresh1 mntpt=/$objtype/lib/perl 364*eac174f2Safresh1 if (test ! -d $mntpt ) { 365*eac174f2Safresh1 mkdir $mntpt 366*eac174f2Safresh1 rmdir=1 367ba47ec9dSmillert } 368*eac174f2Safresh1 ramfs -m $mntpt 369*eac174f2Safresh1 mkdir -p $mntpt/5.32.0/site_perl 370*eac174f2Safresh1 echo -n Binding directories 371*eac174f2Safresh1 for (l in $pwd/lib $pwd/archlib $icpanlib $idistlib $iextlib ) { 372*eac174f2Safresh1 if (test -d $l ) { 373*eac174f2Safresh1 if (! ~ `{grep $l <{ns} >[1]/dev/null; echo $status} '') bind -a $l $mntpt/5.32.0/site_perl 374*eac174f2Safresh1 echo -n . 375*eac174f2Safresh1 } 376*eac174f2Safresh1 } 377*eac174f2Safresh1 bind $mntpt/5.32.0/site_perl $pwd/lib 378*eac174f2Safresh1 echo done 379*eac174f2Safresh1 echo Binding sh 380*eac174f2Safresh1 if (! ~ `{grep /$objtype/bin/ape <{ns} >[1]/dev/null; echo $status} '') bind -a /$objtype/bin/ape /bin 381ba47ec9dSmillert 382*eac174f2Safresh1minitest:V: preptest 383*eac174f2Safresh1 cd t 384*eac174f2Safresh1 perl TEST $testlist 385*eac174f2Safresh1 unmount $pwd/lib 386*eac174f2Safresh1 unmount $mntpt 387*eac174f2Safresh1 if (~ $rmdir 1) rm $mntpt 388*eac174f2Safresh1 rm t/perl 389ba47ec9dSmillert 390*eac174f2Safresh1test:V: preptest 391*eac174f2Safresh1 cd t 392ba47ec9dSmillert perl TEST `{ ls */*.t | comm -23 - ../plan9/exclude } 393*eac174f2Safresh1 unmount $pwd/lib 394*eac174f2Safresh1 unmount $mntpt 395*eac174f2Safresh1 if (~ $rmdir 1) rm $mntpt 396*eac174f2Safresh1 rm t/perl 397ba47ec9dSmillert 398*eac174f2Safresh1plan9.$O: config.h plan9/plan9.c 399*eac174f2Safresh1 cp plan9/plan9.c plan9.c 400ba47ec9dSmillert $CCCMD plan9.c 401ba47ec9dSmillert 402ba47ec9dSmillert%.$O: config.h %.c 403ba47ec9dSmillert $CCCMD $stem.c 404ba47ec9dSmillert 405*eac174f2Safresh1archlib/Config.pm: config.sh 406*eac174f2Safresh1 $miniperl make_patchnum.pl 407*eac174f2Safresh1 $miniperl configpm 408*eac174f2Safresh1 cp lib/Config.pm archlib/Config.pm 409*eac174f2Safresh1 cp lib/Config_heavy.pl archlib/Config_heavy.pl 410*eac174f2Safresh1 cp lib/Config_git.pl archlib/Config_git.pl 411ba47ec9dSmillert 412*eac174f2Safresh1 413*eac174f2Safresh1config.sh: miniperl 414*eac174f2Safresh1 miniperl plan9/genconfig.pl $extensions $more_extensions 415ba47ec9dSmillert 416ba47ec9dSmillertinstallall:V: 417*eac174f2Safresh1 for (386 68000 68020 arm arm amd64 mips power power64 sparc sparc64 spim) mk install 418ba47ec9dSmillert 419ba47ec9dSmillertman:V: $perlpods pod/pod2man.PL perl 420ba47ec9dSmillert perl pod/pod2man.PL 421ba47ec9dSmillert for (i in $podnames) pod/pod2man pod/$i.pod > $installman3dir/$i 42255745691Smillert for (i in $faqpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i 42355745691Smillert for (i in $advpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i 42455745691Smillert for (i in $archpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i 425f64b279aSmillert for (i in $histpodnames) pod/pod2man pod/$i.pod > $installman3dir/$i 426ba47ec9dSmillert 427ba47ec9dSmillertnuke clean:V: 428*eac174f2Safresh1 rm -f *.$O config.sh $perllib config.h $perlshr perlmain.c perl miniperl git_version.h $ext_c $more_ext_c generate_uudmap uudmap.h bitcount.h mg_data.h plan9.c plan9ish.h math.h bsd_glob.^(c h) poll.^(c h) re_*.^(c h) uni.data multicall.h 429*eac174f2Safresh1 rm -rf privlib archlib 430ba47ec9dSmillert 431ba47ec9dSmillertdeleteman:V: 432ba47ec9dSmillert rm -f $installman1dir/perl* $installman3dir/perl* 433