Files
fil/config.m4
Henrik Jess Nielsen b4c07d3693
All checks were successful
Deploy fil (kreuzberg) / deploy (push) Successful in 49s
Nomad changes
2026-06-01 23:40:55 +02:00

39 lines
1.4 KiB
Plaintext

dnl Configuration for Rust-based PHP extension via ext-php-rs.
dnl Allows phpize to recognize this extension during source compilation (PIE fallback).
PHP_ARG_ENABLE([kreuzberg],
[whether to enable the kreuzberg extension],
[AS_HELP_STRING([--enable-kreuzberg],
[Enable kreuzberg extension support])],
[yes])
if test "$PHP_KREUZBERG_ENABLED" = "yes"; then
dnl Recognize the extension directory for phpize/make
PHP_NEW_EXTENSION(kreuzberg, [], $ext_shared)
dnl Invoke cargo build to compile the Rust FFI library
AC_CONFIG_COMMANDS([cargo-build], [
if test -f "crates/kreuzberg-php/Cargo.toml"; then
cargo build --release --manifest-path crates/kreuzberg-php/Cargo.toml || exit 1
cargo_output_dir="crates/kreuzberg-php/target/release"
ext_soname="kreuzberg"
dnl Detect output filename based on platform
if test -f "${cargo_output_dir}/libkreuzberg_php.dylib"; then
cargo_lib="${cargo_output_dir}/libkreuzberg_php.dylib"
elif test -f "${cargo_output_dir}/libkreuzberg_php.so"; then
cargo_lib="${cargo_output_dir}/libkreuzberg_php.so"
else
AC_MSG_ERROR([cargo build succeeded but .so/.dylib not found])
fi
dnl Copy the compiled library to modules/ directory for phpize to install
cp "${cargo_lib}" "modules/${ext_soname}.so" || exit 1
else
AC_MSG_ERROR([crates/kreuzberg-php/Cargo.toml not found])
fi
], [
extension_name=kreuzberg
])
fi