5 ms·
The part I always struggled with regarding 4. is that if printf() didn't exist, it's not like it bundles its own compat library. It just errors out, with a very
by technion 4y ago
The part I always struggled with regarding 4. is that if printf() didn't exist, it's not like it bundles its own compat library. It just errors out, with a very similar error to what a user would get if they simply tried to compile the code that called a library you didn't have. This "pre compile test" didn't actually add anything to the picture.
- glandium 4y agoWould you rather your build failed during configure or 10 minutes into the build, where parallelism will make the compile still print tons of things after the error message?
- jonstewart 4y agoI would rather the printf check be handled by the compiler than in the configure check because the compiler will of course know that printf is present and not waste your time.
- mort96 4y agoHonestly? If the question is if I would A) make everyone everywhere spend minutes (or potentially hours on Windows) all the time running the configure script any time anything changes, or B) not spend all that extra time running configure but maybe get a compile error a few minutes later if I'm compiling on extremely weird systems (such as ones without printf), I think I'd take B. Especially since configure doesn't actually make anything any faster even in most cases where it _does_ detect errors. It aborts at the first error. So when I'm missing packages for example, I will wait half a minute while `./configure` runs, then it errors with a single missing package, then I will install that package and re-run `./configure`, wait another half a minute until it prints another single missing package, etc. Repeat until I have all packages. I hate autotools so much. Configure scripts should either run in parallel, or cache its results, or both (ideally both), and they should report as many errors as it can before aborting.
- Thiez 4y agoIf that means that there will be no check in advance for printf: hell yes. Perhaps the error printing during a parallel build could also be improved somehow.
- liftm 4y agoninja solves that parallelism-issue quite nicely. So do most IDEs.
- glandium 4y agoIME, ninja doesn't solve that issue. At least not in the versions I've used.