- Oct 19, 2024
-
-
Peter Marheine authored
add LLVMGetValueContext and LLVMGetBuilderContext See merge request !51
-
- Oct 15, 2024
-
-
Alexandru B. Geană authored
See also https://github.com/llvm/llvm-project/pull/99087
-
- Oct 03, 2024
-
-
Peter Marheine authored
Improve portability of examples (was: support cross-compilation) See merge request taricorp/llvm-sys.rs!49
-
- Oct 02, 2024
-
-
vadorovsky authored
Use the `c_char` type instead of `i8` - the type used as `char` (signed or unsigned) differs across architectures.
-
- Sep 18, 2024
-
-
Peter Marheine authored
-
Peter Marheine authored
The requirement for rust 1.65 is inherited from the regex-lite dependency, and upgrading beyond the 2015 edition currently requires code changes to handle changed import rules in Rust 2018.
-
Peter Marheine authored
llvm.sh seems to have started not installing llvm-$VERSION-dev by default, which leaves llvm-config unavailable so our builds fail.
-
- Aug 23, 2024
-
-
Peter Marheine authored
-
Peter Marheine authored
This is a new warning in (or around) Rust 1.80.
-
Peter Marheine authored
-
Peter Marheine authored
build: Fix build for variety of musl-based Linux distributions See merge request !46
-
- Aug 22, 2024
-
-
vadorovsky authored
Before this change, build.rs had two problems which were making it impossible to build on different musl-based Linux environments: - It was assuming that the C++ library on all musl-based systems is LLVM libc++. - In the most cases, it's the opposite. LLVM packaged in Alpine is linked against GNU libstdc++, as well as LLVM tarballs in Rust CI. - Gentoo with musl-llvm profile, even though it links LLVM against libc++, has a different name for the system-wide static library (`/usr/lib/libc++_static.a` instead of `/usr/lib/libc++.a`, which is a link script). - When linking runtime libraries statically (`crt-static`), Cargo doesn't look for the system-wide static libraries in `/usr/lib`, unless that directory is added to the link flags with `-L`. The first point is addressed by: - Linking to libstdc++ by default, even for musl systems. - Ability to override that choice with `LLVM_SYS_LIBCPP` environment variable for environments which use LLVM libc++. The second point is addressed by: - Adding `/usr/lib` and other system dirs to `cargo::rustc-link-search` on Linux with `crt-static` builds. - Exposing `LLVM_SYS_SYSTEM_LIBRARY_DIRS` environment variable, where callers can add additional paths. After this change, building llvm-sys on Alpine can be done just with the usual `cargo build` and `LLVM_SYS_191_PREFIX` variable pointing to the LLVM 19 prefix. In CI, we are using Rust CI tarballs for that. On any Linux environment where LLVM is linked against libc++, llvm-sys can be built with: ``` LLVM_SYS_LIBCPP=c++ cargo build --no-default-features ``` Building llvm-sys Gentoo with llvm-musl profile, where libc++ static library is called `libc++_static.a` and it needs `libc++abi.a` to work, can be done with: ``` LLVM_SYS_LIBCPP=c++_static RUSTFLAGS="-lc++abi" cargo test --no-default-features ``` Unfortunately, the latter configurations are not tested in CI - as for now, there are no publicly available libLLVM binary blobs linked against LLVM libc++ - such configuration requires compilation of LLVM.
-
- Aug 17, 2024
-
-
These distros provide llvm-config in their llvm-devel package.
-
- Aug 03, 2024
-
-
Peter Marheine authored
Greater distro compatibility is probably more worthwhile than guaranteed static linking. Closes #65.
-
Peter Marheine authored
Same as the backport script, I never remember how to use it.
-
Peter Marheine authored
I find I need to look at the implementation to figure out how to use this script every time I use it, so make it print help to avoid that.
-
- Aug 02, 2024
-
-
Peter Marheine authored
Make it easier to build on macOS and FreeBSD See merge request !45
-
Yorick Peterse authored
Homebrew installs LLVM in non-standard locations, and compilers won't find the necessary libraries without fiddling around with `brew link`, PATH, and LIBRARY_PATH. This updates the build script such that it tries to automatically detect the necessary paths when using Homebrew, removing the need for any manual intervention.
-
Yorick Peterse authored
This is needed to ensure that additional libraries such as zstd are found when building.
-
- Jul 31, 2024
-
-
Peter Marheine authored
-
Peter Marheine authored
-
Peter Marheine authored
Since the API changes are based on LLVM 19.1.0-rc1, this is currently tagged as a prerelease (-rc1) crate.
-
- Jun 20, 2024
-
-
Peter Marheine authored
-
Peter Marheine authored
fix LLVMTargetMachineEmitToFile signature See merge request !44
-
- Jun 19, 2024
-
-
Lukas authored
-
- Mar 31, 2024
-
-
Peter Marheine authored
-
- Mar 24, 2024
-
-
Peter Marheine authored
Link system libraries based on crt-static feature. See merge request !43
-
- Mar 23, 2024
-
-
xbjfk authored
-
- Mar 19, 2024
-
-
Peter Marheine authored
-
- Feb 14, 2024
-
-
Peter Marheine authored
Since the API changes are based on LLVM 18.1.0-rc2, this is currently tagged as a prerelease (-rc2) crate.
-
Peter Marheine authored
Based on llvm 18.1.0-rc2.
-
- Dec 04, 2023
-
-
Peter Marheine authored
-
Peter Marheine authored
Handle OpenBSD quirks Closes #60 See merge request !41
-
Peter Marheine authored
Closes #60, (hopefully) allowing the crate to be used on OpenBSD systems. Suggested-by: Sébastien Bourdeauducq
-
- Dec 01, 2023
-
-
Peter Marheine authored
This apt-get was incorrectly asking for confirmation.
-
Peter Marheine authored
Updating to use Debian bookworm exposed https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1043101 in CI. Manually ensure /etc/apt/sources.list exists to keep the bug from manifesting.
-
Peter Marheine authored
Debian bullseye is now oldstable, and presumably the LLVM packages will generally work fine as new Debian releases appear, so stop requesting a specific Debian version so we don't need to manually update in the future.
-
- Oct 16, 2023
-
-
Peter Marheine authored
Latest CI builds are hitting a link failure due to missing `-lzstd`, which this should resolve.
-
- Oct 15, 2023
-
-
Peter Marheine authored
This saves quite a lot of compile time, and since regex uses are minimal in this crate (only for matching version numbers) the loss of features is unimportant.
-
- Aug 14, 2023
-
-
Peter Marheine authored
Update to LLVM 17 See merge request !38
-