Fixes for libdwarf recipe and patch

This commit is contained in:
Ed Robbins
2014-01-05 15:02:52 +00:00
parent a99436869b
commit ed4c99a3b1
2 changed files with 40 additions and 11 deletions

View File

@@ -1,5 +1,35 @@
SUMMARY="libdwarf and dwarfdump"
DESCRIPTION="libdwarf and dwarfdump - library and utility for working with DWARF Debugging Information Format"
SUMMARY="libdwarf and dwarfdump - library and utility for working with DWARF Debugging Information Format"
DESCRIPTION="
DWARF is a widely used, standardized debugging data format. DWARF was
originally designed along with Executable and Linkable Format (ELF),
although it is independent of object file formats. The name is a
medieval fantasy complement to ELF that has no official meaning,
although the backronym 'Debugging With Attributed Record Formats' was
later proposed.
The DWARF Debugging Information Format is of interest to programmers
working on compilers and debuggers (and anyone interested in reading or
writing DWARF information). DWARF uses a data structure called a
Debugging Information Entry (DIE) to represent each variable, type,
procedure, etc. It was developed by a committee (known as the PLSIG at
the time) starting around 1991. Starting around 1991 SGI developed the
libdwarf and dwarfdump tools for internal use and as part of SGI IRIX
developer tools. Since that time dwarfdump and libdwarf have been
shipped (as an executable and archive respectively, not source) with
every release of the SGI MIPS/IRIX C compiler. In 1994 (I think the
correct year) SGI agreed to open-source libdwarf (and in 1999 to
open-source dwarfdump) so anyone could use them.
libdwarf allows reading, creation and manipulation of dwarf data.
dwarfdump (written in C) and dwarfdump2 (written in C++) do the same
job, they let you dump out, in readable form, the DWARF2, DWARF3, or
DWARF4 data from an object file, but dwarfdump2 does a better job in
some respects.
This package includes dwarfdump2 and libdwarf, although the source
package has been patched to make dwarfdump and dwarfgen haiku
compatible as well.
"
HOMEPAGE="http://www.prevanders.net/dwarf.html"
SRC_URI="http://www.prevanders.net/libdwarf-20130729.tar.gz"
CHECKSUM_MD5="4cc5e48693f7b93b7aa0261e63c0e21d"
@@ -15,15 +45,13 @@ COPYRIGHT="
REVISION="1"
ARCHITECTURES="x86 x86_gcc2"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
SOURCE_DIR="dwarf-20130729"
SOURCE_DIR="dwarf-$portVersion"
PATCHES="libdwarf-20130729.patch"
PROVIDES="
lib:libdwarf$secondaryArchSuffix = $portVersion
cmd:dwarfdump = $portVersion
"
# cmd:dwarfdump2 = $portVersion
# "
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
@@ -31,12 +59,12 @@ REQUIRES="
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
lib:libelf$secondaryArchSuffix
devel:libelf$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
@@ -47,8 +75,8 @@ BUILD()
cd libdwarf
runConfigure ./configure --enable-shared
make
cd ../dwarfdump
LDFLAGS="-L../libdwarf -L/boot/common/lib" ./configure $configureDirArgs
cd ../dwarfdump2
LDFLAGS="-L../libdwarf" ./configure $configureDirArgs
LIBRARY_PATH=$LIBRARY_PATH:../libdwarf/ make
}
@@ -56,18 +84,19 @@ INSTALL()
{
cd libdwarf
make install
cd ../dwarfdump
cd ../dwarfdump2
make install
#prepareInstalledDevelLib libdwarf
packageEntries devel develop
packageEntries devel $developDir
}
PROVIDES_devel="
libdwarf${secondaryArchSuffix}_devel = $portVersion
devel:libdwarf$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
lib:libelf$secondaryArchSuffix
devel:libelf$secondaryArchSuffix
lib:libdwarf$secondaryArchSuffix == $portVersion
lib:libdwarf$secondaryArchSuffix == $portVersion base
"