Browse Source

Added sparc Solaris 2 support

ceriel 31 years ago
parent
commit
2a64289208
7 changed files with 51 additions and 22 deletions
  1. 7 2
      Action
  2. 4 3
      first/first
  3. 11 10
      first/get_makepars
  4. 2 1
      first/get_sys
  5. 2 2
      first/install_tail
  6. 7 0
      first/limit_enquire
  7. 18 4
      first/limit_impl

+ 7 - 2
Action

@@ -216,9 +216,14 @@ name "Sun 3 M68020 support"
 dir mach/sun3
 indir
 end
-name "Sun 4 SPARC support"
+name "Sun 4 SPARC SunOs 4 support"
 dir mach/sparc
-system "sparc"
+system "sparc|sparc_solaris"
+indir
+end
+name "Sun 4 SPARC Solaris support"
+dir mach/sparc_solaris
+system "sparc_solaris"
 indir
 end
 name "Sun 2 M68000 support"

+ 4 - 3
first/first

@@ -57,6 +57,7 @@ m68_unisoft|m68k2)	ACM=m68k2 ; SYS=V7; BYTE_ORDER=3210 ; MACH=m68k2 ;;
 m68_sysV_0|mantra)	ACM=mantra ; SYS=SYS_5; BYTE_ORDER=3210 ; MACH=m68k4 ;;
 m68020)		ACM=m68020 ; SYS=SYS_5; BYTE_ORDER=3210 ; MACH=m68020 ;;
 sparc)		ACM=sparc ; SYS=BSD4_2; BYTE_ORDER=3210 ; MACH=sparc ;;
+sparc_solaris)	ACM=sparc_solaris ; SYS=SYS_5; BYTE_ORDER=3210 ; MACH=solaris ;;
 i86)		ACM=i86 ; SYS=SYS_5; BYTE_ORDER=0123 ; MACH=i86 ;;
 xenix3)		ACM=xenix3 ; SYS=SYS_5; BYTE_ORDER=0123 ; MACH=i86 ;;
 minix)		ACM=minix ; SYS=V7; BYTE_ORDER=0123 ; MACH=i86 ;;
@@ -68,7 +69,7 @@ m68k4)		ACM=m68k4 ; SYS=V7; BYTE_ORDER=3210 ; MACH=m68k4 ;;
 esac
 
 : do not change the order in MACH_LIST. check limit_enquire first.
-MACH_LIST="i86 xenix3 minix i386 6500 6800 6805 6809 i80 em22 em24 em44 m68k2 pmds minixST m68k4 pmds4 sun2 mantra m68020 sun3 sparc ns pdp s2650 vax4 z80 z8000 arm"
+MACH_LIST="i86 xenix3 minix i386 6500 6800 6805 6809 i80 em22 em24 em44 m68k2 pmds minixST m68k4 pmds4 sun2 mantra m68020 sun3 sparc sparc_solaris ns pdp s2650 vax4 z80 z8000 arm"
 
 while :
 do
@@ -118,8 +119,8 @@ V7|BSD4_1|BSD4_2|SYS_5)
 Choices:
 	V7	for Unix V7, BSD 2.*
 	BSD4_1	for Berkeley 4.1
-	BSD4_2	for Berkeley 4.2, 4.3, SunOS
-	SYS_5	for Xenix, System III, System V'
+	BSD4_2	for Berkeley 4.2, 4.3, SunOs 3, SunOs 4
+	SYS_5	for Xenix, System III, System V, SunOs 5'
 	echo $E_FLAG "Your choice (V7|BSD4_1|BSD4_2|SYS_5): [$OLDSYS] $E_SFX"
 	. $FDIR/get_answer
 	case $ANS in

+ 11 - 10
first/get_makepars

@@ -1,6 +1,6 @@
 know_target=0
 case $SYSNAME in
-vax*|i386|sun*|sparc|m68_sysV_0|m68020|mantra|pmds4|m68k4)
+vax*|i386|sun*|sparc*|m68_sysV_0|m68020|mantra|pmds4|m68k4)
 	WS=4 ; PS=4
 	know_target=1
 	;;
