libdwarf:

pass directories to make instead of modifying makefile
	fix build for gcc4
	other small fixes (description, unneed REQUIRES)
This commit is contained in:
Ed Robbins
2014-01-06 13:26:56 +00:00
parent 42e1df9da7
commit abdf62993a
2 changed files with 57 additions and 92 deletions

View File

@@ -1,35 +1,28 @@
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.
"
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"
@@ -76,17 +69,16 @@ BUILD()
runConfigure ./configure --enable-shared
make
cd ../dwarfdump2
LDFLAGS="-L../libdwarf" ./configure $configureDirArgs
LIBRARY_PATH=$LIBRARY_PATH:../libdwarf/ make
LDFLAGS="-L../libdwarf" ./configure $configureDirArgs
LIBRARY_PATH=$LIBRARY_PATH:%A/../libdwarf make
}
INSTALL()
{
cd libdwarf
make install
make install bindir=$binDir libdir=$libDir incdir=$includeDir
cd ../dwarfdump2
make install
#prepareInstalledDevelLib libdwarf
make install mandir=$manDir
packageEntries devel $developDir
}
@@ -96,7 +88,5 @@ PROVIDES_devel="
"
REQUIRES_devel="
lib:libelf$secondaryArchSuffix
devel:libelf$secondaryArchSuffix
lib:libdwarf$secondaryArchSuffix == $portVersion base
"

View File

