make-w32
[Top][All Lists]
Advanced

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

Re: PATH vs. Path ([Fwd: Returned mail: see transcript for details]


From: Alessandro Vesely
Subject: Re: PATH vs. Path ([Fwd: Returned mail: see transcript for details]
Date: Sun, 06 Mar 2005 14:36:04 +0100

David Baird wrote:
> [...using cmd.exe] it is very common to determine relevant environment
> variables, like Path, in the make files, which allow a developer to
> install whatever software they like, but still control which software
> is used by the software build.
> 
> There are two schools of thought on this: the first is to call every
> tool on the in the build rules with the tool's full path; the other is
> to adjust the Path in the make file.

The second approach is defeated by executables that happens to live in
the current directory or in directories that windows searces before
resorting to PATH. See bug 7201 and my comment therein
https://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=7201

> [...]
> 
> I don't want to rely on a batch file being run first, I don't want to
> rely on anything. I want the make files to be self contained.

For that sake, having a working $(wildcard) function is a must. The current
wildcard function behaves case sensitively even if HAVE_CASE_INSENSITIVE_FS.
For example, one program can be compiled with or without the Psapi library.
(psapi is an optional library that allows nicer module name reporting.)
One should detect the existence of the library at compile time, searching
for psapi.h and psapi.lib. Currently this requires knowing the exact case
of the files or applying the one-liner patch to glob/glob.c that I'm sending
once more (it wouldn't affect MinGW build w/o HAVE_CASE_INSENSITIVE_FS.)

--- glob\glob.original.c        Sat Jan 22 06:43:04 2000
+++ glob\glob.c Wed Feb 16 18:56:40 2005
@@ -1303,7 +1303,7 @@
             {
               int fnm_flags = ((!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0)
                                | ((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0)
-#if defined _AMIGA || defined VMS
+#if defined _AMIGA || defined VMS || defined HAVE_CASE_INSENSITIVE_FS
                                    | FNM_CASEFOLD
 #endif
                                    );




reply via email to

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