On Fri, 1 Nov 2002, Mike Bresnahan wrote: > For what its worth, this is the script I use: > > #! /bin/sh > # > # Wrapper script for the Microsoft Visual C++ compiler (cl) to allow it to > work with Cygwin based makefiles. > > cmd="/c/Program\ Files/Microsoft\ Visual\ Studio/VC98/Bin/cl" > > for option > do > case $option in > -I/*) > path=`expr $option : '-I/\(.*\\)'` > cmd="$cmd -IC:/cygwin/$path" > ;; > /*) > path=`expr $option : '/\(.*\\)'` > cmd="$cmd C:/cygwin/$path" > ;; > *) > cmd="$cmd $option" > ;; > esac > done > > echo $cmd > eval $cmd
Mike, You should be very careful of quoting here. Since you use eval, you could insert extra quotes as part of the command - they won't hurt, and will make it safer. Another note is that the user's installation may not be in C:\cygwin. The following modification should fix both (and the extraneous '\', to boot): -I/*) path="`expr "$option" : '-I/\(.*\)'`" cmd="$cmd \"-I`cygpath -m /`/$path\"" ;; In fact, you could do even better, by passing the path to cygpath as well: -I/*) path="`expr "$option" : '-I/\(.*\)'`" cmd="$cmd \"-I`cygpath -m /$path`\"" ;; I leave the the rest of the cases as an exercise for the reader. :-D Oh, and the last line should be 'eval "$cmd"' (note the double quotes). Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ [EMAIL PROTECTED] ZZZzz /,`.-'`' -. ;-;;,_ [EMAIL PROTECTED] |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "Water molecules expand as they grow warmer" (C) Popular Science, Oct'02, p.51 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/