@@ -12,10 +12,7 @@ i86|minix|xenix3)
 	WS=2 ; PS=2
 	know_target=1
 	;;
-*)	if [ $TARGET_HOME = $UTIL_HOME ]
-	then
-		: We can find out ourselves what the word-size and
-		: the pointer-size of the target machine is.
+*)	trap "rm -f ws.c ws.o a.out t$$" 0 1 2 3 15
 		cat > ws.c <<'EOF'
 #include <stdio.h>
 main()
@@ -24,6 +21,10 @@ main()
 	exit(0);
 }
 EOF
+	if [ $TARGET_HOME = $UTIL_HOME ] && cc ws.c 2>/dev/null
+	then
+		: We can find out ourselves what the word-size and
+		: the pointer-size of the target machine is.
 		cc ws.c 2>/dev/null
 		a.out > t$$
 		. t$$
@@ -62,9 +63,9 @@ if [ $TARGET_HOME = $UTIL_HOME ]
 then	
 	if [ -f /bin/ranlib -o -f /usr/bin/ranlib -o -f /usr/ucb/ranlib ]
 	then
-		sed "s/^COPTIONS.*\$/COPTIONS=-O -D_EM_WSIZE=$WS -D_EM_PSIZE=$PS/" < $FDIR/target_comp >> make_macros
+		sed "s/^COPTIONS.*\$/COPTIONS=-O -D_EM_WSIZE=$WS -D_EM_PSIZE=$PS -D__${MACH}__/" < $FDIR/target_comp >> make_macros
 	else
-		sed -e "s/^COPTIONS.*\$/COPTIONS=-O -D_EM_WSIZE=$WS -D_EM_PSIZE=$PS/" -e "s/^# RANLIB=:/RANLIB=:/" < $FDIR/target_comp >> make_macros
+		sed -e "s/^COPTIONS.*\$/COPTIONS=-O -D_EM_WSIZE=$WS -D_EM_PSIZE=$PS -D__${MACH}__/" -e "s/^# RANLIB=:/RANLIB=:/" < $FDIR/target_comp >> make_macros
 	fi
 	if [ -f /bin/arch ]
 	then
@@ -81,13 +82,13 @@ EOF
 	cat $FDIR/util_comp >> make_macros
 else
 	case $know_target in
-	1)	sed -e "s/^COPTIONS.*\$/COPTIONS=-O -D_EM_WSIZE=$WS -D_EM_PSIZE=$PS/" -e "/cc-and-mkdep.ack/s/^..//" -e "s/^CC=cc/CC=acc -m$ACM/" -e "s/^# AR=aal/AR=aal/" -e "s/^# RANLIB=:/RANLIB=:/" < $FDIR/target_comp >> make_macros
+	1)	sed -e "s/^COPTIONS.*\$/COPTIONS=-O -D_EM_WSIZE=$WS -D_EM_PSIZE=$PS -D__${MACH}__/" -e "/cc-and-mkdep.ack/s/^..//" -e "s/^CC=cc/CC=acc -m$ACM/" -e "s/^# AR=aal/AR=aal/" -e "s/^# RANLIB=:/RANLIB=:/" < $FDIR/target_comp >> make_macros
 		;;
 	*)	if [ -f /bin/ranlib -o -f /usr/bin/ranlib -o -f /usr/ucb/ranlib ]
 		then
-			sed "s/^COPTIONS.*\$/COPTIONS=-O -D_EM_WSIZE=$WS -D_EM_PSIZE=$PS/" < $FDIR/target_comp >> make_macros
+			sed "s/^COPTIONS.*\$/COPTIONS=-O -D_EM_WSIZE=$WS -D_EM_PSIZE=$PS -D__${MACH}__/" < $FDIR/target_comp >> make_macros
 		else
