1SUMMARY="Memory efficient serialization library"
2DESCRIPTION="FlatBuffers is an efficient cross platform serialization library \
3for C++, C#, C, Go, Java, JavaScript, Lobster, Lua, TypeScript, PHP, Python, \
4and Rust. It was originally created at Google for game development and other \
5performance-critical applications."
6HOMEPAGE="https://google.github.io/flatbuffers/"
7COPYRIGHT="2014 Google Inc."
8LICENSE="Apache v2"
9REVISION="1"
10SOURCE_URI="https://github.com/google/flatbuffers/archive/v$portVersion.tar.gz"
11CHECKSUM_SHA256="62f2223fb9181d1d6338451375628975775f7522185266cd5296571ac152bc45"
12SOURCE_FILENAME="flatbuffers-$portVersion.tar.gz"
13
14ARCHITECTURES="all ?x86_gcc2 ?x86"
15SECONDARY_ARCHITECTURES="x86"
16
17libVersion="$portVersion"
18libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
19
20PROVIDES="
21	flatbuffers$secondaryArchSuffix = $portVersion
22	lib:libflatbuffers$secondaryArchSuffix = $libVersionCompat
23	"
24REQUIRES="
25	haiku$secondaryArchSuffix
26	"
27
28PROVIDES_devel="
29	flatbuffers${secondaryArchSuffix}_devel = $portVersion
30	cmd:flatc$secondaryArchSuffix = $portVersion
31	devel:libflatbuffers$secondaryArchSuffix = $libVersionCompat
32	"
33REQUIRES_devel="
34	haiku$secondaryArchSuffix
35	flatbuffers$secondaryArchSuffix == $portVersion base
36	"
37
38BUILD_REQUIRES="
39	haiku${secondaryArchSuffix}_devel
40	"
41BUILD_PREREQUIRES="
42	cmd:cmake
43	cmd:gcc$secondaryArchSuffix
44	cmd:ld$secondaryArchSuffix
45	cmd:make
46	"
47
48defineDebugInfoPackage flatbuffers$secondaryArchSuffix \
49	"$libDir"/libflatbuffers.so.$portVersion
50
51BUILD()
52{
53	mkdir -p haiku_build
54	cd haiku_build
55
56	cmake .. \
57		-DFLATBUFFERS_BUILD_SHAREDLIB=ON \
58		-DFLATBUFFERS_BUILD_FLATLIB=OFF \
59		-DFLATBUFFERS_BUILD_FLATC=ON \
60		-DFLATBUFFERS_BUILD_FLATHASH=ON \
61		-DFLATBUFFERS_BUILD_TESTS=ON \
62		-DFLATBUFFERS_INSTALL=ON \
63		$cmakeDirArgs
64
65	make $jobArgs
66}
67
68INSTALL()
69{
70	cd haiku_build
71	make install
72
73	install -d -m 755 "$binDir"
74	install -m 755 -t "$binDir" flatc
75
76	# prepare develop/lib
77	prepareInstalledDevelLibs libflatbuffers
78
79	# devel package
80	packageEntries devel \
81		$binDir \
82		$developDir \
83		$libDir/cmake
84}
85
86TEST()
87{
88	cd haiku_build
89	make test
90}
91