Create more flexible set of command functions in "etc/functions.sh",
authorChris Hanson <org/chris-hanson/cph>
Fri, 15 Jun 2007 03:40:21 +0000 (03:40 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 15 Jun 2007 03:40:21 +0000 (03:40 +0000)
and change the shell files to use them.

12 files changed:
v7/src/etc/build-bands.sh
v7/src/etc/build-boot-compiler.sh
v7/src/etc/c-compile.sh
v7/src/etc/c-prepare.sh
v7/src/etc/compile-boot-compiler.sh
v7/src/etc/compile.sh
v7/src/etc/create-makefiles.sh
v7/src/etc/functions.sh
v7/src/etc/install-bin-symlinks.sh
v7/src/etc/make-liarc-dist.sh
v7/src/etc/make-liarc.sh
v7/src/etc/native-prepare.sh

index c9bcfbf449b28b885e28f423ae79a3bd1b80e796..a6d0aa840355bf0080e3f2d42bbf52dc876f9ff4 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: build-bands.sh,v 1.12 2007/06/06 19:42:39 cph Exp $
+# $Id: build-bands.sh,v 1.13 2007/06/15 03:40:10 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 
 set -e
 
-(
-echo "cd runtime"
-cd runtime
+. etc/functions.sh
 
-if [ -f make.o ]; then
-    FASL=http://www.gnu.org/software/mit-scheme/lib/runtime/make.so
-elif [ -f make.com ]; then
-    FASL=make.com
-else
-    echo "Can't find argument for --fasl."
-    exit 1
-fi
+FASL=`get_fasl_file`
 
-CMD="../microcode/scheme --library ../lib --fasl ${FASL}"
-echo "${CMD}"
-eval "${CMD}" <<EOF
-(disk-save "../lib/runtime.com")
-EOF
-)
-
-CMD="microcode/scheme --library lib --heap 3000"
-echo "${CMD}"
-eval "${CMD}" <<EOF
+run_cmd_in_dir runtime ../microcode/scheme --library ../lib --heap 6000 \
+    --fasl "${FASL}" <<EOF
 (begin
-  (load-option (quote COMPILER))
-  (load-option (quote EDWIN))
-  (disk-save "lib/all.com"))
+  (disk-save "../lib/runtime.com")
+  (load-option (quote compiler))
+  (load-option (quote edwin))
+  (disk-save "../lib/all.com"))
 EOF
index 5a26043249b86e9d50cf39be9770e66c2ec33e4b..cb761ea8936a5283d3e9752c7a69212c376ed2b6 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: build-boot-compiler.sh,v 1.2 2007/06/08 06:03:44 cph Exp $
+# $Id: build-boot-compiler.sh,v 1.3 2007/06/15 03:40:11 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 
 set -e
 
-cd runtime
+. etc/functions.sh
 
-if [ -f make.o ]; then
-    FASL=http://www.gnu.org/software/mit-scheme/lib/runtime/make.so
-elif [ -f make.com ]; then
-    FASL=make.com
-else
-    echo "Can't find argument for --fasl."
-    exit 1
-fi
+FASL=`get_fasl_file`
 
