summaryrefslogtreecommitdiff
path: root/plan9/setup.rc
diff options
context:
space:
mode:
Diffstat (limited to 'plan9/setup.rc')
-rwxr-xr-x[-rw-r--r--]plan9/setup.rc58
1 files changed, 33 insertions, 25 deletions
diff --git a/plan9/setup.rc b/plan9/setup.rc
index dd96c1f9c7..d300966bde 100644..100755
--- a/plan9/setup.rc
+++ b/plan9/setup.rc
@@ -1,51 +1,59 @@
#!/bin/rc
-# This is an rc shell script which unpacks the perl distribution, builds
-# directories, and puts files where they belong.
-# To use, just run it from within the plan9 subdirectory with the appropriate
-# permissions.
-# Last modified 6/30/96 by:
+# This is an rc shell script puts files where they belong and does a bit of
+# patching in order not to modify some perl core code which might impact other
+# OSes. To use, just run it from within the plan9 subdirectory with the
+# appropriate permissions.
+# First modified 6/30/96 by:
# Luther Huffman, Strategic Computer Solutions, Inc., lutherh@stratcom.com
+# Last modified May 2020 by:
+# David Romano, unobe@cpan.org
+# Get the Perl version information
awk -f versnum ../patchlevel.h
. buildinfo
-builddir = `{ cd .. ; pwd }
+
+builddir = `{ cd .. ; pwd }
+
+# 'typestr' is used by /sys/src/cmd/cc/lex.c, but not sure when/if it is ever used.
+# Patch sv.c from afar, which uses 'typestr' as a variable name, and uses bit-fields.
+# Also patch some other things:
+status=`{cd $builddir; ape/patch -p1 <plan9/9front.patch}
+
if (~ $#* 0) platforms = $objtype
if not switch($1) {
- case -a ; platforms = (386 mips sparc 68020)
+ case -a ; platforms = (386 68000 68020 arm arm amd64 mips power power64 sparc sparc64 spim)
case * ; echo 'Usage: setup.rc [-a]' >[1=2] ; exit
}
-sourcedir=/sys/src/cmd/perl/$p9pvers
-privlib=/sys/lib/perl
-sitelib=$privlib/site_perl
-#Build source directory
-if (test ! -d /sys/src/cmd/perl) mkdir /sys/src/cmd/perl
-if (test ! -d $sourcedir) mkdir $sourcedir
+# Update some files
+cp plan9.c plan9ish.h mkfile $builddir
-#Populate source directory
-echo Building source directories ...
-{cd $builddir ; tar c .} | { cd $sourcedir ; tar x}
-cp $builddir/plan9/plan9.c $builddir/plan9/plan9ish.h $builddir/plan9/mkfile $sourcedir
-cd $sourcedir/lib ; rm -rf *
-
-#Build library directories
+exit;
+# Why is this done during setup and not during 'mk install'?
+# Build library directories
echo Building library directories ...
+privroot=/sys/lib/perl
+privlib=$privroot/$p9pvers
+sitelib=$privlib/site_perl
+
+if (test ! -d $privroot) mkdir $privroot
if (test ! -d $privlib) mkdir $privlib
if (test ! -d $privlib/auto) mkdir $privlib/auto
if (test ! -d $sitelib) mkdir $sitelib
for(i in $platforms){
- archlib=/$i/lib/perl/$p9pvers
+ archroot=/$i/lib/perl
+ archlib=$archroot/$p9pvers
sitearch=$archlib/site_perl
corelib=$archlib/CORE
arpalib=$corelib/arpa
- if (test ! -d /$i/lib/perl) mkdir /$i/lib/perl
+ if (test ! -d $archroot) mkdir $archroot
if (test ! -d $archlib) mkdir $archlib
if (test ! -d $sitearch) mkdir $sitearch
if (test ! -d $corelib) mkdir $corelib
if (test ! -d $arpalib) mkdir $arpalib
- cp $builddir/*.h $builddir/plan9/*.h $corelib
- cp $builddir/plan9/arpa/*.h $arpalib
+ cp $builddir/*.h *.h $corelib
+ cp arpa/*.h $arpalib
}
-#Populate library directories
+# Populate library directories
{cd $builddir/lib ; tar c . } | {cd $privlib ; tar x }