simple approach to finding files that contain two patterns; it's easy to find a file...
[feisty_meow.git] / scripts / generator / wrapdoze.sh
old mode 100644 (file)
new mode 100755 (executable)
index 0ce27c3..ab0a999
@@ -2,22 +2,44 @@
 
 source $FEISTY_MEOW_SCRIPTS/core/functions.sh
 
-function dossify_and_run_commands()
+#hmmm: make this support multiple vars as parameters.
+# replaces a specific environment variable with a dos approved equivalent.
+function dossify_environment_variable()
 {
+  local var="$1"; shift
 
+  old_value="${!var}"
+  if [[ ! "$old_value" =~ \/cygdrive\/ ]]; then
+#echo didnt have a cygdrive in it: $old_value
+    return 0
+#hmmm: want this to continue in multi parm version.
+  fi
 
-eval "${@}"
-return $?
+  # replace single back-slashes with double ones.
+  local new_value="$(unix_to_dos_path "${old_value}")"
 
+  # remove any quote characters in the value.
+  new_value="${new_value//\"/}"
 
-#all primordial gunk.  try above first.
-  # we only mess with the command line on windows...
+#  echo "new value: $var  =  $new_value"
+  eval "export $var=\"$new_value\""
+}
+
+# for a windows build, this will replace any forward slashes
+# and other cygwin notation with the appropriate dos style paths.
+function dossify_and_run_commands()
+{
   if [ "$OS" != "Windows_NT" ]; then
     # for non windows, just run the commands straight up.
-    $*
+    eval "${@}"
     return $?
   fi
 
+  # force all slashes to be dossy.
+#  export SERIOUS_SLASH_TREATMENT=true
+
+  dossify_environment_variable INCLUDE
+
   declare -a darc_commands=()
 
   for i in "$@"; do
@@ -39,13 +61,13 @@ return $?
     real_commands+=($(echo $i | sed -e 's/\\/\\\\/g'))
   done
 
-#temp!
-  echo commands are now:
-  for i in "${real_commands[@]}"; do
-    echo -n "$i "
-  done
-  echo
-#end temp
+  if [ ! -z "$SHELL_DEBUG" ]; then
+    echo commands are now:
+    for i in "${real_commands[@]}"; do
+      echo -n "$i "
+    done
+    echo
+  fi
 
   # now actually run the chewed command.
   cmd /c "${real_commands[@]}"