You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-debug/bpftrace/files/bpftrace-0.19.0-install-lib...

339 lines
14 KiB

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a1360a71..24d85abc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -138,9 +138,10 @@ endif()
bison_target(bison_parser src/parser.yy ${CMAKE_BINARY_DIR}/parser.tab.cc COMPILE_FLAGS ${BISON_FLAGS} VERBOSE)
flex_target(flex_lexer src/lexer.l ${CMAKE_BINARY_DIR}/lex.yy.cc)
add_flex_bison_dependency(flex_lexer bison_parser)
-add_library(parser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
-target_compile_options(parser PRIVATE "-w")
-target_include_directories(parser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
+add_library(bpftraceparser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
+target_compile_options(bpftraceparser PRIVATE "-w")
+target_include_directories(bpftraceparser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
+install(TARGETS bpftraceparser LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
include(CheckSymbolExists)
set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt
index c12f9567..0bfec98c 100644
--- a/resources/CMakeLists.txt
+++ b/resources/CMakeLists.txt
@@ -1,6 +1,7 @@
-add_library(resources headers.cpp)
+add_library(bpftraceresources headers.cpp)
-target_include_directories(resources PUBLIC ../src)
+target_include_directories(bpftraceresources PUBLIC ../src)
+install(TARGETS bpftraceresources LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
function(embed_headers output)
file(WRITE ${output} "#include \"headers.h\"\n\nnamespace bpftrace {\n")
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 401ddc0a..05f0f637 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -13,7 +13,7 @@ else()
endif ()
endif()
-add_library(runtime
+add_library(bpftraceruntime
attached_probe.cpp
bpffeature.cpp
bpftrace.cpp
@@ -44,7 +44,7 @@ add_library(runtime
${BFD_DISASM_SRC}
)
# Ensure flex+bison outputs are built first
-add_dependencies(runtime parser)
+add_dependencies(bpftraceruntime bpftraceparser)
add_library(libbpftrace
build_info.cpp
@@ -61,6 +61,7 @@ add_executable(${BPFTRACE}
)
install(TARGETS ${BPFTRACE} DESTINATION ${CMAKE_INSTALL_BINDIR})
+install(TARGETS libbpftrace LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${BPFTRACE} libbpftrace)
if (BUILD_FUZZ)
@@ -89,7 +90,7 @@ endif()
set(KERNEL_HEADERS_DIR "" CACHE PATH "Hard-code kernel headers directory")
if (KERNEL_HEADERS_DIR)
MESSAGE(STATUS "Using KERNEL_HEADERS_DIR=${KERNEL_HEADERS_DIR}")
- target_compile_definitions(runtime PUBLIC KERNEL_HEADERS_DIR="${KERNEL_HEADERS_DIR}")
+ target_compile_definitions(bpftraceruntime PUBLIC KERNEL_HEADERS_DIR="${KERNEL_HEADERS_DIR}")
endif()
execute_process(
@@ -109,10 +110,11 @@ endif()
add_definitions("-DBPFTRACE_VERSION=\"${BPFTRACE_VERSION}\"")
-target_include_directories(runtime PRIVATE ${CMAKE_BINARY_DIR})
-target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src)
-target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src/ast)
-target_compile_definitions(runtime PRIVATE ${BPFTRACE_FLAGS})
+target_include_directories(bpftraceruntime PRIVATE ${CMAKE_BINARY_DIR})
+target_include_directories(bpftraceruntime PRIVATE ${CMAKE_SOURCE_DIR}/src)
+target_include_directories(bpftraceruntime PRIVATE ${CMAKE_SOURCE_DIR}/src/ast)
+target_compile_definitions(bpftraceruntime PRIVATE ${BPFTRACE_FLAGS})
+install(TARGETS bpftraceruntime LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_compile_definitions(libbpftrace PRIVATE ${BPFTRACE_FLAGS})
# Linking
@@ -125,8 +127,8 @@ if(STATIC_LINKING)
endif(STATIC_LINKING)
-target_link_libraries(runtime ${LIBBPF_LIBRARIES} ${ZLIB_LIBRARIES})
-target_link_libraries(libbpftrace parser resources runtime aot ast arch cxxdemangler_llvm)
+target_link_libraries(bpftraceruntime ${LIBBPF_LIBRARIES} ${ZLIB_LIBRARIES})
+target_link_libraries(libbpftrace bpftraceparser bpftraceresources bpftraceruntime aot bpftraceast bpftracearch cxxdemangler_llvm)
if(LIBPCAP_FOUND)
target_link_libraries(libbpftrace ${LIBPCAP_LIBRARIES})
@@ -136,49 +138,49 @@ if(HAVE_BFD_DISASM)
if(STATIC_LINKING OR LIBBFD_STATIC)
add_library(LIBBFD STATIC IMPORTED)
set_property(TARGET LIBBFD PROPERTY IMPORTED_LOCATION ${LIBBFD_LIBRARIES})
- target_link_libraries(runtime LIBBFD)
+ target_link_libraries(bpftraceruntime LIBBFD)
add_library(LIBOPCODES STATIC IMPORTED)
set_property(TARGET LIBOPCODES PROPERTY IMPORTED_LOCATION ${LIBOPCODES_LIBRARIES})
- target_link_libraries(runtime LIBOPCODES)
+ target_link_libraries(bpftraceruntime LIBOPCODES)
add_library(LIBIBERTY STATIC IMPORTED)
set_property(TARGET LIBIBERTY PROPERTY IMPORTED_LOCATION ${LIBIBERTY_LIBRARIES})
- target_link_libraries(runtime LIBIBERTY)
+ target_link_libraries(bpftraceruntime LIBIBERTY)
add_library(LIBZSTD STATIC IMPORTED)
if (LIBZSTD_FOUND)
set_property(TARGET LIBZSTD PROPERTY IMPORTED_LOCATION ${LIBZSTD_LIBRARIES})
- target_link_libraries(runtime LIBZSTD)
+ target_link_libraries(bpftraceruntime LIBZSTD)
endif(LIBZSTD_FOUND)
add_library(LIBSFRAME STATIC IMPORTED)
if (LIBSFRAME_FOUND)
set_property(TARGET LIBSFRAME PROPERTY IMPORTED_LOCATION ${LIBSFRAME_LIBRARIES})
- target_link_libraries(runtime LIBSFRAME)
+ target_link_libraries(bpftraceruntime LIBSFRAME)
endif()
else()
- target_link_libraries(runtime ${LIBBFD_LIBRARIES})
- target_link_libraries(runtime ${LIBOPCODES_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBBFD_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBOPCODES_LIBRARIES})
endif(STATIC_LINKING OR LIBBFD_STATIC)
endif(HAVE_BFD_DISASM)
# Link to bcc libraries (without LLVM) if possible
if(LIBBCC_BPF_CONTAINS_RUNTIME)
- target_link_libraries(runtime ${LIBBCC_BPF_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBBCC_BPF_LIBRARIES})
else()
- target_link_libraries(runtime ${LIBBCC_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBBCC_LIBRARIES})
endif()
if(STATIC_BPF_BCC)
# These are not part of the static libbcc so have to be added separate
- target_link_libraries(runtime ${LIBBCC_BPF_LIBRARIES})
- target_link_libraries(runtime ${LIBBPF_LIBRARIES})
- target_link_libraries(runtime ${LIBBCC_LOADER_LIBRARY_STATIC})
+ target_link_libraries(bpftraceruntime ${LIBBCC_BPF_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBBPF_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBBCC_LOADER_LIBRARY_STATIC})
add_library(LIBELF STATIC IMPORTED)
set_property(TARGET LIBELF PROPERTY IMPORTED_LOCATION ${LIBELF_LIBRARIES})
- target_link_libraries(runtime LIBELF)
+ target_link_libraries(bpftraceruntime LIBELF)
else()
- target_link_libraries(runtime ${LIBELF_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBELF_LIBRARIES})
endif(STATIC_BPF_BCC)
if (LIBDW_FOUND)
@@ -207,16 +209,16 @@ if (LIBDW_FOUND)
target_link_libraries(LIBDW INTERFACE ${LIBDW_LIBS})
- target_link_libraries(runtime LIBDW)
+ target_link_libraries(bpftraceruntime LIBDW)
else()
- target_link_libraries(runtime ${LIBDW_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBDW_LIBRARIES})
endif()
endif()
# Support for std::filesystem
# GCC version <9 and Clang (all versions) require -lstdc++fs
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "9")
- target_link_libraries(runtime "stdc++fs")
+ target_link_libraries(bpftraceruntime "stdc++fs")
target_link_libraries(libbpftrace "stdc++fs")
endif()
@@ -238,16 +240,16 @@ endif()
if (STATIC_LINKING)
if(ANDROID)
target_link_libraries(libbpftrace "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
- target_link_libraries(runtime "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
+ target_link_libraries(bpftraceruntime "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
else()
target_link_libraries(libbpftrace "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
target_link_libraries(libbpftrace "-Wl,-Bstatic" "-lz")
- target_link_libraries(runtime "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
- target_link_libraries(runtime "-Wl,-Bstatic" "-lz")
+ target_link_libraries(bpftraceruntime "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
+ target_link_libraries(bpftraceruntime "-Wl,-Bstatic" "-lz")
endif()
elseif(STATIC_BPF_BCC)
# partial static build, libbpf needs zlib, bcc needs liblzma
- target_link_libraries(runtime "-lz" "-llzma")
+ target_link_libraries(bpftraceruntime "-lz" "-llzma")
endif()
unset(MAIN_SRC)
diff --git a/src/aot/CMakeLists.txt b/src/aot/CMakeLists.txt
index c776d204..41e84317 100644
--- a/src/aot/CMakeLists.txt
+++ b/src/aot/CMakeLists.txt
@@ -1,8 +1,9 @@
add_library(aot aot.cpp)
-add_dependencies(aot parser)
+add_dependencies(aot bpftraceparser)
target_include_directories(aot PUBLIC ${CMAKE_SOURCE_DIR}/src)
target_include_directories(aot PUBLIC ${CMAKE_BINARY_DIR})
target_compile_definitions(aot PRIVATE ${BPFTRACE_FLAGS})
+install(TARGETS aot LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
# Only build aotrt if supported bcc is used
# (https://github.com/iovisor/bcc/commit/719191867a25ce07dc96f7faf9b8ccedadc7ec44)
@@ -11,7 +12,7 @@ if(NOT LIBBCC_BPF_CONTAINS_RUNTIME)
endif()
add_executable(bpftrace-aotrt aot_main.cpp)
-target_link_libraries(bpftrace-aotrt aot runtime arch ast_defs cxxdemangler_stdlib)
+target_link_libraries(bpftrace-aotrt aot bpftraceruntime bpftracearch ast_defs cxxdemangler_stdlib)
install(TARGETS bpftrace-aotrt DESTINATION ${CMAKE_INSTALL_BINDIR})
if(LIBPCAP_FOUND)
diff --git a/src/arch/CMakeLists.txt b/src/arch/CMakeLists.txt
index e6a1d0a0..c53daa19 100644
--- a/src/arch/CMakeLists.txt
+++ b/src/arch/CMakeLists.txt
@@ -1,19 +1,20 @@
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|aarch64)")
- add_library(arch arm.cpp)
+ add_library(bpftracearch arm.cpp)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR
CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
- add_library(arch ppc64.cpp)
+ add_library(bpftracearch ppc64.cpp)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "s390" OR
CMAKE_SYSTEM_PROCESSOR STREQUAL "s390x")
- add_library(arch s390.cpp)
+ add_library(bpftracearch s390.cpp)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
- add_library(arch x86_64.cpp)
+ add_library(bpftracearch x86_64.cpp)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "mips64")
- add_library(arch mips64.cpp)
+ add_library(bpftracearch mips64.cpp)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64")
- add_library(arch riscv64.cpp)
+ add_library(bpftracearch riscv64.cpp)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "loongarch64")
- add_library(arch loongarch64.cpp)
+ add_library(bpftracearch loongarch64.cpp)
else()
message(FATAL_ERROR "Unsupported architecture: ${CMAKE_SYSTEM_PROCESSOR}")
endif()
+install(TARGETS bpftracearch LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt
index c390ea6a..37019bd9 100644
--- a/src/ast/CMakeLists.txt
+++ b/src/ast/CMakeLists.txt
@@ -1,6 +1,6 @@
add_library(ast_defs ast.cpp)
-add_library(ast
+add_library(bpftraceast
async_event_types.cpp
attachpoint_parser.cpp
elf_parser.cpp
@@ -21,11 +21,13 @@ add_library(ast
target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src)
target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src/ast)
target_include_directories(ast_defs PUBLIC ${CMAKE_BINARY_DIR})
-target_link_libraries(ast ast_defs arch parser)
+target_link_libraries(bpftraceast ast_defs bpftracearch bpftraceparser)
+install(TARGETS ast_defs LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(TARGETS bpftraceast LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-add_dependencies(ast_defs parser)
+add_dependencies(ast_defs bpftraceparser)
-target_compile_definitions(ast PRIVATE ${BPFTRACE_FLAGS})
+target_compile_definitions(bpftraceast PRIVATE ${BPFTRACE_FLAGS})
if (STATIC_LINKING)
set(clang_libs
@@ -58,20 +60,20 @@ if (STATIC_LINKING)
if(EMBED_USE_LLVM)
- target_link_libraries(ast "-Wl,--start-group" ${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} "-Wl,--end-group")
+ target_link_libraries(bpftraceast "-Wl,--start-group" ${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} "-Wl,--end-group")
else()
llvm_map_components_to_libnames(llvm_libs ${llvm_lib_names})
if(TARGET libclang_static)
- target_link_libraries(ast libclang_static)
+ target_link_libraries(bpftraceast libclang_static)
else()
# old LLVM versions don't export libclang_static in ClangTargets.cmake; fall back to
# libclang.a in that case
- target_link_libraries(ast libclang.a)
+ target_link_libraries(abpftracest libclang.a)
endif()
- target_link_libraries(ast ${clang_libs})
- target_link_libraries(ast ${llvm_libs})
+ target_link_libraries(abpftracest ${clang_libs})
+ target_link_libraries(abpftracest ${llvm_libs})
endif()
if(STATIC_LIBC)
@@ -81,11 +83,11 @@ if (STATIC_LINKING)
else()
find_library(found_LLVM LLVM HINTS ${LLVM_LIBRARY_DIRS})
if(found_LLVM)
- target_link_libraries(ast LLVM)
+ target_link_libraries(bpftraceast LLVM)
else()
llvm_map_components_to_libnames(_llvm_libs bpfcodegen ipo irreader mcjit orcjit ${LLVM_TARGETS_TO_BUILD})
llvm_expand_dependencies(llvm_libs ${_llvm_libs})
- target_link_libraries(ast ${llvm_libs})
+ target_link_libraries(bpftraceast ${llvm_libs})
endif()
- target_link_libraries(ast libclang)
+ target_link_libraries(bpftraceast libclang)
endif()
diff --git a/src/cxxdemangler/CMakeLists.txt b/src/cxxdemangler/CMakeLists.txt
index 04cfcdd9..5677aa4b 100644
--- a/src/cxxdemangler/CMakeLists.txt
+++ b/src/cxxdemangler/CMakeLists.txt
@@ -1,2 +1,4 @@
add_library(cxxdemangler_stdlib cxxdemangler_stdlib.cpp)
add_library(cxxdemangler_llvm cxxdemangler_llvm.cpp)
+install(TARGETS cxxdemangler_stdlib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(TARGETS cxxdemangler_llvm LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})