# Template file for 'z3'
pkgname=z3
version=4.12.4
revision=1
build_style=configure
configure_args="--prefix=/usr -g --python $(vopt_if ocaml --ml)"
make_build_args="-C build all examples"
make_install_args="-C build install"
hostmakedepends="python3 which $(vopt_if ocaml 'ocaml ocaml-findlib')"
makedepends="libgomp-devel gmp-devel $(vopt_if ocaml 'ocaml-zarith ncurses-devel')"
depends="python3 python3-setuptools"
short_desc="Z3 theorem prover and SMT solver (command line + Python3 module)"
maintainer="Leah Neukirchen <leah@vuxu.org>"
license="MIT"
homepage="https://github.com/Z3Prover/z3"
distfiles="https://github.com/Z3Prover/z3/archive/z3-${version}.tar.gz"
checksum=25e9b18d04ee22f1d872dfe0daaf4c39034744525214e34fedd206e25140e96e

build_options="ocaml"
desc_option_ocaml="Enable support for OCaml bindings"

shlib_provides="libz3.so"
subpackages="$(vopt_if ocaml z3-ocaml)"

if [ -z "$CROSS_BUILD" ]; then
	build_options_default="ocaml"
fi

do_check() {
	make ${MAKEJOBS} -C build test
	./build/test-z3 /a
}

post_install() {
	vbin build/z3_tptp
	vbin build/maxsat
	if [ "$build_option_ocaml" ]; then
		vmkdir usr/lib/ocaml/Z3/stublibs
		mv ${DESTDIR}/usr/lib/ocaml/Z3/dllz3ml.so ${DESTDIR}/usr/lib/ocaml/Z3/stublibs
	fi
	vlicense LICENSE.txt
}

z3-ocaml_package() {
	short_desc="Z3 theorem prover and SMT solver (OCaml bindings)"
	depends="z3>=${version}_${revision}"
	pkg_install() {
		vmove usr/lib/ocaml
	}
}
