GNU bug report logs -
#26100
Switch from Automake to GNU Make
Previous Next
Reported by: Paul Eggert <eggert <at> cs.ucla.edu>
Date: Wed, 15 Mar 2017 00:17:02 UTC
Severity: normal
Tags: patch
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 26100 in the body.
You can then email your comments to 26100 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#26100
; Package
emacs
.
(Wed, 15 Mar 2017 00:17:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Paul Eggert <eggert <at> cs.ucla.edu>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Wed, 15 Mar 2017 00:17:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Attached is a patch to change the Emacs build procedure to use GNU Make
instead of Automake, along the lines I suggested in January. I tested
this on Fedora 25 and on Solaris 10. Although I've tried to make it
portable to MS-Windows I cannot easily test it there. I plan to do more
testing on it before installing it, and am sending it to bug-gnu-emacs
now to give the MS-Windows folks a heads-up.
http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00097.html
[0001-Switch-from-Automake-to-GNU-Make.patch (application/x-patch, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#26100
; Package
emacs
.
(Wed, 15 Mar 2017 15:36:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 26100 <at> debbugs.gnu.org (full text, mbox):
> From: Paul Eggert <eggert <at> cs.ucla.edu>
> Date: Tue, 14 Mar 2017 17:16:21 -0700
>
> Attached is a patch to change the Emacs build procedure to use GNU Make
> instead of Automake, along the lines I suggested in January. I tested
> this on Fedora 25 and on Solaris 10. Although I've tried to make it
> portable to MS-Windows I cannot easily test it there. I plan to do more
> testing on it before installing it, and am sending it to bug-gnu-emacs
> now to give the MS-Windows folks a heads-up.
Looks okay to me, thanks.
> diff --git a/nt/gnulib-modules-to-delete.cfg b/nt/gnulib-cfg.mk
> similarity index 60%
> rename from nt/gnulib-modules-to-delete.cfg
> rename to nt/gnulib-cfg.mk
> index 09bea0e..4095ecf 100644
> --- a/nt/gnulib-modules-to-delete.cfg
> +++ b/nt/gnulib-cfg.mk
> @@ -1,19 +1,37 @@
> -# This is the list of modules to be deleted from ../lib/gnulib.mk.
> +# Configurations for ../lib/gnulib.mk.
> #
> -# We delete them because they either conflict with MinGW headers or
> +# Copyright 2017 Free Software Foundation, Inc.
> +#
> +# This file is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 3 of the License, or
> +# (at your option) any later version.
> +#
> +# This file is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this file. If not, see <http://www.gnu.org/licenses/>.
> +
> +
> +# Gnulib odules to be omitted from Emacs.
^^^^^^
A typo.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#26100
; Package
emacs
.
(Wed, 15 Mar 2017 17:22:02 GMT)
Full text and
rfc822 format available.
Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):
On Tue 14 Mar 2017, Paul Eggert wrote:
> Attached is a patch to change the Emacs build procedure to use GNU Make
> instead of Automake, along the lines I suggested in January. I tested this on
> Fedora 25 and on Solaris 10. Although I've tried to make it portable to
> MS-Windows I cannot easily test it there. I plan to do more testing on it
> before installing it, and am sending it to bug-gnu-emacs now to give the
> MS-Windows folks a heads-up.
>
> http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00097.html
lib/Makefile.in has:
include ../nt/gnulib-cfg.mk
however for out of tree builds this should be:
include $(top_srcdir)/nt/gnulib-cfg.mk
After that change, I've bootstrapped this successfully from a clean tree
on Windows (64bit msys2 mingw64).
AndyM
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#26100
; Package
emacs
.
(Thu, 16 Mar 2017 00:11:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 26100 <at> debbugs.gnu.org (full text, mbox):
Paul Eggert wrote:
> Attached is a patch to change the Emacs build procedure to use GNU
> Make instead of Automake
Thanks, great news! Nitpicks below.
> --- a/Makefile.in
> +++ b/Makefile.in
> @@ -73,10 +73,6 @@ CDPATH=
> cache_file = @cache_file@
> CONFIGURE_FLAGS = --cache-file=$(cache_file)
>
> -AUTOCONF = @AUTOCONF@
[...]
> -AUTOCONF_INPUTS = $(srcdir)/configure.ac $(srcdir)/aclocal.m4
> -
> -$(srcdir)/configure: $(AUTOCONF_INPUTS)
> - cd ${srcdir} && ${AUTOCONF}
> -
[...]
> +$(srcdir)/configure $(srcdir)/src/stamp-h.in: \
> + $(srcdir)/configure.ac $(srcdir)/m4/*.m4
> + cd $(srcdir) && ./autogen.sh autoconf
autogen.sh passes "-f" to autoreconf, so the new version will be more
aggressive about updating than the old version was. (Also, this hunk
isn't directly related to the overall change, is it?)
> $(srcdir)/src/config.in: $(srcdir)/src/stamp-h.in
> @ # Usually, there's no need to rebuild src/config.in just
> @ # because stamp-h.in has changed (since building stamp-h.in
> @ # refreshes config.in as well), but if config.in is missing
> @ # then we really need to do something more.
> - $(if $(wildcard $@),,cd $(srcdir) && $(AUTOHEADER))
> -$(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
> - cd ${srcdir} && ${AUTOHEADER}
> - rm -f $@
> - echo timestamp > $@
> + $(if $(wildcard $@),,cd $(srcdir) && ./autogen.sh autoconf)
Likewise?
> diff --git a/autogen.sh b/autogen.sh
> index bb3f818..f8e71cb 100755
> --- a/autogen.sh
> +++ b/autogen.sh
[...]
> - autoreconf -fi -I m4 || exit $?
> + autoreconf -fi -I m4 || exit
Also unrelated?
[New files:]
> build-aux/config.guess
> build-aux/config.sub
> build-aux/install-sh
It's a tiny bit disappointing that we need to version these again
(you removed them in 2011).
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#26100
; Package
emacs
.
(Thu, 16 Mar 2017 00:43:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 26100 <at> debbugs.gnu.org (full text, mbox):
Glenn Morris wrote:
>> build-aux/config.guess
>> build-aux/config.sub
>> build-aux/install-sh
>
> It's a tiny bit disappointing that we need to version these again
> (you removed them in 2011).
PS I think this change is good because it makes the build process easier
to understand. Having automake installed is neither here nor there to me.
So I would be fine with automake still being required, but only to get
config.guess etc. But that would be a bit ugly. (I wonder why autoconf
doesn't come with these files?)
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#26100
; Package
emacs
.
(Thu, 16 Mar 2017 09:23:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 26100 <at> debbugs.gnu.org (full text, mbox):
Glenn Morris wrote:
>
> autogen.sh passes "-f" to autoreconf, so the new version will be more
> aggressive about updating than the old version was.
True. However, in practice this is typically what we want, I think, for the
reason mentioned in autogen.sh: if autoreconf itself has changed, we want its
new and not its old output. In the old days when the files were
sort-of-maintained by hand it made sense to avoid -f, but now that we almost
always update them automatically it's better to let the robots go to town.
>(Also, this hunk
> isn't directly related to the overall change, is it?)
It is related, because autogen.sh now does more than invoke autoreconf: it also
creates an up-to-date aclocal.m4 (something autoreconf no longer does).
>> - autoreconf -fi -I m4 || exit $?
>> + autoreconf -fi -I m4 || exit
>
> Also unrelated?
Yes, that's merely a minor cleanup, as "exit $?" is equivalent to "exit" and
it's a bit weird to use the unusual long form (it distracts the reader; at
least, it distracted me).
> It's a tiny bit disappointing that we need to version these again
> (you removed them in 2011).
Yes, the extra files are disappointing. However, it's not as bad as it appears,
for three reasons.
1. These files are automatically generated by admin/merge-gnulib so they are
easy to maintain. Come to think of it, if we could ever get "admin/merge-gnulib"
to be part of the autogen.sh procedure, we could stop versioning these files again.
2. The old way of automatically-generating these files meant that their contents
depended on the vagaries of which version of Automake was used by the
distribution's builder, which meant that Emacs releases sometimes inadvertently
contained obsolete versions of these files. In contrast, the new approach means
all distribution builders use the same version of these files.
3. In practice the recent Gnulib copy of these files tends to be more up-to-date
than the luck-of-the-builder-draw Automake copy, so we'll tend to be more
up-to-date when doing developer builds.
> (I wonder why autoconf doesn't come with these files?)
They were originally developed for other packages and still "belong" to them.
One package (config) predates Autoconf and its maintainer wants to stay
independent. The install-sh file comes from Automake; I suppose it could be
moved to Autoconf but it's low priority (partly as Automake maintenance has
essentially stopped....).
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#26100
; Package
emacs
.
(Thu, 16 Mar 2017 20:14:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 26100 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi!
I tested this, without any issues, with the NS port on macOS.
-- Anders Lindgren
[Message part 2 (text/html, inline)]
Reply sent
to
Paul Eggert <eggert <at> cs.ucla.edu>
:
You have taken responsibility.
(Fri, 17 Mar 2017 19:06:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Paul Eggert <eggert <at> cs.ucla.edu>
:
bug acknowledged by developer.
(Fri, 17 Mar 2017 19:06:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 26100-done <at> debbugs.gnu.org (full text, mbox):
I installed the patch, along with a followup patch fixing glitches I
observed while testing it, and am boldly closing this bug report.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 15 Apr 2017 11:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 8 years and 125 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.