1. 26 5月, 2022 4 次提交
  2. 22 5月, 2022 1 次提交
  3. 14 5月, 2022 1 次提交
  4. 08 5月, 2022 1 次提交
  5. 06 5月, 2022 1 次提交
  6. 03 5月, 2022 2 次提交
  7. 02 5月, 2022 2 次提交
  8. 25 4月, 2022 1 次提交
    • J
      Move download-ci-llvm to rustbuild · 93c1a941
      Joshua Nelson 提交于
      This attempts to keep the logic as close to the original python as possible.
      `probably_large` has been removed, since it was always `True`, and UTF-8 paths are no longer supported when patching files for NixOS.
      I can readd UTF-8 support if desired.
      
      Note that this required making `llvm_link_shared` computed on-demand,
      since we don't know whether it will be static or dynamic until we download LLVM from CI.
      93c1a941
  9. 24 4月, 2022 1 次提交
  10. 20 4月, 2022 1 次提交
  11. 19 4月, 2022 1 次提交
  12. 18 4月, 2022 1 次提交
  13. 17 4月, 2022 2 次提交
    • A
      bootstrap: consolidate subcommand parsing and matching · 870cb8ef
      Allen Wild 提交于
      There's several places where the x.py command names are matched as
      strings, leading to some inconsistencies and opportunities for cleanup.
      
      * Add Format, Clean, and Setup variants to builder::Kind.
      * Use Kind to parse the x.py subcommand name (including aliases)
      * Match on the subcommand Kind rather than strings when handling
        options and help text.
      * Several subcommands don't display any paths when run with `-h -v` even
        though the help text indicates that they should. Fix this and refactor
        so that manually keeping matches in sync isn't necessary.
      
      Fixes #95937
      870cb8ef
    • J
      Require all paths passed to `ShouldRun::paths` to exist on disk · 0db70ca2
      Joshua Nelson 提交于
      This has two benefits:
      1. There is a clearer mental model of how bootstrap works. Steps correspond to paths on disk unless it's strictly impossible for them to do so (e.g. dist components).
      2. Bootstrap has better checks for internal consistency. This caught several issues:
        - `src/sanitizers` doesn't exist; I changed it to just be a `sanitizers` alias.
        - `src/tools/lld` doesn't exist; I removed it, since `lld` alone already works.
        - `src/llvm` doesn't exist; removed it since `llvm` and `src/llvm-project` both work.
        - `src/lldb_batchmode.py` doesn't exist, it was moved to `src/etc`.
        - `install` was still using `src/librustc` instead of `compiler/rustc`.
        - None of the tools in `dist` / `install` allowed using `src/tools/X` to build them. This might be intentional - I can change them to aliases if you like.
      0db70ca2
  14. 10 4月, 2022 1 次提交
  15. 30 3月, 2022 2 次提交
    • Y
      Spellchecking some comments · 7e8201ae
      Yuri Astrakhan 提交于
      This PR attempts to clean up some minor spelling mistakes in comments
      7e8201ae
    • J
      Fix `x test src/tools/error_index_generator --stage {0,1}` · 7470592d
      Joshua Nelson 提交于
      There were two fixes needed:
      1. Use `top_stage` instead of `top_stage - 1`. There was a long and torturous comment about trying to match rustdoc's version, but it works better without the hard-coding than with.
      2. Make sure that `ci-llvm/lib` is added to LD_LIBRARY_PATH. Previously the error index would be unable to load LLVM for stage0 builds.
      
      At some point we should probably have a discussion about how rustdoc stages should be numbered;
      confusion between 0/1/2 has come up several times in bootstrap now.
      
      Note that this is still broken when using `download-rustc = true` and `--stage 1`,
      but that's *really* a corner case and should affect almost no one. `--stage {0,2}`
      work fine with download-rustc.
      7470592d
  16. 27 3月, 2022 1 次提交
    • J
      [bootstrap] Don't print `Suite not skipped` unless `--verbose` is set · be8ce35c
      Joshua Nelson 提交于
      This was so verbose before that it made it hard to see what effect the flag actually had.
      
      Before:
      ```
      Set({test::src/tools/tidy}) not skipped for "bootstrap::test::Tidy" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps]
      Skipping Suite(test::src/test/ui) because it is excluded
      Suite(test::src/test/run-pass-valgrind) not skipped for "bootstrap::test::RunPassValgrind" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps]
      Skipping Suite(test::src/test/mir-opt) because it is excluded
      Suite(test::src/test/codegen) not skipped for "bootstrap::test::Codegen" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps]
      Suite(test::src/test/codegen-units) not skipped for "bootstrap::test::CodegenUnits" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps]
      Suite(test::src/test/assembly) not skipped for "bootstrap::test::Assembly" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps]
      Suite(test::src/test/incremental) not skipped for "bootstrap::test::Incremental" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps]
      Skipping Suite(test::src/test/debuginfo) because it is excluded
      Skipping Suite(test::src/test/ui-fulldeps) because it is excluded
      ... about 100 more lines ...
      ```
      
      After:
      ```
      Skipping Suite(test::src/test/ui) because it is excluded
      Skipping Suite(test::src/test/mir-opt) because it is excluded
      Skipping Suite(test::src/test/debuginfo) because it is excluded
      Skipping Suite(test::src/test/ui-fulldeps) because it is excluded
      ```
      be8ce35c
  17. 16 3月, 2022 1 次提交
  18. 15 3月, 2022 1 次提交
  19. 12 3月, 2022 1 次提交
  20. 09 3月, 2022 1 次提交
  21. 08 3月, 2022 1 次提交
  22. 05 3月, 2022 2 次提交
    • B
      Merge build_helper into util · e657da72
      bjorn3 提交于
      e657da72
    • B
      Remove build_helper · 0cfc3e10
      bjorn3 提交于
      The majority of the code is only used by either rustbuild or
      rustc_llvm's build script. Rust_build is compiled once for rustbuild and
      once for every stage. This means that the majority of the code in this
      crate is needlessly compiled multiple times. By moving only the code
      actually used by the respective crates to rustbuild and rustc_llvm's
      build script, this needless duplicate compilation is avoided.
      0cfc3e10
  23. 04 3月, 2022 2 次提交
  24. 28 1月, 2022 1 次提交
  25. 21 1月, 2022 2 次提交
    • P
      allow excluding paths only from a single module · b3ad4053
      Pietro Albini 提交于
      x.py has support for excluding some steps from the invocation, but
      unfortunately that's not granular enough: some steps have the same name
      in different modules, and that prevents excluding only *some* of them.
      
      As a practical example, let's say you need to run everything in `./x.py
      test` except for the standard library tests, as those tests require IPv6
      and need to be executed on a separate machine. Before this commit, if
      you were to just run this:
      
          ./x.py test --exclude library/std
      
      ...the execution would fail, as that would not only exclude running the
      tests for the standard library, it would also exclude generating its
      documentation (breaking linkchecker).
      
      This commit adds support for an optional module annotation in --exclude
      paths, allowing the user to choose which module to exclude from:
      
          ./x.py test --exclude test::library/std
      
      This maintains backward compatibility, but also allows for more ganular
      exclusion. More examples on how this works:
      
      | `--exclude`         | Docs    | Tests   |
      | ------------------- | ------- | ------- |
      | `library/std`       | Skipped | Skipped |
      | `doc::library/std`  | Skipped | Run     |
      | `test::library/std` | Run     | Skipped |
      
      Note that the new behavior only works in the `--exclude` flag, and not
      in other x.py arguments or flags yet.
      b3ad4053
    • P
      b27d59d0
  26. 19 1月, 2022 1 次提交
    • M
      build: dist: defer PlainSourceTarball · 5f58a78d
      Matthias Krüger 提交于
      Apparently it changes some tool sources and invalidates their fingerprints, forcing us to build them several times (before and after vendoring sources).
      I have not dug into why vendoring actually invalidates the figreprints, but the moving the vendoring lower in the pipeline seems to avoid the issue.
      I could imagine that we somehow write a .cargo/config somewhere which somehow makes subsequent builds use the vendored deps but I was not able to find anything.
      
      I checked the sizes of generated archives pre and post patch and their are the same, so I hope there is not functional change.
      
      Fixes #93033
      5f58a78d
  27. 05 1月, 2022 1 次提交
  28. 02 1月, 2022 1 次提交
  29. 17 12月, 2021 1 次提交
    • S
      pass -Wl,-z,origin to set DF_ORIGIN when using rpath · c3da28ea
      Sébastien Marie 提交于
      DF_ORIGIN flag signifies that the object being loaded may make reference to the $ORIGIN substitution string.
      
      Some implementations are just ignoring DF_ORIGIN and do substitution for $ORIGIN if present (whatever DF_ORIGIN pr
      
      Set the flag inconditionally if rpath is wanted.
      c3da28ea
  30. 10 12月, 2021 1 次提交
    • J
      Don't print bootstrap caching/ensure info unless `-vv` is passed · dfcaac53
      Joshua Nelson 提交于
      Previously, passing `-v` would emit an overwhelming amount of logging:
      
      ```
      > Std { stage: 1, target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }
        > Assemble { target_compiler: Compiler { stage: 1, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
          > Assemble { target_compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
          < Assemble { target_compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
          > Rustc { target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None }, compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
            > Std { target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None }, compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
              > StartupObjects { compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }, target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }
              < StartupObjects { compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }, target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }
              c Assemble { target_compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
              > Libdir { compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }, target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }
                > Sysroot { compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
                < Sysroot { compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
              < Libdir { compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }, target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }
              c Libdir { compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }, target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }
              c Sysroot { compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
              c Assemble { target_compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
              > StdLink { compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }, target_compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }, target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }
                c Libdir { compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }, target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }
                c Libdir { compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }, target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }
              < StdLink { compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }, target_compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }, target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } }
            < Std { target: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None }, compiler: Compiler { stage: 0, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
      ... continues for another 150 lines ...
      ```
      
      This info is occasionally useful when debugging bootstrap itself, but not very useful for figuring
      out why a config option was ignored or command wasn't run.  Demote it to `-vv` logging so that `-v`
      is more useful.
      dfcaac53