Update for new release.
authorChris Hanson <org/chris-hanson/cph>
Sat, 23 Dec 2000 05:52:22 +0000 (05:52 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sat, 23 Dec 2000 05:52:22 +0000 (05:52 +0000)
v7/dist/make-dist-files

index 4b658732a2e2b3cbed1d2a7857d5f1f0ce692709..b983706b2ff2ca7d61b70e6595da006b959ea88a 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# $Id: make-dist-files,v 1.7 2000/11/28 17:32:16 cph Exp $
+# $Id: make-dist-files,v 1.8 2000/12/23 05:52:22 cph Exp $
 #
 # Copyright (c) 2000 Massachusetts Institute of Technology
 #
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-type=$1
-destination=$2
+TYPE=$1
+DESTINATION=$2
 
-if [ "${type}" = "" ]; then
-  type="std"
+if [ "${TYPE}" = "" ]; then
+  TYPE="std"
 fi
 
-case "${type}" in
+case "${TYPE}" in
 6001|all|std|scmutils)
   ;;
 *)
-  echo "Unknown distribution type: ${type}"
+  echo "Unknown distribution type: ${TYPE}"
   exit 1
   ;;
 esac
 
-bands="runtime.com compiler.com edwin.com all.com"
-case ${type} in
+BUILD_DIR="`pwd`/build-$$"
+BINDIR=${BUILD_DIR}/usr/local/bin
+AUXDIR=${BUILD_DIR}/usr/local/lib/mit-scheme
+
+MKINSTALLDIRS="/scheme/v7/src/mkinstalldirs"
+INSTALL="install"
+INSTALL_DATA="${INSTALL} -m 644"
+
+rm -rf ${BUILD_DIR}
+(
+    cd /scheme/v7/linux
+    make install DESTDIR=${BUILD_DIR}
+)
+(
+    cd /scheme/v7/doc
+    make install-info-gz DESTDIR=${BUILD_DIR} \
+       infodir=/usr/local/lib/mit-scheme/edwin/info
+    make install-html DESTDIR=${BUILD_DIR}
+)
+
+${MKINSTALLDIRS} ${AUXDIR}/doc
+${INSTALL_DATA} /scheme/v7/src/COPYING ${AUXDIR}/doc/.
+
+${MKINSTALLDIRS} ${AUXDIR}/edwin/info
+${INSTALL_DATA} /usr/local/info/dir ${AUXDIR}/edwin/info/.
+${INSTALL_DATA} /usr/local/info/r4rs.* ${AUXDIR}/edwin/info/.
+${INSTALL_DATA} /usr/local/info/r5rs.* ${AUXDIR}/edwin/info/.
+
+BANDS="runtime.com compiler.com edwin.com all.com 6001.com"
+case ${TYPE} in
+std)
+    rm -f ${AUXDIR}/6001.com
+    ;;
 6001)
-  bands="6001.com"
-  ;;
+    for BAND in ${BANDS}; do
+       [ "${BAND}" = "6001.com" ] || rm -f ${AUXDIR}/${BAND}
+    done
+    ;;
 all)
-  bands="all.com"
-  ;;
+    for BAND in ${BANDS}; do
+       [ "${BAND}" = "all.com" ] || rm -f ${AUXDIR}/${BAND}
+    done
+    ;;
 scmutils)
-  bands=
-  ;;
+    for BAND in ${BANDS}; do
+       rm -f ${AUXDIR}/${BAND}
+    done
+    ;;
 esac
 
