From e83bfec37f419173c8a487f533a1031fe28efc51 Mon Sep 17 00:00:00 2001 From: meep-eep Date: Sat, 23 Nov 2002 22:11:04 +0000 Subject: [PATCH] Install works now. git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@236 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/build/build.config | 3 ++- sc2/build/build.sh | 6 ++++++ sc2/build/build_functions | 40 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/sc2/build/build.config b/sc2/build/build.config index 6a28b7193..29e1d49d9 100644 --- a/sc2/build/build.config +++ b/sc2/build/build.config @@ -135,7 +135,8 @@ CONTENTDIR="${INSTALL_LIBDIR}uqm/content" # Make build.vars from build.vars.in, substituting variables. -SUBSTITUTE_VARS="CFLAGS LDFLAGS MAKE DEBUG SOUNDMODULE HAVE_OPENGL" +SUBSTITUTE_VARS="CFLAGS LDFLAGS MAKE DEBUG SOUNDMODULE HAVE_OPENGL \ + INSTALL_LIBDIR INSTALL_BINDIR" SUBSTITUTE_FILES="build.vars" substitute_vars SUBSTITUTE_VARS SUBSTITUTE_FILES diff --git a/sc2/build/build.sh b/sc2/build/build.sh index 11a7be6af..b54f6e164 100644 --- a/sc2/build/build.sh +++ b/sc2/build/build.sh @@ -105,6 +105,12 @@ case "$2" in build_check_config build_rec_dependancies ;; + install) + build_check_config + build_check_dependencies + build_check_compile + build_install + ;; *) ;; esac diff --git a/sc2/build/build_functions b/sc2/build/build_functions index 31dc51415..0d7011d91 100644 --- a/sc2/build/build_functions +++ b/sc2/build/build_functions @@ -157,9 +157,47 @@ build_check_config() { # Description: check if the necessary .depend file is present, # if not, build it. build_check_dependencies() { - eval DEPEND_FILE=".depend.\${${BUILD_PROJECT}_NAME%/}" + eval DEPEND_FILE=".depend.\${${BUILD_PROJECT}_NAME}" [ ! -e "$DEPEND_FILE" -o -n "$BUILD_RUN_DEPEND" ] || return build_rec_dependancies || exit $? } +# Description: check if the program is compiled, and otherwise compile +build_check_compile() { + local NAME + eval NAME="\${${BUILD_PROJECT}_NAME}" + [ ! -e "$NAME" ] || return + + build_compile || exit $? +} + +# Install the program +build_install() { + local BINS LIBS SRC DEST BINDIR LIBDIR + + echo "Installing libraries..." 2>&1 + eval LIBS="\${${BUILD_PROJECT}_INSTALL_LIBS}" + eval LIBDIR="\${${BUILD_PROJECT}_INSTALL_LIBDIR%/}/" + for LIB in $LIBS; do + eval SRC="\${${BUILD_PROJECT}_INSTALL_LIB_${LIB}_SRC%/}" + eval DEST="\$LIBDIR\${${BUILD_PROJECT}_INSTALL_LIB_${LIB}_DEST%/}" + if [ ! -d "$DEST" ]; then + mkdir -p -- "$DEST" + fi + cp -r -- "$SRC" "$DEST" + done + + echo "Installing binaries..." 2>&1 + eval BINS="\${${BUILD_PROJECT}_INSTALL_BINS}" + eval BINDIR="\${${BUILD_PROJECT}_INSTALL_BINDIR%/}/" + for BIN in $BINS; do + eval SRC="\${${BUILD_PROJECT}_INSTALL_BIN_${BIN}_SRC%/}" + eval DEST="\$BINDIR\${${BUILD_PROJECT}_INSTALL_BIN_${BIN}_DEST%/}" + if [ ! -d "$DEST" ]; then + mkdir -p -- "$DEST" + fi + cp -r -- "$SRC" "$DEST" + done +} +