help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Quoted paths on Windows


From: Eli Zaretskii
Subject: Re: Quoted paths on Windows
Date: Tue, 20 Sep 2016 18:01:13 +0300

> From: Jeroen Ooms <address@hidden>
> Date: Tue, 20 Sep 2016 15:24:49 +0200
> 
> The current Rtools includes make 3.79.1. We are trying to upgrade to a
> newer version, however the behavior of 'make' seems to have changed in
> a way that breaks our infrastructure.

It has changed, allright, but the change wasn't supposed to break
anything.

> The main issue is how 'make' parses quoted paths. R generates rules like this:
> 
> c:/Rtools/mingw_64/bin/gcc  -I"C:/PROGRA~1/R/R-33~1.1/include"
> -DNDEBUG -Iyajl/api    -I"d:/Compiler/gcc-4.9.3/local330/include"  -O2
> -Wall  -std=gnu99 -mtune=core2 -c base64.c -o base64.o
> 
> The line above works with the old 'make', however with make 4.2.1 this
> gives an error that headers cannot be found. The problem seems to be
> the quotation of paths. It looks like make does not parse the quotes
> and assumes the path as is, with the quotes.

I cannot reproduce this on my system.  I used a simple program that
simply echoes its argv[] array, and invoked that program with a
command such as the one you show above.  The command-line arguments
displayed by the program were devoid of any quotes, as expected.

So I think there's some factor involved here that you didn't
describe.  Some relevant factors might be:

  . what shell is being used by Make?
  . is c:/Rtools/mingw_64/bin/gcc.exe a native Windows program, or is
    it a Cygwin or MSYS program? or maybe it is some wrapper script?

> I am already compiling 'make' with ac_cv_dos_paths=yes.

I'm not sure I understand what that means.  Could you try the binaries
from here:

  
https://sourceforge.net/projects/ezwinports/files/make-4.2-without-guile-w32-bin.zip/download

and see if the problem persists?  (If you need Make with Guile
support, you will find one right near the above one.)

> Are there any other configure options required to build a version
> that parses the quotes as our old 'make' does it, so that we can
> upgrade 'make' without massive disruptions?

The official MinGW Make build does not use the Posix configury stuff,
it uses a dedicated batch file, build_w32.bat, so there's no simple
answer to your question.  I myself never used the configure script and
the Posix Makefiles it creates to build the native Windows port of GNU
Make, I always use that batch file.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]