-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
New package: llvm17 #46935
New package: llvm17 #46935
Conversation
d7e1212
to
c6f2673
Compare
Cross compiling failing. Might be related to these: |
static const char *const PPCLELibDirs[] = {"/lib32", "/lib"}; | ||
static const char *const PPCLETriples[] = {"powerpcle-linux-gnu", | ||
- "powerpcle-unknown-linux-gnu", | ||
- "powerpcle-linux-musl"}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's seems that this patch, besides of adding musl triplets, actually remove one for ppcle arch though I think it doesn't matter since void doesn't have support of this arch anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the most part, the patches were copied from the llvm15 package. Upstream has done some work on ppc though, so some of void's ppc patches are no longer needed.
c6f2673
to
9526c62
Compare
Primary holdup currently is RISCV tablegen failing when crosscompiling. I think the problem is that the llvm-tblgen binary is properly compiled for the host arch, but the llvm-min-tblgen is being built for the target arch |
Actually, the llvm-min-tblgen found in NATIVE/bin/llvm-min-tblgen is being used, instead of the one HOST/bin/ |
e69eb60
to
6f47912
Compare
Cross compilation now working |
6f47912
to
64b4f96
Compare
srcpkgs/llvm17/template
Outdated
make ${makejobs} -C tools/clang/utils/TableGen | ||
make ${makejobs} -C tools/clang/tools/extra/clang-tidy/misc/ConfusableTable | ||
make ${makejobs} -C tools/clang/tools/extra/pseudo/gen | ||
make ${makejobs} -C tools/llvm-config |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
llvm-config needed for cross
srcpkgs/llvm17/template
Outdated
[ "$_lldb_enable" = "yes" ] && configure_args+=" -DLLDB_TABLEGEN=${wrksrc}/llvm/build/HOST/bin/lldb-tblgen" | ||
configure_args+=" -DLLDB_TABLEGEN_EXE=${wrksrc}/llvm/build/HOST/bin/lldb-tblgen" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LLDB_TABLEGEN_EXE needs to be set for cross. LLDB_TABLEGEN is probably not needed, but I will do further testing
64b4f96
to
16f2dbe
Compare
srcpkgs/llvm17/template
Outdated
ppc*) configure_args+=" -DCLANG_ENABLE_CLANGD=OFF" ;; | ||
esac | ||
|
||
_enabled_projects="clang;clang-tools-extra;compiler-rt;lld;mlir;flang;polly;libclc;bolt" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Enabled flang, mlir (flang dependancy), polly, libclc, and bolt.
srcpkgs/llvm17/template
Outdated
makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel | ||
libxml2-devel binutils-devel ocaml ocaml-findlib lua53-devel" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added ocaml for ocaml bindings, and lua for lldb scripting.
srcpkgs/llvm17/template
Outdated
-DLLDB_PYTHON_EXE_RELATIVE_PATH=bin/python${py3_ver} | ||
-DLLDB_PYTHON_EXT_SUFFIX=$_ext_suffix" | ||
hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx | ||
python3-recommonmark python3-sphinx-automodapi git python3-sphinx-markdown-tables python3-yaml pkg-config" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
python3-sphinx-markdown-tables is a new package needed for flang documentation
14f4ccd
to
a82593e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed documentation, crossbuilds.
Next step is to remove packages from llvm15, then rev bump all packages with llvm dependencies
srcpkgs/llvm17/template
Outdated
case "$XBPS_TARGET_MACHINE" in | ||
x86_64*|aarch64*) _flang_enable=yes;; | ||
esac |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
flang does not allow 32 bit, and explicitly supports only x86_64 and aarch64
7a48db0
to
41fda05
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updating Mesa required some patching, and needed updates to SPRIV too
Will definitely need mesa to be tested, especially with the patches
1b1cc59
to
b5012e9
Compare
This merge request is in a sate where I feel that a review would be beneficial |
Successfully crossbuilt llvm17 and all reverse dependencies for aarch64-musl |
SPIRV-Tools failing on musl |
2bba099
to
a8169e1
Compare
448214e
to
34aeacf
Compare
@Duncaen could you double check this shlibs?
and then
|
nevermind, it's due to crosscompilation. |
I think this is completed and can be closed |
Testing the changes
New package
Local build testing
Additional builds:
[ci skip]