Artifact faf1ba23d78571c5140ecd9b38849e92d1a61372:
- Executable file
itcl/build.sh
— part of check-in
[023de4a116]
at
2010-09-26 04:39:15
on branch trunk
— Updated to check for 'buildsrc' directory before untarring. If found it is used. (Untested)
Updated to download sources to a temporary file and only rename on success (user: rkeene, size: 1875) [annotate] [blame] [check-ins using]
#! /bin/bash if [ ! -f 'build.sh' ]; then echo 'ERROR: This script must be run from the directory it is in' >&2 exit 1 fi if [ -z "${TCLVERS}" ]; then echo 'ERROR: The TCLVERS environment variable is not set' >&2 exit 1 fi ITCLVERS="3.4" ITCLVERSEXTRA="b1" SRC="src/itcl-${ITCLVERS}.tar.gz" SRCURL="http://sourceforge.net/projects/incrtcl/files/%5BIncr%20Tcl_Tk%5D-source/${ITCLVERS}/itcl${ITCLVERS}${ITCLVERSEXTRA}.tar.gz/download" BUILDDIR="$(pwd)/build/itcl${ITCLVERS}" OUTDIR="$(pwd)/out" INSTDIR="$(pwd)/inst" export ITCLVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR rm -rf 'build' 'out' 'inst' mkdir 'build' 'out' 'inst' || exit 1 # Determine if Itcl is even needed ( TCL_VERSION="unknown" if [ -f "${TCLCONFIGDIR}/tclConfig.sh" ]; then source "${TCLCONFIGDIR}/tclConfig.sh" fi if echo "${TCL_VERSION}" | grep '^8\.[45]$' >/dev/null; then # Itcl is required for Tcl 8.4 and Tcl 8.5 exit 0 fi if [ "${TCL_VERSION}" = "unknown" ]; then # If we don't know what version of Tcl we are building, build # Itcl just in case. exit 0 fi # All other versions do not require Itcl echo "Skipping building Itcl, not required for ${TCL_VERSION}" exit 1 ) || exit 0 if [ ! -f "${SRC}" ]; then mkdir 'src' >/dev/null 2>/dev/null rm -f "${SRC}.tmp" wget -O "${SRC}.tmp" "${SRCURL}" || exit 1 mv "${SRC}.tmp" "${SRC}" fi ( cd 'build' || exit 1 if [ ! -d '../buildsrc' ]; then gzip -dc "../${SRC}" | tar -xf - else cp -rp ../buildsrc/* './' fi cd "${BUILDDIR}" || exit 1 ./configure --enable-shared --disable-symbols --prefix="${INSTDIR}" --exec-prefix="${INSTDIR}" --with-tcl="${TCLCONFIGDIR}" ${CONFIGUREEXTRA} ${MAKE:-make} || exit 1 ${MAKE:-make} install mkdir "${OUTDIR}/lib" || exit 1 cp -r "${INSTDIR}/lib"/itcl*/ "${OUTDIR}/lib/" strip -g "${OUTDIR}"/lib/itcl*/*.so >/dev/null 2>/dev/null exit 0 ) || exit 1 exit 0