Browse Source

Modified for 4th distribution

ceriel 36 years ago
parent
commit
905907f304
8 changed files with 63 additions and 24 deletions
  1. 0 10
      distr/Action
  2. 3 0
      distr/Action1
  3. 1 1
      distr/How_To
  4. 11 2
      distr/dwalk
  5. 39 0
      distr/mk_distr_syms
  6. 6 3
      distr/mkd
  7. 0 5
      distr/mkf
  8. 3 3
      distr/mktree

+ 0 - 10
distr/Action

@@ -7,10 +7,6 @@ end
 name "Pascal bootstrap files"
 dir lang/pc/pem
 end
-name "C compiler makefile"
-dir lang/cem/cemcom
-action "cp AckMake makefile"
-end
 name "LLgen bootstrap files"
 dir util/LLgen
 end
@@ -25,9 +21,3 @@ name "h/em_path.h"
 dir first
 action "cp em_path.h.src ../h/em_path.h"
 end
-name "create .distr file for interpreter"
-dir util/int
-end
-name "create .distr file for interpreter docs"
-dir doc/int
-end

+ 3 - 0
distr/Action1

@@ -1,9 +1,12 @@
 name "m68k2/cg bootstrap files"
 dir mach/m68k2/cg
+action "make EMHOME=/proj/em/Work distr"
 end
 name "vax4/cg bootstrap files"
 dir mach/vax4/cg
+action "make EMHOME=/proj/em/Work distr"
 end
 name "m68020/ncg bootstrap files"
 dir mach/m68020/ncg
+action "make EMHOME=/proj/em/Work distr"
 end

+ 1 - 1
distr/How_To

@@ -13,7 +13,7 @@ these files.
 
 When all this is correct, use the shell script mktree the extract
 the distribution from the EM tree.
-	cd ~em/Repositories ; sh ../Work/distr/mktree destination_tree >../Work/distr/f.attf 2>&1
+	cd ~em/Repositories ; sh ../Work/distr/mktree destination_tree Distr4 >../Work/distr/f.attf 2>&1
 Make sure that the destination tree exists and is empty!
 Failing to do that will almost certainly result in a welter of
 error messages.

+ 11 - 2
distr/dwalk

@@ -1,7 +1,16 @@
 : ${CDIR=.}
-${DD-:} $CDIR
+if [ $# = 1 ]
+then
+	${DD-:} $CDIR $1
+else
+	${DD-:} $CDIR
+fi
 ${DF-:} $CDIR .distr
 if test ! -r $DESTDIR/$CDIR/.distr
+then
+	( cd $DESTDIR/$CDIR; make .distr ) >/dev/null 2>&1
+fi
+if test ! -r $DESTDIR/$CDIR/.distr
 then
 	echo ++ no .distr in $CDIR
         exit 0
@@ -14,7 +23,7 @@ do
 		  then 
 			CDIR=$CDIR/$i
 			export CDIR
-			exec /proj/em/Work/distr/dwalk
+			exec /proj/em/Work/distr/dwalk $*
 		  else
 			echo ++ Could not access $CDIR/$i
 		  fi

+ 39 - 0
distr/mk_distr_syms

@@ -0,0 +1,39 @@
+: Utility to make a tree of symbolic links to source tree.
+: Mount the source tree read-only, use this script, and then try installation.
+case $# in
+2)	;;
+*)	echo "Usage: $0 <source-tree> <symlink-tree>" 1>&2
+	exit 1
+	;;
+esac
+if [ -f $1/.distr ]
+then
+	for i in `cat $1/.distr`
+	do
+		if [ -d $1/$i ]
+		then
+			if mkdir $2/$i && $0 $1/$i $2/$i
+			then
+				:
+			else
+				exit 2
+			fi
+		else
+			if [ -f $1/$i ] 
+			then
+				if ln -s $1/$i $2/$i
+				then
+					:
+				else
+					exit 3
+				fi
+			else
+				echo "Missing file $1/$i" 1>&2
+				exit 4
+			fi
+		fi
+	done
+else
+	echo "No .distr file in $1" 1>&2
+	exit 5
+fi

+ 6 - 3
distr/mkd

@@ -5,11 +5,14 @@ case $1 in
 esac
 p=`pwd`
 cd $DESTDIR/$1
-if `RV $p $p/Distr4 > /dev/null 2>&1`
+if [ $# = 2 ] && [ -f $p/$2 ]
 then
-	:
+	RV $p $p/$2 > /dev/null 2>&1
 else
-	echo "-- $1 no Distr4 Save Record yet"
+	if [ $# = 2 ]
+	then
+		echo "-- $1 no $2 Save Record yet"
+	fi
 	if `CV $p > /dev/null 2>&1`
 	then
 		:

+ 0 - 5
distr/mkf

@@ -9,8 +9,3 @@ then
 else
 	echo ++ $1/$2 not present
 fi
-case $2 in
-LIST)	if (test -r $DESTDIR/$1/`head -1 $DESTDIR/$1/LIST`) >/dev/null 2>&1
-	then echo ++ LIST files must be in .distr before their libraries!!!
-	fi ;;
-esac

+ 3 - 3
distr/mktree

@@ -1,6 +1,6 @@
 case $# in
-1)	;;
-*)	echo $0 directory ; exit 1 ;;
+1|2)	;;
+*)	echo $0 directory [ SVrecord ] ; exit 1 ;;
 esac
 DDIR=/proj/em/Work/distr
 case $1 in
@@ -11,4 +11,4 @@ DD=$DDIR/mkd
 DF=$DDIR/mkf
 DA=$DDIR/mka
 export DESTDIR DD DF DA
-$DDIR/dwalk
+$DDIR/dwalk $2