[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
signature.asc
Description: OpenPGP digital signature
- VPATH build failure on cygwin,
Eric Blake <=