curl / curl-for-win

Reproducible curl binaries for Linux, macOS and Windows
https://curl.se/windows/
MIT License
686 stars 207 forks source link

drop autotools support and dependencies requiring it #69

Closed vszakats closed 5 months ago

vszakats commented 5 months ago

remove support for:

Autotools has been broken for certain configs in curl-for-win since autumn, after introducing Linux MUSL builds. After many weeks of trying, fixing it seems impossible. Possibly because of libtool. Besides this specific issue, autotools turned out to be inflexible, slow, unnecessarily complex, buggy, opaque, with practically unreadable source code, also difficult to edit, and with no clear "best practices" to follow.

Autotools support also seems to be coming historically with external runnable code bundled into source tarballs, making reproducibility difficult, and sneaking in backdoors easy. See CVE-2024-3094.

Autotools is also slow even compared to CMake. It doesn't support single-pass builds for shared/static libs, and has other limitations which appear historical and without any hope/desire to ever change. Windows support is also pretty much accidental, and by being based on arcane not-even-POSIX shell/utilities, it's not natively supporting it anyway and never will.

This also means that curl-for-win builds will not attempt to support dependencies that require autotools. But, this also means that this may give way for supporting new build tools in the future.