1. 02 3月, 2018 1 次提交
  2. 25 2月, 2018 1 次提交
  3. 23 2月, 2018 1 次提交
  4. 20 2月, 2018 2 次提交
    • J
      rustbuild: make libdir_relative a method · 8174c0d6
      Josh Stone 提交于
      8174c0d6
    • J
      rustbuild: Restore Config.libdir_relative · 80970e69
      Josh Stone 提交于
      This re-introduces a `Config.libdir_relative` field, now derived from
      `libdir` and made relative to `prefix` if necessary.
      
      This fixes a regression from #46592 when `--libdir` is given an absolute
      path.  `Builder::sysroot_libdir` should always use a relative path so
      its callers don't clobber system locations, and `librustc` also asserts
      that `CFG_LIBDIR_RELATIVE` is really relative.
      80970e69
  5. 16 2月, 2018 3 次提交
  6. 15 2月, 2018 1 次提交
  7. 14 2月, 2018 1 次提交
    • M
      Fix default Steps without paths. · a64575c3
      Mark Simulacrum 提交于
      Some Steps are by-default run but don't have any paths associated with
      them. We need to have at least one PathSet per each Step, though, so we
      add an empty one on calls to `never()`.
      a64575c3
  8. 12 2月, 2018 1 次提交
    • M
      Change Step to be invoked with a path when in default mode. · f104b120
      Mark Simulacrum 提交于
      Previously, a Step would be able to tell on its own when it was invoked
      "by-default" (that is, `./x.py test` was called instead of `./x.py test
      some/path`). This commit replaces that functionality, invoking each Step
      with each of the paths it has specified as "should be invoked by."
      
      For example, if a step calls `path("src/tools/cargo")` and
      `path("src/doc/cargo")` then it's make_run will be called twice, with
      "src/tools/cargo" and "src/doc/cargo." This makes it so that default
      handling logic is in builder, instead of spread across various Steps.
      
      However, this meant that some Step specifications needed to be updated,
      since for example `rustdoc` can be built by `./x.py build
      src/librustdoc` or `./x.py build src/tools/rustdoc`. A `PathSet`
      abstraction is added that handles this: now, each Step can not only list
      `path(...)` but also `paths(&[a, b, ...])` which will make it so that we
      don't invoke it with each of the individual paths, instead invoking it
      with the first path in the list (though this shouldn't be depended on).
      
      Future work likely consists of implementing a better/easier way for a
      given Step to work with "any" crate in-tree, especially those that want
      to run tests, build, or check crates in the std, test, or rustc crate
      trees. Currently this is rather painful to do as most of the logic is
      duplicated across should_run and make_run. It seems likely this can be
      abstracted away into builder somehow.
      f104b120
  9. 11 2月, 2018 2 次提交
  10. 10 2月, 2018 1 次提交
  11. 09 2月, 2018 1 次提交
  12. 08 2月, 2018 1 次提交
  13. 04 2月, 2018 1 次提交
    • M
      Disable ThinLTO for dist builds. · e1f04c04
      Mark Simulacrum 提交于
      Dist builds should always be as fast as we can make them, and since
      those run on CI we don't care quite as much for the build being somewhat
      slower. As such, we don't automatically enable ThinLTO on builds for the
      dist builders.
      e1f04c04
  14. 01 2月, 2018 1 次提交
    • A
      rustc: Move location of `codegen-backends` dir · 8ebe5424
      Alex Crichton 提交于
      Right now this directory is located under:
      
        $sysroot/lib/rustlib/$target/lib/codegen-backends
      
      but after seeing what we do in a few other places it seems that a more
      appropriate location would be:
      
        $sysroot/lib/rustlib/$target/codegen-backends
      
      so this commit moves it!
      8ebe5424
  15. 29 1月, 2018 1 次提交
  16. 24 1月, 2018 1 次提交
    • M
      Add ./x.py check src/{libstd,libtest,rustc}. · 6aeb1cfb
      Mark Simulacrum 提交于
      This currently only supports a limited subset of the full compilation,
      but is likely 90% of what people will want and is possible without
      building a full compiler (i.e., running LLVM). In theory, this means
      that contributors who don't want to build LLVM now have an easy way to
      compile locally, though running tests won't work.
      6aeb1cfb
  17. 18 1月, 2018 1 次提交
  18. 14 1月, 2018 1 次提交
  19. 13 1月, 2018 2 次提交
  20. 12 1月, 2018 3 次提交
  21. 04 1月, 2018 2 次提交
    • A
      rustc: Don't use relative paths for extended errors · 8c9bf663
      Alex Crichton 提交于
      These no longer work now that Cargo changes the cwd of rustc while it's running.
      Instead use an absolute path that's set by rustbuild.
      8c9bf663
    • A
      Bump to 1.25.0 · 53fd0c50
      Alex Crichton 提交于
      * Bump the release version to 1.25
      * Bump the bootstrap compiler to the recent beta
      * Allow using unstable rustdoc features on beta - this fix has been applied to
        the beta branch but needed to go to the master branch as well.
      53fd0c50
  22. 14 12月, 2017 1 次提交
  23. 06 12月, 2017 1 次提交
  24. 24 11月, 2017 1 次提交
    • A
      rustbuild: Update LLVM and enable ThinLTO · 47498dea
      Alex Crichton 提交于
      This commit updates LLVM to fix #45511 (https://reviews.llvm.org/D39981) and
      also reenables ThinLTO for libtest now that we shouldn't hit #45768. This also
      opportunistically enables ThinLTO for libstd which was previously blocked
      (#45661) on test failures related to debuginfo with a presumed cause of #45511.
      
      Closes #45511
      47498dea
  25. 16 11月, 2017 1 次提交
  26. 13 11月, 2017 1 次提交
  27. 10 11月, 2017 1 次提交
    • A
      rustbuild: Disable ThinLTO for libtest · f6cc9ee7
      Alex Crichton 提交于
      Right now ThinLTO is generating bad dwarf which is tracked by #45511, but this
      is causing issues on OSX (#45768) where `dsymutil` is segfaulting and failing to
      produce output.
      
      Closes #45768
      f6cc9ee7
  28. 06 11月, 2017 1 次提交
    • A
      rustbuild: Re-enable ThinLTO for MIPS · ef0d843e
      Alex Crichton 提交于
      Now that the upstream LLVM bug is now fixed this commit cherry-picks the commit
      onto our LLVM and then re-enables the ThinLTO paths for MIPS.
      
      Closes #45654
      ef0d843e
  29. 31 10月, 2017 1 次提交
    • A
      rustbuild: Don't build with ThinLTO on MIPS · b1fd5a76
      Alex Crichton 提交于
      Discovered in #45529 it looks like cross-module TLS imports aren't quite working
      today, especially with `hidden` visibility which mostly comes up with multiple
      codegen units. As a result this completely disables compiling with ThinLTO and
      multiple codegen units on MIPS when bootstrapping.
      
      cc #45654, the tracking issue for this
      b1fd5a76
  30. 21 10月, 2017 1 次提交
    • A
      rustbuild: Compile rustc with ThinLTO · 1af1c2de
      Alex Crichton 提交于
      This commit enables ThinLTO for the compiler as well as multiple codegen units.
      This is intended to get the benefits of parallel codegen while also avoiding
      any major loss of perf. Finally this commit is also intended as further testing
      for #45320 and shaking out bugs.
      1af1c2de
  31. 19 10月, 2017 1 次提交
    • M
      Make sure to clear out the stageN-{rustc,std,tools} directories. · 0fcd3e7b
      Mark Simulacrum 提交于
      We copy built tool binaries into a dedicated directory to avoid deleting
      them, stageN-tools-bin. These aren't ever cleared out by code, since
      there should be no reason to do so, and we'll simply overwrite them as
      necessary.
      
      When clearing out the stageN-{std,rustc,tools} directories, make sure to
      delete both Cargo directories -- per-target and build scripts. This
      ensures that changing libstd doesn't cause problems due to build scripts
      not being rebuilt, even though they should be.
      0fcd3e7b
  32. 16 10月, 2017 1 次提交