X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fgenerator%2Fbootstrap_build.sh;h=940985046b8378d7f30ec105ab740d586ab77722;hb=17752eea9d5c3566cf0d9e7cfbc46e648c267f50;hp=79b830be82e27f00dfb29d1fcc8ab75f3132f67a;hpb=31bc80e69203a84cc25ddd605dd1327bc5fae01a;p=feisty_meow.git diff --git a/scripts/generator/bootstrap_build.sh b/scripts/generator/bootstrap_build.sh index 79b830be..94098504 100644 --- a/scripts/generator/bootstrap_build.sh +++ b/scripts/generator/bootstrap_build.sh @@ -19,22 +19,35 @@ # # (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. +# (2) on windows, the unix tools bin directory should already be in the path +# so that tools like dirname are already available. use msys or cygwin +# at your discretion and your own risk. # make sure we know how to find our bash bins. export PATH=/bin:$PATH + # signals that we're doing a fresh build to the variables script. export INCLUDED_FROM_BOOTSTRAP=true + # pull in our build variables using the path to this script. -export BUILD_SCRIPTS_DIR="$( \cd "$(\dirname "$0")" && \pwd )" -echo build script initial from bootstrap: $BUILD_SCRIPTS_DIR +export BUILD_SCRIPTS_DIR="$( \cd "$(\dirname "$0")" && /bin/pwd )" +#echo build scripts dir initial value: $BUILD_SCRIPTS_DIR BUILD_SCRIPTS_DIR="$(echo $BUILD_SCRIPTS_DIR | tr '\\\\' '/' )" -echo build script after: $BUILD_SCRIPTS_DIR +#echo build scripts dir after chewing: $BUILD_SCRIPTS_DIR + # load in feisty meow basic scripts, if not already loaded. -source "$BUILD_SCRIPTS_DIR/../core/profile.sh" -# drop any previous version of the repository variable. -unset REPOSITORY_DIR +if [ -z "$FEISTY_MEOW_SCRIPTS_LOADED" ]; then + bash "$BUILD_SCRIPTS_DIR/../core/bootstrap_shells.sh" + source "$BUILD_SCRIPTS_DIR/../core/launch_feisty_meow.sh" +fi + +source "$FEISTY_MEOW_SCRIPTS/core/functions.sh" + +# translate to dos format if there's a cygdrive in there; otherwise microsoft's tools +# will hose up completely due to unknown paths. +export FEISTY_MEOW_APEX="$(unix_to_dos_path $FEISTY_MEOW_APEX)" + +# load in build variables based on our deduced paths. source "$BUILD_SCRIPTS_DIR/build_variables.sh" "$BUILD_SCRIPTS_DIR/build_variables.sh" ############## @@ -43,13 +56,13 @@ source "$BUILD_SCRIPTS_DIR/build_variables.sh" "$BUILD_SCRIPTS_DIR/build_variabl function prepare_binaries_dir() { # we'll store binaries here from the bootstrap process. - if [ ! -d "$BINARY_DIR" ]; then - echo "creating binary dir now in $BINARY_DIR" - mkdir "$BINARY_DIR" + if [ ! -d "$CLAM_BINARY_DIR" ]; then + echo "creating binary dir now in $CLAM_BINARY_DIR" + mkdir -p "$CLAM_BINARY_DIR" fi - if [ ! -f "$BINARY_DIR/paths.ini" ]; then + if [ ! -f "$CLAM_BINARY_DIR/paths.ini" ]; then echo "copied paths.ini to binary dir." - cp "$PRODUCTION_DIR/paths.ini" "$BINARY_DIR" + cp "$PRODUCTION_DIR/paths.ini" "$CLAM_BINARY_DIR" fi } @@ -65,11 +78,6 @@ echo "Build bootstrap process has started." # preconditions for the build process... -#redundant!!! -# clean out the logs directory so we are all fresh. -#echo "Removing logs directory '$LOGS_DIR'..." -#\rm -rf "$LOGS_DIR" "$BUILD_TOP/generatedJUnitFiles" - # set up our output directories etc. prepare_binaries_dir @@ -128,9 +136,9 @@ if [ "$OPERATING_SYSTEM" = "UNIX" ]; then echo "Failed to build the application $1--quitting now." exit 1892 fi - cp "$INTERMEDIATE_EXE_DIR/$1" "$BINARY_DIR/$1" - strip "$BINARY_DIR/$1" - chmod 755 "$BINARY_DIR/$1" + cp "$INTERMEDIATE_EXE_DIR/$1" "$CLAM_BINARY_DIR/$1" + strip "$CLAM_BINARY_DIR/$1" + chmod 755 "$CLAM_BINARY_DIR/$1" } elif [ "$OPERATING_SYSTEM" = "WIN32" ]; then function promote { @@ -140,8 +148,8 @@ elif [ "$OPERATING_SYSTEM" = "WIN32" ]; then echo "Failed to build the application $1.exe--quitting now." exit 1892 fi - cp "$INTERMEDIATE_EXE_DIR/$1.exe" "$BINARY_DIR" - chmod 755 "$BINARY_DIR/$1.exe" + cp "$INTERMEDIATE_EXE_DIR/$1.exe" "$CLAM_BINARY_DIR" + chmod 755 "$CLAM_BINARY_DIR/$1.exe" } else echo "The OPERATING_SYSTEM variable is unset or unknown. Bailing out." @@ -152,22 +160,20 @@ fi # start the actual build process now... -# recreate our useful waste directories and other things... +# load in the feisty meow building environment. source "$BUILD_SCRIPTS_DIR/build_variables.sh" "$BUILD_SCRIPTS_DIR/build_variables.sh" # clean out any current contents. bash "$BUILD_SCRIPTS_DIR/whack_build.sh" clean -mkdir -p "$LOGS_DIR" # make this again so no one gets cranky. - -echo "after removing and making dir again, it's here '$LOGS_DIR'..." -ls -al $LOGS_DIR +# make this again so no one gets cranky. +mkdir -p "$LOGS_DIR" toolset_names=(makedep value_tagger version_stamper vsts_version_fixer write_build_config short_path sleep_ms zap_process playsound create_guid) if [ -z "$SAVE_BINARIES" ]; then for i in ${toolset_names[*]}; do - whack_name="$BINARY_DIR/$i$EXE_ENDING" + whack_name="$CLAM_BINARY_DIR/$i$EXE_ENDING" #echo removing "$whack_name" rm -f "$whack_name" done @@ -180,7 +186,7 @@ chmod 755 "$CLAM_DIR"/cpp/*.sh # rebuild the dependency tool. needed by everything, pretty much, but # since it's from the xfree project, it doesn't need any of our libraries. -if [ ! -f "$BINARY_DIR/makedep$EXE_ENDING" ]; then +if [ ! -f "$CLAM_BINARY_DIR/makedep$EXE_ENDING" ]; then pushd "$TOOL_SOURCES/dependency_tool" &>/dev/null make_code pre_compilation NO_DEPS=t OMIT_VERSIONS=t make_code NO_DEPS=t OMIT_VERSIONS=t @@ -197,10 +203,10 @@ if [ ! -f "$BINARY_DIR/makedep$EXE_ENDING" ]; then fi # rebuild the version tools and other support apps. -if [ ! -f "$BINARY_DIR/value_tagger$EXE_ENDING" \ - -o ! -f "$BINARY_DIR/version_stamper$EXE_ENDING" \ - -o ! -f "$BINARY_DIR/vsts_version_fixer$EXE_ENDING" \ - -o ! -f "$BINARY_DIR/write_build_config$EXE_ENDING" ]; then +if [ ! -f "$CLAM_BINARY_DIR/value_tagger$EXE_ENDING" \ + -o ! -f "$CLAM_BINARY_DIR/version_stamper$EXE_ENDING" \ + -o ! -f "$CLAM_BINARY_DIR/vsts_version_fixer$EXE_ENDING" \ + -o ! -f "$CLAM_BINARY_DIR/write_build_config$EXE_ENDING" ]; then pushd "$TOOL_SOURCES/clam_tools" &>/dev/null make_code pre_compilation OMIT_VERSIONS=t make_code OMIT_VERSIONS=t @@ -218,17 +224,17 @@ if [ ! -f "$BINARY_DIR/value_tagger$EXE_ENDING" \ promote value_tagger # tool scrambles through headers to standardize outcomes. promote version_stamper # used for version stamping. promote vsts_version_fixer # used for version stamping. - promote write_build_config # creates a header of build-specific config info. + promote write_build_config # creates a header of build-specific config info. popd &>/dev/null fi # build a few other utilities. -if [ ! -f "$BINARY_DIR/short_path$EXE_ENDING" \ - -o ! -f "$BINARY_DIR/sleep_ms$EXE_ENDING" \ - -o ! -f "$BINARY_DIR/create_guid$EXE_ENDING" \ - -o ! -f "$BINARY_DIR/zap_process$EXE_ENDING" \ - -o ! -f "$BINARY_DIR/playsound$EXE_ENDING" ]; then +if [ ! -f "$CLAM_BINARY_DIR/short_path$EXE_ENDING" \ + -o ! -f "$CLAM_BINARY_DIR/sleep_ms$EXE_ENDING" \ + -o ! -f "$CLAM_BINARY_DIR/create_guid$EXE_ENDING" \ + -o ! -f "$CLAM_BINARY_DIR/zap_process$EXE_ENDING" \ + -o ! -f "$CLAM_BINARY_DIR/playsound$EXE_ENDING" ]; then pushd "$TOOL_SOURCES/simple_utilities" &>/dev/null make_code pre_compilation OMIT_VERSIONS=t make_code OMIT_VERSIONS=t @@ -250,15 +256,16 @@ if [ -z "$JUST_BOOTSTRAP_APPS" ]; then bash "$BUILD_SCRIPTS_DIR/whack_build.sh" clean # recreate our useful junk directories... - mkdir -p "$WASTE_DIR" + mkdir -p "$GENERATED_DIR" mkdir -p "$TEMPORARIES_DIR" + mkdir -p "$LOGS_DIR" echo Now starting a normal build of the repository source code. - pushd "$REPOSITORY_DIR" &>/dev/null + pushd "$FEISTY_MEOW_APEX" &>/dev/null unset BUILD_DEFAULTS declare -a BUILD_DEFAULTS=( "BOOT_STRAPPING=" "OPTIMIZE=t" "DEBUG=t" "REBUILD=t" ) - export NOT_SLIMLINE=true make_code + popd &>/dev/null fi