SUMMARY="Library for inspecting a program's backtrace"
DESCRIPTION="This is a quick-n-dirty BSD licensed clone of backtrace facility \
found in the GNU libc, mainly intended for porting linuxish code to BSD \
platforms, however it can be used at any platform which has a GCC compiler."
HOMEPAGE="https://www.freshports.org/devel/libexecinfo"
COPYRIGHT="2003-2014 Maxim Sobolev"
LICENSE="BSD (2-clause)"
REVISION="5"
SOURCE_URI="https://download.freenas.org/distfiles/libexecinfo-1.1.tar.bz2"
CHECKSUM_SHA256="c9a21913e7fdac8ef6b33250b167aa1fc0a7b8a175145e26913a4c19d8a59b1f"
PATCHES="libexecinfo-$portVersion.patchset"

ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86 x86_gcc2"

PROVIDES="
	libexecinfo$secondaryArchSuffix = $portVersion compat >= 1
	lib:libexecinfo$secondaryArchSuffix = $portVersion compat >= 1
	"
REQUIRES="
	haiku$secondaryArchSuffix
	"

PROVIDES_devel="
	libexecinfo${secondaryArchSuffix}_devel = $portVersion compat >= 1
	devel:libexecinfo${secondaryArchSuffix} = $portVersion compat >= 1
	"
REQUIRES_devel="
	libexecinfo${secondaryArchSuffix} == $portVersion base
	"

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

BUILD()
{
	gcc -c -o execinfo.o execinfo.c
	gcc -c -o stacktraverse.o stacktraverse.c
	ar rcs libexecinfo.a execinfo.o stacktraverse.o
	gcc -shared -Wl,-soname,libexecinfo.so.1.1 -o libexecinfo.so execinfo.o stacktraverse.o
}

INSTALL()
{
	mkdir -p $libDir
	mkdir -p $includeDir

	cp libexecinfo.a $libDir
	cp libexecinfo.so $libDir
	ln -s $libDir/libexecinfo.so $libDir/libexecinfo.so.1.1
	cp execinfo.h $includeDir

	prepareInstalledDevelLibs libexecinfo

	# devel package
	packageEntries devel \
		$developDir
}

TEST()
{
	gcc test.c -o test libexecinfo.a
	./test
}
