$NetBSD: patch-aa,v 1.7 2015/10/17 22:34:21 dholland Exp $

csh programming considered harmful.

note that this is now a sh script, but I can't patch the #! line
because there's an rcsid in the way.

--- makeall.orig	2003-12-14 17:24:09.000000000 +0000
+++ makeall
@@ -3,27 +3,27 @@
 # 
 # Make all the Radiance programs
 #
-if ( $#argv < 1 ) then
+if [ $# -lt 1 ]; then
 	echo "Usage: makeall install [clean] [make options]"
 	echo "   or: makeall clean"
 	echo "   or: makeall library"
 	exit 1
-endif
-if ( "$1" == library ) then
-	source installib
+fi
+if [ x"$1" = xlibrary ]; then
+	. ./installib
 	cp -f src/*/*.{cal,tab,hex} $ldir
 	echo ""
 	echo "Set the environment variable RAYPATH=.:$ldir"
 	echo 'For C-shell users, put the following into ~/.cshrc'
 	echo "	setenv RAYPATH .:$ldir"
-	echo 'For Bourne shell users, put the following into $HOME/profile'
+	echo 'For Bourne shell users, put the following into $HOME/.profile'
 	echo "	RAYPATH=.:$ldir"
 	echo "	export RAYPATH"
 	echo ""
 	exit 0
-endif
-set srcdirs=( common meta cv gen ot rt px hd util cal )
-if ( "$1" == install ) then
+fi
+srcdirs='common meta cv gen ot rt px hd util cal'
+if [ x"$1" = xinstall ]; then
 	cat << _EOF_
 
 		`cat src/rt/VERSION` INSTALLATION
@@ -35,183 +35,167 @@ this script.  You can type ^C (followed 
 You must first answer the following questions.
 
 _EOF_
-if ( ! $?EDITOR ) then
-	echo -n "What is your preferred editor [vi]? "
-	set ans="$<"
-	if ( "$ans" != "" ) then
-		setenv EDITOR "$ans"
-	else
-		setenv EDITOR vi
-	endif
-endif
-again1:
-echo -n "Where do you want the executables [/usr/local/bin]? "
-set idir=$<
-(echo $idir) >/dev/null
-if ( $status ) then
-	goto again1
-endif
-set idir=$idir
-if ( "$idir" == "" ) then
-	set idir=/usr/local/bin
-else if ( "$idir" !~ /* ) then
-	echo "Directory must be relative to root, please reenter"
-	goto again1
-endif
-if ( ! -d $idir ) then
-	mkdir $idir
-	if ( $status ) then
+if [ x"$EDITOR" = x ]; then
+		EDITOR=vi
+		export EDITOR
+fi
+
+idir=@WRKSRC@/radiance/bin
+#(echo $idir) >/dev/null
+#if ( $status ) then
+#	continue
+#endif
+#set idir=$idir
+#if ( "$idir" == "" ) then
+#	set idir=/usr/local/bin
+#endif
+if [ ! -d "$idir" ]; then
+	mkdir -p "$idir"
+	if [ $? != 0 ]; then
 		echo "Cannot create directory, please reenter"
-		goto again1
-	endif
-endif
-if ( ! -d $idir/dev ) then
-	mkdir $idir/dev
-	if ( $status ) then
+		exit 1
+	fi
+fi
+if [ ! -d "$idir/../dev" ]; then
+	mkdir -p "$idir/../dev"
+	if [ $? != 0 ]; then
 		echo "Cannot create subdirectory, please reenter"
-		goto again1
-	endif
-endif
-set inpath=0
-foreach i ( $path )
-	if ( "$i" == "$idir" ) then
-		set inpath=1
+		exit 1
+	fi
+fi
+inpath=0
+for i in $(echo $PATH | tr ':' ' '); do
+	if [ "$i" = "$idir" ]; then
+		inpath=1
 		break
-	endif
-end
-set rmake=$idir/rmake
-if ( "`ls -tL $rmake $0 |& head -1`" == $rmake ) then
-	goto gotrmake
-endif
-set newrmake
-more src/common/copyright.h
-echo -n "Do you understand and accept the terms of this agreement [n]? "
-set ans="$<"
-if ( "$ans" !~ [yY]* ) exit
-set special=
-set arch=
-set opt=
-set mach=
-set compat=
-set extras=
-set esuffix=
-cat << _EOF_
-
-Please select your system type from the following list:
-
-	1)	Sun Solaris
-	2)	HP workstation
-	3)	Silicon Graphics
-	4)	AIX (RS/6000)
-	5)	BSDI BSD/386
-	6)	Linux
-	7)	MacOS X
-	8)	FreeBSD
-	9)	Cygwin
-	10)	Other
-
-_EOF_
-echo -n "Choice? "
-set arch="$<"
-switch ("$arch")
-case 1:			# SPARC Station
-	set arch=sun
-	set mach="-I/usr/openwin/include -L/usr/openwin/lib -DNOSTEREO"
-	set opt="-O -DSPEED=80"
-	set compat="bmalloc.o strcmp.o getpagesize.o"
-	breaksw
-case 2:			# HP workstation
-	set mach=""
-	set opt="-O -DSPEED=80 -Aa -D_HPUX_SOURCE"
-	set compat="bmalloc.o getpagesize.o strcmp.o"
-	set arch=hpux
-	breaksw
-case 3:			# Silicon Graphics
-	set arch=sgi
-	switch (`uname -r`)
-	case 3.*:
-		set mach="-noprototypes"
-		set opt="-O -DSPEED=80"
-		set special="sgi"
-		set compat="malloc.o strcmp.o"
-		breaksw
-	case 4.*:
-		set mach=""
-		set opt="-O2 -DSPEED=100"
-		set compat="malloc.o strcmp.o"
-		set extras='"MLIB=-lfastm -lm"'
-		breaksw
-	default:	# 5.x or later
+	fi
+done
+rmake=$idir/rmake
+#rmake2=`ls -tL $rmake $0 2>&1 | head -1`
+if [ ! -f "$rmake" -o "$0" -nt "$rmake" ]; then
+
+newrmake=
+special=
+arch=
+opt=
+mach=
+compat=
+extras=
+esuffix=
+arch=@PKGSRC_ARCH@
+case "$arch" in
+    1)			# SPARC Station
+	arch=sun
+	mach="-I/usr/openwin/include -L/usr/openwin/lib -DNOSTEREO"
+	opt="-O -DSPEED=80"
+	compat="bmalloc.o strcmp.o getpagesize.o"
+	;;
+    2)			# HP workstation
+	mach=""
+	opt="-O -DSPEED=80 -Aa -D_HPUX_SOURCE"
+	compat="bmalloc.o getpagesize.o strcmp.o"
+	arch=hpux
+	;;
+    3)			# Silicon Graphics
+	arch=sgi
+	case `uname -r` in
+	    3.*)
+		mach="-noprototypes"
+		opt="-O -DSPEED=80"
+		special="sgi"
+		compat="malloc.o strcmp.o"
+		;;
+	    4.*)
+		mach=""
+		opt="-O2 -DSPEED=100"
+		compat="malloc.o strcmp.o"
+		extras='"MLIB=-lfastm -lm"'
+		;;
+	    *)		# 5.x or later
 		ln -s `which wish` $idir/wish4.0
-		set path=($idir $path)
-		set mach="-w"
-		set opt="-O2 -DSPEED=200"
-		set special="ogl"
-		set compat="bmalloc.o strcmp.o"
-		breaksw
-	endsw
-	breaksw
-case 4:			# AIX
-	set opt="-O"
-	set compat="bmalloc.o erf.o strcmp.o"
-	set arch=PowerPC
-	breaksw
-case 5:			# BSDI BSD/386
-	set mach="-DBSD -L/usr/X11/lib -I/usr/X11/include"
-	set opt="-O -DSPEED=100"
-	set arch=IBMPC
-	set compat="malloc.o erf.o strcmp.o"
-	breaksw
-case 6:			# Linux
-	set mach="-Dlinux -D_FILE_OFFSET_BITS=64 -L/usr/X11R6/lib -I/usr/include/X11 -DNOSTEREO"
-	set opt="-O2 -DSPEED=200"
-	set arch=IBMPC
-	set compat="bmalloc.o erf.o getpagesize.o"
-	set extras=CC=gcc
-	breaksw
-case 7:			# MacOS X
-	set mach="-DBSD -DNOSTEREO -Dfreebsd -I/usr/X11R6/include -L/usr/X11R6/lib"
-	set opt="-O2 -DSPEED=200"
-	set arch=PowerPC
-	set compat="bmalloc.o"
-	set extras="CC=cc CONFIGURE_ARCH=powerpc"
-	set special="ogl"
-	breaksw
-case 8:			# FreeBSD
-	set mach="-DBSD -DNOSTEREO -Dfreebsd -I/usr/X11R6/include -L/usr/X11R6/lib"
-	set opt="-O -DSPEED=200"
-	set compat="bmalloc.o erf.o"
-	set extras="CC=cc"
-	set arch=IBMPC
-	breaksw
-case 9:			# Cygwin
-	set mach="-Dfreebsd -L/usr/lib -L/usr/X11R6/lib -I/usr/include/X11 -I/usr/X11R6/include -DNOSTEREO"
-	set opt="-O2 -DSPEED=200"
-	set arch=IBMPC
-	set compat="bmalloc.o erf.o getpagesize.o"
-	set extras="CC=gcc"
-	set special="ogl"
-	set esuffix=".exe"
-	breaksw
-case 10:			# Other
-	set opt="-O"
-	set compat="bmalloc.o erf.o strcmp.o"
+		PATH="${idir}:$PATH"
+		mach="-w"
+		opt="-O2 -DSPEED=200"
+		special="ogl"
+		compat="bmalloc.o strcmp.o"
+		;;
+	esac
+	;;
+    4)			# AIX
+	opt="-O"
+	compat="bmalloc.o erf.o strcmp.o"
+	arch=PowerPC
+	;;
+    5)			# BSDI BSD/386
+	mach="-DBSD -L/usr/X11/lib -I/usr/X11/include"
+	opt="-O -DSPEED=100"
+	arch=IBMPC
+	compat="malloc.o erf.o strcmp.o"
+	;;
+    6)			# Linux
+	mach="-Dlinux -D_FILE_OFFSET_BITS=64 -L${X11BASE}/lib -I${X11BASE}/include -DNOSTEREO"
+	opt="-O2 -DSPEED=200"
+	arch=IBMPC
+	compat="bmalloc.o erf.o getpagesize.o"
+	extras=CC=gcc
+	;;
+    7)			# MacOS X
+	mach="-DBSD -DNOSTEREO -Dfreebsd -I${X11BASE}/include -L${X11BASE}/lib"
+	opt="-O2 -DSPEED=200"
+	arch=PowerPC
+	compat="bmalloc.o"
+	extras="CC=cc CONFIGURE_ARCH=powerpc"
+	special="ogl"
+	;;
+    8)			# FreeBSD
+	mach="-DBSD -DNOSTEREO -Dfreebsd -I${X11BASE}/include -L${X11BASE}/lib"
+	opt="-O -DSPEED=200"
+	compat="bmalloc.o erf.o"
+	arch=IBMPC
+	;;
+    9)			# NetBSD
+	mach="-DBSD -DNOSTEREO -Dnetbsd -I${X11BASE}/include -L${X11BASE}/lib"
+	opt="-O -DSPEED=200"
+	compat="bmalloc.o erf.o"
+	arch=IBMPC
+	;;
+    10)			# Cygwin
+	mach="-Dfreebsd -L/usr/lib -L${X11BASE} -I${X11BASE}/include -DNOSTEREO"
+	opt="-O2 -DSPEED=200"
+	arch=IBMPC
+	compat="bmalloc.o erf.o getpagesize.o"
+	extras="CC=gcc"
+	special="ogl"
+	esuffix=".exe"
+	;;
+    11)			# Other
+	opt="-O"
+	compat="bmalloc.o erf.o strcmp.o"
+	# XXX
 	echo -n "Are you using the GNU C compiler [n]? "
-	if ( "$<" =~ [yY]* ) then
-		set extras="CC=gcc"
-	endif
-	set arch=other
-	breaksw
-default:
-	echo "Illegal choice\!"
+	read FOO
+	case "$FOO" in
+	    y*|Y*) extras="CC=gcc";;
+	esac
+	arch=other
+	;;
+    12)			# DragonFly
+	mach="-DBSD -DNOSTEREO -Ddragonfly -I${X11BASE}/include -L${X11BASE}/lib"
+	opt="-O -DSPEED=200"
+	compat="bmalloc.o erf.o"
+	arch=IBMPC
+	;;
+    *)
+	echo "Illegal architecture choice\!"
 	echo "Installation aborted."
+	echo "(You must set PKGSRC_ARCH in the pkgsrc makefile.)"
 	exit 1
-	breaksw
-endsw
-source installib
+	;;
+esac
+. ./installib
 sed 's/[ 	]*$//' > $rmake << _EOF_
 #!/bin/sh
-exec make "SPECIAL=$special" \
+exec @MAKE@ "SPECIAL=$special" \
 	"OPT=$opt" \
 	"MACH=$mach" \
 	ARCH=$arch "COMPAT=$compat" \
@@ -222,71 +206,47 @@ exec make "SPECIAL=$special" \
 _EOF_
 chmod 755 $rmake
 chmod 644 src/*/Rmakefile src/rt/devtable.c
-gotrmake:
+
+# matches [ "$0" -nt "$rmake" ] above
+fi
+
 echo "Current rmake command is:"
 cat $rmake
-echo -n "Do you want to change it? "
-set ans="$<"
-if ( "$ans" =~ [yY]* ) then
-	cp $rmake /tmp/rmake$$
-	$EDITOR $rmake
-	if ( `cat $rmake /tmp/rmake$$ | grep OPT= | uniq | wc -l` == 2 ) set newrmake
-	rm -f /tmp/rmake$$
-endif
-if ( ! -d src/lib ) then
+if [ ! -d src/lib ]; then
 	mkdir src/lib
-endif
-if ( $?newrmake ) then
-	echo 'New rmake command -- running "makeall clean"...'
-	csh -f $0 clean
-endif
+fi
 cd src
 echo "Making programs..."
-set errs=0
-foreach i ( $srcdirs )
-	pushd $i
+errs=0
+for i in $srcdirs; do
+    (
+	cd $i
 	echo "In directory $i..."
-	$rmake -k $*
-	@ errs += $status
-	popd
-end
-if ( $errs ) then
-	echo "There were some errors."
-else
-	echo "Done."
-endif
+	$rmake $* || exit 1
+    ) || exit 1
+done
+echo "Done."
 cd ..
-if (! $inpath ) then
-	echo ""
-	echo "Add $idir to the beginning of your execution path:"
-	echo 'For C-shell users, put the following into ~/.cshrc'
-	echo "	set path=( $idir "'$path )'
-	echo 'For Bourne shell users, put the following into $HOME/profile'
-	echo "	PATH=$idir"':$PATH'
-	echo "	export PATH"
-endif
-if (! -d /usr/tmp) then
-	ln -s /tmp /usr/tmp
-	if ($status) then
-		echo ""
-		echo "IMPORTANT: Execute 'sudo ln -s /tmp /usr/tmp'"
-	endif
-endif
-else
+
+else # [ $1 = install ]
+
 cd src
-foreach i ( $srcdirs )
-	pushd $i
+for i in $srcdirs; do
+    (
+	cd $i
 	echo "In directory $i..."
-	make -f Rmakefile $*
-	popd
-end
+	make -f Rmakefile $* || exit 1
+    ) || exit 1
+done
 cd ..
-foreach i ( $* )
-	if ( "$i" == clean ) then
+for i in "$@"; do
+	if [ x"$i" = xclean ]; then
 		echo "Removing library archives..."
 		rm -f src/lib/*.[ao]
-	endif
-end
+	fi
+done
 echo "Done."
-endif
+
+fi # [ $1 = install ]
+
 exit 0
