1. 24 6月, 2021 1 次提交
  2. 08 6月, 2021 1 次提交
  3. 06 6月, 2021 1 次提交
  4. 05 6月, 2021 2 次提交
  5. 04 6月, 2021 2 次提交
  6. 25 5月, 2021 1 次提交
  7. 23 5月, 2021 1 次提交
    • J
      Move llvm submodule updates to rustbuild · 0be4046b
      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
      0be4046b
  8. 01 5月, 2021 1 次提交
  9. 08 4月, 2021 1 次提交
    • J
      Cleanup option parsing and config.toml.example · 28e83a47
      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
      28e83a47
  10. 21 2月, 2021 1 次提交
  11. 31 12月, 2020 1 次提交
    • M
      bootstrap: clippy fixes · 87423fbc
      Matthias Krüger 提交于
      addresses:
      
      clippy::or_fun_call
      clippy::single_char_add_str
      clippy::comparison_to_empty
      clippy::or_fun_call
      87423fbc
  12. 24 12月, 2020 2 次提交
  13. 17 12月, 2020 1 次提交
  14. 17 11月, 2020 1 次提交
    • J
      x.py: allow a custom string appended to the version · 5f085680
      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`.
      5f085680
  15. 12 11月, 2020 1 次提交
  16. 11 11月, 2020 1 次提交
  17. 10 11月, 2020 1 次提交
  18. 07 11月, 2020 1 次提交
  19. 04 11月, 2020 1 次提交
  20. 26 10月, 2020 2 次提交
  21. 21 10月, 2020 1 次提交
  22. 13 10月, 2020 1 次提交
  23. 12 10月, 2020 1 次提交
    • W
      Mostly print statements to see where things are · d7494af5
      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
      d7494af5
  24. 09 10月, 2020 1 次提交
    • P
      bootstrap: always use the Rust version in package names · 8d2b1594
      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.
      8d2b1594
  25. 06 10月, 2020 1 次提交
  26. 24 9月, 2020 1 次提交
    • J
      Add `x.py setup` · 9baa601a
      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
      9baa601a
  27. 18 9月, 2020 1 次提交
    • P
      bootstrap: move the version number to a plaintext file · b9af3e30
      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.
      b9af3e30
  28. 14 9月, 2020 1 次提交
    • M
      Make bootstrap build on stable · 5bc8b181
      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.
      5bc8b181
  29. 13 9月, 2020 1 次提交
  30. 12 9月, 2020 1 次提交
  31. 11 9月, 2020 1 次提交
  32. 07 9月, 2020 3 次提交
  33. 06 9月, 2020 1 次提交
  34. 04 9月, 2020 1 次提交