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

llvm18: new recipe #10222

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

llvm18: new recipe #10222

wants to merge 2 commits into from

Conversation

davidkaroly
Copy link
Contributor

@davidkaroly davidkaroly commented Mar 16, 2024

Successful build on x86_64 and the resulting toolchain can build simple C/C++ examples.
Haven't tried it on 32-bit yet.Successful build and smoke test on x86 secondary arch.

@korli
Copy link
Contributor

korli commented Mar 18, 2024

It would nice to drop $secondaryArchSuffix on every cmd: provides. It's very inconvenient to have to specify cmd:clang_x86

@davidkaroly
Copy link
Contributor Author

It would nice to drop $secondaryArchSuffix on every cmd: provides. It's very inconvenient to have to specify cmd:clang_x86

Not quite sure... the $secondaryArchSuffix'es were introduced in #9593 to fix a build issue for qt on 32-bit (see #9562)
This will need some more investigation.

@korli
Copy link
Contributor

korli commented Mar 20, 2024

it seems clang since at least version 16 generates DT_RUNPATH instead of DT_RPATH.
I had to use export LDFLAGS="-Wl,--disable-new-dtags" to have DT_RPATH generated.

@davidkaroly
Copy link
Contributor Author

updated patch:

  • uplift to llvm-18.1.2
  • add lld to clang package's dependencies

@davidkaroly
Copy link
Contributor Author

it seems clang since at least version 16 generates DT_RUNPATH instead of DT_RPATH. I had to use export LDFLAGS="-Wl,--disable-new-dtags" to have DT_RPATH generated.

not sure about this one, I see some commits in haiku repo related to rpath and runpath, not sure if anything is needed in this recipe?

@korli
Copy link
Contributor

korli commented Mar 25, 2024

not sure about this one, I see some commits in haiku repo related to rpath and runpath, not sure if anything is needed in this recipe?

For r1beta4 some workaround would be needed.

@davidkaroly
Copy link
Contributor Author

It would nice to drop $secondaryArchSuffix on every cmd: provides. It's very inconvenient to have to specify cmd:clang_x86

Not quite sure... the $secondaryArchSuffix'es were introduced in #9593 to fix a build issue for qt on 32-bit (see #9562) This will need some more investigation.

actually we can override CMAKE_INSTALL_BINDIR, so far the results are promising. the binaries are installed in bin/ and this time the paths in LLVMExports-release.cmake also seem to line up correctly so we should be able to avoid the issue seen in #9562

@Begasus
Copy link
Contributor

Begasus commented Apr 20, 2024

I haven't checked this yet, but pushed an update for clazy yesterday, on 64bit the build went fine but for 32bit it failed, maybe related to the comments by @korli ?

CMake Error at cmake/FindLLVM.cmake:125 (string):
 string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
 cmake/FindClang.cmake:46 (find_package)
 CMakeLists.txt:29 (find_package)

https://build.haiku-os.org/buildmaster/master/x86_gcc2/logviewer.html?buildruns/6154/builds/83288.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants