# 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 ccache is used when building LLVM #ccache = false # or alternatively ... #ccache = "/path/to/ccache" # LLVM targets to build support for. # Note: this is NOT related to Rust compilation targets. However, as Rust is # dependent on LLVM for code generation, turning targets off here WILL lead to # the resulting rustc being unable to compile for the disabled architectures. # Also worth pointing out is that, in case support for new targets are added to # LLVM, enabling them here doesn't mean Rust is automatically gaining said # support. You'll need to write a target specification at least, and most # likely, teach rustc about the C ABI of the target. Get in touch with the # Rust team and file an issue if you need assistance in porting! #targets = "X86;ARM;AArch64;Mips;PowerPC;SystemZ;JSBackend;MSP430;Sparc;NVPTX;Hexagon" # Cap the number of parallel linker invocations when compiling LLVM. # This can be useful when building LLVM with debug info, which significantly # increases the size of binaries and consequently the memory required by # each linker process. # If absent or 0, linker invocations are treated like any other job and # controlled by rustbuild's -j parameter. #link-jobs = 0 # ============================================================================= # General build configuration options # ============================================================================= [build] # Instead of downloading the src/stage0.txt version of Cargo specified, use # this Cargo binary instead to build all Rust code cargo = "/usr/bin/cargo" # Instead of downloading the src/stage0.txt version of the compiler # specified, use this rustc binary instead as the stage0 snapshot compiler. rustc = "/usr/bin/rustc" # Python interpreter to use for various tasks throughout the build, notably # rustdoc tests, the lldb python interpreter, and some dist bits and pieces. # Note that Python 2 is currently required. python = "python2.7" # Verbosity level: 0 == not verbose, 1 == verbose, 2 == very verbose verbose = 1 # Build the sanitizer runtimes #sanitizers = false # ============================================================================= # General install configuration options # ============================================================================= [install] # Instead of installing to /usr/local, install to this path instead. prefix = "/usr" # ============================================================================= # Options for compiling Rust code itself # ============================================================================= [rust] # 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 = 0 # Whether or not debuginfo is emitted debuginfo = true # Whether or not line number debug information is emitted #debuginfo-lines = false # 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 = "stable" # ============================================================================= # 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] # 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 = "/usr/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 = "/usr/lib/libjemalloc_pic.a" [target.i686-unknown-linux-gnu] # 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 = "/usr/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 = "/usr/lib/libjemalloc_pic.a"