On Mon, 7 Jul 2025 at 13:03, Collin Funk <collin.fu...@gmail.com> wrote:

> Martin D Kealey <mar...@kurahaupo.gen.nz> writes:
> > it's SLOW.


Any comments on this point?

It seems like the main causes of inadequate speed are:
(1) Lack of parallelism.
(2) A monolithic probe-test-result cache structure, that's either "all
valid" or "all discarded".

For example, if I just change, say, exec_prefix, it's a pain that this
causes the entire probe suite to be re-run.


> for software that is intended for many operating systems (Hurd, AIX, *BSD,
> Solaris, etc.), as most GNU software is, it makes life much easier.
> [...]
>
And each platform has bugs in its implementation of the standard.
>

I didn't mean to imply that detecting and adapting to OS & compiler
features and bugs isn't essential.

I've written software for most of those other platforms, so I'm familiar
with the pain when everyone assumes all platforms are alike.

My core issue is why do all the compiler and OS probes need to be done by
every project? It's not like those things change on a daily basis - unlike
deployment options like $exec_prefix, which can (and in my case DO) change
on every build.

There's still an important place for autoconf, but I think it could be
improved by (a) separating it into distinct phases, and (b) separately
caching the result of each probe, indexed by relevant identifiers (OS,
compiler, libc), so that they could potentially be distributed as an
accompaniment for each *compiler*.

Regarding your specific issue, I would recommend modifying your wrapper
> to remove -Werror when running the configure step.


That's about where I got up to myself:
 no_gcc_Werror=yes ./configure ...

I would like to make that automatic; can I rely on finding $as_nl in the
environment when run from configure?

Reply via email to