X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fgenerator%2Fbuild_variables.sh;h=8723e454317350c115e40a1769c9d03a62ae7594;hb=393c5d16bddb0ffef914699d2294ca2204dd16d7;hp=82a74a3998dbcb3726361a4533ec235241fc61bf;hpb=c0c9e30c82753ca1a0d2d75f22cc261c00d7b680;p=feisty_meow.git diff --git a/scripts/generator/build_variables.sh b/scripts/generator/build_variables.sh index 82a74a39..8723e454 100644 --- a/scripts/generator/build_variables.sh +++ b/scripts/generator/build_variables.sh @@ -32,13 +32,6 @@ # Please send any updates to: fred@gruntose.com ############## -# prerequisites for this script: -# -# (1) the script should be run with a full path, so that it can decide where -# it lives with minimal fuss. -# (2) on windows, the msys bin directory should already be in the path so that -# tools like dirname are already available. - # here is where we compute the locations for the build's pieces, based on # where this script is located. we currently assume that the build scripts # like this one are at the same height in the hierarchy as the clam scripts @@ -54,50 +47,36 @@ PARM_1="$1" # helpful build function zone. source $FEISTY_MEOW_SCRIPTS/core/functions.sh - # load msys_to_dos_path and dos_to_msys_path. - -#### switches from a /X/path form to an X:/ form. -###function msys_to_dos_path() { -### # we always remove dos slashes in favor of forward slashes. -### echo "$1" | sed -e 's/\\/\//g' | sed -e 's/\/\([a-zA-Z]\)\/\(.*\)/\1:\/\2/' -###} - -#### switches from an X:/ form to an /X/path form. -###function dos_to_msys_path() { -### # we always remove dos slashes in favor of forward slashes. -### echo "$1" | sed -e 's/\\/\//g' | sed -e 's/\([a-zA-Z]\):\/\(.*\)/\/\1\/\2/' -###} ############## +# outer check on whether this already was run or not. +if [ -z "$BUILD_VARS_LOADED" ]; then + # perform some calculations to get the right paths from our parameters. if [ ! -z "$PARM_1" ]; then # use the first real parameter since this is probably the 'source' version. export BUILD_SCRIPTS_DIR="$(dirname "$PARM_1")" THIS_TOOL_NAME="$(basename "$PARM_1")" -#echo sourced version buildscriptsdir is $BUILD_SCRIPTS_DIR else # use the zeroth parameter, since we know nothing more about our name. export BUILD_SCRIPTS_DIR="$(dirname "$PARM_0")" THIS_TOOL_NAME="$(basename "$PARM_0")" -#echo bashed version buildscriptsdir is $BUILD_SCRIPTS_DIR fi BUILD_SCRIPTS_DIR="$(cd $(echo $BUILD_SCRIPTS_DIR | tr '\\\\' '/' ); \pwd)" -echo ">> buildvars buildscriptsdir is $BUILD_SCRIPTS_DIR" # figure out the other paths based on where we found this script. export BUILDING_HIERARCHY="$(echo "$BUILD_SCRIPTS_DIR" | sed -e 's/\(.*\)\/[^\/]*/\1/')" export CLAM_DIR="$(cd $BUILD_SCRIPTS_DIR/../clam ; \pwd)" -echo ">> buildvars clamdir is $CLAM_DIR" # synonym to make other builds happy. export BUILDER_DIR="$BUILDING_HIERARCHY" # guess the current platform. -IS_UNIX=$(uname | grep -i linux) -if [ -z "$IS_UNIX" ]; then IS_UNIX=$(uname | grep -i unix); fi -if [ -z "$IS_UNIX" ]; then IS_UNIX=$(uname | grep -i darwin); fi -IS_DOS=$(uname | grep -i ming) -if [ -z "$IS_DOS" ]; then IS_DOS=$(uname | grep -i cygwin); fi +#IS_UNIX=$(uname | grep -i linux) +#if [ -z "$IS_UNIX" ]; then IS_UNIX=$(uname | grep -i unix); fi +#if [ -z "$IS_UNIX" ]; then IS_UNIX=$(uname | grep -i darwin); fi +#IS_DOS=$(uname | grep -i ming) +#if [ -z "$IS_DOS" ]; then IS_DOS=$(uname | grep -i cygwin); fi # set some clam parameters for compilation. if the script can't guess the # right configuration, then you will need to set them in the last 'else' @@ -112,23 +91,6 @@ if [ ! -z "$SHELL_DEBUG" ]; then echo "[OS is \"$OPERATING_SYSTEM\"]" fi -#hmmm: all this stuff is highly questionable value now. -# we create the variable FEISTY_MEOW_DIR, but we keep the dos form of -# the path, because otherwise lots of bad things happens when passing the -# folders around to visual studio commands that don't allow a space after them. -if [ -d "$BUILDING_HIERARCHY/source" ]; then - # old style repository is same height as building hierarchy. - export FEISTY_MEOW_DIR="$BUILDING_HIERARCHY" -else - # new style repository is a level above the build hierarchy. - export FEISTY_MEOW_DIR="$(echo "$BUILDING_HIERARCHY" | sed -e 's/\(.*\)\/[^\/]*/\1/')" -fi - -if [ "$OPERATING_SYSTEM" = "WIN32" ]; then - # make sure repository dir looks right on windoze. - export FEISTY_MEOW_DIR="$(msys_to_dos_path "$FEISTY_MEOW_DIR")" -fi - if [ ! -z "$SHELL_DEBUG" ]; then echo "[FEISTY_MEOW_DIR is $FEISTY_MEOW_DIR]" fi @@ -148,22 +110,17 @@ if [ ! -d "$LOGS_DIR" ]; then mkdir -p "$LOGS_DIR" fi -# hook clam into the compilation system. -function make() -{ - /usr/bin/make -I "$CLAM_DIR" $* -} - ############## # debugging area where we say what we think we know. -#echo scripts: $BUILD_SCRIPTS_DIR -#echo build tools hier: $BUILDING_HIERARCHY -#echo this tool: $THIS_TOOL_NAME -#echo repository: $FEISTY_MEOW_DIR -#echo clam: $CLAM_DIR -#echo makeflags: $MAKEFLAGS +if [ ! -z "$SHELL_DEBUG" ]; then + echo scripts: $BUILD_SCRIPTS_DIR + echo build tools hier: $BUILDING_HIERARCHY + echo this tool: $THIS_TOOL_NAME + echo repository: $FEISTY_MEOW_DIR + echo clam: $CLAM_DIR +fi ############## @@ -260,5 +217,20 @@ if [ -z "$got_bad" ]; then bash fi + # sentinel that tells us this script was pulled in. + export BUILD_VARS_LOADED=true + fi +fi # outer wrapper for already ran build vars check. + +############## + +# hook clam into the compilation system. +# this always needs to be defined since functions aren't exported. +function make() +{ + /usr/bin/make -I "$CLAM_DIR" $* +} + +