• J
    Allow downloading LLVM on Windows · 67660704
    Joshua Nelson 提交于
    - Don't ignore packaging `llvm/lib/` for `rust-dev` when LLVM is linked
    statically
    - Add `link-type.txt` so bootstrap knows whether llvm was linked
      statically or dynamically
    - Don't assume CI LLVM is linked dynamically in `bootstrap::config`
    - Fall back to dynamic linking if `link-type.txt` doesn't exist
    - Fix existing bug that split the output of `llvm-config` on lines, not spaces
    - Enable building LLVM tests
    
      This works around the following llvm bug:
    
      ```
      llvm-config: error: component libraries and shared library
    
      llvm-config: error: missing: /home/joshua/rustc2/build/x86_64-unknown-linux-gnu/llvm/build/lib/libgtest.a
      llvm-config: error: missing: /home/joshua/rustc2/build/x86_64-unknown-linux-gnu/llvm/build/lib/libgtest_main.a
      llvm-config: error: missing: /home/joshua/rustc2/build/x86_64-unknown-linux-gnu/llvm/build/lib/libLLVMTestingSupport.a
      thread 'main' panicked at 'command did not execute successfully: "/home/joshua/rustc2/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-config" "--libfiles"
      ```
    
      I'm not sure why llvm-config thinks these are required, but to avoid
      the error, this builds them anyway.
    
    - Temporarily set windows as the try builder. This should be reverted
      before merging.
    
    - Bump version of `download-ci-llvm-stamp`
    
      `src/llvm-project` hasn't changed, but the generated tarball has.
    
    - Only special case MacOS when dynamic linking. Static linking works fine.
    - Store `link-type.txt` to the top-level of the tarball
    
      This allows writing the link type unconditionally. Previously, bootstrap
      had to keep track of whether the file IO *would* succeed (it would fail
      if `lib/` didn't exist), which was prone to bugs.
    
    - Make `link-type.txt` required
    
      Anyone downloading this from CI should be using a version of bootstrap
      that matches the version of the uploaded artifacts. So a missing
      link-type indicates a bug in x.py.
    67660704
config.rs 38.3 KB