@@ -1,15 +1,6 @@
diff -Naur dwarf-20130729/dwarfdump/Makefile.in dwarf-20130729-c89/dwarfdump/Makefile.in
--- dwarf-20130729/dwarfdump/Makefile.in 2013-02-02 19:13:55.002621440 +0000
+++ dwarf-20130729-c89/dwarfdump/Makefile.in 2014-01-05 16:25:11.063963136 +0000
@@ -13,7 +13,7 @@
exec_prefix = @exec_prefix@
bindir = $(exec_prefix)/bin
libdir = $(exec_prefix)/lib
-mandir = $(exec_prefix)/share/man
+mandir = $(exec_prefix)/documentation/man
man1dir = $(mandir)/man1
--- dwarf-20130729/dwarfdump/Makefile.in 2013-02-02 19:13:55.031981568 +0000
+++ dwarf-20130729-c89/dwarfdump/Makefile.in 2014-01-06 11:16:30.116916224 +0000
@@ -154,9 +154,11 @@
# will work and leave sensible permissions on the resulting files.
# Some adjustment might be required, see README.
@@ -26,8 +17,8 @@ diff -Naur dwarf-20130729/dwarfdump/Makefile.in dwarf-20130729-c89/dwarfdump/Mak
uninstall:
-rm -f $(bindir)/dwarfdump
diff -Naur dwarf-20130729/dwarfdump/print_die.c dwarf-20130729-c89/dwarfdump/print_die.c
--- dwarf-20130729/dwarfdump/print_die.c 2013-02-06 20:48:07.062652416 +0000
+++ dwarf-20130729-c89/dwarfdump/print_die.c 2014-01-05 16:22:51.478150656 +0000
--- dwarf-20130729/dwarfdump/print_die.c 2013-02-06 20:48:07.024903680 +0000
+++ dwarf-20130729-c89/dwarfdump/print_die.c 2014-01-06 11:16:30.131596288 +0000
@@ -3380,6 +3380,7 @@
we have a serious botch. this FORM
defines the value as a .debug_info
@@ -46,37 +37,33 @@ diff -Naur dwarf-20130729/dwarfdump/print_die.c dwarf-20130729-c89/dwarfdump/pri
DWARF_CHECK_COUNT(tag_tree_result,1);
if (res != DW_DLV_OK) {
diff -Naur dwarf-20130729/dwarfdump2/dwarfdump.cc dwarf-20130729-c89/dwarfdump2/dwarfdump.cc
--- dwarf-20130729/dwarfdump2/dwarfdump.cc 2013-07-30 16:12:36.003932160 +0000
+++ dwarf-20130729-c89/dwarfdump2/dwarfdump.cc 2014-01-05 16:22:51.481820672 +0000
@@ -47,6 +47,7 @@
--- dwarf-20130729/dwarfdump2/dwarfdump.cc 2013-07-30 16:12:36.033292288 +0000
+++ dwarf-20130729-c89/dwarfdump2/dwarfdump.cc 2014-01-06 11:19:43.419168256 +0000
@@ -47,6 +47,9 @@
#include <vector>
#include <algorithm> // for sort
#include <iomanip>
+#if __GNUC__ == 2
+#include <streambuf.h>
+#endif
/* for 'open' */
#include <sys/types.h>
@@ -2413,7 +2414,7 @@
@@ -2413,7 +2416,11 @@
Compiler *pCompiler, Dwarf_Check_Categories category)
{
Dwarf_Check_Result result = pCompiler->results_[category];
- cerr << std::setw(24) << std::left << str <<
+#if __GNUC__ == 2
+ cerr << std::setw(24) << ios::left << str <<
+#else
cerr << std::setw(24) << std::left << str <<
+#endif
IToDec(result.checks_,10) <<
" " <<
IToDec(result.errors_,10) << endl;
diff -Naur dwarf-20130729/dwarfdump2/Makefile.in dwarf-20130729-c89/dwarfdump2/Makefile.in
--- dwarf-20130729/dwarfdump2/Makefile.in 2013-02-02 19:16:44.009437184 +0000
+++ dwarf-20130729-c89/dwarfdump2/Makefile.in 2014-01-05 16:23:35.852230144 +0000
@@ -13,7 +13,7 @@
exec_prefix = @exec_prefix@
bindir = $(exec_prefix)/bin
libdir = $(exec_prefix)/lib
-mandir = $(exec_prefix)/share/man
+mandir = $(exec_prefix)/documentation/man
man1dir = $(mandir)/man1
INSTALL = @INSTALL@
--- dwarf-20130729/dwarfdump2/Makefile.in 2013-02-02 19:16:44.038797312 +0000
+++ dwarf-20130729-c89/dwarfdump2/Makefile.in 2014-01-06 12:53:29.018350080 +0000
@@ -133,9 +133,11 @@
# will work and leave sensible permissions on the resulting files.
# Some adjustment might be required, see README.
@@ -93,8 +80,8 @@ diff -Naur dwarf-20130729/dwarfdump2/Makefile.in dwarf-20130729-c89/dwarfdump2/M
uninstall:
-rm -f $(bindir)/dwarfdump
diff -Naur dwarf-20130729/dwarfgen/createirepformfrombinary.cc dwarf-20130729-c89/dwarfgen/createirepformfrombinary.cc
--- dwarf-20130729/dwarfgen/createirepformfrombinary.cc 2013-02-01 16:20:06.058720256 +0000
+++ dwarf-20130729-c89/dwarfgen/createirepformfrombinary.cc 2014-01-05 16:22:51.505413632 +0000
--- dwarf-20130729/dwarfgen/createirepformfrombinary.cc 2013-02-01 16:20:06.020971520 +0000
+++ dwarf-20130729-c89/dwarfgen/createirepformfrombinary.cc 2014-01-06 11:16:30.163577856 +0000
@@ -28,7 +28,6 @@
#include <string.h> // For memset etc
#include <sys/stat.h> //open
@@ -104,8 +91,8 @@ diff -Naur dwarf-20130729/dwarfgen/createirepformfrombinary.cc dwarf-20130729-c8
#include "strtabdata.h"
#include "dwarf.h"
diff -Naur dwarf-20130729/dwarfgen/createirepfrombinary.cc dwarf-20130729-c89/dwarfgen/createirepfrombinary.cc
--- dwarf-20130729/dwarfgen/createirepfrombinary.cc 2013-02-01 16:20:11.059768832 +0000
+++ dwarf-20130729-c89/dwarfgen/createirepfrombinary.cc 2014-01-05 16:22:51.529530880 +0000
--- dwarf-20130729/dwarfgen/createirepfrombinary.cc 2013-02-01 16:20:11.022282240 +0000
+++ dwarf-20130729-c89/dwarfgen/createirepfrombinary.cc 2014-01-06 11:16:30.171442176 +0000
@@ -30,7 +30,6 @@
#include <string.h> // For memset etc
#include <sys/stat.h> //open
@@ -115,8 +102,8 @@ diff -Naur dwarf-20130729/dwarfgen/createirepfrombinary.cc dwarf-20130729-c89/dw
#include "strtabdata.h"
#include "dwarf.h"
diff -Naur dwarf-20130729/dwarfgen/dwarfgen.cc dwarf-20130729-c89/dwarfgen/dwarfgen.cc
--- dwarf-20130729/dwarfgen/dwarfgen.cc 2013-02-01 16:20:17.061079552 +0000
+++ dwarf-20130729-c89/dwarfgen/dwarfgen.cc 2014-01-05 16:22:51.540540928 +0000
--- dwarf-20130729/dwarfgen/dwarfgen.cc 2013-02-01 16:20:17.023330816 +0000
+++ dwarf-20130729-c89/dwarfgen/dwarfgen.cc 2014-01-06 11:16:30.179830784 +0000
@@ -56,8 +56,8 @@
#include <string.h> // For memset etc
#include <sys/stat.h> //open
@@ -128,8 +115,8 @@ diff -Naur dwarf-20130729/dwarfgen/dwarfgen.cc dwarf-20130729-c89/dwarfgen/dwarf
#include "strtabdata.h"
#include "dwarf.h"
diff -Naur dwarf-20130729/dwarfgen/irepattrtodbg.cc dwarf-20130729-c89/dwarfgen/irepattrtodbg.cc
--- dwarf-20130729/dwarfgen/irepattrtodbg.cc 2013-02-01 16:20:21.059244544 +0000
+++ dwarf-20130729-c89/dwarfgen/irepattrtodbg.cc 2014-01-05 16:22:51.567279616 +0000
--- dwarf-20130729/dwarfgen/irepattrtodbg.cc 2013-02-01 16:20:21.021495808 +0000
+++ dwarf-20130729-c89/dwarfgen/irepattrtodbg.cc 2014-01-06 11:16:30.192937984 +0000
@@ -30,7 +30,6 @@
#include <sys/stat.h> //open
#include <fcntl.h> //open
@@ -139,8 +126,8 @@ diff -Naur dwarf-20130729/dwarfgen/irepattrtodbg.cc dwarf-20130729-c89/dwarfgen/
#include "strtabdata.h"
#include "dwarf.h"
diff -Naur dwarf-20130729/dwarfgen/ireptodbg.cc dwarf-20130729-c89/dwarfgen/ireptodbg.cc
--- dwarf-20130729/dwarfgen/ireptodbg.cc 2013-02-01 16:20:26.060293120 +0000
+++ dwarf-20130729-c89/dwarfgen/ireptodbg.cc 2014-01-05 16:22:51.570163200 +0000
--- dwarf-20130729/dwarfgen/ireptodbg.cc 2013-02-01 16:20:26.022544384 +0000
+++ dwarf-20130729-c89/dwarfgen/ireptodbg.cc 2014-01-06 11:16:30.201064448 +0000
@@ -28,7 +28,6 @@
#include <string.h> // For memset etc
#include <sys/stat.h> //open
@@ -150,8 +137,8 @@ diff -Naur dwarf-20130729/dwarfgen/ireptodbg.cc dwarf-20130729-c89/dwarfgen/irep
#include "strtabdata.h"
#include "dwarf.h"
diff -Naur dwarf-20130729/libdwarf/gennames.c dwarf-20130729-c89/libdwarf/gennames.c
--- dwarf-20130729/libdwarf/gennames.c 2013-01-25 19:09:11.027525120 +0000
+++ dwarf-20130729-c89/libdwarf/gennames.c 2014-01-05 16:22:51.591134720 +0000
--- dwarf-20130729/libdwarf/gennames.c 2013-01-25 19:09:11.056885248 +0000
+++ dwarf-20130729-c89/libdwarf/gennames.c 2014-01-06 11:16:30.209715200 +0000
@@ -486,8 +486,8 @@
/* Process each line from 'dwarf.h' */
@@ -163,20 +150,8 @@ diff -Naur dwarf-20130729/libdwarf/gennames.c dwarf-20130729-c89/libdwarf/gennam
if(feof(f_dwarf_in)) {
break;
diff -Naur dwarf-20130729/libdwarf/Makefile.in dwarf-20130729-c89/libdwarf/Makefile.in
--- dwarf-20130729/libdwarf/Makefile.in 2013-07-28 17:58:54.027525120 +0000
+++ dwarf-20130729-c89/libdwarf/Makefile.in 2014-01-05 16:22:51.592969728 +0000
@@ -46,8 +46,9 @@
prefix = @prefix@
exec_prefix = @exec_prefix@
-bindir = $(exec_prefix)/bin
-libdir = $(exec_prefix)/lib
+bindir = $(DESTDIR)$(prefix)/bin
+libdir = $(DESTDIR)$(prefix)/lib
+incdir = $(DESTDIR)$(prefix)/develop/headers/libdwarf
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
--- dwarf-20130729/libdwarf/Makefile.in 2013-07-28 17:58:54.056885248 +0000
+++ dwarf-20130729-c89/libdwarf/Makefile.in 2014-01-06 11:16:30.217055232 +0000
@@ -213,8 +214,11 @@
rm -f dwarf_names_enum.h dwarf_names_new.h dwarf_names.c dwarf_names.h