One-click static-friendly musl-based GCC macOS-to-Linux cross-compilers based on richfelker/musl-cross-make.
brew install FiloSottile/musl-cross/musl-cross
By default it will build a full cross compiler toolchain targeting musl Linux amd64.
You can then use
x86_64-linux-musl- versions of the tools to build for the target.
x86_64-linux-musl-cc will compile C code to run on musl Linux amd64.
The "musl" part of the target is important: the binaries will ONLY run on a musl-based system, like Alpine.
However, if you build them as static binaries by passing
-static as an LDFLAG they will run anywhere.
Musl is specifically engineered to support static binaries.
Other architectures are supported. For example you can build a Raspberry Pi cross-compiler:
brew install FiloSottile/musl-cross/musl-cross --without-x86_64 --with-arm-hf
You can also use
--with-i486 (x86 32-bit),
--with-aarch64 (ARM 64-bit),
--with-arm (ARM soft-float) and
(Note: a custom build can take up to several hours, depending on the selected architectures and on the host CPU.)
Only tested on macOS Catalina.