Browse Source

*** empty log message ***

em 39 years ago
parent
commit
fc97434c5b
3 changed files with 172 additions and 0 deletions
  1. 32 0
      first/ckpath
  2. 7 0
      first/did_first
  3. 133 0
      first/first

+ 32 - 0
first/ckpath

@@ -0,0 +1,32 @@
+rm -f ../bin/x_tpath x_tpath
+echo "echo $$" >../bin/x_tpath
+rm -f x_tpath
+chmod +x ../bin/x_tpath
+case x`(x_tpath) 2>/dev/null`
+in
+x$$)	
+	STAT=0 ;;
+x)
+	(cd ../bin ; echo Sorry, `pwd` is not in your shell PATH" ($PATH)")
+	STAT=1 ;;
+*)
+	echo "Sorry, there is something wrong with your PATH ($PATH)" ;;
+esac
+echo "echo l_$$" >x_tpath
+chmod +x x_tpath
+case x`(x_tpath) 2>/dev/null`
+in
+xl_$$)
+	;;
+x)
+	(cd ../bin ; echo Sorry, . is not in your shell PATH" ($PATH)")
+	STAT=2 ;;
+x$$)	
+	echo Sorry, . is not in your PATH" ($PATH)" or after the ACK bin directory
+	STAT=3 ;;
+*)
+	echo "Sorry, there is something wrong with your PATH ($PATH)"
+	STAT=4 ;;
+esac
+rm -f ../bin/x_tpath x_tpath
+exit $STAT

+ 7 - 0
first/did_first

@@ -0,0 +1,7 @@
+if (ack_sys ) >/dev/null 2>&1
+then
+	exit 0
+else
+	echo "You need to run 'first' first"
+	exit 1
+fi

+ 133 - 0
first/first

@@ -0,0 +1,133 @@
+: check $PATH first
+if sh ckpath
+then :
+else
+	exit 1
+fi
+: set ACK HOME Directory in ../h/em_path.h
+rm -f em_path.h
+sed -e "/^#define[ 	]*EM_DIR/s@\".*\"@\"`cd .. ; pwd`\"@" <../h/em_path.h >em_path.h
+if cmp ../h/em_path.h em_path.h >/dev/null 2>&1
+then
+	: Don't touch ../h/em_path.h, it's already correct
+else
+	rm -f ../h/em_path.h
+	if mv em_path.h ../h >/dev/null 2>&1
+	then : success
+	else
+		echo "Sorry, can't replace ../h/em_path.h"
+		exit 7
+	fi
+fi
+: remove non-system as and ld from descr files
+if (ack_sys) >/dev/null 2>&1
+then
+	: echo Your system is: `ack_sys`.
+else
+	echo -n "Give me the name of your system, the current choice is:
+pdp_v7		PDP11 with sep I/D and version 7
+vax_bsd4_1a	VAX11 with BSD4.1a
+vax_bsd4_1c	VAX11 with BSD4.1c
+vax_bsd4_2	VAX11 with BSD4.2
+pc_ix		IBM PC with PC/IX
+m68_unisoft	Motorola 68000 with Unisoft UNIX
+m68_pmds	Philips PMDS
+ANY		Neither of the above
+
+system type: "
+	if read SYSNAME
+	then
+		echo echo "$SYSNAME" >../bin/ack_sys
+		chmod +x ../bin/ack_sys
+		case `ack_sys` in
+		pdp_v7|vax_bsd4_1[ac]|vax_bsd4_2|pc_ix|m68_unisoft|m68_pmds) ;;
+		*)	echo None of the software especially intended for
+the named systems will work ;;
+		esac
+	else
+		echo Sorry, got EOF when reading system name.
+		exit 8
+	fi
+fi
+echo -n "Your system is `ack_sys`, are you satisfied with that? (y/n) "
+if read YESNO
+then
+	case $YESNO in
+	j*|y*)	;;
+	n*)	echo Ok, I will give you another chance....
+		rm -f ../bin/ack_sys
+		exec sh $0
+		;;
+	*)	echo "I do not understand your answer ($YESNO). Bye"
+		exit 9
+		;;
+	esac
+else
+	echo Sorry, got EOF when reading your answer.
+	exit 9
+fi
+: "Take action according to the system used"
+: 'Prevent the use of the system assembler on for certain systems'
+case `ack_sys` in
+vax_bsd*)	RMD=pdp ;;
+pdp_*)		RMD="vax2 vax4" ;;
+*)		RMD="pdp vax2 vax4" ;;
+esac
+for i in $RMD
+do
+(	cd ../lib/$i
+	if grep '^name as$' descr >/dev/null 2>&1
+		then
+cp descr descr.orig
+ed - descr <<'ABC'
+/^name as$/;/^end$/d
+/^name ld$/;/^end$/d
+w
+q
+ABC
+	fi
+)
+done
+: 'Set the default machine in ../h/local.h'
+case `ack_sys` in
+pdp_v7)		ACM=pdp ;;
+vax_bsd4_1[ac]) ACM=vax2 ;;
+vax_bsd4_2)	ACM=vax2 ;;
+pc_ix)		ACM=ix ;;
+m68_unisoft)	ACM=m68k2 ;;
+m68_pmds) 	ACM=pmds ;;
+esac
+rm -f local.h
+sed /ACKM/s/'".*"'/'"'$ACM'"'/ <../h/local.h >local.h
+if cmp -s ../h/local.h local.h
+then :
+else
+	cp local.h ../h
+	rm -f local.h
+fi
+echo "Your default machine to compile for is $ACM"
+case `ack_sys` in
+vax_bsd4_*)
+	echo 'Installing the include directory in lib/vax2'
+	( cd ../lib/vax2 ; sh fetch_inc )
+	echo Done
+	case `ack_sys` in
+	vax_bsd4_1a)	VERS=BSD41a ;;
+	vax_bsd4_1c)	VERS=BSD41c ;;
+	vax_bsd4_2)	VERS=BSD42 ;;
+	*)		echo "Unknown VAX BSD version, look at mach/vax[24]/libem"
+			break ;;
+	esac
+	for i in vax2 vax4
+	do (
+		cd ../mach/$i/libem
+		ed - system.h <<ABC
+g/^#/s/.*/\/* & *\//
+/$VERS/s/^.*#/#/
+/$VERS/s/*\/.*$//
+w
+q
+ABC
+	) done
+	echo 'mach/vax[24]/libem/system.h reflects your BSD version.'
+esac