X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fgenerator%2Fbuild_variables.sh;h=571770098fa5ff4ede79c23704a3d297bd0117f1;hb=26cc4f3ade8271bd0941c587d4ac21219bac2542;hp=6773ac56ffa2b8fcd39b74e7e3404feb17361f4d;hpb=7a27a3d1100e99a7ce45cfbf302f86b914cada9a;p=feisty_meow.git diff --git a/scripts/generator/build_variables.sh b/scripts/generator/build_variables.sh index 6773ac56..57177009 100644 --- a/scripts/generator/build_variables.sh +++ b/scripts/generator/build_variables.sh @@ -1,36 +1,36 @@ -############################################################################### -# # -# Name : build variable calculator # -# Author : Chris Koeritz # -# # -# Purpose: # -# # -# This script sets up all the variables needed by the HOOPLE system for # -# building the source code. It can either be run as a bash script directly # -# like so: # -# # -# bash ~/feisty_meow/scripts/generator/build_variables.sh # -# # -# which will establish a new shell containing all the variables, or you can # -# 'source' the script like so: # -# # -# build_vars=~/feisty_meow/scripts/generator/build_variables.sh # -# source $build_vars $build_vars # -# # -# to set all of the variables in your current shell. The full path is # -# necessary in these commands to allow the script to easily find itself. # -# The 'source' version needs to be fed the actual path to the script # -# because bash 'source' commands cause the first parameter (called $0) to # -# be set to just the path to bash itself. # -# # -############################################################################### -# Copyright (c) 2004-$now By Author. This program is free software; you can # -# redistribute it and/or modify it under the terms of the GNU General Public # -# License as published by the Free Software Foundation; either version 2 of # -# the License or (at your option) any later version. This is online at: # -# http://www.fsf.org/copyleft/gpl.html # -# Please send any updates to: fred@gruntose.com # -############################################################################### +############## +# +# Name : build variable calculator +# Author : Chris Koeritz +# +# Purpose: +# +# This script sets up all the variables needed by the HOOPLE system for +# building the source code. It can either be run as a bash script directly +# like so: +# +# bash ~/feisty_meow/scripts/generator/build_variables.sh +# +# which will establish a new shell containing all the variables, or you can +# 'source' the script like so: +# +# build_vars=~/feisty_meow/scripts/generator/build_variables.sh +# source $build_vars $build_vars +# +# to set all of the variables in your current shell. The full path is +# necessary in these commands to allow the script to easily find itself. +# The 'source' version needs to be fed the actual path to the script +# because bash 'source' commands cause the first parameter (called $0) to +# be set to just the path to bash itself. +# +############## +# Copyright (c) 2004-$now By Author. This program is free software; you can +# redistribute it and/or modify it under the terms of the GNU General Public +# License as published by the Free Software Foundation; either version 2 of +# the License or (at your option) any later version. This is online at: +# http://www.fsf.org/copyleft/gpl.html +# Please send any updates to: fred@gruntose.com +############## # prerequisites for this script: # @@ -69,11 +69,11 @@ function dos_to_msys_path() { # of dos to msys etc live. # test suite for above functions. #echo this should go from msys to dos: -# prior='/c/bogart\dingle' +# prior='/c/bogart\dongle' # latter=$(msys_to_dos_path "$prior") # echo went from $prior to $latter #echo this should go from dos to msys: -# prior='D:\bogart\dingle' +# prior='D:\bogart\dongle' # latter=$(dos_to_msys_path "$prior") # echo went from $prior to $latter @@ -84,19 +84,20 @@ 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 +#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 +#echo bashed version buildscriptsdir is $BUILD_SCRIPTS_DIR fi -BUILD_SCRIPTS_DIR="$(echo $BUILD_SCRIPTS_DIR | tr '\\\\' '/' )" -echo post tr buildscriptsdir is $BUILD_SCRIPTS_DIR +BUILD_SCRIPTS_DIR="$(cd $(echo $BUILD_SCRIPTS_DIR | tr '\\\\' '/' ); \pwd)" +#echo ">> 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="$BUILD_SCRIPTS_DIR/../clam" +export CLAM_DIR="$(cd $BUILD_SCRIPTS_DIR/../clam ; \pwd)" +#echo ">> clamdir is $CLAM_DIR" # synonym to make other builds happy. export BUILDER_DIR="$BUILDING_HIERARCHY" @@ -120,42 +121,30 @@ if [ ! -z "$SHELL_DEBUG" ]; then echo "[OS is \"$OPERATING_SYSTEM\"]" fi -# the impact of always redoing the repository directory below means that we -# will always expect the build scripts to be located within the build they're -# building. that's fundamentally broken for some usages. -# but just using the existing repository directory is fundamentally broken -# too, since then the build variables will never re-adapt to the repository -# you want. -# maybe just documentation; if you are changing your repository and the build -# scripts are in the right place, then you should unset REPOSITORY_DIR. -# we at least check that the folder still exists now too, but that's not exact -# knowledge that it's still the right directory. - -if [ -z "$REPOSITORY_DIR" -o ! -d "$REPOSITORY_DIR" ]; then - # we create the variable repository dir, but we keep the idiotic 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 REPOSITORY_DIR="$BUILDING_HIERARCHY" - else - # new style repository is a level above the build hierarchy. - export REPOSITORY_DIR="$(echo "$BUILDING_HIERARCHY" | sed -e 's/\(.*\)\/[^\/]*/\1/')" - 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 REPOSITORY_DIR="$(msys_to_dos_path "$REPOSITORY_DIR")" + export FEISTY_MEOW_DIR="$(msys_to_dos_path "$FEISTY_MEOW_DIR")" fi if [ ! -z "$SHELL_DEBUG" ]; then - echo "[REPOSITORY_DIR is $REPOSITORY_DIR]" + echo "[FEISTY_MEOW_DIR is $FEISTY_MEOW_DIR]" fi # new BUILD_TOP variable points at the utter top-most level of any files # in the building hierarchy. -export BUILD_TOP="$REPOSITORY_DIR" +export BUILD_TOP="$FEISTY_MEOW_DIR" # this variable points at a folder where we store most of the generated products # of the build. these tend to be the things that will be used for packaging into @@ -181,7 +170,7 @@ function make() #echo scripts: $BUILD_SCRIPTS_DIR #echo build tools hier: $BUILDING_HIERARCHY #echo this tool: $THIS_TOOL_NAME -#echo repository: $REPOSITORY_DIR +#echo repository: $FEISTY_MEOW_DIR #echo clam: $CLAM_DIR #echo makeflags: $MAKEFLAGS @@ -207,7 +196,7 @@ fi # now compute some more paths with a bit of "heuristics" for where we can # find the source code. -export TOOL_SOURCES="$REPOSITORY_DIR/core/tools" +export TOOL_SOURCES="$FEISTY_MEOW_DIR/nucleus/tools" if [ ! -d "$TOOL_SOURCES/dependency_tool" -o ! -d "$TOOL_SOURCES/clam_tools" ]; then if [ ! -d "$TOOL_SOURCES/dependency_tool" -o ! -d "$TOOL_SOURCES/clam_tools" ]; then echo "This script cannot locate the tool source code folder. This is where the"