about summary refs log tree commit diff
path: root/src/bootstrap/configure.py
AgeCommit message (Collapse)AuthorLines
2023-03-07Rollup merge of #108619 - jyn514:llvm-version-check, r=cuviperYuki Okushi-1/+0
Remove the option to disable `llvm-version-check` We don't support old versions of LLVM; there's no reason to have an easy way to force bootstrap to use them anyway. If someone really needs to use an unsupported version, they can modify bootstrap to change the version range. r? ``@cuviper`` on whether we want to do this or not, since you maintain rust on Fedora and touched this config last.
2023-03-05Remove the option to disable `llvm-version-check`Joshua Nelson-1/+0
We don't support old versions of LLVM; there's no reason to have an easy way to force bootstrap to use them anyway. If someone really needs to use an unsupported version, they can modify bootstrap to change the version range.
2023-03-04Rollup merge of #108632 - Teapot4195:issue-108612-fix, r=ozkanonurMatthias Krüger-4/+18
Omit unchanged options from config.toml in `configure.py` Leaves section tags, but removes options that are unchanged. Change in `config.toml.example` is to prevent comments from sneaking in by being directly after a section tag closes #108612
2023-03-03./configure script should only show blocks (and associated comments) where ↵Alex Huang-4/+18
it is not default
2023-03-02Allow setting hashmap toml values in `./configure`KittyBorgX-0/+2
2023-02-19Removed trailing spaces to satisfy lintlionelllohcd-11/+10
2023-02-18[107049] Recognise top level keys in config.toml.examplelionelllohcd-5/+22
2023-01-11Change `src/test` to `tests` in source files, fix tidy and testsAlbert Larsan-1/+1
2022-12-29Respect --set=target.platform during buildMarcus Calhoun-Lopez-1/+3
Avoid quoting targets that do not contain a period. See https://github.com/rust-lang/rust/commit/1532fd8cd0db93f469e414f9da31ef083a44fcba `--set=target.platform.linker` is ignored if RUSTFLAGS is not set. Undo parts of https://github.com/rust-lang/rust/commit/d1291dc8b4ac9a98ff1d286402559e4ba5d68488
2022-07-10Remove unsupported options in configure.pyJoshua Nelson-5/+2
I've seen people using `optimize = false` and `full-bootstrap = true` in the past, without knowing that they're not recommended. Remove `optimize` and a few other options that are always a bad idea, and document that full-bootstrap is only for testing reproducible builds.
2022-05-22Quote replace target in bootstrap configureyue4u-1/+1
2022-03-10configure: don't serialize empty array elementsJon Gjengset-0/+4
Before this change: $ ./configure --codegen-backends= [..] $ grep -P '^codegen-backends' config.toml codegen-backends = [''] After this change: $ ./configure --codegen-backends= [..] $ grep -P '^codegen-backends' config.toml codegen-backends = []
2021-10-12Add --enable-debug-assertions-std option to configure script.Hans Kratz-0/+1
2021-10-12Add --enable-overflow-checks-std option to configure script.Hans Kratz-0/+1
2021-08-06Add options for enabling overflow checks in rustc and std.Hans Kratz-0/+1
The options are `overflow-checks` and `overflow-checks-std` defaulting to false.
2021-07-31add two new build flags to build clang and enable llvm pluginsManuel Drehwald-0/+2
2021-07-19add --codegen-backends=foo,bar ./configure flagPietro Albini-0/+3
Unfortunately this requires a proper ./configure flag, as the codegen backends config entry is a list, not a string (breaking --set).
2021-04-07Cleanup option parsing and config.toml.exampleJoshua Nelson-1/+6
- Add an assertion that `link-shared = true` when `thin-lto = true`. Previously, link-shared would be silently overwritten. - Get rid of `Option<bool>` in bootstrap/config.rs. Set defaults immediately instead of delaying until later in bootstrap. This makes it easier to find what the default value is. - Remove redundant `config.x = false` when the default was already false - Set defaults for `bindir` in `default_opts()` instead of `parse()` - Update `download-ci-llvm = if-supported` option to match bootstrap.py - Remove redundant check for link_shared. Previously, it was checked twice. - Update various options in config.toml.example to their defaults. Previously, some options showed an example value instead of the default value. - Fix incorrect defaults in config.toml.example + `use-libcxx` defaults to false + Add missing `check-stage = 0` + Update several defaults to be conditional (e.g. `if incremental { 10 } else { 100 }`) - Remove redundant defaults in prose - Use the same comment for the default and target-dependent `musl-root` - Fix typos - Link to `cc_detect` for `cc` and `cxx`, since the logic is ... complicated. - Update more defaults to better reflect how they actually get set - Remove ignored `gpg-password-file` option This stopped being used in https://github.com/rust-lang/rust/commit/7704d35accfe1b587ce41ea09ca3bf6a47aca117, but was never removed from config.toml. - Remove unused flags from `config.toml` + Disallow `infodir` and `localstatedir` in `config.toml` + Allow the flags in `./configure`, but give a warning that they will be ignored. + Fix incorrect comment that `datadir` will be ignored. Example output: ``` $ ./configure --set install.infodir=xxx configure: processing command line configure: configure: install.infodir := xxx configure: build.configure-args := ['--set', 'install.infodir=xxx'] warning: infodir will be ignored configure: configure: writing `config.toml` in current directory configure: configure: run `python /home/joshua/rustc3/x.py --help` configure: ``` - Update CHANGELOG - Add "as an example" where appropriate - Link to an issue instead of to ephemeral chats
2021-02-07HWASan supportTri Vo-1/+1
2020-12-29bootstrap: add the dist.compression-formats optionPietro Albini-0/+4
The option allows to add or remove compression formats used while producing dist tarballs.
2020-11-16x.py: allow a custom string appended to the versionJosh Stone-0/+1
This adds `rust.description` to the config as a descriptive string to be appended to `rustc --version` output, which is also used in places like debuginfo `DW_AT_producer`. This may be useful for supplementary build information, like distro-specific package versions. For example, in Fedora 33, `gcc --version` outputs: gcc (GCC) 10.2.1 20201016 (Red Hat 10.2.1-6) With this change, we can add similar vendor info to `rustc --version`.
2020-11-05Infer the default host target from the host toolchain if possibleJoshua Nelson-1/+1
This fixes ongoing issues where x.py will detect the wrong host triple between MSVC and GNU. - Add line to changelog
2020-10-21allow using the system-wide llvm-libunwind as the unwinderMarc-Antoine Perennou-1/+1
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2020-06-09Add a disabled builder for riscv64 emulated testsTom Eccles-0/+2
This will run all tests for `riscv64gc-unknown-linux-gnu` in a QEMU instance. This is based upon the armhf QEMU test image.
2020-05-10remove lldb package from bootstrap, config and build-manifestRalf Jung-1/+0
it's not been built since a long time ago
2020-02-17configure: set LLVM flags with a valueJosh Stone-3/+3
Rather than a boolean `--enable-cflags` etc., these options should reflect that they are for LLVM, and that they need a value. You would now use `./configure --llvm-cflags="..."`.
2020-02-12Rollup merge of #68947 - chrissimpkins:python-fmt, r=alexcrichtonYuki Okushi-5/+6
Python script PEP8 style guide space formatting and minor Python source cleanup This PR includes the following changes in the Python sources based on a flake8 3.7.9 (mccabe: 0.6.1, pycodestyle: 2.5.0, pyflakes: 2.1.1) CPython 3.7.6 on Darwin lint: - PEP8 style guide spacing updates *without* line length changes - removal of unused local variable assignments in context managers and exception handling - removal of unused Python import statements - removal of unnecessary semicolons
2020-02-10Enable Control Flow Guard in rustbuildAndrew Paverd-0/+1
2020-02-07PEP8 format spacingChris Simpkins-5/+6
2019-12-13Fix the configure.py TOML field for a couple LLVM optionsJosh Stone-2/+2
The actual fields in `config.toml.example` have dashes, not underscores.
2019-10-26ci: add support for MIPS64 musl targetsWang Xuerui-0/+4
2019-10-21Remove `src/llvm-emscripten` submoduleAlex Crichton-4/+1
With #65251 landed there's no need to build two LLVM backends and ship them with rustc, every target we have now uses the same LLVM backend! This removes the `src/llvm-emscripten` submodule and additionally removes all support from rustbuild for building the emscripten LLVM backend. Multiple codegen backend support is left in place for now, and this is intended to be an easy 10-15 minute win on CI times by avoiding having to build LLVM twice.
2019-08-08remove test-miri flag from bootstrapRalf Jung-1/+0
2019-08-02Added support for armv7-unknown-linux-gnueabi and armv7-unknown-linux-musleabi.Adrian Budau-1/+3
Support for the targets in the compiler and std build in the CI.
2019-07-23Require a value for configure --debuginfo-levelJosh Stone-5/+5
In `configure.py`, using the `o` function creates an enable/disable boolean setting, and writes `true` or `false` in `config.toml`. However, rustbuild is expecting to parse a `u32` debuginfo level. We can change to the `v` function to have the options require a value.
2019-05-24rustbuild: Simplify debuginfo configurationVadim Petrochenkov-5/+5
2019-04-03Support using LLVM's libunwind as the unwinder implementationPetr Hosek-0/+2
This avoids the dependency on host libraries such as libgcc_s which may be undesirable in some deployment environments where these aren't available.
2019-01-28Fix CIJohn Kåre Alsaker-1/+1
2019-01-13Support passing cflags/cxxflags/ldflags to LLVM buildPetr Hosek-0/+4
This may be needed with some host compilers.
2019-01-05Provide the option to use libc++ even on all platformsPetr Hosek-0/+1
This is the default on platforms which use libc++ as the default C++ library but this option allows using libc++ on others as well.
2018-12-25Remove licensesMark Rousskov-9/+0
2018-12-13Add targets thumbv7neon-linux-androideabi and ↵Henri Sivonen-0/+2
thumbv7neon-unknown-linux-gnueabihf These two targets enable both thumb-mode and NEON for ARMv7 CPUs.
2018-11-06Rollup merge of #55703 - pnkfelix:update-configure-help-to-reflect-pr-54811, ↵kennytm-1/+1
r=Mark-Simulacrum Update `configure --help` (via configure.py) to reflect decoupling of debug+optimize This should have been part of PR #54811 (my bad).
2018-11-06Auto merge of #55106 - petrhosek:fuchsia-lld, r=alexcrichtonbors-0/+1
Use lld directly for Fuchsia target Fuchsia already uses lld as the default linker, so there's no reason to always invoke it through Clang, instead we can simply invoke lld directly and pass the set of flags that matches Clang.
2018-11-05Use lld directly for Fuchsia targetPetr Hosek-0/+1
Fuchsia already uses lld as the default linker, so there's no reason to always invoke it through Clang, instead we can simply invoke lld directly and pass the set of flags that matches Clang.
2018-11-05This should have been part of PR #54811 (my bad).Felix S. Klock II-1/+1
2018-11-02Remove all jemalloc-related contentAlex Crichton-5/+0
This commit removes all jemalloc related submodules, configuration, etc, from the bootstrap, from the standard library, and from the compiler. This will be followed up with a change to use jemalloc specifically as part of rustc on blessed platforms.
2018-10-28Avoid directly catching BaseException in bootstrap configure scriptKonrad Borowski-1/+1
It includes stuff like pressing CTRL+C, which likely isn't intended.
2018-10-26Make configure.py handle numeric arguments for `--set` a little better.Michael Woerister-1/+12
2018-10-20Update Cargo, build curl/OpenSSL statically via featuresAlex Crichton-1/+1
In addition to to updating Cargo's submodule and Cargo's dependencies, this also updates Cargo's build to build OpenSSL statically into Cargo as well as libcurl unconditionally. This removes OpenSSL build logic from the bootstrap code, and otherwise requests that even on OSX we build curl statically.