SUMMARY="Apache Portable Runtime Library"
DESCRIPTION="The mission of the Apache Portable Runtime (APR) project is to \
create and maintain software libraries that provide a predictable and \
consistent interface to underlying platform-specific implementations.
The primary goal is to provide an API to which software developers may code \
and be assured of predictable if not identical behaviour regardless of the \
platform on which their software is built, relieving them of the need to code \
special-case conditions to work around or take advantage of platform-specific \
deficiencies or features.

To give a brief overview, the primary core subsystems of APR 1.x include the \
following:
- atomic operations
- dynamic shared object loading
- file I/O
- locks (mutexes, condition variables, etc.)
- memory management (high performance allocators)
- memory-mapped files
- multicast sockets
- network I/O
- shared memory
- thread and process management
- various data structures (tables, hashes, priority queues, etc.)"
HOMEPAGE="http://apr.apache.org/"
COPYRIGHT="2012 The Apache Software Foundation"
LICENSE="Apache v2"
REVISION="1"
SOURCE_URI="http://archive.apache.org/dist/apr/apr-$portVersion.tar.gz"
CHECKSUM_SHA256="48e9dbf45ae3fdc7b491259ffb6ccf7d63049ffacbc1c0977cced095e4c2d5a2"
PATCHES="apr-$portVersion.patchset"

ARCHITECTURES="all ?x86"
SECONDARY_ARCHITECTURES="x86"

libVersion="0.7.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"

PROVIDES="
	apr$secondaryArchSuffix = $portVersion
	lib:libapr_1$secondaryArchSuffix = $libVersionCompat
	"
REQUIRES="
	haiku$secondaryArchSuffix
	"

PROVIDES_devel="
	apr${secondaryArchSuffix}_devel = portVersion
	cmd:apr_1_config$secondaryArchSuffix = portVersion compat >= 1
	devel:libapr_1$secondaryArchSuffix = $libVersionCompat
	"
REQUIRES_devel="
	apr$secondaryArchSuffix == $portVersion base
	"

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

BUILD()
{
	libtoolize -fci
	touch libtool.m4
	aclocal -I build
	autoconf
	runConfigure ./configure \
		--with-installbuilddir=$prefix/data/apr CFLAGS=-D_BSD_SOURCE

	# TODO: fix this hack (by finding out why top_builddir seems to be unset)!
	ln -sfn $sourceDir/libtool /libtool

	make $jobArgs
}

INSTALL()
{
	make install

	rm $libDir/libapr-1.la $libDir/libapr-1.a

	# prepare develop/lib
	prepareInstalledDevelLibs libapr-1
	fixPkgconfig

	# fix apr-1-config
	fixDevelopLibDirReferences $binDir/apr-1-config

	# remove superfluous .exp file
	rm $libDir/apr.exp

	# devel package
	packageEntries devel \
		$binDir \
		$dataDir \
		$developDir
}

TEST()
{
	make test
}
