IRC channel logs
2024-08-02.log
back to list of logs
<mid-kid><@oriansj> aggi: interesting observation about configure's behavior looking for unneeded things. Makes me wonder how much many configure scripts and builds could be simplified if people cared. <mid-kid>if you know the exact details about the system being compiled for in many cases you don't need to run the configure script at all <mid-kid>you just make a config.h with the necessary defines and replace the relevant markers in the Makefile.in <mid-kid>sometimes this can make compiling for "weird" systems easier, since it's harder to debug the tests than just hardcode a define <mid-kid>the idea of autoconf is basically introducing graceful degradation into the build system <mid-kid>testing and adapting for different systems makes software more flexible and allows automatically picking up new features introduced by newer versions of compilers/libraries on the platforms that have them <mid-kid>and you don't have to specifically support every platform, in many cases, it may just work <mid-kid>and when it doesn't work, autoconf is rather descriptive about it and catches it before it becomes an issue at runtime <mid-kid>so it's generally unwise to hardcode autoconf output unless you're 100% sure everything will always be a certain way <mid-kid>I've seen people remove autoconf from projects in favor of makefile, resulting in a lot of headaches on different plaforms <mid-kid>But for a project like this where everything is always 100% known and verified (byte-matching), it might make sense to reduce the amount of dependencies by doing that <aggi>mid-kid: musl-libc-<1.1.x|1.2.x> are mis-compiled by tcc-toolchain for dynamic linking aginst libc.so <aggi>i couldn't debug/bisct agsinst gcc yet, why that is <aggi>in worst case, i'll run this static-linking <aggi>tried a few things last night, compiling with tcc, and linking with gcc for example, no look yet <aggi>musl-libc doesn't use GNU-buildsystem <aggi>i could try with any other, such as uclibc or newlib <aggi>i am in no hurry over this, none of my problems <andydude>@mid-kid: I'm currently trying to rewrite autoconf in C <andydude>I would eschew any attempt at replacing m4, make, shell, etc. but I have an irrational fear of perl5 <Googulator>andydude: that would be awesome; supporting GNU build system as soon as we have a real shell <Googulator>in live-bootstrap, the first shell we build has a nasty bug that makes a WSL2-based bootstrap impossible <Googulator>if I rebuild the same version of Bash using an autoconf / configure-generated makefile, globbing works perfectly <Googulator>unfortunately that bug triggers precisely in the autoconf bootstrap <matrix_bridge><Andrius Štikonas> It might be possible to.determine what config define is needed.to fix that bug... <matrix_bridge><Andrius Štikonas> But hard to do unless you have access to wsl2 <mid-kid>anyone know what paths gcc searches for specs files <mid-kid>it's not documented anywhere but I know gcc has a way to override the internal specs file by putting a file somewhere in its install dirs <mid-kid>and this code seems to imply it's searching a path so I would like to know how it works