changes needed since cygwin is somehow getting a different interpretation of the...
[feisty_meow.git] / scripts / generator / bootstrap_build.sh
index 7a6f62c82d16e0052ee0a7fbca1d2ccfd826e798..fba2df436dee532fb990460d79c1d15647f2aae1 100644 (file)
 #
 # (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/launch_feisty_meow.sh"
+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_DIR="$(unix_to_dos_path $FEISTY_MEOW_DIR)"
+
 # load in build variables based on our deduced paths.
 source "$BUILD_SCRIPTS_DIR/build_variables.sh" "$BUILD_SCRIPTS_DIR/build_variables.sh"
 
@@ -210,7 +224,7 @@ 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