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

Jan Engelhardt <[email protected]>
Newsgroups gmane.comp.sysutils.automake.general
Message-ID <[email protected]>
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}
-- 
2.39.2
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.