2013-09-26 17:14:40 +02:00

482 lines
10 KiB
Plaintext

$NetBSD: patch-aa,v 1.6 2011/10/03 02:53:39 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 12:24:09.000000000 -0500
+++ makeall 2009-04-29 00:37:35.000000000 -0400
@@ -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,166 @@ 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:
+ 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 choice\!"
echo "Installation aborted."
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 +205,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