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="http://www.freshports.org/devel/libexecinfo"
COPYRIGHT="2003-2014 Maxim Sobolev"
LICENSE="BSD (2-clause)"
SOURCE_URI="http://ftp.freebsd.org/pub/FreeBSD/ports/local-distfiles/itetcu/libexecinfo-1.1.tar.bz2"
CHECKSUM_SHA256="c9a21913e7fdac8ef6b33250b167aa1fc0a7b8a175145e26913a4c19d8a59b1f"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 ?x86_64"
SECONDARY_ARCHITECTURES="x86 x86_gcc2"

PROVIDES="
	libexecinfo$secondaryArchSuffix = $portVersion compat >= 1
	lib:libexecinfo$secondaryArchSuffix = $portVersion compat >= 1
	"
REQUIRES="
	haiku$secondaryArchSuffix
	"
BUILD_REQUIRES="
	"
BUILD_PREREQUIRES="
	haiku${secondaryArchSuffix}_devel
	cmd:gcc$secondaryArchSuffix
	cmd:ld$secondaryArchSuffix
	cmd:make
	"

PATCHES="libexecinfo-$portVersion.patchset"

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/libexecinfo.so.1.1
	ln -s $libDir/libexecinfo.so-1.1 $libDir/libexecinfo.so
	cp execinfo.h $includeDir

	prepareInstalledDevelLibs libexecinfo

	# devel package
	packageEntries devel \
		$developDir
}

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

# ----- devel package -------------------------------------------------------

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