From: Thomas Girard <thomas.g.girard@free.fr>
Date: Sat, 24 Nov 2018 10:43:57 +0100
Subject: no_shared_no_ebl

Description: build static libs and remove ebl dependency
 
 Build static libraries instead of shared libraries so that we have a single
 package.
 
 Do not try to find and link with libebl.so as it is no longer provided by
 elfutils.

Origin: Thomas Girard <thomas.g.girard@free.fr>
Forwarded: no
Last-Update: 2019-06-26
---
 CMakeLists.txt                |   17 +++--------------
 cmake/modules/FindDWARF.cmake |    6 ++++--
 2 files changed, 7 insertions(+), 16 deletions(-)

Index: b/CMakeLists.txt
===================================================================
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -91,21 +91,17 @@ target_include_directories(bpf PRIVATE
 set(dwarves_LIB_SRCS dwarves.c dwarves_fprintf.c gobuffer strings
 		     ctf_encoder.c ctf_loader.c libctf.c btf_encoder.c btf_loader.c libbtf.c
 		     dwarf_loader.c dutil.c elf_symtab.c rbtree.c)
-add_library(dwarves SHARED ${dwarves_LIB_SRCS} $<TARGET_OBJECTS:bpf>)
-set_target_properties(dwarves PROPERTIES VERSION 1.0.0 SOVERSION 1)
-set_target_properties(dwarves PROPERTIES INTERFACE_LINK_LIBRARIES "")
+add_library(dwarves STATIC ${dwarves_LIB_SRCS} $<TARGET_OBJECTS:bpf>)
 target_include_directories(dwarves PRIVATE
 			   ${CMAKE_CURRENT_SOURCE_DIR}/lib/bpf/include/uapi)
 target_link_libraries(dwarves ${DWARF_LIBRARIES} ${ZLIB_LIBRARIES})
 
 set(dwarves_emit_LIB_SRCS dwarves_emit.c)
-add_library(dwarves_emit SHARED ${dwarves_emit_LIB_SRCS})
-set_target_properties(dwarves_emit PROPERTIES VERSION 1.0.0 SOVERSION 1)
+add_library(dwarves_emit STATIC ${dwarves_emit_LIB_SRCS})
 target_link_libraries(dwarves_emit dwarves)
 
 set(dwarves_reorganize_LIB_SRCS dwarves_reorganize.c)
-add_library(dwarves_reorganize SHARED ${dwarves_reorganize_LIB_SRCS})
-set_target_properties(dwarves_reorganize PROPERTIES VERSION 1.0.0 SOVERSION 1)
+add_library(dwarves_reorganize STATIC ${dwarves_reorganize_LIB_SRCS})
 target_link_libraries(dwarves_reorganize dwarves)
 
 set(codiff_SRCS codiff.c)
@@ -151,13 +147,6 @@ target_link_libraries(syscse dwarves)
 install(TARGETS codiff ctracer dtagnames pahole pdwtags
 		pfunct pglobal prefcnt scncopy syscse RUNTIME DESTINATION
 		${CMAKE_INSTALL_PREFIX}/bin)
-install(TARGETS dwarves LIBRARY DESTINATION ${LIB_INSTALL_DIR})
-install(TARGETS dwarves dwarves_emit dwarves_reorganize LIBRARY DESTINATION ${LIB_INSTALL_DIR})
-install(FILES dwarves.h dwarves_emit.h dwarves_reorganize.h
-	      dutil.h gobuffer.h list.h rbtree.h pahole_strings.h
-	      btf_encoder.h config.h ctf_encoder.h ctf.h
-	      elfcreator.h elf_symtab.h hash.h libbtf.h libctf.h
-	DESTINATION ${CMAKE_INSTALL_PREFIX}/include/dwarves/)
 install(FILES man-pages/pahole.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1/)
 install(PROGRAMS ostra/ostra-cg DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
 install(PROGRAMS btfdiff fullcircle DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
Index: b/cmake/modules/FindDWARF.cmake
===================================================================
--- a/cmake/modules/FindDWARF.cmake
+++ b/cmake/modules/FindDWARF.cmake
@@ -29,12 +29,14 @@ find_path(LIBDW_INCLUDE_DIR elfutils/lib
 
 find_library(DWARF_LIBRARY
 	NAMES dw dwarf
-	PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64 ~/usr/local/lib ~/usr/local/lib64
+	PATHS /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} /usr/lib
+	NO_DEFAULT_PATH
 )
 
 find_library(ELF_LIBRARY
 	NAMES elf
-	PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64 ~/usr/local/lib ~/usr/local/lib64
+	PATHS /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} /usr/lib
+	NO_DEFAULT_PATH
 )
 
 if (DWARF_INCLUDE_DIR AND LIBDW_INCLUDE_DIR AND DWARF_LIBRARY AND ELF_LIBRARY)