-CMD="../microcode/scheme --library ../lib --fasl ${FASL} --heap 6000"
-echo "${CMD}"
-eval "${CMD}" <<EOF
+run_cmd_in_dir runtime ../microcode/scheme --library ../lib \
+    --fasl "${FASL}" --heap 6000 <<EOF
 (begin
   (load-option (quote compiler))
   (load-option (quote cref))
index c45c828b8b46abfaccd5d8cb5781566cbdea23be..7a7359397aa2ccc2a1479624eb14dab8e3a25a56 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: c-compile.sh,v 1.7 2007/05/14 16:50:43 cph Exp $
+# $Id: c-compile.sh,v 1.8 2007/06/15 03:40:12 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
@@ -25,9 +25,9 @@
 
 set -e
 
-SCHEME_COMPILER="${@}"" --heap 6000 --stack 200"
-echo "${SCHEME_COMPILER}"
-eval "${SCHEME_COMPILER}" <<EOF
+. etc/functions.sh
+
+run_cmd "${@}" --heap 6000 --stack 200 <<EOF
 (begin
   (load "etc/compile.scm")
   (c-compile))
index 83e891fa7aaafa6261a2036f0a906422c9086569..4cf782993cb0392d5a2b288477580c740877dcd3 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: c-prepare.sh,v 1.9 2007/06/09 02:38:00 cph Exp $
+# $Id: c-prepare.sh,v 1.10 2007/06/15 03:40:15 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 
 set -e
 
+. etc/functions.sh
+
 if [ ${#} -eq 1 ]; then
     EXE=${1}
 else
     echo "usage: ${0} <executable>"
     exit 1
 fi
-CMD="${EXE} --heap 6000 --stack 200"
 
-echo "${CMD}"
-${CMD} <<EOF
+run_cmd "${EXE}" --heap 6000 --stack 200 <<EOF
 (begin
   (load "etc/compile.scm")
   (c-prepare))
index f4bf762b798b4354f3124e5b31a2f67a05ce4756..edd3e56687b7bd1d875a5a15a08447d34318f279 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: compile-boot-compiler.sh,v 1.1 2007/06/06 19:42:39 cph Exp $
+# $Id: compile-boot-compiler.sh,v 1.2 2007/06/15 03:40:13 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 
 set -e
 
+. etc/functions.sh
+
 if [ ${#} -eq 1 ]; then
     EXE=${1}
 else
     echo "usage: ${0} <executable>"
     exit 1
 fi
-CMD="${EXE} --heap 6000"
 
-echo "${CMD}"
-${CMD} <<EOF
+run_cmd "${EXE}" --heap 6000 <<EOF
 (begin
   (load "etc/compile.scm")
   (compile-bootstrap-1))
 EOF
 
-echo "${CMD} --compiler"
-${CMD} --compiler <<EOF
+run_cmd "${EXE}" --heap 6000 --compiler <<EOF
 (begin
   (load "etc/compile.scm")
   (compile-bootstrap-2))
index 4a65ef882659b892df3691480bdc930afb62412b..b1cafb606bf45acff21711292b4921f9c1f13fdf 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: compile.sh,v 1.12 2007/05/06 14:17:10 cph Exp $
+# $Id: compile.sh,v 1.13 2007/06/15 03:40:14 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 
 set -e
 
+. etc/functions.sh
+
 if [ ${#} -eq 0 ]; then
-    SCHEME_COMPILER="mit-scheme --compiler"
-else
-    SCHEME_COMPILER=${1}
-    shift
-    while [ ${#} -gt 0 ]; do
-       SCHEME_COMPILER="${SCHEME_COMPILER} ${1}"
-       shift
-    done
+    set mit-scheme --compiler
 fi
 
-SCHEME_COMPILER="${SCHEME_COMPILER} --heap 6000 --stack 200"
-
-echo "${SCHEME_COMPILER}"
-exec ${SCHEME_COMPILER} <<EOF
+run_cmd "${@}" --heap 6000 --stack 200 <<EOF
 (begin
   (load "etc/compile.scm")
   (compile-everything))
index cf260ee15316e5b4d2c8eb0d995f79e754f966d0..fee8d7602de33a919c6de99475a15619abb87fd2 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# $Id: create-makefiles.sh,v 1.1 2007/06/06 19:42:39 cph Exp $
+# $Id: create-makefiles.sh,v 1.2 2007/06/15 03:40:16 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
@@ -25,6 +25,8 @@
 
 set -e
 
+. etc/functions.sh
+
 if [ ${#} -eq 1 ]; then
     NATIVE_CODE=${1}
 else
@@ -34,21 +36,14 @@ fi
 
 MDIR=`compiler/choose-machine.sh "${NATIVE_CODE}"`
 
-CMD="rm -f compiler/machine"
-echo "${CMD}"; eval "${CMD}"
-
-CMD="ln -s machines/${MDIR} compiler/machine"
-echo "${CMD}"; eval "${CMD}"
-
-CMD="rm -f compiler/compiler.pkg"
-echo "${CMD}"; eval "${CMD}"
-
-CMD="ln -s machine/compiler.pkg compiler/."
-echo "${CMD}"; eval "${CMD}"
+run_cmd rm -f compiler/machine
+run_cmd ln -s machines/"${MDIR}" compiler/machine
+run_cmd rm -f compiler/compiler.pkg
+run_cmd ln -s machine/compiler.pkg compiler/.
 
 BUNDLES="6001 compiler cref edwin imail sf sos ssp star-parser xdoc xml"
 
-mit-scheme --heap 4000 <<EOF
+run_cmd mit-scheme --heap 4000 <<EOF
 (begin
   (load "etc/utilities")
   (generate-c-bundles (quote (${BUNDLES})) "${MDIR}"))
index a65378eedee5efad2bc4b6a0a0aa6a77de28493c..cded81790a9fe4801dcfae59c82da995f2bcc19c 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: functions.sh,v 1.8 2007/05/14 16:50:46 cph Exp $
+# $Id: functions.sh,v 1.9 2007/06/15 03:40:17 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 
 # Functions for shell scripts.
 
-run_setup_cmd ()
+run_cmd ()
 {
-    echo "${1}"
-    eval "${1}"
+    echo "run_cmd:" "${@}"
+    "${@}"
+}
+
+run_configure ()
+{
+    run_cmd ./configure "${@}"
+}
+
+run_make ()
+{
+    run_cmd make "${@}"
+}
+
+run_cmd_in_dir ()
+(
+    cd "${1}"
+    shift
+    run_cmd "${@}"
+)
+
+get_fasl_file ()
+{
+    if [ -f runtime/make.o ]; then
+       echo "http://www.gnu.org/software/mit-scheme/lib/runtime/make.so"
+       return 0
+    elif [ -f runtime/make.com ]; then
+       echo "make.com"
+       return 0
+    else
+       echo "Can't find argument for --fasl." >&2
+       return 1
+    fi
 }
 
 maybe_mkdir ()
 {
     if [ ! -e "${1}" ]; then
-       run_setup_cmd "mkdir ${1}"
+       run_cmd mkdir "${1}"
     fi
 }
 
 maybe_link ()
 {
     if [ ! -e "${1}" ] && [ ! -L "${1}" ]; then
-       run_setup_cmd "ln -s ${2} ${1}"
+       run_cmd ln -s "${2}" "${1}"
     fi
 }
 
 maybe_unlink ()
 {
     if maybe_unlink_p "${1}" "${2}"; then
-       run_setup_cmd "rm ${1}"
+       run_cmd rm "${1}"
     fi
 }
 
@@ -63,21 +94,21 @@ maybe_unlink_p ()
 
 maybe_rm ()
 {
-    FNS=
+    FILES=
     DIRS=
     for FN in "${@}"; do
        if [ ! -L "${FN}" ]; then
            if [ -f "${FN}" ]; then
-               FNS="${FNS} ${FN}"
+               FILES="${FILES} ${FN}"
            elif [ -d "${FN}" ]; then
                DIRS="${DIRS} ${FN}"
            fi
        fi
     done
-    if [ "${FNS}" ]; then
-       run_setup_cmd "rm -f ${FNS}"
+    if [ "${FILES}" ]; then
+       run_cmd rm -f ${FILES}
     fi
     if [ "${DIRS}" ]; then
-       run_setup_cmd "rm -rf ${DIRS}"
+       run_cmd rm -rf ${DIRS}
     fi
 }
index 437f45e3003771b60c97d9693545ff2658207416..9c44632d5a06ec14914aba140559e4effd63092f 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: install-bin-symlinks.sh,v 1.1 2007/05/02 13:51:50 cph Exp $
+# $Id: install-bin-symlinks.sh,v 1.2 2007/06/15 03:40:18 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
@@ -27,6 +27,8 @@
 
 set -e
 
+. `dirname "${0}"`/functions.sh
+
 if [ ${#} -eq 2 ]; then
     DIR=${1}
     EXE=${2}
@@ -36,15 +38,10 @@ else
 fi
 
 if [ "${EXE}" != mit-scheme ] && [ ! -e "${DIR}/mit-scheme" ]; then
-    echo "rm -f ${DIR}/mit-scheme"
-    rm -f "${DIR}/mit-scheme"
-    echo "ln -s ${EXE} ${DIR}/mit-scheme"
-    ln -s "${EXE}" "${DIR}/mit-scheme"
+    run_cmd rm -f "${DIR}"/mit-scheme
+    run_cmd ln -s "${EXE}" "${DIR}"/mit-scheme
 fi
 
-echo "rm -f ${DIR}/scheme ${DIR}/bchscheme"
-rm -f "${DIR}/scheme" "${DIR}/bchscheme"
-echo "ln -s mit-scheme ${DIR}/scheme"
-ln -s mit-scheme "${DIR}/scheme"
-echo "ln -s mit-scheme ${DIR}/bchscheme"
-ln -s mit-scheme "${DIR}/bchscheme"
+run_cmd rm -f "${DIR}"/scheme "${DIR}"/bchscheme
+run_cmd ln -s mit-scheme "${DIR}"/scheme
+run_cmd ln -s mit-scheme "${DIR}"/bchscheme
index ff959b4c04cc624464ccb4ac1ba4c98e9990c6cb..14073350535e41c622e9b1735753d85ca4955a6a 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: make-liarc-dist.sh,v 1.1 2007/06/10 18:29:55 cph Exp $
+# $Id: make-liarc-dist.sh,v 1.2 2007/06/15 03:40:19 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
@@ -25,6 +25,8 @@
 
 set -e
 
-./Setup.sh
-./configure --enable-native-code=c "${@}"
-make liarc-dist
+. etc/functions.sh
+
+run_cmd ./Setup.sh
+run_configure --enable-native-code=c "${@}"
+run_make liarc-dist
index 3b80188806754a83fb69e340e45a2efbd2047e8c..0d38979b6625efb9ef609c46d94e8e969bbb67e7 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: make-liarc.sh,v 1.1 2007/06/08 06:03:57 cph Exp $
+# $Id: make-liarc.sh,v 1.2 2007/06/15 03:40:20 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
@@ -25,6 +25,8 @@
 
 set -e
 
+. etc/functions.sh
+
 FASTP=no
 for ARG in "${@}"; do
     case ${ARG} in
@@ -38,10 +40,10 @@ if [ ${FASTP} = yes ]; then
     exec ./configure "${@}"
 fi
 
-./configure --prefix=`pwd`/boot-root --enable-native-code=c
-make stamp_install-liarc-boot-compiler
-make c-clean distclean
+run_configure --prefix=`pwd`/boot-root --enable-native-code=c
+run_make stamp_install-liarc-boot-compiler
+run_make c-clean distclean
 
-./configure --enable-native-code=c "${@}"
-make stamp_compile-liarc-bundles
-make build-bands
+run_configure --enable-native-code=c "${@}"
+run_make stamp_compile-liarc-bundles
+run_make build-bands
index 1d5bb61f14b243583e2c7c7095ce683b3e2d40af..bde3ebbd2a191d9273fefa4a99f79bf8f6348707 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: native-prepare.sh,v 1.2 2007/06/09 02:38:06 cph Exp $
+# $Id: native-prepare.sh,v 1.3 2007/06/15 03:40:21 cph Exp $
 #
 # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
 #     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 
 set -e
 
+. etc/functions.sh
+
 if [ ${#} -eq 1 ]; then
     EXE=${1}
 else
     echo "usage: ${0} <executable>"
     exit 1
 fi
-CMD="${EXE} --heap 6000 --stack 200"
 
-echo "${CMD}"
-${CMD} <<EOF
+run_cmd "${EXE}" --heap 6000 --stack 200 <<EOF
 (begin
   (load "etc/compile.scm")
   (native-prepare))