|
| 1 | +# By default, cross compilers are installed to ./output under the top-level |
| 2 | +# musl-cross-make directory and can later be moved wherever you want them. |
| 3 | +# To install directly to a specific location, set it here. Multiple targets |
| 4 | +# can safely be installed in the same location. Some examples: |
| 5 | + |
| 6 | +#OUTPUT = /opt/musl/armhf |
| 7 | + |
| 8 | +# By default, latest supported release versions of musl and the toolchain |
| 9 | +# components are used. You can override those here, but the version selected |
| 10 | +# must be supported (under hashes/ and patches/) to work. For musl, you |
| 11 | +# can use "git-refname" (e.g. git-master) instead of a release. Setting a |
| 12 | +# blank version for gmp, mpc, mpfr and isl will suppress download and |
| 13 | +# in-tree build of these libraries and instead depend on pre-installed |
| 14 | +# libraries when available (isl is optional and not set by default). |
| 15 | +# Setting a blank version for linux will suppress installation of kernel |
| 16 | +# headers, which are not needed unless compiling programs that use them. |
| 17 | + |
| 18 | +# BINUTILS_VER = |
| 19 | +GCC_VER = 11.2.0 |
| 20 | + |
| 21 | +# https://github.com/rust-embedded/cross/issues/478 |
| 22 | +# https://github.com/rust-lang/libc/issues/1848 |
| 23 | + |
| 24 | +MUSL_VER = 1.1.24 |
| 25 | + |
| 26 | +# GMP_VER = |
| 27 | +# MPC_VER = |
| 28 | +# MPFR_VER = |
| 29 | +# ISL_VER = |
| 30 | +# LINUX_VER = |
| 31 | + |
| 32 | +# By default source archives are downloaded with wget. curl is also an option. |
| 33 | + |
| 34 | +# DL_CMD = wget -c -O |
| 35 | +DL_CMD = curl -C - -L -o |
| 36 | + |
| 37 | +# Something like the following can be used to produce a static-linked |
| 38 | +# toolchain that's deployable to any system with matching arch, using |
| 39 | +# an existing musl-targeted cross compiler. This only # works if the |
| 40 | +# system you build on can natively (or via binfmt_misc and # qemu) run |
| 41 | +# binaries produced by the existing toolchain (in this example, i486). |
| 42 | + |
| 43 | +# COMMON_CONFIG += CC="i486-linux-musl-gcc -static --static" CXX="i486-linux-musl-g++ -static --static" |
| 44 | + |
| 45 | +# Recommended options for smaller build for deploying binaries: |
| 46 | + |
| 47 | +COMMON_CONFIG += CFLAGS="-g0 -Os -w" CXXFLAGS="-g0 -Os -w" LDFLAGS="-s" |
| 48 | + |
| 49 | +# Recommended options for faster/simpler build: |
| 50 | + |
| 51 | +COMMON_CONFIG += --disable-nls |
| 52 | +GCC_CONFIG += --enable-languages=c,c++ |
| 53 | +GCC_CONFIG += --disable-libquadmath --disable-decimal-float |
| 54 | +GCC_CONFIG += --disable-multilib |
| 55 | + |
| 56 | +# You can keep the local build path out of your toolchain binaries and |
| 57 | +# target libraries with the following, but then gdb needs to be told |
| 58 | +# where to look for source files. |
| 59 | + |
| 60 | +COMMON_CONFIG += --with-debug-prefix-map=$(CURDIR)= |
0 commit comments