Add the ability to create Linux and macOS binaries. We are
keeping the name curl-for-win though. Non-Windows
binaries are experimental at this point and they are not
official curl binaries for these platforms.
Highlights:
add support for Linux builds (both clang and gcc).
add support for Linux cross-CPU (arm64-x86_64) builds with glibc.
add support for Linux MUSL builds, both clang and gcc, hosted on
either Alpine, Debian bookworm / bullseye / trixie.
use full relro, _FORTIFY_SOURCE=2 and -fstack-protector-all
for Linux.
add support for Linux MUSL cross-built from macOS.
(experimental)
add support for macOS builds (hosted on macOS),
both llvm-clang and Apple clang. These also feature LDAP/LDAPS
and SecureTransport support.
add support for Universal macOS builds.
dump info about the built Linux and macOS binaries.
add new GitHub Actions to builds a set of selected combinations,
both daily and per-commit. This is subject to change.
enable ASM support for ARM64 with BoringSSL.
add hack to build x64 Windows again with BoringSSL.
add support for AWS-LC (BoringSSL-like) TLS backend.
(it requires MSVC, so Windows not supported for this backend.)
add support for bldtst builds that use no 3rd-party
dependencies except zlib. To make build tests/porting easier.
add spuport for nozlib option to fully opt-out from
3rd-party dependencies when used together with bldtst.
fix curl autotools builds without any TLS backend.
fix compatibility with bash v3.x.
fix scripts for busybox.
remove dependence on dos2unix and unix2dos tools.
remove dependence on realpath command.
fixup deleting our local gpgdir on abort.
Caveats:
This is an ongoing effort. There is a lot to explore and complete,
some of these listed in the TODO section of _build.sh.
Linux MUSL cannot be cross-built yet for other CPUs.
libcurl static and shared libs build without errors, but they were
not functionally tested yet.
Due to weirdness and possibly bugs in the Xcode toolchain,
reproducible builds are not yet possible for macOS. (unless
using llvm/clang.)
Add the ability to create Linux and macOS binaries. We are keeping the name
curl-for-win
though. Non-Windows binaries are experimental at this point and they are not official curl binaries for these platforms.Highlights:
relro
,_FORTIFY_SOURCE=2
and-fstack-protector-all
for Linux.bldtst
builds that use no 3rd-party dependencies except zlib. To make build tests/porting easier.nozlib
option to fully opt-out from 3rd-party dependencies when used together withbldtst
.dos2unix
andunix2dos
tools.realpath
command.gpgdir
on abort.Caveats:
_build.sh
.Linux:
macOS (quictls + SecureTransport):
Closes #53
Merge without squashing!