SUMMARY="An efficient method of encoding structured data"
DESCRIPTION="Protocol buffers are Google's language-neutral, platform-neutral, \
extensible mechanism for serializing structured data – think XML, but smaller, \
faster, and simpler. You define how you want your data to be structured once, \
then you can use special generated source code to easily write and read your \
structured data to and from a variety of data streams and using a variety of \
languages – Java, C++, or Python."
HOMEPAGE="https://developers.google.com/protocol-buffers/"
COPYRIGHT="2008 Google"
LICENSE="Apache v2"
REVISION="1"
SOURCE_URI="http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.bz2"
CHECKSUM_SHA256="cf8452347330834bbf9c65c2e68b5562ba10c95fa40d4f7ec0d2cb332674b0bf"
PATCHES="protobuf_x86-2.4.1.patchset"
ARCHITECTURES="x86"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
	# x86_gcc2 is fine as primary target architecture as long as we're building
	# for a different secondary architecture.
	ARCHITECTURES="$ARCHITECTURES x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"

PROVIDES="
	protobuf$secondaryArchSuffix =$portVersion
	cmd:protoc$secondaryArchSuffix
	lib:libprotobuf_lite$secondaryArchSuffix = 7.0.0 compat >= 7
	lib:libprotobuf$secondaryArchSuffix = 7.0.0 compat >= 7
	lib:libprotoc$secondaryArchSuffix = 7.0.0 compat >= 7
	"
REQUIRES="
	haiku$secondaryArchSuffix
	lib:libstdc++$secondaryArchSuffix
	lib:libgcc_s$secondaryArchSuffix
	"

PROVIDES_devel="
	protobuf${secondaryArchSuffix}_devel = $portVersion
	devel:libprotobuf_lite$secondaryArchSuffix = 7.0.0 compat >= 7
	devel:libprotobuf$secondaryArchSuffix = 7.0.0 compat >= 7
	devel:libprotoc$secondaryArchSuffix = 7.0.0 compat >= 7
	"
REQUIRES_devel="
	protobuf$secondaryArchSuffix == $portVersion base
	"
	
BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	"
BUILD_PREREQUIRES="
	cmd:autoreconf
	cmd:gcc$secondaryArchSuffix
	cmd:libtoolize
	cmd:make
	"

BUILD()
{
	libtoolize --force --copy --install
	./autogen.sh
	runConfigure ./configure
	make $jobArgs
}

INSTALL()
{
	make install
	
	prepareInstalledDevelLibs libprotobuf-lite libprotobuf libprotoc
	fixPkgconfig
	packageEntries devel $developDir
}

TEST()
{
	make check
}
