summaryrefslogtreecommitdiffstats
path: root/bin/install-scons.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bin/install-scons.sh')
-rw-r--r--bin/install-scons.sh183
1 files changed, 0 insertions, 183 deletions
diff --git a/bin/install-scons.sh b/bin/install-scons.sh
deleted file mode 100644
index 1ffd3c2..0000000
--- a/bin/install-scons.sh
+++ /dev/null
@@ -1,183 +0,0 @@
-#!/bin/sh
-#
-# A script for unpacking and installing different historic versions of
-# SCons in a consistent manner for side-by-side development testing.
-#
-# This abstracts the changes we've made to the SCons setup.py scripts in
-# different versions so that, no matter what version is specified, it ends
-# up install the necessary script(s) and library into version-specific
-# names that won't interfere with other things.
-#
-# We expect to extract the .tar.gz files from a Downloads subdirectory
-# in the current directory.
-#
-# Note that this script cleans up after itself, removing the extracted
-# directory in which we do the build.
-#
-# This was written for a Linux system (specifically Ubuntu) but should
-# be reasonably generic to any POSIX-style system with a /usr/local
-# hierarchy.
-
-USAGE="\
-Usage: $0 [-ahnq] [-d DIR] [-p PREFIX] [VERSION ...]
-"
-
-PRINT="echo"
-EXECUTE="eval"
-
-DOWNLOADS=Downloads
-DOWNLOADS_URL=http://downloads.sourceforge.net/scons
-SUDO=sudo
-PREFIX=/usr/local
-
-while getopts "ad:hnq" FLAG; do
- case ${FLAG} in
- a )
- ALL="1"
- ;;
- d )
- DOWNLOADS="${OPTARG}"
- ;;
- h )
- echo "${USAGE}"
- exit 0
- ;;
- n )
- EXECUTE=":"
- ;;
- p )
- PREFIX="${OPTARG}"
- ;;
- q )
- PRINT=":"
- ;;
- * )
- echo "$0: unknown option ${FLAG}; use -h for help." >&2
- exit 1
- ;;
- esac
-done
-
-shift `expr ${OPTIND} - 1`
-
-VERSIONS="$*"
-
-if test "X${ALL}" != "X"; then
- if test "${VERSIONS}"; then
- msg="$0: -a and version arguments both specified on the command line"
- echo "${msg}" >&2
- exit 1
- fi
- VERSIONS="
- 0.01
- 0.02
- 0.03
- 0.04
- 0.05
- 0.06
- 0.07
- 0.08
- 0.09
- 0.10
- 0.11
- 0.12
- 0.13
- 0.14
- 0.90
- 0.91
- 0.92
- 0.93
- 0.94
- 0.94.1
- 0.95
- 0.95.1
- 0.96
- 0.96.1
- 0.96.90
- 0.96.91
- 0.96.92
- 0.96.93
- 0.96.94
- 0.96.95
- 0.96.96
- 0.97
- 0.97.0d20070809
- 0.97.0d20070918
- 0.97.0d20071212
- 0.98.0
- 0.98.1
- 0.98.2
- 0.98.3
- 0.98.4
- 0.98.5
- 1.0.0
- "
-fi
-
-Command()
-{
- ${PRINT} "$*"
- ARGS=`echo "$*" | sed 's/\\$/\\\\$/'`
- ${EXECUTE} "$*"
-}
-
-for VERSION in $VERSIONS; do
- SCONS=scons-${VERSION}
-
- TAR_GZ=${SCONS}.tar.gz
- if test ! -f ${DOWNLOADS}/${TAR_GZ}; then
- if test ! -d ${DOWNLOADS}; then
- Command mkdir ${DOWNLOADS}
- fi
- Command "( cd ${DOWNLOADS} && wget ${DOWNLOADS_URL}/${TAR_GZ} )"
- fi
-
- Command tar zxf ${DOWNLOADS}/${TAR_GZ}
-
- (
- Command cd ${SCONS}
-
- case ${VERSION} in
- 0.0[123456789] | 0.10 )
- # 0.01 through 0.10 install /usr/local/bin/scons and
- # /usr/local/lib/scons. The "scons" script knows how to
- # look up the library in a version-specific directory, but
- # we have to move both it and the library directory into
- # the right version-specific name by hand.
- Command python setup.py build
- Command ${SUDO} python setup.py install --prefix=${PREFIX}
- Command ${SUDO} mv ${PREFIX}/bin/scons ${PREFIX}/bin/scons-${VERSION}
- Command ${SUDO} mv ${PREFIX}/lib/scons ${PREFIX}/lib/scons-${VERSION}
- ;;
- 0.1[1234] | 0.90 )
- # 0.11 through 0.90 install /usr/local/bin/scons and
- # /usr/local/lib/scons-${VERSION}. We just need to move
- # the script to a version-specific name.
- Command python setup.py build
- Command ${SUDO} python setup.py install --prefix=${PREFIX}
- Command ${SUDO} mv ${PREFIX}/bin/scons ${PREFIX}/bin/scons-${VERSION}
- ;;
- 0.9[123456] | 0.9[456].1 | 0.96.90 )
- # 0.91 through 0.96.90 install /usr/local/bin/scons,
- # /usr/local/bin/sconsign and /usr/local/lib/scons-${VERSION}.
- # We need to move both scripts to version-specific names.
- Command python setup.py build
- Command ${SUDO} python setup.py install --prefix=${PREFIX}
- Command ${SUDO} mv ${PREFIX}/bin/scons ${PREFIX}/bin/scons-${VERSION}
- Command ${SUDO} mv ${PREFIX}/bin/sconsign ${PREFIX}/bin/sconsign-${VERSION}
- if test -d ${PREFIX}/lib/scons; then
- Command ${SUDO} mv ${PREFIX}/lib/scons ${PREFIX}/lib/scons-${VERSION}
- fi
- ;;
- * )
- # Versions from 0.96.91 and later (through at least 0.97)
- # support what we want with a --no-scons-script option.
- Command python setup.py build
- Command ${SUDO} python setup.py install --prefix=${PREFIX} --no-scons-script
- ;;
- esac
-
- ${PRINT} cd ..
- )
- Command rm -rf ${SCONS}
-done