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?