[Top][All Lists]

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

VPATH build failure on cygwin

From: Eric Blake
Subject: VPATH build failure on cygwin
Date: Tue, 02 Jun 2015 07:10:10 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

Cygwin recently upgraded to GNU make 4.1, but in the process, it
introduced a regression in behavior on how VPATH behaves [1].  In
particular, the expression

VPATH = .:/path/to/dir

is no longer treated as a two-directory designation (search ., and if
not found then search /path/to/dir) but as a one-directory designation
as if . were a drive letter (but there is no '.' drive, so it results in
no VPATH at all).  I'm hoping to get this bug fixed (either in upstream
make or in the cygwin port of make).

But in the meantime, read what 'info make' says about VPATH:

>    Thus, if a file that is listed as a target or prerequisite does not
> exist in the current directory, `make' searches the directories listed
> in `VPATH' for a file with that name. 

That is, the use of .: in VPATH is redundant, and will NOT find any
files that were not already found if you had omitted it, because make
already searches the current directory before resorting to VPATH.

Thus, in all of your Makefile.in files, you should change:

VPATH = .:@srcdir@

to be:

VPATH = @srcdir@

so that bash can once again be built with the current cygwin build of
make; such a change will not break any other platforms.

[1] https://cygwin.com/ml/cygwin/2015-06/msg00036.html

Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

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