##############
-# System variables...
-
# OS variable records the operating system we think we found.
if [ -z "$OS" ]; then
export OS=UNIX
fi
export IS_DARWIN=$(echo $OSTYPE | grep -i darwin)
-if [ -z "$HOME" ]; then
- if [ "$OS" == "Windows_NT" ]; then
+##############
+
+# windoze sometimes needs a special home variable setup.
+if [ "$OS" == "Windows_NT" ]; then
+ # give them a default place if they don't have one already.
+ if [ -z "$HOME" ]; then
export HOME=/c/home
- if [ ! -d $HOME ]; then
- mkdir $HOME
- fi
fi
+ # patch home to undo cygwin style of drive letter.
+ export HOME=$(echo $HOME | sed -e 's/\/cygdrive\//\//g')
+ # make the home folder if it doesn't exist yet.
+ if [ ! -d $HOME ]; then
+ mkdir $HOME
+ fi
+ if [ ! -z "$SHELL_DEBUG" ]; then echo HOME is now $HOME; fi
fi
##############
-# windoze specific stuff.
+# fallbacks to set crucial variables for feisty meow...
-# patch home to undo cygwin style of drive letter.
-export HOME=$(echo $HOME | sed -e 's/\/cygdrive\//\//g')
-#echo HOME is now $HOME
+# set the main root directory variable for the feisty meow codebase.
+# this is only used for extreme failure modes, when the values were not
+# pulled in from our auto-generated config.
+if [ -z "$FEISTY_MEOW_DIR" ]; then
+ if [ -d "$HOME/feisty_meow" ]; then
+ export FEISTY_MEOW_DIR="$HOME/feisty_meow"
+ fi
+fi
-if [ "$OS" == "Windows_NT" ]; then
- export HOSTNAME=$(echo $HOSTNAME | tr A-Z a-z)
+# similarly, make sure we have someplace to look for our generated files, if
+# we were not handed a value.
+if [ -z "$FEISTY_MEOW_GENERATED" ]; then
+ # The generated scripts directory is where automatically generated files live.
+ # It is separate from the main body of the shell scripts in order to keep things from
+ # exploding.
+ export FEISTY_MEOW_GENERATED=$HOME/.zz_auto_gen
fi
##############
-# ulimit and umask. umask sets a permission mask for all file
-# creations. The mask shown here disallows writing by the "group" and
-# "others" categories of users. ulimit sets the user limits. the core
-# file size is set to zero.
+# umask sets a permission mask for all file creations. the mask used here
+# disallows writing by the "group" and "others" categories.
umask 022
+# ulimit sets user limits. we set the maximum allowed core dump file size
+# to zero, because it is obnoxious to see the core dumps from crashed
+# programs lying around everywhere.
ulimit -c 0
##############
-# Directory variables...
-
export SCRIPT_SYSTEM=feisty_meow
# include helpful functions.
# LIBDIR is an older variable that points at the root of the yeti code.
export LIBDIR=$FEISTY_MEOW_DIR
-if [ -z "$FEISTY_MEOW_GENERATED" ]; then
- # The generated scripts directory is where automatically generated files live.
- # It is separate from the main body of the shell scripts in order to keep things from
- # exploding.
- export FEISTY_MEOW_GENERATED=$HOME/.zz_auto_gen
-fi
-
##############
# user variables, sort of... if they haven't given themselves a name yet,
fi
fi
-# include variables needed for compiling hoople and using its scripts.
-if [ -z "$FEISTY_MEOW_DIR" ]; then
- if [ -d "$HOME/feisty_meow" ]; then
- export FEISTY_MEOW_DIR="$HOME/feisty_meow"
- fi
-fi
-
# initialize the build variables, if possible.
found_build_vars=0
if [ ! -z "$FEISTY_MEOW_DIR" ]; then
##############
+# windoze specific patching up missing things.
+
+if [ "$OS" == "Windows_NT" ]; then
+ export HOSTNAME=$(echo $HOSTNAME | tr A-Z a-z)
+fi
+
+##############
+
# pull in the custom overrides for feisty_meow scripts. this is done last,
# because we want to set everything up as expected, then let the user
# override individual variables and definitions.