automake
[Top][All Lists]
Advanced

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

Re: curl's XC_AMEND_DISTCLEAN (Seeking contractor for a regression bug f


From: Ilmari Lauhakangas
Subject: Re: curl's XC_AMEND_DISTCLEAN (Seeking contractor for a regression bug fix)
Date: Thu, 2 Mar 2023 18:18:53 +0200

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 <jengelh@inai.de>
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



reply via email to

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