+ if [ ! -z "$SHELL_DEBUG" ]; then
+ echo commands are now:
+ for i in "${real_commands[@]}"; do
+ echo -n "$i "
+ done
+ echo
+ fi
+
+# this nonsense is only necessary because cygwin is screwing up our carefully constructed
+# command line. it can't seem to leave the dos style paths alone in some cases, and insists
+# on changing their form to use forward slashes, which breaks the windows compiler.
+# this is NOT what cygwin is supposed to be doing, according to their documentation that
+# claims all styles of paths are supported. and of course this worked fine in msys.
+
+ # now actually run the chewed command.
+
+# old approach, not working since cygwin is hosing us on some paths.
+#cmd /c "${real_commands[@]}"
+
+#new approach that creates a cmd file.
+ cmdfile="$(mktemp $CLAM_TMP/build_cmds.XXXXXX)"
+ echo "${real_commands[@]}" >"$cmdfile"
+echo "** cmd file is: '$cmdfile')"
+#echo "** cmd file has: $(cat "$cmdfile")"
+ cmd /c $(cat "$cmdfile")
+ retval=$?
+ # leave the file for inspection if there was an error.
+ if [ $retval -eq 0 ]; then
+ \rm "$cmdfile"
+ fi
+ return $retval