Subject: Re: [bug#72225] [PATCH] _AM_PROG_CC_C_O: clean up after .dSYM directories properly

From: "Zack Weinberg" <[email-masked]>
Date: Sun, 21 Jul 2024 10:16:04 -0400

On Sun, Jul 21, 2024, at 5:20 AM, Eric Gallager via Patches for Automake wrote:
> On darwin, the compiler will generate .dSYM directories (for debug
> info) alongside executables when invoked, leading to messages like the
> following in configure output:
>
> checking whether /usr/local/bin/gcc understands -c and -o together...
> rm: conftest.dSYM: is a directory
> yes
>
> The attached patch ought to fix this by passing the -r flag to the rm
> invocation that's meant to clean up the conftests. One concern,
> though, is that in the same invocation, it also tries to remove
> anything called "core", so I worry what might happen with this change
> if "core" happens to be a directory... should I handle that
> separately?

Tests generated by autoconf proper use this formula for cleaning up after
link tests:

rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.o conftest.obj conftest.dSYM

I'd suggest that _AM_PROG_CC_C_O should be aligned with this - which means
*not* deleting anything named 'core'.  You may or may not have $ac_ext available;
even if you don't I'd suggest that you also make the 'conftest*' glob more
specific (without having looked at the rest of am-prog-cc-c-o.m4, something
like 'conftest.c conftest.o conftest.obj conftest.dSYM' is probably close).

zw