-run_opts="optiondb numint cpress format gdbm hashtb mime-codec ordvec rbtree ystep process syncproc wttree rgxcmp chrsyn regexp krypt"
-ed_opts="techinfo telnet midas pasmod tximod manual print sort eystep nntp snr verilog vhdl webster pwedit pwparse"
-
-build_dir="build-$$"
-rm -rf ${build_dir}
-mkdir ${build_dir}
-mkdir ${build_dir}/bin
-mkdir ${build_dir}/lib
-mkdir ${build_dir}/lib/mit-scheme
-mkdir ${build_dir}/lib/mit-scheme/SRC
-
-for file in scheme bchscheme; do
-  cpx /scheme/v7/linux/microcode/${file} ${build_dir}/bin/.
-done
-
-for file in utabmd.bin ${bands}; do
-  cpx /scheme/v7/linux/lib/${file} ${build_dir}/lib/mit-scheme/.
-done
-cpx /scheme/v7/dist/optiondb.scm ${build_dir}/lib/mit-scheme/.
-
-#
-# Edwin
-#
-mkdir ${build_dir}/lib/mit-scheme/edwin
-for file in info etc; do
-  cpx -r /scheme/v7/linux/lib/edwin/${file} ${build_dir}/lib/mit-scheme/edwin/.
-done
-
-#
-# Runtime debugging info and autoloads.
-#
-if [ ${type} = 6001 ]; then
-  rundbg=/scheme/v7/linux/runtime-check
-else
-  rundbg=/scheme/v7/linux/runtime
-fi
-mkdir ${build_dir}/lib/mit-scheme/SRC/runtime
-ln -s SRC/runtime ${build_dir}/lib/mit-scheme/options
-for file in ${run_opts}; do
-  cpx ${rundbg}/${file}.com ${build_dir}/lib/mit-scheme/SRC/runtime/.
-done
-cpx ${rundbg}/*.bci ${build_dir}/lib/mit-scheme/SRC/runtime/.
-
-#
-# Edwin debugging info and autoloads.
-#
-mkdir ${build_dir}/lib/mit-scheme/SRC/edwin
-ln -s ../SRC/edwin ${build_dir}/lib/mit-scheme/edwin/autoload
-for file in ${ed_opts}; do
-  cpx /scheme/v7/linux/edwin/${file}.com ${build_dir}/lib/mit-scheme/SRC/edwin/.
-done
-cpx /scheme/v7/linux/edwin/*.bci ${build_dir}/lib/mit-scheme/SRC/edwin/.
-
-#
-# SOS
-#
-mkdir ${build_dir}/lib/mit-scheme/sos
-cpx /scheme/v7/linux/sos/*.com ${build_dir}/lib/mit-scheme/sos/.
-cpx /scheme/v7/linux/sos/*.bci ${build_dir}/lib/mit-scheme/sos/.
-cpx /scheme/v7/linux/sos/sos.bco ${build_dir}/lib/mit-scheme/sos/.
-cpx /scheme/v7/linux/sos/sos.bld ${build_dir}/lib/mit-scheme/sos/.
-cpx -h /scheme/v7/linux/sos/load.scm ${build_dir}/lib/mit-scheme/sos/.
-
-#
-# IMAIL
-#
-mkdir ${build_dir}/lib/mit-scheme/imail
-cpx /scheme/v7/linux/imail/*.com ${build_dir}/lib/mit-scheme/imail/.
-cpx /scheme/v7/linux/imail/*.bci ${build_dir}/lib/mit-scheme/imail/.
-cpx /scheme/v7/linux/imail/imail.bco ${build_dir}/lib/mit-scheme/imail/.
-cpx /scheme/v7/linux/imail/imail.bld ${build_dir}/lib/mit-scheme/imail/.
-cpx -h /scheme/v7/linux/imail/load.scm ${build_dir}/lib/mit-scheme/imail/.
-
-#
-# Documentation
-#
-doc_dir=${build_dir}/lib/mit-scheme/doc
-mkdir ${doc_dir}
-cpx /scheme/v7/src/COPYING ${doc_dir}
-cpx /scheme/v7/dist/index.html ${doc_dir}
-cpx /scheme/v7/doc/ref-manual/html/*.html ${doc_dir}
-cpx /scheme/v7/doc/user-manual/html/*.html ${doc_dir}
-cpx /scheme/v7/doc/sos/html/*.html ${doc_dir}
-cpx /scheme/v7/doc/imail/html/*.html ${doc_dir}
-
 #
 # Scmutils
 #
-if [ ${type} = scmutils ]; then
-  mech_source=/sw/scmutils
-  mech_dest=${build_dir}/scmutils
-  mkdir ${mech_dest}
-
-  for dir in `cd ${mech_source};find src -type d -print`; do
-    mkdir ${mech_dest}/${dir}
-    for file in ${mech_source}/${dir}/*.scm ${mech_source}/${dir}/*.doc ${mech_source}/${dir}/*.c; do
-      if [ -f ${file} ]; then
-        cpx ${file} ${mech_dest}/${dir}/.
-      fi
+if [ ${TYPE} = scmutils ]; then
+    MECH_SOURCE=/sw/scmutils
+    MECH_DEST=${BUILD_DIR}/usr/local/scmutils
+    ${MKINSTALLDIRS} ${MECH_DEST}
+
+    for DIR in `cd ${MECH_SOURCE};find src -type d -print`; do
+       ${MKINSTALLDIRS} ${MECH_DEST}/${DIR}
+       for FILE in ${MECH_SOURCE}/${DIR}/*.scm \
+                   ${MECH_SOURCE}/${DIR}/*.doc \
+                   ${MECH_SOURCE}/${DIR}/*.c
+       do
+           [ -f ${FILE} ] && ${INSTALL_DATA} ${FILE} ${MECH_DEST}/${DIR}/.
+       done
     done
-  done
-  cpx ${mech_source}/src/copyrigh ${mech_dest}/src/.
-  cpx ${mech_source}/src/general/binio/transcript ${mech_dest}/src/general/binio/.
-  rm -rf ${mech_dest}/src/commentary
-  rm -rf ${mech_dest}/src/poly/zuras
-
-  for dir in `cd ${mech_source};find linux -type d -print`; do
-    mkdir ${mech_dest}/${dir}
-    for file in ${mech_source}/${dir}/*.bci; do
-      if [ -f ${file} ]; then
-        cpx ${file} ${mech_dest}/${dir}/.
-      fi
+    ${INSTALL_DATA} ${MECH_SOURCE}/src/copyrigh ${MECH_DEST}/src/copyright
+    ${INSTALL_DATA} ${MECH_SOURCE}/src/general/binio/transcript ${MECH_DEST}/src/general/binio/.
+    rm -rf ${MECH_DEST}/src/commentary
+    rm -rf ${MECH_DEST}/src/poly/zuras
+
+    for DIR in `cd ${MECH_SOURCE};find linux -type d -print`; do
+       ${MKINSTALLDIRS} ${MECH_DEST}/${DIR}
+       for FILE in ${MECH_SOURCE}/${DIR}/*.bci; do
+           [ -f ${FILE} ] && ${INSTALL_DATA} ${FILE} ${MECH_DEST}/${DIR}/.
+       done
     done
-  done
-  rm -rf ${mech_dest}/linux/commentary
-  cpx ${mech_source}/dist/edwin-mechanics.com ${mech_dest}/linux/.
-  ln -s ../../scmutils/linux/edwin-mechanics.com ${build_dir}/lib/mit-scheme/.
-  cpx ${mech_source}/linux/c-utils/* ${mech_dest}/linux/c-utils/.
+    rm -rf ${MECH_DEST}/linux/commentary
+
+    ${INSTALL_DATA} ${MECH_SOURCE}/dist/edwin-mechanics.com ${MECH_DEST}/linux/.
+    ln -s ../../scmutils/linux/edwin-mechanics.com ${AUXDIR}/.
+    ${INSTALL_DATA} ${MECH_SOURCE}/linux/c-utils/* ${MECH_DEST}/linux/c-utils/.
 
-  mkdir ${mech_dest}/manual
-  cpx ${mech_source}/manual/refman.txt ${mech_dest}/manual/.
+    ${MKINSTALLDIRS} ${MECH_DEST}/manual
+    ${INSTALL_DATA} ${MECH_SOURCE}/manual/refman.txt ${MECH_DEST}/manual/.
 
-  cpx ${mech_source}/dist/mechanics ${build_dir}/bin/.
-  cpx ${mech_source}/dist/edwin ${build_dir}/bin/.
+    ${INSTALL} ${MECH_SOURCE}/dist/mechanics ${BINDIR}/.
+    ${INSTALL} ${MECH_SOURCE}/dist/edwin ${BINDIR}/.
 fi
 
 #
 # Adjust permissions
 #
-find ${build_dir} -type f -print | xargs chmod a-w
-find ${build_dir} -type d -print | xargs chmod og-w
+find ${BUILD_DIR} -type f -print | xargs chmod og-w
+find ${BUILD_DIR} -type d -print | xargs chmod og-w
 
 make_tarfile ()
 {
     tarfile=${1}.tar.gz
     rm -f ${tarfile}
-    (cd ${build_dir}; tar cvzf ../${tarfile} *)
+    (cd ${BUILD_DIR}/usr/local; tar cvzf ../../../${tarfile} *)
     chmod 444 ${tarfile}
 }
 
-if [ "${destination}" = "" ]; then
-  pre="`/scheme/v7/dist/release-prefix`-ix86"
-  make_tarfile "${pre}-gnu-linux"
-  rm -f ${build_dir}/bin/*
-  cpx /scheme/v7/dist/freebsd-bin/* ${build_dir}/bin/.
-  make_tarfile "${pre}-freebsd"
+if [ "${DESTINATION}" = "" ]; then
+  PRE="`/scheme/v7/dist/release-prefix`-ix86"
+  make_tarfile "${PRE}-gnu-linux"
+  rm -f ${BUILD_DIR}/bin/*
+  ${INSTALL} /scheme/v7/dist/freebsd-bin/* ${BINDIR}/.
+  make_tarfile "${PRE}-freebsd"
 else
-  make_tarfile ${destination}
+  make_tarfile ${DESTINATION}
 fi
 
-rm -rf ${build_dir}
+rm -rf ${BUILD_DIR}