- search for libdwarf.h in new locations (e.g., /usr/include/libdwarf/) - build Bochs with -std=gnu++98 (gnu++14 is default since GCC 6.1) - specify "proto2" syntax for protobuf messages - minor build-system and C++ namespace fixes Change-Id: I16dbc622c797ef8e936fe3c0fb9b03029d27529d
67 lines
1.7 KiB
CMake
67 lines
1.7 KiB
CMake
# - Try to find libdwarf
|
|
# Once done this will define
|
|
#
|
|
# LIBDWARF_FOUND - system has libdwarf
|
|
# LIBDWARF_INCLUDE_DIRS - the libdwarf include directory
|
|
# LIBDWARF_LIBRARIES - Link these to use libdwarf
|
|
# LIBDWARF_DEFINITIONS - Compiler switches required for using libdwarf
|
|
#
|
|
|
|
# Locate libelf library at first
|
|
if (NOT LIBELF_FOUND)
|
|
find_package (LibElf REQUIRED)
|
|
endif (NOT LIBELF_FOUND)
|
|
|
|
if (LIBDWARF_LIBRARIES AND LIBDWARF_INCLUDE_DIRS)
|
|
set (LibDwarf_FIND_QUIETLY TRUE)
|
|
endif (LIBDWARF_LIBRARIES AND LIBDWARF_INCLUDE_DIRS)
|
|
|
|
find_path (DWARF_INCLUDE_DIR
|
|
NAMES
|
|
libdwarf.h
|
|
PATHS
|
|
/usr/include
|
|
/usr/include/libdwarf
|
|
/usr/local/include
|
|
/usr/local/include/libdwarf
|
|
/opt/local/include
|
|
/opt/local/include/libdwarf
|
|
/sw/include
|
|
/sw/include/libdwarf
|
|
ENV CPATH) # PATH and INCLUDE will also work
|
|
#find_path (LIBDW_INCLUDE_DIR
|
|
# NAMES
|
|
# elfutils/libdw.h
|
|
# PATHS
|
|
# /usr/include
|
|
# /usr/local/include
|
|
# /opt/local/include
|
|
# /sw/include
|
|
# ENV CPATH)
|
|
if (DWARF_INCLUDE_DIR) # AND LIBDW_INCLUDE_DIR)
|
|
set (LIBDWARF_INCLUDE_DIRS ${DWARF_INCLUDE_DIR} )
|
|
endif (DWARF_INCLUDE_DIR)
|
|
|
|
find_library (LIBDWARF_LIBRARIES
|
|
NAMES
|
|
dwarf
|
|
PATHS
|
|
/usr/lib
|
|
/usr/local/lib
|
|
/opt/local/lib
|
|
/sw/lib
|
|
ENV LIBRARY_PATH # PATH and LIB will also work
|
|
ENV LD_LIBRARY_PATH)
|
|
|
|
include (FindPackageHandleStandardArgs)
|
|
|
|
|
|
# handle the QUIETLY and REQUIRED arguments and set LIBDWARF_FOUND to TRUE
|
|
# if all listed variables are TRUE
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibDwarf DEFAULT_MSG
|
|
LIBDWARF_LIBRARIES
|
|
LIBDWARF_INCLUDE_DIRS)
|
|
|
|
mark_as_advanced(LIBDW_INCLUDE_DIR DWARF_INCLUDE_DIR)
|
|
mark_as_advanced(LIBDWARF_INCLUDE_DIRS LIBDWARF_LIBRARIES)
|