[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: define ACLOCAL_M4 even in subdirectories
From: |
Jim Meyering |
Subject: |
Re: define ACLOCAL_M4 even in subdirectories |
Date: |
Fri, 14 Mar 2003 16:30:36 +0100 |
Jim Meyering <address@hidden> wrote:
> I've just discovered that automake-1.7.3 generates incomplete dependencies
> for every Makefile.in not in the top level directory. E.g.,
>
> $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in
> $(ACLOCAL_M4)
> ...
>
> The problem is that ACLOCAL_M4 is defined only in the top level Makefile.in.
> I've included a patch below.
>
> Jim
>
> [FYI, this caused coreutils-4.5.10 not to include 3 new files (all
> portability-related) in spite of `make distcheck' and building/testing
> on a dozen different systems. Of course I didn't build/test on
> the one system (Cygwin) that required/used those three files. I'll
> see about getting access to such a system for pre-release testing. ]
>
> 2003-03-14 Jim Meyering <address@hidden>
>
> * automake.in (scan_aclocal_m4): Define ACLOCAL_M4 even in
> subdirectories. Makefile.in depends on that variable.
As Alexandre just pointed out to me privately, that patch
mistakenly removed the INTERNAL argument. Here's a corrected patch.
Index: automake.in
===================================================================
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.1437
diff -u -p -u -p -r1.1437 automake.in
--- automake.in 26 Feb 2003 20:53:48 -0000 1.1437
+++ automake.in 14 Mar 2003 15:30:04 -0000
@@ -4356,6 +4356,13 @@ sub scan_aclocal_m4
{
my $regen_aclocal = 0;
+ if (-f 'aclocal.m4')
+ {
+ # When using aclocal.m4, define this variable even in subdirectories,
+ # because every Makefile.in depends on $(ACLOCAL_M4).
+ &define_variable ("ACLOCAL_M4", '$(top_srcdir)/aclocal.m4', INTERNAL);
+ }
+
return (0, ())
unless $relative_dir eq '.';
@@ -4364,7 +4371,6 @@ sub scan_aclocal_m4
if (-f 'aclocal.m4')
{
- &define_variable ("ACLOCAL_M4", '$(top_srcdir)/aclocal.m4', INTERNAL);
&push_dist_common ('aclocal.m4');
my $aclocal = new Automake::XFile "< aclocal.m4";