- 05 6月, 2021 1 次提交
-
-
由 Joshua Nelson 提交于
Co-authored-by: NJosh Triplett <josh@joshtriplett.org>
-
- 04 6月, 2021 2 次提交
-
-
由 Joshua Nelson 提交于
-
由 Joshua Nelson 提交于
These requirements change as soon as the command finishes running, and `setup` doesn't build anything, so the check doesn't make sense. Previously, `x.py setup` would give hard errors if `ninja` and `cmake` were not installed, even if the new profile didn't require them.
-
- 25 5月, 2021 1 次提交
-
-
由 Mark Rousskov 提交于
-
- 23 5月, 2021 1 次提交
-
-
由 Joshua Nelson 提交于
This enables better caching, since LLVM is only updated when needed, not whenever x.py is run. Before, bootstrap.py had to use heuristics to guess if LLVM would be needed, and updated the module more often than necessary as a result. This syncs the LLVM submodule only just before building the compiler, so people working on the standard library never have to worry about it. Example output: ``` Copying stage0 std from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu) Updating submodule src/llvm-project Submodule 'src/llvm-project' (https://github.com/rust-lang/llvm-project.git) registered for path 'src/llvm-project' Submodule path 'src/llvm-project': checked out 'f9a8d70b6e0365ac2172ca6b7f1de0341297458d' ``` - Don't try to update the LLVM submodule when using system LLVM Previously, this would try to update LLVM unconditionally. Now the submodule is only initialized if `llvm-config` is not set. - Don't update LLVM submodule in dry runs This prevents the following test failures: ``` running 17 tests fatal: invalid gitfile format: /checkout/src/llvm-project/.git test builder::tests::defaults::build_cross_compile ... FAILED ---- builder::tests::defaults::build_default stdout ---- thread 'main' panicked at 'command did not execute successfully: "git" "rev-parse" "HEAD" expected success, got: exit code: 128', src/build_helper/lib.rs:139:9 ``` - Try running git without --progress if it fails the first time This avoids having to do version detection to see if --progress is supported or not. - Don't try to update submodules when the source repository isn't managed by git - Update LLVM submodules that have already been checked out - Only check for whether the submodule should be updated in lib.rs; update it unconditionally in native.rs
-
- 01 5月, 2021 1 次提交
-
-
由 Joshua Nelson 提交于
-
- 08 4月, 2021 1 次提交
-
-
由 Joshua Nelson 提交于
- 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
-
- 21 2月, 2021 1 次提交
-
-
由 Guillaume Gomez 提交于
-
- 31 12月, 2020 1 次提交
-
-
由 Matthias Krüger 提交于
addresses: clippy::or_fun_call clippy::single_char_add_str clippy::comparison_to_empty clippy::or_fun_call
-
- 24 12月, 2020 2 次提交
-
-
由 Pietro Albini 提交于
-
由 Pietro Albini 提交于
-
- 17 12月, 2020 1 次提交
-
- 17 11月, 2020 1 次提交
-
-
由 Josh Stone 提交于
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`.
-
- 12 11月, 2020 1 次提交
-
-
由 Zachary Catlin 提交于
Including llvm-as adds the ability to include assembly language fragments that can be inlined using LTO.
-
- 11 11月, 2020 1 次提交
-
-
由 dalance 提交于
-
- 10 11月, 2020 1 次提交
-
-
由 Alexis Beingessner 提交于
This is the Rust side of https://github.com/rust-lang/wg-cargo-std-aware/issues/23
-
- 07 11月, 2020 1 次提交
-
-
由 Josh Triplett 提交于
This should produce more efficient code, with fewer calls to __tls_get_addr. The tradeoff is that libraries using it won't work with dlopen, but that shouldn't be a problem for tools or for our own internal libraries. Co-authored-by: NMark Rousskov <mark.simulacrum@gmail.com>
-
- 04 11月, 2020 1 次提交
-
-
由 Eric Huss 提交于
-
- 26 10月, 2020 2 次提交
- 21 10月, 2020 1 次提交
-
-
由 Marc-Antoine Perennou 提交于
Signed-off-by: NMarc-Antoine Perennou <Marc-Antoine@Perennou.com>
-
- 13 10月, 2020 1 次提交
-
-
由 Aaron Hill 提交于
Fixes #55890 It's useful to have `llc` and `opt` available when debugging an LLVM miscompilation,.
-
- 12 10月, 2020 1 次提交
-
-
由 Winnie Xiao 提交于
More print statementsstatements lol Solved the basic case of eliminating check_version ifk_version if subcommand = setup Finished v1 checking out old bootstrap.py checked out old irrelevant files fixed tidy Moved VERSION from bin/main.rs to lib.rs Fixed semicolon return issue x.py fmt
-
- 09 10月, 2020 1 次提交
-
-
由 Pietro Albini 提交于
The format of the tarballs produced by CI is roughly the following: {component}-{release}-{target}.{ext} While on the beta and nightly channels `{release}` is just the channel name, on the stable channel is either the Rust version or the version of the component we're shipping: cargo-0.47.0-x86_64-unknown-linux-gnu.tar.xz clippy-0.0.212-x86_64-unknown-linux-gnu.tar.xz llvm-tools-1.46.0-x86_64-unknown-linux-gnu.tar.xz miri-0.1.0-x86_64-unknown-linux-gnu.tar.xz rls-1.41.0-x86_64-unknown-linux-gnu.tar.xz rust-1.46.0-x86_64-unknown-linux-gnu.tar.xz ... This makes it really hard to get the package URL without having access to the manifest (and there is no manifest on ci-artifacts.rlo), as there is no consistent version number to use. This commit addresses the problem by always using the Rust version number as `{release}` for the stable channel, regardless of the version number of the component we're shipping. I chose that instead of "stable" to avoid breaking the URL scheme *that* much. Rustup should not be affected by this change, as it fetches the URLs from the manifest. Unfortunately we don't have a way to test other clients before making a stable release, as this change only affects the stable channel.
-
- 06 10月, 2020 1 次提交
-
-
由 Antoine Martin 提交于
-
- 24 9月, 2020 1 次提交
-
-
由 Joshua Nelson 提交于
- Suggest `x.py setup` if config.toml doesn't exist yet (twice, once before and once after the build) - Prompt for a profile if not given on the command line - Print the configuration file that will be used - Print helpful starting commands after setup - Link to the dev-guide after finishing - Note that distro maintainers will see the changelog warning
-
- 18 9月, 2020 1 次提交
-
-
由 Pietro Albini 提交于
The Rust version number is currently embedded in bootstrap's source code, which makes it hard to update it automatically or access it outside of ./x.py (as you'd have to parse the source code). This commit moves the version number to a standalone plaintext file, which makes accessing or updating it trivial.
-
- 14 9月, 2020 1 次提交
-
-
由 Mark Rousskov 提交于
This is generally a good idea, and will help with being able to build bootstrap without Python over time as it means we can "just" build with cargo +beta build rather than needing the user to set environment variables. This is a minor step, but a necessary one on that road.
-
- 13 9月, 2020 1 次提交
-
-
由 Mark Rousskov 提交于
-
- 12 9月, 2020 1 次提交
-
-
由 Gus Wynn 提交于
-
- 11 9月, 2020 1 次提交
-
-
由 Gus Wynn 提交于
-
- 07 9月, 2020 3 次提交
-
-
由 Mark Rousskov 提交于
This is generally a good idea, and will help with being able to build bootstrap without Python over time as it means we can "just" build with cargo +beta build rather than needing the user to set environment variables. This is a minor step, but a necessary one on that road.
-
由 Vadim Petrochenkov 提交于
-
由 Vadim Petrochenkov 提交于
-
- 06 9月, 2020 1 次提交
-
-
由 Vadim Petrochenkov 提交于
-
- 04 9月, 2020 1 次提交
-
-
由 Mateusz Mikuła 提交于
-
- 01 9月, 2020 1 次提交
-
-
由 Mark Rousskov 提交于
It isn't practical to determine whether we'll build LLVM very early in the pipeline, so move the ninja checking to a dynamic check.
-
- 26 8月, 2020 1 次提交
-
-
由 Pang, Baoshan 提交于
fix building errors use wr-c++ as linker
-
- 22 8月, 2020 1 次提交
-
-
由 Matthias Krüger 提交于
clippy::print_literal clippy::clone_on_copy clippy::single_char_pattern clippy::into_iter_on_ref clippy::match_like_matches_macro
-
- 17 7月, 2020 1 次提交
-
-
由 Jake Goulding 提交于
`rustc` allows passing in predefined target triples as well as JSON target specification files. This change allows bootstrap to have the first inkling about those differences. This allows building a cross-compiler for an out-of-tree architecture (even though that compiler won't work for other reasons). Even if no one ever uses this functionality, I think the newtype around the `Interned<String>` improves the readability of the code.
-