numba / llvmlite

A lightweight LLVM python binding for writing JIT compilers
https://llvmlite.pydata.org/
BSD 2-Clause "Simplified" License
1.94k stars 321 forks source link

build: support building on GNU/Hurd #966

Closed pinotree closed 1 year ago

pinotree commented 1 year ago

LLVM is ported on the Hurd, and the Hurd has the same GNU toolchain that is also generally used on Linux. Since build & the tests work fine, apply/use some Linux build tweaks also on any GNU platform (including the Hurd):

pinotree commented 1 year ago

Generally in the past our policy has been to accept changes that help llvmlite build on other platforms and maintain them on a best-effort basis, even if we don't support them (as you will have seen FreeBSD and OpenBSD support below your changes). My expectation is that this GNU Hurd build support should be acceptable in a similar vein.

Sounds good to me. llvmlite is available in Debian [1], and one of the ports architectures is hurd-i386 (i.e. GNU/Hurd on x86); you can see here [2] the build status, including the logs for old versions of each architecture (see the "old" links).

I did not see a lot of OS-specific code in llvmlite, so I think it will not break on the Hurd that often.

[1] https://tracker.debian.org/pkg/llvmlite [2] https://buildd.debian.org/status/package.php?p=llvmlite&suite=sid

esc commented 1 year ago

@pinotree thank you for that patch! @gmarkall thank you for the review!