SUMMARY="Library for inspecting 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)"
SRC_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 >= $haikuVersion
	"
BUILD_REQUIRES="
	"
BUILD_PREREQUIRES="
	haiku${secondaryArchSuffix}_devel >= $haikuVersion
	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
	"
