/crosstools

build a cross-compilation toolchain from sources

Primary LanguageMakefile

This project is no longer actively maintained. I recommend installing a cross compiler using the Nix package manager:

let
	linux32 = import <nixpkgs> { crossSystem = { config = "i686-linux"; }; };
	linux64 = import <nixpkgs> { crossSystem = { config = "x86_64-linux"; }; };
	win32 = import <nixpkgs> { crossSystem = { config = "i686-pc-mingw32"; libc = "msvcrt"; }; };
	win64 = import <nixpkgs> { crossSystem = { config = "x86_64-pc-mingw32"; libc = "msvcrt"; }; };
in (import <nixpkgs> {}).mkShell {
	buildInputs = [
		linux32.buildPackages.gcc
		linux64.buildPackages.gcc
		win32.buildPackages.gcc
		win64.buildPackages.gcc
	];
}

Cross-Compiler for macOS

Simply run make to build macOS-hosted cross-compilation toolchains targeting

  • Linux/i386,
  • Linux/x86_64
  • Windows/i386, and
  • Windows/x86_64.

Runtime libraries are taken from Ubuntu and Mingw-w64. The build system will tell you, which sources you need to download and unpack.

Note that the entire build runs sandboxed to bar it from polluting your system. Keep this in mind when something fails.

This work is licensed under the WTFPL, so you can do anything you want with it.