SUMMARY="An SQL Database Engine in a C library"
DESCRIPTION="SQLite is a software library that implements a self-contained, \
serverless, zero-configuration, transactional SQL database engine. SQLite is \
the most widely deployed SQL database engine in the world. The source code for \
SQLite is in the public domain."
HOMEPAGE="https://www.sqlite.org/"
COPYRIGHT="Public Domain"
LICENSE="SQLite"
REVISION="1"
sqliteVersion=$(echo $portVersion | sed -e 's/\.\([0-9]\>\)/0\1/g' -e 's/\.//g')
SOURCE_URI="https://www.sqlite.org/2021/sqlite-autoconf-$sqliteVersion.tar.gz"
CHECKSUM_SHA256="bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3"
SOURCE_DIR="sqlite-autoconf-$sqliteVersion"

ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"

libVersion="0.8.6"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
portVersionCompat="$portVersion compat >= 3"

PROVIDES="
	sqlite$secondaryArchSuffix = $portVersionCompat
	lib:libsqlite3$secondaryArchSuffix = $libVersionCompat
	"
if [ -z "$secondaryArchSuffix" ]; then
PROVIDES="$PROVIDES
	cmd:sqlite3 = $portVersionCompat
	"
fi

REQUIRES="
	haiku$secondaryArchSuffix
	"

PROVIDES_devel="
	sqlite${secondaryArchSuffix}_devel = $portVersion
	devel:libsqlite3$secondaryArchSuffix = $libVersionCompat
	"
REQUIRES_devel="
	sqlite$secondaryArchSuffix == $portVersion base
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	"
BUILD_PREREQUIRES="
	cmd:aclocal
	cmd:autoconf
	cmd:automake
	cmd:gcc$secondaryArchSuffix
	cmd:ld$secondaryArchSuffix
	cmd:libtoolize$secondaryArchSuffix
	cmd:make
	"

defineDebugInfoPackage sqlite$secondaryArchSuffix \
	"$libDir"/libsqlite3.so.$libVersion

BUILD()
{
	autoreconf -fi
	export CPPFLAGS="$CPPFLAGS \
		-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY \
		-DSQLITE_ENABLE_DBSTAT_VTAB 	-DSQLITE_SECURE_DELETE=1 \
		-DSQLITE_ENABLE_FTS3=1 	-DSQLITE_ENABLE_FTS3_PARENTHESIS \
		-DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_RTREE"
	runConfigure ./configure --disable-static

	# Not using "make $jobArgs" because parallel builds are not supported.
	make
}

INSTALL()
{
	make install

	# remove libtool file
	rm $libDir/libsqlite3.la

	prepareInstalledDevelLib libsqlite3
	fixPkgconfig

	# devel package
	packageEntries devel \
		$developDir

	# Remove stuff we don't need in the secondary architecture base package.
	if [ -n "$secondaryArchSuffix" ]; then
		rm -rf $binDir
		rm -rf $documentationDir
	fi
}

TEST()
{
	make check
}
