bug-automake
[Top][All Lists]
Advanced

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

Mac OSX vs. VPATH vs. Automake's auto disted files


From: Akim Demaille
Subject: Mac OSX vs. VPATH vs. Automake's auto disted files
Date: Wed, 18 Aug 2004 14:39:45 +0200
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)

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

The problem is that
- Mac OSX (by default) is case preserving, but case insensitive
- Make, when looking for dependencies correctly understands this
- but Make no longer understands this properly when meeting
  dependencies requires walking the VPATH and when the case is
  not exactly the same.

Here is a script to clarify what I mean.

Attachment: vpath-vs-mac-os
Description: Binary data

On my Mac, it results in:

| sulaco% sh -x /tmp/vpath-vs-mac-os
| ++ basename /tmp/vpath-vs-mac-os
| + me=vpath-vs-mac-os
| + tmp=/tmp/vpath-vs-mac-os.tmp
| + rm -rf /tmp/vpath-vs-mac-os.tmp
| + mkdir /tmp/vpath-vs-mac-os.tmp
| + cat
| + make -C /tmp/vpath-vs-mac-os.tmp changelog
| make: Nothing to be done for `changelog'.
| + make -C /tmp/vpath-vs-mac-os.tmp ChangeLog
| make: Nothing to be done for `ChangeLog'.
| + mkdir /tmp/vpath-vs-mac-os.tmp/_build
| + cat
| + make -C /tmp/vpath-vs-mac-os.tmp/_build changelog
| make: Nothing to be done for `../changelog'.
| + make -C /tmp/vpath-vs-mac-os.tmp/_build ChangeLog
| make: *** No rule to make target `ChangeLog'.  Stop.
| sulaco%

How does this affect Automake?

I have a debian/ directory in a project of mine, which includes a
changelog file (not ChangeLog).  Automake makes no difference bw
changelog and ChangeLog, so it magically adds ChangeLog (not
changelog) to DIST_COMMON which is a requirement for distdir.  It is
not prefixed with $(top_srcdir): that's the job of VPATH to ensure
this when build != src.  Therefore, my make dist fails because it
could not find "ChangeLog".

I'm not sure what Automake should do against this...

reply via email to

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