Le 23 août 04, à 18:58, Paul D. Smith a écrit :

%% Akim Demaille <[EMAIL PROTECTED]> writes:

ad> I met a problem on Mac OSX, and diagnosed it as follows. I would not
ad> call this a problem in Automake. Probably GNU Make 3.79 is the most
ad> likely culprit, but at least I wanted to describe this issue in case
ad> someone else finds it.


  ad> The problem is that
  ad> - Mac OSX (by default) is case preserving, but case insensitive
  ad> - Make, when looking for dependencies correctly understands this

This is not true. Unless you are setting some special flags in the
build of GNU make (please let me know what they are if so) GNU make
always assumes normal UNIX filesystem semantics: that is, case-sensitive
and case-preserving.

Any means to get the flags from make itself? I don't know how Apple built it: that's stock Make.

What is probably happening here is that make is looking up the filename
and the underlying operating system sees that it does exist (because
it's case-insensitive).

But make does not understand this.

  ad> - but Make no longer understands this properly when meeting
  ad>   dependencies requires walking the VPATH and when the case is
  ad>   not exactly the same.

In this case what's probably happening is that VPATH is causing make to
read the directory structure into its directory cache, and then make is
looking through the list of files in the directory and doing string
comparisons to find the filename.  In this case, of course, the strings
will not match so the VPATH lookup fails.

OK.

There is a #define in the GNU make code called HAVE_CASE_INSENSITIVE_FS
which you can set if your filesystem is case-insensitive.  Set it in
config.h after the configure script has run; that might help.  If so we
can think about whether this is something that should always be set for
OSX.

I'm not sure about the "always". It is my understanding that not all the FS
on MacOSX are case insensitive.






Reply via email to