CMUCL commit: src/tools (build-all.sh)
Raymond Toy
rtoy at common-lisp.net
Thu Oct 14 19:48:26 CEST 2010
Date: Thursday, October 14, 2010 @ 13:48:26
Author: rtoy
Path: /project/cmucl/cvsroot/src/tools
Added: build-all.sh
Initial revision.
--------------+
build-all.sh | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 102 insertions(+)
Index: src/tools/build-all.sh
diff -u /dev/null src/tools/build-all.sh:1.1
--- /dev/null Thu Oct 14 13:48:26 2010
+++ src/tools/build-all.sh Thu Oct 14 13:48:26 2010
@@ -0,0 +1,102 @@
+#! /bin/sh
+
+# Build all variants of cmucl. This means build x87 and sse2 versions
+# for both unicode and non-unicode variants.
+# Basically call build.sh to do the builds.
+
+usage ()
+{
+ echo "build-all.sh [bBCvU] [-o old] [-8 old8bit]"
+ echo ""
+ echo "Build all variants of cmucl for a specific architecture."
+ echo "This means build the unicode and non-unicode variants."
+ echo "For x86 architectures, the x87 and sse2 cores are also built."
+ echo "This script basically automates calling build.sh for all the"
+ echo "variants, using the most common options. If there are special"
+ echo "requirements, then you must use build.sh itself instead of this"
+ echo "script."
+ echo ""
+ echo " -b d Basename of the different build directories."
+ echo " ${d}-2, ${d}-3, ${d}-4 for unicode"
+ echo " ${d}-8bit-2, ${d}-8bit-3, ${d}-8bit-4 for non-unicode"
+ echo " -B file Use file as a boot file. Maybe be specified more than once"
+ echo " The file is relative to the bootfiles/<version> directory"
+ echo ' -C [l m] Create the build directories. The args are what'
+ echo ' you would give to create-target.sh for the lisp'
+ echo ' and motif variant.'
+ echo ' -v v Use the given string as the version. Default is'
+ echo " today's date"
+ echo " -o x Use specified Lisp to build unicode version."
+ echo " (only applicable for build 1)"
+ echo " -8 x Use specified Lisp to build 8-bit version."
+ echo " (only applicable for build 1)"
+ echo " -U Update and overwite the CVS translations files."
+}
+
+VERSION="CVS Head `date '+%Y-%m-%d %H:%M:%S'`"
+BASE=build
+
+while getopts "Ub:v:C:o:8:?" arg
+do
+ case $arg in
+ b) BASE="$OPTARG" ;;
+ B) bootfiles="$bootfiles -B $OPTARG" ;;
+ C) CREATE_OPT="-C $OPTARG"
+ CREATE_DIRS=yes ;;
+ o) OLDLISP="$OPTARG" ;;
+ 8) OLD8="$OPTARG" ;;
+ v) VERSION="$OPTARG" ;;
+ U) UPDATE_TRANS="-U" ;;
+ \?) usage ;;
+ esac
+done
+
+if [ "$BASE" = "" ]; then
+ echo "-b option required"
+ exit 1
+fi
+
+if [ "$OLDLISP" = "" -a "$OLD8" = "" ]; then
+ echo "-o or -8 option required"
+ exit 1
+fi
+
+buildx86 ()
+{
+ if [ -n "$OLD8" ]; then
+ # Build non-unicode versions
+ set -x
+ src/tools/build.sh -f x87 -b ${BASE}-8bit $bootfiles -v "$VERSION" ${CREATE_OPT} ${UPDATE_TRANS} -o "$OLD8"
+ src/tools/build.sh -f sse2 -b ${BASE}-8bit $bootfiles -v "$VERSION" ${CREATE_OPT} ${UPDATE_TRANS} -o "$OLD8"
+ set +x
+ fi
+ # Build the unicode versions
+ if [ -n "$OLDLISP" ]; then
+ set -x
+ src/tools/build.sh -f x87 -b ${BASE} $bootfiles -v "$VERSION" ${CREATE_OPT} ${UPDATE_TRANS} -o "$OLDLISP"
+ src/tools/build.sh -f sse2 -b ${BASE} $bootfiles -v "$VERSION" ${CREATE_OPT} ${UPDATE_TRANS} -o "$OLDLISP"
+ set +x
+ fi
+}
+
+buildsun4 ()
+{
+ # Build non-unicode versions
+ if [ -n "$OLD8" ]; then
+ set -x
+ src/tools/build.sh -b ${BASE}-8bit $bootfiles -v "$VERSION" ${CREATE_OPT} ${UPDATE_TRANS} -o "$OLD8"
+ set +x
+ fi
+ # Build the unicode version.
+ if [ -n "$OLDLISP" ]; then
+ set -x
+ src/tools/build.sh -b ${BASE} $bootfiles -v "$VERSION" ${CREATE_OPT} ${UPDATE_TRANS} -o "$OLDLISP"
+ set +x
+ fi
+}
+
+case `uname -m` in
+ i386*|x86*) buildx86 ;;
+ sun*) buildsun4 ;;
+ *) echo "Unsupported architecture: `uname -m`" ;;
+esac
More information about the cmucl-commit
mailing list