File: README

package info (click to toggle)
dwarfutils 20161124-1%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 6,800 kB
  • ctags: 5,982
  • sloc: ansic: 60,119; cpp: 3,753; python: 639; makefile: 618; sh: 590; awk: 11
file content (67 lines) | stat: -rw-r--r-- 1,985 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
BUILDING IN SOURCE TREE
To just build libdwarf and dwarfdump
if the source tree is in /a/b/libdwarf-1 
one might do:
    cd /a/b/libdwarf-1
    ./configure
    make dd
    #You may need to be root to do the following copy commands
    cp dwarfdump/dwarfdump      /usr/local/bin
    cp dwarfdump/dwarfdump.conf /usr/local/lib
    #The following is optional, not needed to run dwarfdump
    #when doing the default build.
    cp libdwarf/libdwarf.a      /usr/local/lib

BUILDING OUT OF SOURCE TREE
Or one could  create a new directory, for example,
    mkdir /var/tmp/dwarfex
    cd /var/tmp/dwarfex
    /a/b/libdwarf-1/configure
    make dd
In this case the source directory is not touched and
all objects and files created are under /var/tmp/dwarfex

NOTE: When building out of source tree the source tree
must be cleaned of any files created by a build
in the source tree. This is due to the way GNU Make
VPATH works.

For a simple build of libdwarf, and dwarfdump
and the other tools:
    ./configure
    make
    #Optionally: cp libdwarf/libdwarf.a <somewhere>

To build all the tools (including dwarfgen and 
dwarfexample) use 'make all'. There are known 
small compile-time issues with building dwarfgen on 
MaxOSX and most don't need to build dwarfgen.
    ./configure
    make all

By default configure compiles and uses libdwarf.a.

With 
    ./configure --enabled-shared
both libdwarf.a and libdwarf.so
are built. The runtimes built will reference libdwarf.so.

With 
    ./configure --enabled-shared --disable-nonshared
libdwarf.so is built and used; libdwarf.a is not built.

When ready to create a new source distribution do
    ./CPTOPUBLIC
    ./BLDLIBDWARF yyyymmdd
where that could be
    ./BLDLIBDWARF 20140131
as an example.

Sanity checking:
Recent gcc has some checks that can be done at runtime.
  -fsanitize=address
  -fsanitize=leak
  -fsanitize=undefined
which are turned on here by --enable-sanitize at build time.

David Anderson.  Updated September 30,2016.