# Template file for 'LuaJIT'
pkgname=LuaJIT
# the minor version is the contents of the .relver file in the source tarball
version=2.1.1748459687
revision=1
_commit_hash=f9140a622a0c44a99efb391cc1c2358bc8098ab7
build_style=gnu-makefile
hostmakedepends="lua52-BitOp"
short_desc="Just-In-Time Compiler for Lua"
maintainer="Daniel Martinez <danielmartinez@cock.li>"
license="MIT"
homepage="https://www.luajit.org"
distfiles="https://repo.or.cz/luajit-2.0.git/snapshot/${_commit_hash}.tar.gz"
checksum=a1af74fca9971355dc6d4cf32d56e278aa8897898ab5f62725de5aeb730ee381

_host_cc="cc"
if [ -n "$CROSS_BUILD" ]; then
	if [ "$XBPS_WORDSIZE" != "$XBPS_TARGET_WORDSIZE" ]; then
		if [ "${XBPS_MACHINE%%-*}" = "x86_64" ]; then
			hostmakedepends+=" cross-i686-linux-musl"
			_host_cc="i686-linux-musl-gcc -static"
		else
			broken="Host and target wordsize must match when not on x86_64"
		fi
	fi

	make_build_args+=" CROSS=${XBPS_CROSS_TRIPLET}-"
fi

pre_build() {
	make_build_args+=" XCFLAGS=-DLUAJIT_ENABLE_LUA52COMPAT"
}

do_build() {
	# if we don't unset, the build fails to cross-compile
	# due to confliction with the makefile macros
	local _cflags="$CFLAGS"
	local _ldflags="$LDFLAGS"
	unset CFLAGS LDFLAGS

	make amalg ${makejobs} PREFIX=/usr HOST_LUA=lua5.2 \
		HOST_CFLAGS="$XBPS_CFLAGS" HOST_LDFLAGS="$XBPS_LDFLAGS" \
		TARGET_CFLAGS="${_cflags}" TARGET_LDFLAGS="${_ldflags}" \
		HOST_CC="${_host_cc}" ${make_build_args}
}

post_install() {
	vlicense COPYRIGHT
}

LuaJIT-devel_package() {
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
		vmove "usr/lib/*.a"
		vmove "usr/lib/*.so"
	}
}
