Mail Archives: cygwin/2006/08/15/10:23:30
On Tue, 15 Aug 2006, William A. Hoffman wrote:
> At 10:40 PM 8/14/2006, Igor Peshansky wrote:
>
> >> MS cl can no longer be used with cygwin make as of 3.81.
> >
> >Incorrect. See below.
> >
> >> Perhaps something along the lines of /c/ that would be translated by
> >> gmake itself into c:, so that no special parsing would be required for
> >> the makefiles.
> >
> >Yuck! Maybe have them simply accept the --win32 option or recognize the
> >MAKE_MODE environment variable, like Cygwin make used to do?
>
> I was figuring this was off the table since it was not in the upstream
> make. Is this option still on the table? If so, what is the path to
> have it implemented?
"them" = "the upstream make maintainers". If this option is accepted
upstream, the next update of Cygwin's make package will pick it up.
> >> - The other option is to use mingw-make, and only use cygwin make for
> >> cygwin linked programs only.
> >
> >Incorrect. If you use Cygwin make, it's very easy to invoke Windows
> >programs by converting their arguments with "cygpath -w" (or, barring
> >that, with a perl or sed script). I've done that, others have done
> >that. If you are generating the code to invoke the Microsoft cl
> >compiler, simply use something like $(foreach f,$^,$(shell cygpath -w
> >$f)) as the argument to cl.
>
> I have to say yuck!, and performance hit. So, for every path that gets
> passed to the compiler you have to launch a process that does string
> allocation and conversion. I do not think this is a realistic solution
> for larger projects. I would not want CMake to generate makefiles with
> cygpath -w being invoked multiple times per compiler run. So, I will
> restate that there is no workable solution to use cl with cygwin make
> anymore.
Well, if you only want a constant number of processes, you can try
something like
$(shell echo "$^" | sed 's/\s/\n/g' | cygpath -w -f -)
(If you know suitable make magic to embed a newline in a string, you can
even avoid the 'sed' invocation).
Igor
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT com
ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!)
|,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte."
"But no -- you are no fool; you call yourself a fool, there's proof enough in
that!" -- Rostand, "Cyrano de Bergerac"
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -