[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Automake 1.16.1: problem with non-gnu make and gnulib
From: |
Assaf Gordon |
Subject: |
Re: Automake 1.16.1: problem with non-gnu make and gnulib |
Date: |
Sat, 24 Aug 2019 15:27:55 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
Hello Mathieu, Karl,
On 2019-08-24 11:43 a.m., Mathieu Lirzin wrote:
On Sat, 24 Aug 2019, Assaf Gordon wrote:
I've encountered a problem where a released tarball (of 'make dist')
generated by Automake-1.16.1 fails to build with non-gnu make (e.g.
"bmake" on BSDs).
The exact same project and 'make dist' with automake-1.15 builds fine.
One convenient way to detect what caused this problem would be to do a
‘git bisect’ session on Automake VCS repository and analyse the diff of
the commit introducing the failure.
The offending commit is:
---
https://git.sv.gnu.org/cgit/automake.git/commit/?id=f4e91bfc
commit f4e91bfc490da63209aad19636568da3b955dcd4
Date: Mon Mar 13 12:41:59 2017 +0100
automake: Shorter object file names under subdir-objects
Combining the 'subdir-objects' option with target-specific flags had
the consequence of producing long object file names. This was done to
preventively ensure the uniqueness of object file names. We are now
using shorter names by default, and handle long names when an actual
conflict is detected. This will hopefully reduce the necessity of
using the 'prog_SHORTNAME' facility.
Example:
previously:
AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS += path/to/foo
path_to_foo_CFLAGS = $(AM_CFLAGS) -g
resulted in objects:
sub/path_to_foo-foo.o
now object file name is:
sub/foo-foo.o
---
On 2019-08-24 3:14 p.m., Karl Berry wrote:> Low-tech idea similar to git
bisect: do the 1.15 build and 1.16
build in separate dirs, diff -r the Makefile.am's.
Good idea.
I'm attaching the diff of the Makefile.in (which is the file generated
by automake) when building "gnu hello".
Some targets changed location in the file, but I don't think that matters.
The one thing the pops up is that in the "good" version,
there are "distdir distdir-am dist dist-all" targets,
while in the "bad" version there is no "distdir-am" target.
Later on there's this:
====
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
====
I tested by simply doing:
git clone git://git.sv.gnu.org/hello.git
cd hello
./bootstrap
./configure
bmake
Once with automake commit f4e91bfc (bad one),
and once with the preceeding commit c946ae (good one).
-----
investigation continues...
thanks,
- assaf
makefile.in.diff
Description: Text Data
- Automake 1.16.1: problem with non-gnu make and gnulib, Assaf Gordon, 2019/08/24
- Re: Automake 1.16.1: problem with non-gnu make and gnulib, Bob Friesenhahn, 2019/08/24
- Re: Automake 1.16.1: problem with non-gnu make and gnulib, Assaf Gordon, 2019/08/24
- Re: Automake 1.16.1: problem with non-gnu make and gnulib, Mathieu Lirzin, 2019/08/24
- Re: Automake 1.16.1: problem with non-gnu make and gnulib,
Assaf Gordon <=
- Re: Automake 1.16.1: problem with non-gnu make and gnulib, Assaf Gordon, 2019/08/24
- Re: Automake 1.16.1: problem with non-gnu make and gnulib, Mathieu Lirzin, 2019/08/24
- Re: Automake 1.16.1: problem with non-gnu make and gnulib, Bob Friesenhahn, 2019/08/24
- Re: Automake 1.16.1: problem with non-gnu make and gnulib, Assaf Gordon, 2019/08/24
- Re: Automake 1.16.1: problem with non-gnu make and gnulib, Bob Friesenhahn, 2019/08/25
- Re: Automake 1.16.1: problem with non-gnu make and gnulib, Thomas Martitz, 2019/08/28