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 ); _______________________________________________ Make-w32 mailing list [email protected] http://lists.gnu.org/mailman/listinfo/make-w32