-			sed -e "s/^COPTIONS.*\$/COPTIONS=-O -D_EM_WSIZE=$WS -D_EM_PSIZE=$PS/" -e "s/^# RANLIB=:/RANLIB=:/" < $FDIR/target_comp >> make_macros
+			sed -e "s/^COPTIONS.*\$/COPTIONS=-O -D_EM_WSIZE=$WS -D_EM_PSIZE=$PS -D__${MACH}__/" -e "s/^# RANLIB=:/RANLIB=:/" < $FDIR/target_comp >> make_macros
 		fi
 		;;
 	esac

+ 2 - 1
first/get_sys

@@ -81,7 +81,8 @@ sun3		Sun 3 M68020 workstation
 sun2		Sun 2 M68000 workstation
 m68_sysV_0	Motorola 68000 with Uniplus System V.0 Unix
 m68020		Motorola M68020 VME131 running Unix System V/68 R2V2.1
-sparc		SUN SPARC workstation
+sparc		SUN SPARC workstation running SunOs 4
+sparc_solaris	SUN SPARC workstation running solaris 2
 ANY		Neither of the above
 "
 echo $E_FLAG "system type: [$SYSNAME] $E_SFX"

+ 2 - 2
first/install_tail

@@ -1,12 +1,12 @@
 set -e
 
-PATH=::$CONFIG/bin:$UTIL_HOME/bin:/bin:/usr/bin:/usr/ucb:/usr/local/bin
+PATH=::$CONFIG/bin:$UTIL_HOME/bin:/bin:/usr/bin:/usr/ccs/bin:/usr/ucb:/usr/local/bin
 export PATH
 
 $SRC_HOME/first/create_dir $CONFIG
 $SRC_HOME/first/create_dir $CONFIG/bin
 
-echo "PATH=::$CONFIG/bin:$UTIL_HOME/bin:/bin:/usr/bin:/usr/ucb:/usr/local/bin; export PATH" > $CONFIG/bin/TakeAction
+echo "PATH=::$CONFIG/bin:$UTIL_HOME/bin:/bin:/usr/bin:/usr/ccs/bin:/usr/ucb:/usr/local/bin; export PATH" > $CONFIG/bin/TakeAction
 cat $SRC_HOME/TakeAction >> $CONFIG/bin/TakeAction
 sed '/^#PARAMS/r make_macros' < $SRC_HOME/first/mk_makefile > $CONFIG/bin/mk_makefile
 cp $SRC_HOME/first/create_dir $CONFIG/bin/create_dir

+ 7 - 0
first/limit_enquire

@@ -115,6 +115,9 @@ m68k4, pmds4, sun2, and mantra."
 					fi
 					;;
 			esac
+			;;
+		sparc)	shift
+			;;
 		esac
 		break
 		;;
@@ -150,6 +153,10 @@ m68k4, pmds4, sun2, and mantra."
 			shift
 			DISABLE_SUP=$DISABLE_SUP" $1"
 			;;
+		sparc)
+			shift
+			DISABLE_SUP=$DISABLE_SUP" $1"
+			;;
 		m68020)
 			shift
 			DISABLE_SUP=$DISABLE_SUP" $1"

+ 18 - 4
first/limit_impl

@@ -85,13 +85,27 @@ do
 				esac
 				;;
 		esac
-	    	( cd $j
-	      	  cat >> Action <<EOF
+		case $j in
+		sparc*)
+			( cd $j
+	      		  cat >> Action <<EOF
+name "$j $i libraries"
+system "$j"
+dir $lib
+end
+EOF
+	        	)
+			;;
+		*)
+	    		( cd $j
+	      		  cat >> Action <<EOF
 name "$j $i libraries"
 dir $lib
 end
 EOF
-	        )
+	       		)
+			;;
+		esac
 	  done
 	)
 done
@@ -169,7 +183,7 @@ then
 	do
 		for j in libem libend libfp libdb libsys libmon libbsd4_2 libbsd4_1a libsysV_2 libce
 		do
-			if grep -s $j $i
+			if fgrep -s $j $i
 			then
 				ed - $i <<EOF
 /$j/;?^name?,/^end/s/^/!/