# Template file for 'afl++'
pkgname=afl++
version=4.40c
revision=1
archs="i686* x86_64* aarch64*"
build_helper="qemu"
build_style=gnu-makefile
hostmakedepends="which"
makedepends="gmp-devel lld21 llvm21-devel python3-devel zlib-devel"
short_desc="American fuzzy lop Plus Plus - a brute-force fuzzer"
maintainer="Leah Neukirchen <leah@vuxu.org>"
license="Apache-2.0"
homepage="https://aflplus.plus/"
distfiles="https://github.com/AFLplusplus/AFLplusplus/archive/refs/tags/v${version}.tar.gz"
checksum=3343796f0b69b0bec07e44033608280c360e0e90b4ddb6bdda263d598fc3e472
conflicts="afl>=0"
replaces="afl>=0"

nostrip_files="small_archive.a small_exec.elf"

if [ "$CROSS_BUILD" ]; then
	export LLVM_CONFIG=${XBPS_CROSS_BASE}/usr/bin/llvm-config
	export PYTHON_INCLUDE="-I${py3_inc}"
	export PYTHON_LIB="-lpython${py3_ver} -ldl -lm"
	export PYTHON_VERSION="Python ${py3_ver}"
else
	export LLVM_CONFIG=llvm-config
fi

case "$XBPS_TARGET_MACHINE" in
	aarch64*) export AFL_NO_X86="YES" ;;
esac

post_install() {
	# Test cases contain binary .../testcases/others/elf/small_exec.elf
	# so move them to /usr/lib/afl
	mv ${DESTDIR}/usr/{share,lib}/afl/testcases
}
