Skip to content

Commit 82cc280

Browse files
authored
Merge pull request #265 from fridrich/v0.56.0-release
(0.56) fix build with libdwarf 2.x where the includes are in libdwarf-2 subdirectory
2 parents a68be5f + 1ddeca2 commit 82cc280

File tree

2 files changed

+38
-14
lines changed

2 files changed

+38
-14
lines changed

cmake/modules/FindLibDwarf.cmake

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,24 @@ set(DWARF_H_DEFINITIONS)
5454
set(DWARF_H_FOUND false)
5555
set(DWARF_H_INCLUDE_DIRS)
5656

57-
find_path(LIBDWARF_0_DWARF_H_INCLUDE_DIR "libdwarf-0/dwarf.h")
57+
find_path(LIBDWARF_2_DWARF_H_INCLUDE_DIR "libdwarf-2/dwarf.h")
5858

59-
if(LIBDWARF_0_DWARF_H_INCLUDE_DIR)
60-
list(APPEND DWARF_H_INCLUDE_DIRS "${LIBDWARF_0_DWARF_H_INCLUDE_DIR}")
61-
list(APPEND DWARF_H_DEFINITIONS HAVE_LIBDWARF_0_DWARF_H)
59+
if(LIBDWARF_2_DWARF_H_INCLUDE_DIR)
60+
list(APPEND DWARF_H_INCLUDE_DIRS "${LIBDWARF_2_DWARF_H_INCLUDE_DIR}")
61+
list(APPEND DWARF_H_DEFINITIONS HAVE_LIBDWARF_2_DWARF_H)
6262
set(DWARF_H_FOUND true)
6363
endif()
6464

65+
if(NOT DWARF_H_FOUND)
66+
find_path(LIBDWARF_0_DWARF_H_INCLUDE_DIR "libdwarf-0/dwarf.h")
67+
68+
if(LIBDWARF_0_DWARF_H_INCLUDE_DIR)
69+
list(APPEND DWARF_H_INCLUDE_DIRS "${LIBDWARF_0_DWARF_H_INCLUDE_DIR}")
70+
list(APPEND DWARF_H_DEFINITIONS HAVE_LIBDWARF_0_DWARF_H)
71+
set(DWARF_H_FOUND true)
72+
endif()
73+
endif()
74+
6575
if(NOT DWARF_H_FOUND)
6676
find_path(LIBDWARF_DWARF_H_INCLUDE_DIR "libdwarf/dwarf.h")
6777

@@ -98,14 +108,24 @@ set(LIBDWARF_H_DEFINITIONS)
98108
set(LIBDWARF_H_FOUND false)
99109
set(LIBDWARF_H_INCLUDE_DIRS)
100110

101-
find_path(LIBDWARF_0_LIBDWARF_H_INCLUDE_DIR "libdwarf-0/libdwarf.h")
111+
find_path(LIBDWARF_2_LIBDWARF_H_INCLUDE_DIR "libdwarf-2/libdwarf.h")
102112

103-
if(LIBDWARF_0_LIBDWARF_H_INCLUDE_DIR)
104-
list(APPEND LIBDWARF_H_INCLUDE_DIRS "${LIBDWARF_0_LIBDWARF_H_INCLUDE_DIR}")
105-
list(APPEND LIBDWARF_H_DEFINITIONS HAVE_LIBDWARF_0_LIBDWARF_H)
113+
if(LIBDWARF_2_LIBDWARF_H_INCLUDE_DIR)
114+
list(APPEND LIBDWARF_H_INCLUDE_DIRS "${LIBDWARF_2_LIBDWARF_H_INCLUDE_DIR}")
115+
list(APPEND LIBDWARF_H_DEFINITIONS HAVE_LIBDWARF_2_LIBDWARF_H)
106116
set(LIBDWARF_H_FOUND true)
107117
endif()
108118

