delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/08/15/10:23:30

X-Spam-Check-By: sourceware.org
Date: Tue, 15 Aug 2006 10:23:02 -0400 (EDT)
From: Igor Peshansky <pechtcha AT cs DOT nyu DOT edu>
Reply-To: cygwin AT cygwin DOT com
To: "William A. Hoffman" <billlist AT nycap DOT rr DOT com>
cc: cygwin AT cygwin DOT com
Subject: RE: change in behavior of make from 3.80 to 3.81
In-Reply-To: <6.2.3.4.2.20060815084047.0cd61550@pop.nycap.rr.com>
Message-ID: <Pine.GSO.4.63.0608150946150.13215@access1.cims.nyu.edu>
References: <17632 DOT 65094 DOT 528377 DOT 623813 AT segfault DOT lan> <009a01c6bfff$934e8480$a501a8c0 AT CAM DOT ARTIMI DOT COM> <6 DOT 2 DOT 0 DOT 14 DOT 2 DOT 20060814213115 DOT 093f2a40 AT pop DOT nycap DOT rr DOT com> <Pine DOT GSO DOT 4 DOT 63 DOT 0608142225030 DOT 13215 AT access1 DOT cims DOT nyu DOT edu> <6 DOT 2 DOT 3 DOT 4 DOT 2 DOT 20060815084047 DOT 0cd61550 AT pop DOT nycap DOT rr DOT com>
MIME-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019