Re: curl's XC_AMEND_DISTCLEAN (Seeking contractor for a regression bug fix)
Ilmari Lauhakangas <[email protected]>
| Newsgroups | gmane.comp.sysutils.automake.general |
|---|---|
| Message-ID | <[email protected]> |
On 2.3.2023 17.12, Jan Engelhardt wrote: > > On Thursday 2023-03-02 09:56, Ilmari Lauhakangas wrote: >> last year I reported a regression in automake: >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59288 > > To the best of my knowledge, automake only runs during `autoreconf`, > but not during ./configure. So this looks less like an automake bug. > > I also notice: > - big makefile with ./configure (as in the report) > - normal-sized makefile when I run ./config.status > > So configure does more than config.status, as evidenced from stdout: > > root@a4:~/curl# ./config.status > config.status: creating Makefile > ... > config.status: creating packages/vms/Makefile > config.status: creating curl-config > config.status: creating libcurl.pc > config.status: creating lib/curl_config.h > config.status: lib/curl_config.h is unchanged > config.status: executing depfiles commands > config.status: executing libtool commands > root@a4:~/curl# > > # ./configure > ... > config.status: creating packages/vms/Makefile > config.status: creating curl-config > config.status: creating libcurl.pc > config.status: creating lib/curl_config.h > config.status: lib/curl_config.h is unchanged > config.status: executing depfiles commands > config.status: executing libtool commands > configure: amending lib/Makefile > configure: amending src/Makefile > configure: amending tests/unit/Makefile > configure: amending tests/server/Makefile > configure: amending tests/libtest/Makefile > configure: amending docs/examples/Makefile > configure: Configured to build curl/libcurl: > > One will find that there is a file m4/xc-am-iface.m4 and a m4 macro > "XC_AMEND_DISTCLEAN". Whatever this is - the git log and the macro comment are > not useful: > > dnl This macro performs shell code embedding into > dnl configure script in order to modify distclean > dnl and maintainer-clean targets of makefiles which > dnl are located in given list of subdirs. > > but whatever it does, it causes the 682x duplication you see. > So it's a curl problem. Here's a patch. > > > From 74fa25bb5817f38c36c71820731eede6bc3be311 Mon Sep 17 00:00:00 2001 > From: Jan Engelhardt <[email protected]> > Date: Thu, 2 Mar 2023 16:08:22 +0100 > Subject: [PATCH] build: ditch the use of XC_AMEND_DISTCLEAN > > This messes up the distclean targets in automake 1.16. > It's unclear what XC_AMEND_DISTCLEAN is supposed to fix > in the first place, all the more reason to remove it. > --- > configure.ac | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 276c78474..988183d5d 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -4665,8 +4665,6 @@ AC_OUTPUT > > CURL_GENERATE_CONFIGUREHELP_PM > > -XC_AMEND_DISTCLEAN([lib src tests/unit tests/server tests/libtest docs/examples]) > - > AC_MSG_NOTICE([Configured to build curl/libcurl: > > Host setup: ${host} That's amazing! I verify that your change fixes the issue for me, testing with curl configure after 'autoreconf -fi'. Would you like to submit it to curl upstream? As I started this with a contracting proposal, let me know if you have any requests, like a donation target or something. Regards, Ilmari Lauhakangas