bug-autoconf
[Top][All Lists]
Advanced

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

Re: autoconf-2.62: `make install' fails if file system is case insensiti


From: Eric Blake
Subject: Re: autoconf-2.62: `make install' fails if file system is case insensitive
Date: Tue, 3 Jun 2008 19:29:24 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Eric Blake <ebb9 <at> byu.net> writes:

> |   $ make install
> |   Makefile:678: warning: overriding commands for target `install'
> 
> Thanks for the report and patch.  I tested it with BSD make, and it
> appeared to work just fine, so I'm installing it.

Unfortunately, I failed to test 'make dist', which breaks when you are using 
GNU make.  There, GNUmakefile intentionally removes INSTALL to force its 
regeneration, but Automake in --gnu mode uses plain INSTALL rather than the 
more convoluted '$(abs_srcdir)/INSTALL' as the automatic dependency for 
distdir, giving this fun message:

$ make dist-gzip
INFO: running autoreconf for new version string: 2.62.24-f15bc
autoreconf: Entering directory `.'
...
config.status: executing tests/atconfig commands
make: *** No rule to make target `INSTALL', needed by `distdir'.  Stop.

And that state was pretty awkward to recover from - 'make all' normally builds 
INSTALL, but since the Makefile recognizes that it is out of date compared to 
Makefile.in, it tries to rerun automake, which complains that INSTALL doesn't 
exist.  I had to 'touch Makefile.in; touch Makefile; make `pwd`/INSTALL; 
automake' to try any changes.

This patch fixes things for me on a case-sensitive GNU 'make dist' run, so I'm 
installing it; I don't know if it negatively affects anything with case-
insensitive make, but hope that trying to do 'make dist' on MSYS is a 
relatively rare task.

>From d4c52d5b1584aa51707127e3768074dddf314e18 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Tue, 3 Jun 2008 13:24:37 -0600
Subject: [PATCH] Fix 'make dist' regression from 2008-05-08.

* Makefile.am (INSTALL): Add rule, to accomodate 'make dist' after
GNUmakefile's _autoconf rule removes INSTALL.

Signed-off-by: Eric Blake <address@hidden>
---
 ChangeLog   |    6 ++++++
 Makefile.am |    5 +++++
 2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5d2c610..76340a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-06-03  Eric Blake  <address@hidden>
+
+       Fix 'make dist' regression from 2008-05-08.
+       * Makefile.am (INSTALL): Add rule, to accomodate 'make dist' after
+       GNUmakefile's _autoconf rule removes INSTALL.
+
 2008-05-27  Eric Blake  <address@hidden>
 
        Document Solaris /bin/sh redirection pitfall.
diff --git a/Makefile.am b/Makefile.am
index 4682297..3ccaf2b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,6 +36,11 @@ MAINTAINERCLEANFILES = $(abs_srcdir)/INSTALL
 ## INSTALL.  ##
 ## --------- ##
 
+## abs_srcdir is necessary for case-insensitive make to distinguish from
+## 'make install'.  But automake also insists that the plain target INSTALL
+## exist prior to 'make dist'.
+INSTALL: $(abs_srcdir)/INSTALL
+
 pkgdata_DATA = $(abs_srcdir)/INSTALL
 AM_MAKEINFOFLAGS = --no-headers --no-validate --no-split
 $(abs_srcdir)/INSTALL: $(top_srcdir)/doc/install.texi
-- 
1.5.5.1







reply via email to

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