119+
if(NOT LIBDWARF_H_FOUND)
120+
find_path(LIBDWARF_0_LIBDWARF_H_INCLUDE_DIR "libdwarf-0/libdwarf.h")
121+
122+
if(LIBDWARF_0_LIBDWARF_H_INCLUDE_DIR)
123+
list(APPEND LIBDWARF_H_INCLUDE_DIRS "${LIBDWARF_0_LIBDWARF_H_INCLUDE_DIR}")
124+
list(APPEND LIBDWARF_H_DEFINITIONS HAVE_LIBDWARF_0_LIBDWARF_H)
125+
set(LIBDWARF_H_FOUND true)
126+
endif()
127+
endif()
128+
109129
if(NOT LIBDWARF_H_FOUND)
110130
find_path(LIBDWARF_LIBDWARF_H_INCLUDE_DIR "libdwarf/libdwarf.h")
111131

ddr/include/ddr/scanner/dwarf/DwarfScanner.hpp

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,25 +31,29 @@
3131
#include "ddr/scanner/dwarf/DwarfFunctions.hpp"
3232
#else /* defined(AIXPPC) || defined(OSX) */
3333

34-
#if defined(HAVE_LIBDWARF_0_DWARF_H)
34+
#if defined(HAVE_LIBDWARF_2_DWARF_H)
35+
#include <libdwarf-2/dwarf.h>
36+
#elif defined(HAVE_LIBDWARF_0_DWARF_H) /* defined(HAVE_LIBDWARF_2_DWARF_H) */
3537
#include <libdwarf-0/dwarf.h>
3638
#elif defined(HAVE_LIBDWARF_DWARF_H) /* defined(HAVE_LIBDWARF_0_DWARF_H) */
3739
#include <libdwarf/dwarf.h>
3840
#elif defined(HAVE_DWARF_H) /* defined(HAVE_LIBDWARF_DWARF_H) */
3941
#include <dwarf.h>
4042
#else /* defined(HAVE_DWARF_H) */
41-
#error "Need libdwarf-0/dwarf.h, libdwarf/dwarf.h or dwarf.h"
42-
#endif /* defined(HAVE_LIBDWARF_0_DWARF_H) */
43+
#error "Need libdwarf-2/dwarf.h, libdwarf-0/dwarf.h, libdwarf/dwarf.h or dwarf.h"
44+
#endif /* defined(HAVE_LIBDWARF_2_DWARF_H) */
4345

44-
#if defined(HAVE_LIBDWARF_0_LIBDWARF_H)
46+
#if defined(HAVE_LIBDWARF_2_LIBDWARF_H)
47+
#include <libdwarf-2/libdwarf.h>
48+
#elif defined(HAVE_LIBDWARF_0_LIBDWARF_H) /* defined(HAVE_LIBDWARF_2_LIBDWARF_H) */
4549
#include <libdwarf-0/libdwarf.h>
4650
#elif defined(HAVE_LIBDWARF_LIBDWARF_H) /* defined(HAVE_LIBDWARF_0_LIBDWARF_H) */
4751
#include <libdwarf/libdwarf.h>
4852
#elif defined(HAVE_LIBDWARF_H) /* defined(HAVE_LIBDWARF_LIBDWARF_H) */
4953
#include <libdwarf.h>
5054
#else /* defined(HAVE_LIBDWARF_H) */
51-
#error "Need libdwarf-0/libdwarf.h, libdwarf/libdwarf.h or libdwarf.h"
52-
#endif /* defined(HAVE_LIBDWARF_0_LIBDWARF_H) */
55+
#error "Need libdwarf-2/libdwarf.h, libdwarf-0/libdwarf.h, libdwarf/libdwarf.h or libdwarf.h"
56+
#endif /* defined(HAVE_LIBDWARF_2_LIBDWARF_H) */
5357

5458
#endif /* defined(AIXPPC) || defined(OSX) */
5559

0 commit comments

Comments
 (0)