Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revive llvm builder utility #154

Merged
merged 27 commits into from
Jan 13, 2025
Merged

revive llvm builder utility #154

merged 27 commits into from
Jan 13, 2025

Conversation

xermicus
Copy link
Member

@xermicus xermicus commented Jan 11, 2025

Pre-eliminary support for LLVM releases and resolc binary releases by streamlining the build process for all supported hosts platforms.

  • Introduce the revive-llvm-builder crate with the revive-llvm builder utilty.
  • Do not rely on the LLVM dependency in $PATH to decouple the system LLVM installation from the LLVM host dependency.
  • Fix the emscripten build by decoupling the host and native LLVM dependencies. Thus allowing a single LLVM emscripten release that can be used on any host platform.
  • An example Dockerfile building an alpine container with a fully statically linked resolc ELF binary.
  • Remove the Debian builder utilities and workflow.
  • Remove the vendored compiler-rt buitlins.

xermicus and others added 20 commits January 10, 2025 11:49
Signed-off-by: xermicus <[email protected]>
Signed-off-by: Cyrill Leutwiler <[email protected]>
Signed-off-by: xermicus <[email protected]>
Signed-off-by: Cyrill Leutwiler <[email protected]>
Signed-off-by: Cyrill Leutwiler <[email protected]>
Signed-off-by: Cyrill Leutwiler <[email protected]>
Signed-off-by: xermicus <[email protected]>
Signed-off-by: xermicus <[email protected]>
Signed-off-by: xermicus <[email protected]>
Signed-off-by: xermicus <[email protected]>
Signed-off-by: xermicus <[email protected]>
Signed-off-by: xermicus <[email protected]>
Signed-off-by: xermicus <[email protected]>
Signed-off-by: xermicus <[email protected]>
@xermicus xermicus force-pushed the cl/revive-llvm-builder branch from 6b99d7b to 3299ff0 Compare January 12, 2025 12:58
Signed-off-by: xermicus <[email protected]>
Signed-off-by: Cyrill Leutwiler <[email protected]>
Signed-off-by: Cyrill Leutwiler <[email protected]>
Signed-off-by: Cyrill Leutwiler <[email protected]>
@xermicus xermicus marked this pull request as ready for review January 13, 2025 07:09
Signed-off-by: Cyrill Leutwiler <[email protected]>
Signed-off-by: Cyrill Leutwiler <[email protected]>
@xermicus xermicus merged commit 7f81f37 into main Jan 13, 2025
6 checks passed
@xermicus xermicus deleted the cl/revive-llvm-builder branch January 13, 2025 14:58
@smiasojed
Copy link
Collaborator

smiasojed commented Jan 14, 2025

@xermicus it seems that you forgot to remove clone-llvm.sh or is it still needed somewhere?

There is an issue with llvm cache in WASM build - it does not work correctly. It seems like we would not cache the WASM llvm build:

 wasm-ld: warning: /home/runner/work/revive/revive/target/wasm32-unknown-emscripten/release/deps/liblld_sys-70cd6930db6dd32d.rlib: archive member 'AArch64ErrataFix.cpp.o' is neither Wasm object file nor LLVM bitcode
          wasm-ld: warning: /home/runner/work/revive/revive/target/wasm32-unknown-emscripten/release/deps/liblld_sys-70cd6930db6dd32d.rlib: archive member 'AArch64.cpp.o' is neither Wasm object file nor LLVM bitcode
          wasm-ld: warning: /home/runner/work/revive/revive/target/wasm32-unknown-emscripten/release/deps/liblld_sys-70cd6930db6dd32d.rlib: archive member 'AMDGPU.cpp.o' is neither Wasm object file nor LLVM bitcode
          ...

@xermicus
Copy link
Member Author

@smiasojed thanks for pointing, made a follow up to fix it: #159

xermicus added a commit that referenced this pull request Jan 15, 2025
Follow-ups for #154
- Fix the cache in the Wasm build
- Remove a no longer needed script
- The Wasm build job uses parity-large
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants