| # Sample TOML configuration file for building Rust. |
| # |
| # All options are commented out by default in this file, and they're commented |
| # out with their default values. The build system by default looks for |
| # `config.toml` in the current directory of a build for build configuration, but |
| # a custom configuration file can also be specified with `--config` to the build |
| # system. |
| |
| # ============================================================================= |
| # Tweaking how LLVM is compiled |
| # ============================================================================= |
| [llvm] |
| |
| # Indicates whether the LLVM build is a Release or Debug build |
| #optimize = true |
| |
| # Indicates whether the LLVM assertions are enabled or not |
| #assertions = false |
| |
| # Indicates whether ccache is used when building LLVM |
| #ccache = false |
| |
| # If an external LLVM root is specified, we automatically check the version by |
| # default to make sure it's within the range that we're expecting, but setting |
| # this flag will indicate that this version check should not be done. |
| #version-check = false |
| |
| # Link libstdc++ statically into the librustc_llvm instead of relying on a |
| # dynamic version to be available. |
| #static-libstdcpp = false |
| |
| # Tell the LLVM build system to use Ninja instead of the platform default for |
| # the generated build system. This can sometimes be faster than make, for |
| # example. |
| #ninja = false |
| |
| # ============================================================================= |
| # General build configuration options |
| # ============================================================================= |
| [build] |
| |
| # Build triple for the original snapshot compiler. This must be a compiler that |
| # nightlies are already produced for. The current platform must be able to run |
| # binaries of this build triple and the nightly will be used to bootstrap the |
| # first compiler. |
| #build = "x86_64-unknown-linux-gnu" # defaults to your host platform |
| |
| # In addition to the build triple, other triples to produce full compiler |
| # toolchains for. Each of these triples will be bootstrapped from the build |
| # triple and then will continue to bootstrap themselves. This platform must |
| # currently be able to run all of the triples provided here. |
| #host = ["x86_64-unknown-linux-gnu"] # defaults to just the build triple |
| |
| # In addition to all host triples, other triples to produce the standard library |
| # for. Each host triple will be used to produce a copy of the standard library |
| # for each target triple. |
| #target = ["x86_64-unknown-linux-gnu"] # defaults to just the build triple |
| |
| # Instead of downloading the src/nightlies.txt version of Cargo specified, use |
| # this Cargo binary instead to build all Rust code |
| #cargo = "/path/to/bin/cargo" |
| |
| # Instead of downloading the src/nightlies.txt version of the compiler |
| # specified, use this rustc binary instead as the stage0 snapshot compiler. |
| #rustc = "/path/to/bin/rustc" |
| |
| # Flag to specify whether any documentation is built. If false, rustdoc and |
| # friends will still be compiled but they will not be used to generate any |
| # documentation. |
| #docs = true |
| |
| # Indicate whether the compiler should be documented in addition to the standard |
| # library and facade crates. |
| #compiler-docs = false |
| |
| # ============================================================================= |
| # Options for compiling Rust code itself |
| # ============================================================================= |
| [rust] |
| |
| # Whether or not to optimize the compiler and standard library |
| #optimize = true |
| |
| # Number of codegen units to use for each compiler invocation. A value of 0 |
| # means "the number of cores on this machine", and 1+ is passed through to the |
| # compiler. |
| #codegen-units = 1 |
| |
| # Whether or not debug assertions are enabled for the compiler and standard |
| # library |
| #debug-assertions = false |
| |
| # Whether or not debuginfo is emitted |
| #debuginfo = false |
| |
| # Whether or not jemalloc is built and enabled |
| #use-jemalloc = true |
| |
| # Whether or not jemalloc is built with its debug option set |
| #debug-jemalloc = false |
| |
| # Whether or not `panic!`s generate backtraces (RUST_BACKTRACE) |
| #backtrace = true |
| |
| # The default linker that will be used by the generated compiler. Note that this |
| # is not the linker used to link said compiler. |
| #default-linker = "cc" |
| |
| # The default ar utility that will be used by the generated compiler if LLVM |
| # cannot be used. Note that this is not used to assemble said compiler. |
| #default-ar = "ar" |
| |
| # The "channel" for the Rust build to produce. The stable/beta channels only |
| # allow using stable features, whereas the nightly and dev channels allow using |
| # nightly features |
| #channel = "dev" |
| |
| # The root location of the MUSL installation directory. The library directory |
| # will also need to contain libunwind.a for an unwinding implementation. |
| #musl-root = "..." |
| |
| # By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix |
| # platforms to ensure that the compiler is usable by default from the build |
| # directory (as it links to a number of dynamic libraries). This may not be |
| # desired in distributions, for example. |
| #rpath = true |
| |
| # Flag indicating whether tests are compiled with optimizations (the -O flag) or |
| # with debuginfo (the -g flag) |
| #optimize-tests = true |
| #debuginfo-tests = true |
| |
| # ============================================================================= |
| # Options for specific targets |
| # |
| # Each of the following options is scoped to the specific target triple in |
| # question and is used for determining how to compile each target. |
| # ============================================================================= |
| [target.x86_64-unknown-linux-gnu] |
| |
| # C compiler to be used to compiler C code and link Rust code. Note that the |
| # default value is platform specific, and if not specified it may also depend on |
| # what platform is crossing to what platform. |
| #cc = "cc" |
| |
| # C++ compiler to be used to compiler C++ code (e.g. LLVM and our LLVM shims). |
| # This is only used for host targets. |
| #cxx = "c++" |
| |
| # Path to the `llvm-config` binary of the installation of a custom LLVM to link |
| # against. Note that if this is specifed we don't compile LLVM at all for this |
| # target. |
| #llvm-config = "../path/to/llvm/root/bin/llvm-config" |
| |
| # Path to the custom jemalloc static library to link into the standard library |
| # by default. This is only used if jemalloc is still enabled above |
| #jemalloc = "/path/to/jemalloc/libjemalloc_pic.a" |
| |
| # If this target is for Android, this option will be required to specify where |
| # the NDK for the target lives. This is used to find the C compiler to link and |
| # build native code. |
| #android-ndk = "/path/to/ndk" |