+ 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"
+ cmd /c $(cat "$cmdfile")
+ retval=$?
+ rm "$cmdfile"
+
+ return $retval