diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-08-31 22:12:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-08-31 22:12:06 +0100 |
commit | 4019251b91707412704a1c46582e25904f8dce54 (patch) | |
tree | 19bd46360357ea2d3cb93fb9eb735a4522e8f4e9 /dev-util/bpftrace | |
parent | 260722f712fe06c113e7b13ad2e924ed14aaf0c4 (diff) |
gentoo auto-resync : 31:08:2023 - 22:12:06
Diffstat (limited to 'dev-util/bpftrace')
-rw-r--r-- | dev-util/bpftrace/Manifest | 3 | ||||
-rw-r--r-- | dev-util/bpftrace/bpftrace-0.18.1.ebuild | 95 | ||||
-rw-r--r-- | dev-util/bpftrace/files/bpftrace-0.18.1-install-libs.patch | 329 |
3 files changed, 427 insertions, 0 deletions
diff --git a/dev-util/bpftrace/Manifest b/dev-util/bpftrace/Manifest index ef04aa4538fb..4f52720d3579 100644 --- a/dev-util/bpftrace/Manifest +++ b/dev-util/bpftrace/Manifest @@ -4,8 +4,11 @@ AUX bpftrace-0.17.0-install-libs.patch 13720 BLAKE2B dd9e6c2fbd7e9b9d968d392d058 AUX bpftrace-0.17.0-llvm-16.patch 852 BLAKE2B f429d6b0f80e96ed51813ac257fe6b3b7154c6a81d3480905593f4e8726e4f48cbb366500038119208eb6dee8dbd8a255ee67690be02e67db55a662fcb2732b1 SHA512 64ab918984b8451c01806f4cb9e076a9c5cbcaf8209c8547f94c590fa37f843a6aab52344a782ed083ff5ddeb08eb2650039643db515fbf5c0ee433096d97ed3 AUX bpftrace-0.17.0-use-std-optional.patch 1832 BLAKE2B fbe955e32135192b9e058f5b6fbea1b43608ac4eb7f8e30d157e8679350040b3919ac96a5d74b86ffddb5ce2e39d52bc1feece2a77b101b4b8eef6093e85ea49 SHA512 0325101a220996090e60b1681f97ac6587babf559b6cd814c8ebbcfe144ed9af9f9e3eace179e0a3f399e862392c8bbf6a344fa80006137717a8bdc0d3a2dfa5 AUX bpftrace-0.18.0-install-libs.patch 13680 BLAKE2B e86511999075c124647424f1589485e4efed63ffda30dc42a94cdd613ab408add4c08955127c2226d6128ab6885fa9f7af544e2dba897eaee611aa2f83ff282f SHA512 073a6bee013572aafd4d4ec0f45a5a8717dd9dbe5c1202884a9443d96104dcc013a3704a00b5c791643cf27a9812a57c1205bf8f96e2ec3140d9e53ac4dc0188 +AUX bpftrace-0.18.1-install-libs.patch 13716 BLAKE2B fd6081956b59f11ab2c0103ce67813b28478e54ab4c9d64f222709b2dcaa648872936cdf7980a45132fe0be605043e0e46475e3e1f2134823643f4ce9c52a020 SHA512 d69a0ddb4c3322e0350f5718bc3383a78b47424324dc70039548add5ce42170ca1c936cce272352415c76b343ff39d2b85592c0a5f6425ad369b53e0ec75886c DIST bpftrace-0.17.1.gh.tar.gz 1035345 BLAKE2B 5dca6f3fc49458b4b2ed3068e3f99f1156067c430af36b53949e469a870101d2da6aba6c4d18bfaf173cc45eab18e3c316966a5e222a4b4cea98363a9afd90ce SHA512 57f00a0b209d745efe5ce39d0e8efb90a21b5c499b41385814378d828ef507dc2c6d9497f9d23dbb610fcff21f077cba9f7481e7a6a6465825065743289ef4ad DIST bpftrace-0.18.0.gh.tar.gz 1046210 BLAKE2B 921fdd56cff48e7b8fc2b8164839393f2759218accaa58412fdf80b2df4474067c3c660da09e3ee808d258c1f19b0534fa81462cbea5ce3e814bdbeaa7dce5aa SHA512 b7da273d251f03a81b3a7097407352e7ad1d023972852bdb883176e97bab7046f9f327bd03bca51fe853ecaab5f60adc6994e75cb450a033a5b91118f719c36d +DIST bpftrace-0.18.1.gh.tar.gz 1046307 BLAKE2B 67c5d586e803c16ae0338563953e86cb3fbf318410f5757824a56fdf049b4b4fe5cc2d2b7e0435c625728b0b25123bcc8d64eaa923c14334d9ec23075c8deeec SHA512 eb81554f4707f8c919930932ff6ec7602578c317c058238a16fe38d6db055da0d7b355733821203281767419aa8e1b2256bb7a921f50c987c85395ecfbda966a EBUILD bpftrace-0.17.1.ebuild 1934 BLAKE2B 97786852a27191f1d21618033a15c0a0da7a043cb6abc71f15240f7de4720a77139f4ace5d5f049f987ba60b7fb59eb8719b2b837b7d1cce7e98c72793f8eda0 SHA512 89e195cd57c499738f5e27137f3f0c640c1230a739fe6d4ccd264587eecd4a9ef3ba88aab67644c30cfe3e3456ea8114d8fa1eae9628fe8498bd51c8c3516fa5 EBUILD bpftrace-0.18.0.ebuild 1835 BLAKE2B edcacb13d714cb04c2e749bbf3cbdd49f790a41f50a10aa4b12efd30875bbaacdc6b7f4a29aff8d9e9df482e6aae376abce85a6d651b4bbdb72004cd6f78e4f1 SHA512 dcf7c7a09aad14258d9868d221a5750309edebbb74c820631feb79bf8ab8cb2f0184010d8993675b0482cedf47fb08ed2fdcfb1613616ab74d38ab033b3d589e +EBUILD bpftrace-0.18.1.ebuild 1835 BLAKE2B dbf82862ccc7a5a1add146ff76206ea83ee1c13da6642c3c25ccdee18509450764587dd4321833d0d906ce712de4ef1b8e7c20b9960af55628140ff6f5baa71f SHA512 067364451649bcc0175f552ab93f9df10a24fed403f317aeeb18b12b42f73f9fe0dc6f15a2f1fb14e8e2c30929637b6540a1c7b9b271e915f97ae72640e26de0 MISC metadata.xml 499 BLAKE2B ce7c46f4c5e49f2f779ff6584053f7fc78dffaeee432ac46a8881b3d49dc569e309af95aaf9d6e77a36ebc87be0cd2f86a5db7b733463e4252d3a242d914f293 SHA512 dfb827afd47feb8204ef40c940ebcc7d1b3217cdf0f24425e4ab32195309d727225e942d777871565e47a2c02244d053f46ed25165e9728c94e0683ff61bf4ce diff --git a/dev-util/bpftrace/bpftrace-0.18.1.ebuild b/dev-util/bpftrace/bpftrace-0.18.1.ebuild new file mode 100644 index 000000000000..46d001890f50 --- /dev/null +++ b/dev-util/bpftrace/bpftrace-0.18.1.ebuild @@ -0,0 +1,95 @@ +# Copyright 2019-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT=16 + +inherit llvm linux-info cmake + +DESCRIPTION="High-level tracing language for eBPF" +HOMEPAGE="https://github.com/iovisor/bpftrace" +MY_PV="${PV//_/}" +SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/${PN}-${MY_PV:-${PV}}" + +LICENSE="Apache-2.0" +SLOT="0" + +# remove keywords until build works: +# https://github.com/iovisor/bpftrace/issues/2349 +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="fuzzing test" + +# lots of fixing needed +RESTRICT="test" + +RDEPEND=" + >=dev-libs/libbpf-1.1:= + >=dev-util/bcc-0.25.0:= + >=sys-devel/llvm-10[llvm_targets_BPF(+)] + >=sys-devel/clang-10 + <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):= + <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)] + sys-libs/binutils-libs:= + virtual/libelf:= +" +DEPEND=" + ${COMMON_DEPEND} + dev-libs/cereal:= + test? ( dev-cpp/gtest ) +" +BDEPEND=" + app-arch/xz-utils + sys-devel/flex + sys-devel/bison + virtual/pkgconfig +" + +QA_DT_NEEDED=" + /usr/lib.*/libbpftraceresources.so + /usr/lib.*/libcxxdemangler_llvm.so +" + +PATCHES=( + "${FILESDIR}/bpftrace-0.18.1-install-libs.patch" + "${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch" + "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch" +) + +pkg_pretend() { + local CONFIG_CHECK=" + ~BPF + ~BPF_EVENTS + ~BPF_JIT + ~BPF_SYSCALL + ~FTRACE_SYSCALLS + ~HAVE_EBPF_JIT + " + + check_extra_config +} + +pkg_setup() { + llvm_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DSTATIC_LINKING:BOOL=OFF + # bug 809362, 754648 + -DBUILD_TESTING:BOOL=$(usex test) + -DBUILD_FUZZ:BOOL=$(usex fuzzing) + -DENABLE_MAN:BOOL=OFF + -DUSE_SYSTEM_BPF_BCC:BOOL=ON + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + # bug 809362 + dostrip -x /usr/bin/bpftrace + doman man/man8/*.? +} diff --git a/dev-util/bpftrace/files/bpftrace-0.18.1-install-libs.patch b/dev-util/bpftrace/files/bpftrace-0.18.1-install-libs.patch new file mode 100644 index 000000000000..1a7cfe609ba1 --- /dev/null +++ b/dev-util/bpftrace/files/bpftrace-0.18.1-install-libs.patch @@ -0,0 +1,329 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4f026f04..235e60a4 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 a95c60a1..f5c4d676 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 0a7a6a09..00020fc9 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,37 +138,38 @@ if(HAVE_BFD_DISASM) + if(STATIC_LINKING) + 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) + 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) + 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) ++ set_property(TARGET LIBELF PROPERTY IMPORTED_LOCATION ${LIBBPF_LIBRARIES}) ++ 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) +@@ -195,16 +198,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() + +@@ -226,16 +229,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 d01d1ea3..82bfeccc 100644 +--- a/src/arch/CMakeLists.txt ++++ b/src/arch/CMakeLists.txt +@@ -1,21 +1,23 @@ + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") +- add_library(arch aarch64.cpp) ++ add_library(bpftracearch aarch64.cpp) + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7-a") +- 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}) |