about summary refs log tree commit diff
path: root/config.example.toml
AgeCommit message (Collapse)AuthorLines
2024-04-17allow to set line-directives-only tooklensy-5/+2
2024-04-13Rollup merge of #123642 - onur-ozkan:restrict-llvm-option, r=Mark-SimulacrumMatthias Krüger-1/+1
do not allow using local llvm while using rustc from ci From: https://github.com/rust-lang/rust/issues/123586#issuecomment-2043296578 > Even if `llvm.download-ci-llvm` is set to true, `stage > 0` rustc will always use the prebuilt LLVM library which comes with ci-rustc. So I tried to use locally-built LLVM libraries in the ci-rustc by replacing the existing LLVM libraries with the locally built ones, and it appears that this is indeed a limitation of using `rust.download-rustc=true` as it fails with the following error: > > ``` > $ ./build/host/ci-rustc/bin/rustc --version > ./build/host/ci-rustc/bin/rustc: symbol lookup error: /home/nimda/devspace/.other/rustc-builds/build/x86_64-unknown-linux-gnu/ci-rustc/bin/../lib/librustc_driver-a03ea465d8e03db1.so: undefined symbol: LLVMInitializeARMTargetInfo, version LLVM_18.1 > ``` > > So, if `rust.download-rustc` is set to true and `llvm.download-ci-llvm` is false, I believe bootstrap should terminate the process (as it always uses prebuilt LLVM libraries from ci-rustc, there is no point to build LLVM locally) while parsing the configuration. Resolves #123586 r? Mark-Simulacrum
2024-04-11correct the handling of `bootstrap-cache-path` optiononur-ozkan-1/+1
This change makes `build.bootstrap-cache-path` option to be configurable with `./configure` script, so it can be used like `./configure --bootstrap-cache-path=demo`. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-04-09do not allow using local llvm while using rustc from cionur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-03-19use more accurate terminologyTshepang Mbambo-1/+1
rustc is just one tool/executable, even if at the center of the toolchain
2024-03-11[bootstrap] Move the split-debuginfo setting to the per-target sectionTim Neumann-14/+26
2024-03-11Bootstrap: Add argument for building llvm bitcode linkerKjetil Kjeka-0/+4
2024-03-08Add `target.*.runner` configuration for targetsAlex Crichton-0/+11
This commit adds a `runner` field configuration to `config.toml` for specifying a wrapper executable when executing binaries for a target. This is pulled out of #122036 where a WebAssembly runtime is used, for example, to execute tests for `wasm32-wasip1`. The name "runner" here is chosen to match Cargo's `CARGO_*_RUNNER` configuration, and to make things a bit more consistent this additionally renames compiletest's `--runtool` argument to `--runner`.
2024-03-06Rollup merge of #121976 - lu-zero:bootstrap-cache, r=onur-ozkanMatthias Krüger-0/+4
Add an option to have an external download/bootstrap cache Follow up from #116697 to address https://github.com/rust-lang/rust/pull/116697#pullrequestreview-1677176395
2024-03-05Add a build option to specify the bootstrap cacheLuca Barbato-0/+4
Setting the bootstrap cache path to an external location can help to speed up builds in cases where the build directory is not kept between builds, e.g. in CI or other automated build systems.
2024-03-02Add a new `wasm32-wasip1` target to rustcAlex Crichton-3/+3
This commit adds a new target called `wasm32-wasip1` to rustc. This new target is explained in these two MCPs: * https://github.com/rust-lang/compiler-team/issues/607 * https://github.com/rust-lang/compiler-team/issues/695 In short, the previous `wasm32-wasi` target is going to be renamed to `wasm32-wasip1` to better live alongside the [new `wasm32-wasip2` target](https://github.com/rust-lang/rust/pull/119616). This new target is added alongside the `wasm32-wasi` target and has the exact same definition as the previous target. This PR is effectively a rename of `wasm32-wasi` to `wasm32-wasip1`. Note, however, that as explained in rust-lang/compiler-team#695 the previous `wasm32-wasi` target is not being removed at this time. This change will reach stable Rust before even a warning about the rename will be printed. At this time this change is just the start where a new target is introduced and users can start migrating if they support only Nightly for example.
2024-02-18Add `rust.frame-pointers` config optionNilstrieb-0/+4
This is very helpful for profiling. I've hacked this in many times, so let's add it properly.
2024-02-18remove extraneous text from example configTshepang Mbambo-1/+1
2024-01-25Support configuring the set of codegen backends to build per host triplebjorn3-0/+5
This allows building the compiler itself with one backend while using another backend at runtime. For example this allows compiling rustc to wasm using LLVM, while using Cranelift at runtime to produce actual code. Cranelift can't compile to wasm, but is perfectly capable of running on wasm. LLVM can compile to wasm, but can't run on wasm. [^1] [^1]: The prototype of this still requires a couple of other patches.
2024-01-07add a new `optimized_compiler_builtins` optionjyn-0/+8
in particular, this makes the `c` feature for compiler-builtins an explicit opt-in, rather than silently detected by whether `llvm-project` is checked out on disk. exposing this is necessary because the `cc` crate doesn't support cross-compiling to MSVC, and we want people to be able to run `x check --target foo` regardless of whether they have a c toolchain available. this also uses the new option in CI, where we *do* want to optimize compiler_builtins. the new option is off by default for the `dev` channel and on otherwise.
2023-12-28utilize the unused `llvm-tools` optiononur-ozkan-1/+1
This field was not functioning as described in its comment in `config.example.toml`. Also, updated the default value to `true` to keep the bootstrapping behavior as it was before. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-25fix `./configure --set change-id`jyn-1/+1
2023-12-21Rollup merge of #119124 - onur-ozkan:help-118861, r=Mark-SimulacrumMatthias Krüger-0/+1
don't build `rust-analyzer-proc-macro-srv` on def config Should be very easy to understand when reviewing commit-by-commit. Blocker for #118861
2023-12-19update `build.tools` in config.example.tomlonur-ozkan-0/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-18Comment out `change-id` in `config.example.toml`onur-ozkan-2/+2
This way, we only update CONFIG_CHANGE_HISTORY for major changes, which is much simpler (and updating example.toml doesn't make much sense) Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-12-10Add ChangeInfo recordJakub Beránek-1/+1
2023-12-10Update `config.example.toml`Jakub Beránek-3/+5
2023-12-05Add safe compilation optionsl00846161-0/+10
Add two options when building rust: strip and stack protector. If set `strip = true`, symbols will be stripped using `-Cstrip=symbols`. Also can set `stack-protector` and stack protectors will be used.
2023-11-24add change information for PR#117813onur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-21Add support for generating the EHCont sectionArlie Davis-0/+4
In the future Windows will enable Control-flow Enforcement Technology (CET aka Shadow Stacks). To protect the path where the context is updated during exception handling, the binary is required to enumerate valid unwind entrypoints in a dedicated section which is validated when the context is being set during exception handling. The required support for EHCONT has already been merged into LLVM, long ago. This change adds the Rust codegen option to enable it. Reference: * https://reviews.llvm.org/D40223 This also adds a new `ehcont-guard` option to the bootstrap config which enables EHCont Guard when building std.
2023-11-11merge `if-available` and `if-unchanged` for `download-ci-llvm`onur-ozkan-9/+6
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-08Fix issue #110087LuuuX-3/+7
Three tasks have been implemented here. Add a new `download-ci-llvm = if-unchange` option and enable if by default for `profile = codegen`. Include all build artifacts by traversing the llvm-project build output, Keep the downloadable llvm the same state as if you have just run a full source build. After selecting the codegen profile during ./x.py setup, the submodule will be automatically downloaded.
2023-10-31update config.example.tomlSparrowLii-4/+5
2023-10-31update bootstrap change historySparrowLii-1/+1
2023-10-23Improve android-ndk property interfacePeter Collingbourne-7/+4
PR #105716 added support for NDK r25b, and removed support for r15. Since the switch to r25b would have broken existing r15 users anyway, let's take the opportunity to make the interface more user friendly. Firstly move the android-ndk property to [build] instead of the targets. This is possible now that the NDK has obsoleted the concept of target-specific toolchains. Also make the property take the NDK root directory instead of the "toolchains/llvm/prebuilt/<host tag>" subdirectory.
2023-10-02Auto merge of #115898 - onur-ozkan:config-change-tracking, r=Mark-Simulacrumbors-5/+12
bootstrap major change detection implementation The use of `changelog-seen` and `bootstrap/CHANGELOG.md` has not been functional in any way for many years. We often do major/breaking changes but never update the changelog file or the `changelog-seen`. This is an alternative method for tracking major or breaking changes and informing developers when such changes occur. Example output when bootstrap detects a major change: ![image](https://github.com/rust-lang/rust/assets/39852038/ee802dfa-a02b-488b-a433-f853ce079b8a)
2023-10-01implement major change tracking for the bootstrap configurationonur-ozkan-5/+12
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-18Rollup merge of #115558 - tshepang:patch-4, r=Mark-SimulacrumMatthias Krüger-1/+0
issue has since been fixed
2023-09-18address review commentTshepang Mbambo-0/+1
See https://github.com/rust-lang/rust/pull/115558#issuecomment-1722601187
2023-09-10update `build.extended` comments in `config.example.toml`onur-ozkan-3/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-05issue has since been fixedTshepang Mbambo-2/+0
2023-08-14add a csky-unknown-linux-gnuabiv2 targetDirreke-1/+1
2023-08-13Rollup merge of #114069 - cuviper:profiler-path, r=Mark-SimulacrumGuillaume Gomez-2/+4
Allow using external builds of the compiler-rt profile lib This changes the bootstrap config `target.*.profiler` from a plain bool to also allow a string, which will be used as a path to the pre-built profiling runtime for that target. Then `profiler_builtins/build.rs` reads that in a `LLVM_PROFILER_RT_LIB` environment variable.
2023-07-26Fix spacing in target.*.profiler docsJosh Stone-1/+1
Co-authored-by: Joe ST <joe@fbstj.net>
2023-07-25Allow using external builds of the compiler-rt profile libJosh Stone-2/+4
This changes the bootstrap config `target.*.profiler` from a plain bool to also allow a string, which will be used as a path to the pre-built profiling runtime for that target. Then `profiler_builtins/build.rs` reads that in a `LLVM_PROFILER_RT_LIB` environment variable.
2023-07-15Move MinGW linker dist option to proper sectionMateusz Mikuła-4/+4
2023-07-09Use String or Int to set the opt levelhi-rustin-2/+12
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-06-12few fixes to rust rustdoc-gui tests on windowsklensy-0/+7
2023-05-05support enable rpath in each target independentlyWang Qilin-0/+4
2023-04-11Rollup merge of #110155 - DaniPopes:rest-typos, r=jyn514Michael Goulet-1/+1
Fix typos in librustdoc, tools and config files I used [`typos`](https://github.com/crate-ci/typos) to fix all typos, minus the ones present in #110153 and in #110154. Refs #110150
2023-04-11Rollup merge of #96971 - zhaixiaojuan:master, r=wesleywiserMichael Goulet-1/+1
Initial support for loongarch64-unknown-linux-gnu Hi, We hope to add a new port in rust for LoongArch. LoongArch intro LoongArch is a RISC style ISA which is independently designed by Loongson Technology in China. It is divided into two versions, the 32-bit version (LA32) and the 64-bit version (LA64). LA64 applications have application-level backward binary compatibility with LA32 applications. LoongArch is composed of a basic part (Loongson Base) and an expanded part. The expansion part includes Loongson Binary Translation (LBT), Loongson VirtualiZation (LVZ), Loongson SIMD EXtension (LSX) and Loongson Advanced SIMD EXtension(LASX). Currently the LA464 processor core supports LoongArch ISA and the Loongson 3A5000 processor integrates 4 64-bit LA464 cores. LA464 is a four-issue 64-bit high-performance processor core. It can be used as a single core for high-end embedded and desktop applications, or as a basic processor core to form an on-chip multi-core system for server and high-performance machine applications. Documentations: ISA: https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html ABI: https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html More docs can be found at: https://loongson.github.io/LoongArch-Documentation/README-EN.html Since last year, we have locally adapted two versions of rust, rust1.41 and rust1.57, and completed the test locally. I'm not sure if I'm submitting all the patches at once, so I split up the patches and here's one of the commits
2023-04-10Fix remaining typosDaniPopes-1/+1
2023-04-09Rollup merge of #110059 - gimbles:git-hash, r=ozkanonurYuki Okushi-1/+1
ignore_git → omit_git_hash Fixes #110020
2023-04-08Fix a typo in `config.example.toml`Krishna Ramasimha-1/+1
2023-04-08s/ignore_git/omit_git_hashGimbles-1/+1