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

Investigate vendoring SLEEF #107

Open
ngoldbaum opened this issue Mar 5, 2025 · 1 comment
Open

Investigate vendoring SLEEF #107

ngoldbaum opened this issue Mar 5, 2025 · 1 comment

Comments

@ngoldbaum
Copy link
Member

@mhvk added some instruction on how to build SLEEF, but I think we could also set up meson so it builds a version we vendor. That probably makes more sense than trying to keep up with upstream changes.

@SwayamInSync
Copy link
Contributor

SwayamInSync commented Mar 5, 2025

Make sense, so pre-builds available here https://github.com/SwayamInSync/numpy-user-dtypes/releases/tag/quaddtype-v0.0.9
are already precompiled with sleef (generated via a workflow that builds the sleef first and then package) but setting up meson should be doable and easier for source builds.

Although it is very straightforward, as building and installing sleef at system path is automatically identified by the meson so no need to setup environment variables (unless installing sleef at a custom place)

One other issue with meson I noticed previously is not having any architecture flags, which leads some of the object file to compiled as x86_64 build on arm-64 machine (fixed via setting up the flags)

if host_cpu == 'aarch64'
  add_project_arguments('-arch', 'arm64', language: ['c', 'cpp'])
  add_project_link_arguments('-arch', 'arm64', language: ['c', 'cpp'])

I had an partially updated version of the meson file at this branch of my fork https://github.com/SwayamInSync/numpy-user-dtypes/blob/quaddtype-packaging/quaddtype/meson.build (supports windows builds + fix linking issues)

Edit: Just noticed this update in meson was sent along with this open PR #100

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

No branches or pull requests

2 participants