Gentoo Archives: gentoo-commits

From: Patrick McLean <chutzpah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/bpftrace/, dev-util/bpftrace/files/
Date: Mon, 30 Jan 2023 19:11:03
Message-Id: 1675105812.8a1f60be59370d648a6216df8586c7f316f7f21d.chutzpah@gentoo
1 commit: 8a1f60be59370d648a6216df8586c7f316f7f21d
2 Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jan 30 19:08:30 2023 +0000
4 Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 30 19:10:12 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8a1f60be
7
8 dev-util/bpftrace: drop 0.15.0-r2
9
10 Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
11
12 dev-util/bpftrace/bpftrace-0.15.0-r2.ebuild | 95 ----------
13 .../bpftrace/files/bpftrace-0.15.0-bcc-025.patch | 88 ---------
14 .../files/bpftrace-0.15.0-binutils-2.39.patch | 87 ---------
15 .../files/bpftrace-0.15.0-dont-compress-man.patch | 47 -----
16 .../files/bpftrace-0.15.0-install-libs.patch | 199 ---------------------
17 5 files changed, 516 deletions(-)
18
19 diff --git a/dev-util/bpftrace/bpftrace-0.15.0-r2.ebuild b/dev-util/bpftrace/bpftrace-0.15.0-r2.ebuild
20 deleted file mode 100644
21 index f0998d9f30ca..000000000000
22 --- a/dev-util/bpftrace/bpftrace-0.15.0-r2.ebuild
23 +++ /dev/null
24 @@ -1,95 +0,0 @@
25 -# Copyright 2019-2023 Gentoo Authors
26 -# Distributed under the terms of the GNU General Public License v2
27 -
28 -EAPI=7
29 -
30 -LLVM_MAX_SLOT=15
31 -
32 -inherit llvm linux-info cmake toolchain-funcs
33 -
34 -DESCRIPTION="High-level tracing language for eBPF"
35 -HOMEPAGE="https://github.com/iovisor/bpftrace"
36 -MY_PV="${PV//_/}"
37 -SRC_URI="
38 - https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
39 - https://dev.gentoo.org/~chutzpah/dist/bpftrace/bpftrace-0.14.1-llvm14.patch.gz
40 -"
41 -S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
42 -
43 -LICENSE="Apache-2.0"
44 -SLOT="0"
45 -KEYWORDS="~amd64 ~arm64 ~x86"
46 -IUSE="fuzzing test"
47 -# lots of fixing needed
48 -RESTRICT="test"
49 -
50 -RDEPEND="
51 - >=dev-libs/libbpf-0.8:=
52 - <dev-libs/libbpf-1.0:=
53 - >=dev-util/bcc-0.13.0:=
54 - dev-util/systemtap
55 - <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
56 - <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
57 - sys-libs/binutils-libs:=
58 - virtual/libelf:=
59 -"
60 -DEPEND="
61 - ${COMMON_DEPEND}
62 - dev-libs/cereal:=
63 - test? ( dev-cpp/gtest )
64 -"
65 -BDEPEND="
66 - app-arch/xz-utils
67 - sys-devel/flex
68 - sys-devel/bison
69 - virtual/pkgconfig
70 -"
71 -
72 -QA_DT_NEEDED="/usr/lib.*/libbpftraceresources.so"
73 -
74 -PATCHES=(
75 - "${FILESDIR}/bpftrace-0.15.0-install-libs.patch"
76 - "${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
77 - "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
78 - "${FILESDIR}/bpftrace-0.15.0-bcc-025.patch"
79 - "${FILESDIR}/bpftrace-0.15.0-binutils-2.39.patch"
80 - "${FILESDIR}/bpftrace-0.15.0-llvm-15-pointers.patch"
81 -)
82 -
83 -pkg_pretend() {
84 - local CONFIG_CHECK="
85 - ~BPF
86 - ~BPF_EVENTS
87 - ~BPF_JIT
88 - ~BPF_SYSCALL
89 - ~FTRACE_SYSCALLS
90 - ~HAVE_EBPF_JIT
91 - "
92 -
93 - check_extra_config
94 -}
95 -
96 -pkg_setup() {
97 - llvm_pkg_setup
98 -}
99 -
100 -src_configure() {
101 - local mycmakeargs=(
102 - -DSTATIC_LINKING:BOOL=OFF
103 - # bug 809362, 754648
104 - -DBUILD_SHARED_LIBS:=OFF
105 - -DBUILD_TESTING:BOOL=OFF
106 - -DBUILD_FUZZ:BOOL=$(usex fuzzing)
107 - -DENABLE_MAN:BOOL=OFF
108 - -DLIBBPF_INCLUDE_DIRS="$($(tc-getPKG_CONFIG) --cflags-only-I libbpf | sed 's:-I::g')"
109 - )
110 -
111 - cmake_src_configure
112 -}
113 -
114 -src_install() {
115 - cmake_src_install
116 - # bug 809362
117 - dostrip -x /usr/bin/bpftrace
118 - doman man/man8/*.?
119 -}
120
121 diff --git a/dev-util/bpftrace/files/bpftrace-0.15.0-bcc-025.patch b/dev-util/bpftrace/files/bpftrace-0.15.0-bcc-025.patch
122 deleted file mode 100644
123 index ef2ca76e1c50..000000000000
124 --- a/dev-util/bpftrace/files/bpftrace-0.15.0-bcc-025.patch
125 +++ /dev/null
126 @@ -1,88 +0,0 @@
127 -From f86c3bde84d9e75ec2780a51a1ca7dc20a4740e6 Mon Sep 17 00:00:00 2001
128 -From: Dominique Martinet <asmadeus@×××××××××.org>
129 -Date: Thu, 25 Aug 2022 21:47:30 +0900
130 -Subject: [PATCH] Fix builds against bcc >= 0.25.0
131 -
132 -libbpf 1.0.0 removed bpf_load_program_attr in
133 -https://github.com/libbpf/libbpf/commit/9476dce6fe905a6bf1d4c483f7b2b8575c4ffb2d
134 -and bcc 0.25.0 in turn changed bcc_prog_load_xattr to use
135 -bpf_prog_load_opts instead in
136 -https://github.com/iovisor/bcc/commit/185143bdec6134255363446f644acd766ffb3825
137 -
138 -Add a compile check to use the appropriate version
139 -
140 -diff --git a/CMakeLists.txt b/CMakeLists.txt
141 -index c5c4c39630d2..f23b2ba52740 100644
142 ---- a/CMakeLists.txt
143 -+++ b/CMakeLists.txt
144 -@@ -138,7 +138,7 @@ check_symbol_exists(bpf_attach_kfunc "${LIBBCC_INCLUDE_DIRS}/bcc/libbpf.h" HAVE_
145 - check_symbol_exists(bcc_usdt_addsem_probe "${LIBBCC_INCLUDE_DIRS}/bcc/bcc_usdt.h" HAVE_BCC_USDT_ADDSEM)
146 - check_symbol_exists(bcc_procutils_which_so "${LIBBCC_INCLUDE_DIRS}/bcc/bcc_proc.h" HAVE_BCC_WHICH_SO)
147 -
148 --# bcc_prog_load_xattr needs struct bpf_load_program_attr,
149 -+# bcc_prog_load_xattr needs struct bpf_prog_load_opts or bpf_load_program_attr,
150 - # which is defined in libbpf
151 - if (LIBBPF_FOUND)
152 - check_symbol_exists(bcc_prog_load_xattr "${LIBBCC_INCLUDE_DIRS}/bcc/libbpf.h" HAVE_BCC_PROG_LOAD_XATTR)
153 -@@ -236,6 +236,10 @@ if(LIBBCC_ATTACH_UPROBE_SEVEN_ARGS_SIGNATURE)
154 - set(BPFTRACE_FLAGS "${BPFTRACE_FLAGS}" LIBBCC_ATTACH_UPROBE_SEVEN_ARGS_SIGNATURE)
155 - endif(LIBBCC_ATTACH_UPROBE_SEVEN_ARGS_SIGNATURE)
156 -
157 -+if(LIBBCC_PROG_LOAD_XATTRS_WITH_OPTS)
158 -+ set(BPFTRACE_FLAGS "${BPFTRACE_FLAGS}" LIBBCC_PROG_LOAD_XATTRS_WITH_OPTS)
159 -+endif(LIBBCC_PROG_LOAD_XATTRS_WITH_OPTS)
160 -+
161 - if (HAVE_BCC_KFUNC)
162 - set(BPFTRACE_FLAGS "${BPFTRACE_FLAGS}" HAVE_BCC_KFUNC)
163 - endif(HAVE_BCC_KFUNC)
164 -diff --git a/cmake/FindLibBcc.cmake b/cmake/FindLibBcc.cmake
165 -index 7b4f12835786..20d2e68cd75f 100644
166 ---- a/cmake/FindLibBcc.cmake
167 -+++ b/cmake/FindLibBcc.cmake
168 -@@ -85,6 +85,16 @@ int main(void) {
169 - return 0;
170 - }
171 - " LIBBCC_ATTACH_UPROBE_SEVEN_ARGS_SIGNATURE)
172 -+CHECK_CXX_SOURCE_COMPILES("
173 -+#include <bcc/libbpf.h>
174 -+
175 -+int main(void) {
176 -+ struct bpf_prog_load_opts *opts = (struct bpf_prog_load_opts*) 1;
177 -+
178 -+ bcc_prog_load_xattr(BPF_PROG_TYPE_UNSPEC, 0, 0, 0, opts, 0, 0, 0, true);
179 -+ return 0;
180 -+}
181 -+" LIBBCC_PROG_LOAD_XATTRS_WITH_OPTS)
182 - SET(CMAKE_REQUIRED_INCLUDES)
183 -
184 - SET(CMAKE_REQUIRED_LIBRARIES ${LIBBCC_BPF_LIBRARIES})
185 -diff --git a/src/attached_probe.cpp b/src/attached_probe.cpp
186 -index 60778e53ce44..dd46f15fd8d2 100644
187 ---- a/src/attached_probe.cpp
188 -+++ b/src/attached_probe.cpp
189 -@@ -731,7 +731,24 @@ void AttachedProbe::load_prog()
190 - continue;
191 - }
192 -
193 --#ifdef HAVE_BCC_PROG_LOAD_XATTR
194 -+#ifdef LIBBCC_PROG_LOAD_XATTRS_WITH_OPTS
195 -+ struct bpf_prog_load_opts opts = { };
196 -+
197 -+ opts.sz = sizeof(opts);
198 -+ opts.log_level = log_level;
199 -+
200 -+ progfd_ = bcc_prog_load_xattr(
201 -+ progtype(probe_.type),
202 -+ name.c_str(),
203 -+ license,
204 -+ reinterpret_cast<struct bpf_insn *>(insns),
205 -+ &opts,
206 -+ prog_len,
207 -+ log_buf.get(),
208 -+ log_buf_size,
209 -+ true);
210 -+
211 -+#elif HAVE_BCC_PROG_LOAD_XATTR
212 - struct bpf_load_program_attr attr = {};
213 -
214 - attr.prog_type = progtype(probe_.type);
215
216 diff --git a/dev-util/bpftrace/files/bpftrace-0.15.0-binutils-2.39.patch b/dev-util/bpftrace/files/bpftrace-0.15.0-binutils-2.39.patch
217 deleted file mode 100644
218 index cb4b8a9bb2d2..000000000000
219 --- a/dev-util/bpftrace/files/bpftrace-0.15.0-binutils-2.39.patch
220 +++ /dev/null
221 @@ -1,87 +0,0 @@
222 -
223 -Patch taken from: https://github.com/iovisor/bpftrace/pull/2328
224 -Removed hunk #1 (CHANGELOG.md) since it conflicts and is not required.
225 -Bug: https://bugs.gentoo.org/868120
226 -
227 -From 3be6e708d514d3378a4fe985ab907643ecbc77ee Mon Sep 17 00:00:00 2001
228 -From: Viktor Malik <viktor.malik@×××××.com>
229 -Date: Mon, 15 Aug 2022 15:13:14 +0200
230 -Subject: [PATCH] Fix builds against libbfd(binutils) >=2.39
231 -
232 -Binutils 2.39 changed signature of the init_disassemble_info function by
233 -adding an extra parameter for styled printf function. Let CMake detect
234 -which of the versions is present and call it appropriately.
235 ----
236 - CHANGELOG.md | 2 ++
237 - CMakeLists.txt | 3 +++
238 - cmake/FindLibBfd.cmake | 10 ++++++++++
239 - src/bfd-disasm.cpp | 14 ++++++++++++++
240 - 4 files changed, 29 insertions(+)
241 -
242 -diff --git a/CMakeLists.txt b/CMakeLists.txt
243 -index 8f7995afd2..2e54eb84f8 100644
244 ---- a/CMakeLists.txt
245 -+++ b/CMakeLists.txt
246 -@@ -249,6 +249,9 @@ if(HAVE_BFD_DISASM)
247 - if(LIBBFD_DISASM_FOUR_ARGS_SIGNATURE)
248 - set(BPFTRACE_FLAGS "${BPFTRACE_FLAGS}" LIBBFD_DISASM_FOUR_ARGS_SIGNATURE)
249 - endif(LIBBFD_DISASM_FOUR_ARGS_SIGNATURE)
250 -+ if(LIBBFD_INIT_DISASM_INFO_FOUR_ARGS_SIGNATURE)
251 -+ set(BPFTRACE_FLAGS "${BPFTRACE_FLAGS}" LIBBFD_INIT_DISASM_INFO_FOUR_ARGS_SIGNATURE)
252 -+ endif(LIBBFD_INIT_DISASM_INFO_FOUR_ARGS_SIGNATURE)
253 - endif(HAVE_BFD_DISASM)
254 -
255 - if (LIBBPF_BTF_DUMP_FOUND)
256 -diff --git a/cmake/FindLibBfd.cmake b/cmake/FindLibBfd.cmake
257 -index 4f4b8c4e20..5d917b188c 100644
258 ---- a/cmake/FindLibBfd.cmake
259 -+++ b/cmake/FindLibBfd.cmake
260 -@@ -75,5 +75,15 @@ int main(void) {
261 - abfd);
262 - return 0;
263 - }" LIBBFD_DISASM_FOUR_ARGS_SIGNATURE)
264 -+CHECK_CXX_SOURCE_COMPILES("
265 -+// See comment in bfd-disasm.cpp for why this needs to exist
266 -+#define PACKAGE \"bpftrace-test\"
267 -+#include <dis-asm.h>
268 -+
269 -+int main(void) {
270 -+ init_disassemble_info(NULL, NULL, NULL, NULL);
271 -+ return 0;
272 -+}
273 -+" LIBBFD_INIT_DISASM_INFO_FOUR_ARGS_SIGNATURE)
274 - SET(CMAKE_REQUIRED_LIBRARIES)
275 - endif()
276 -diff --git a/src/bfd-disasm.cpp b/src/bfd-disasm.cpp
277 -index f846468cd8..d4165dfac5 100644
278 ---- a/src/bfd-disasm.cpp
279 -+++ b/src/bfd-disasm.cpp
280 -@@ -38,6 +38,16 @@ static int fprintf_nop(void *out __attribute__((unused)), const char *fmt __attr
281 - return 0;
282 - }
283 -
284 -+#ifdef LIBBFD_INIT_DISASM_INFO_FOUR_ARGS_SIGNATURE
285 -+static int fprintf_styled_nop(void *out __attribute__((unused)),
286 -+ enum disassembler_style s __attribute__((unused)),
287 -+ const char *fmt __attribute__((unused)),
288 -+ ...)
289 -+{
290 -+ return 0;
291 -+}
292 -+#endif
293 -+
294 - static AlignState is_aligned_buf(void *buf, uint64_t size, uint64_t offset)
295 - {
296 - disassembler_ftype disassemble;
297 -@@ -55,7 +65,11 @@ static AlignState is_aligned_buf(void *buf, uint64_t size, uint64_t offset)
298 - return AlignState::Fail;
299 - }
300 -
301 -+#ifdef LIBBFD_INIT_DISASM_INFO_FOUR_ARGS_SIGNATURE
302 -+ init_disassemble_info(&info, stdout, fprintf_nop, fprintf_styled_nop);
303 -+#else
304 - init_disassemble_info(&info, stdout, fprintf_nop);
305 -+#endif
306 -
307 - info.arch = bfd_get_arch(bfdf);
308 - info.mach = bfd_get_mach(bfdf);
309
310 diff --git a/dev-util/bpftrace/files/bpftrace-0.15.0-dont-compress-man.patch b/dev-util/bpftrace/files/bpftrace-0.15.0-dont-compress-man.patch
311 deleted file mode 100644
312 index 84241e052462..000000000000
313 --- a/dev-util/bpftrace/files/bpftrace-0.15.0-dont-compress-man.patch
314 +++ /dev/null
315 @@ -1,47 +0,0 @@
316 -diff --git a/man/adoc/CMakeLists.txt b/man/adoc/CMakeLists.txt
317 -index 1a81dee0..c93ccbd2 100644
318 ---- a/man/adoc/CMakeLists.txt
319 -+++ b/man/adoc/CMakeLists.txt
320 -@@ -1,7 +1,5 @@
321 --find_program(GZIP gzip REQUIRED)
322 - find_program(ASCIIDOCTOR asciidoctor)
323 - file(GLOB FILES *.adoc)
324 --set(GZFILES "")
325 - if(NOT "${ASCIIDOCTOR}" STREQUAL "ASCIIDOCTOR-NOTFOUND")
326 - foreach(FIL ${FILES})
327 - get_filename_component(NAME ${FIL} NAME_WE)
328 -@@ -12,14 +10,9 @@ if(NOT "${ASCIIDOCTOR}" STREQUAL "ASCIIDOCTOR-NOTFOUND")
329 - COMMAND ${ASCIIDOCTOR} ${FIL} -b manpage -o - > ${MANPAGE_FILE}
330 - DEPENDS ${FIL})
331 -
332 -- add_custom_command(OUTPUT ${GZ_MANPAGE_FILE}
333 -- COMMAND ${GZIP} -c ${MANPAGE_FILE} > ${GZ_MANPAGE_FILE}
334 -- DEPENDS ${MANPAGE_FILE})
335 --
336 -- list(APPEND GZFILES ${GZ_MANPAGE_FILE})
337 - endforeach()
338 -- add_custom_target(adoc_man DEPENDS ${GZFILES})
339 -- install(FILES ${GZFILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man8)
340 -+ add_custom_target(adoc_man DEPENDS ${FILES})
341 -+ install(FILES ${FILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man8)
342 - else()
343 - message(WARNING "asciidoctor not found, building without bpftrace manpage")
344 - add_custom_target(adoc_man)
345 -diff --git a/man/man8/CMakeLists.txt b/man/man8/CMakeLists.txt
346 -index 2a316cd9..2207cf80 100644
347 ---- a/man/man8/CMakeLists.txt
348 -+++ b/man/man8/CMakeLists.txt
349 -@@ -1,12 +1,3 @@
350 --find_program(GZIP gzip REQUIRED)
351 - file(GLOB FILES *.8)
352 --set(GZFILES "")
353 --foreach(FIL ${FILES})
354 -- get_filename_component(NAME ${FIL} NAME)
355 -- add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.gz
356 -- COMMAND ${GZIP} -c ${FIL} > ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.gz
357 -- DEPENDS ${FIL})
358 -- list(APPEND GZFILES "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.gz")
359 --endforeach()
360 - add_custom_target(man_man DEPENDS ${GZFILES})
361 --install(FILES ${GZFILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man8)
362 -+install(FILES ${FILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man8)
363
364 diff --git a/dev-util/bpftrace/files/bpftrace-0.15.0-install-libs.patch b/dev-util/bpftrace/files/bpftrace-0.15.0-install-libs.patch
365 deleted file mode 100644
366 index b20e39e4d268..000000000000
367 --- a/dev-util/bpftrace/files/bpftrace-0.15.0-install-libs.patch
368 +++ /dev/null
369 @@ -1,199 +0,0 @@
370 -diff --git a/CMakeLists.txt b/CMakeLists.txt
371 -index c5c4c396..4bc3e499 100644
372 ---- a/CMakeLists.txt
373 -+++ b/CMakeLists.txt
374 -@@ -103,9 +103,10 @@ find_package(FLEX REQUIRED)
375 - bison_target(bison_parser src/parser.yy ${CMAKE_BINARY_DIR}/parser.tab.cc VERBOSE)
376 - flex_target(flex_lexer src/lexer.l ${CMAKE_BINARY_DIR}/lex.yy.cc)
377 - add_flex_bison_dependency(flex_lexer bison_parser)
378 --add_library(parser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
379 --target_compile_options(parser PRIVATE "-w")
380 --target_include_directories(parser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
381 -+add_library(bpftraceparser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
382 -+target_compile_options(bpftraceparser PRIVATE "-w")
383 -+target_include_directories(bpftraceparser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
384 -+install(TARGETS bpftraceparser LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
385 -
386 - include(CheckSymbolExists)
387 - set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
388 -diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt
389 -index a95c60a1..f5c4d676 100644
390 ---- a/resources/CMakeLists.txt
391 -+++ b/resources/CMakeLists.txt
392 -@@ -1,6 +1,7 @@
393 --add_library(resources headers.cpp)
394 -+add_library(bpftraceresources headers.cpp)
395 -
396 --target_include_directories(resources PUBLIC ../src)
397 -+target_include_directories(bpftraceresources PUBLIC ../src)
398 -+install(TARGETS bpftraceresources LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
399 -
400 - function(embed_headers output)
401 - file(WRITE ${output} "#include \"headers.h\"\n\nnamespace bpftrace {\n")
402 -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
403 -index 66a7fd66..738d9327 100644
404 ---- a/src/CMakeLists.txt
405 -+++ b/src/CMakeLists.txt
406 -@@ -41,7 +41,7 @@ add_library(runtime
407 - ${BFD_DISASM_SRC}
408 - )
409 - # Ensure flex+bison outputs are built first
410 --add_dependencies(runtime parser)
411 -+add_dependencies(runtime bpftraceparser)
412 -
413 - add_library(libbpftrace
414 - build_info.cpp
415 -@@ -58,6 +58,7 @@ add_executable(${BPFTRACE}
416 - )
417 -
418 - install(TARGETS ${BPFTRACE} DESTINATION ${CMAKE_INSTALL_BINDIR})
419 -+install(TARGETS libbpftrace LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
420 - target_link_libraries(${BPFTRACE} libbpftrace)
421 -
422 - if (BUILD_FUZZ)
423 -@@ -110,6 +111,7 @@ target_include_directories(runtime PRIVATE ${CMAKE_BINARY_DIR})
424 - target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src)
425 - target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src/ast)
426 - target_compile_definitions(runtime PRIVATE ${BPFTRACE_FLAGS})
427 -+install(TARGETS runtime LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
428 - target_compile_definitions(libbpftrace PRIVATE ${BPFTRACE_FLAGS})
429 -
430 - # Linking
431 -@@ -122,7 +124,8 @@ if(STATIC_LINKING)
432 - endif(STATIC_LINKING)
433 -
434 -
435 --target_link_libraries(libbpftrace parser resources runtime aot ast arch cxxdemangler_llvm)
436 -+target_link_libraries(libbpftrace bpftraceparser bpftraceresources
437 -+ runtime aot bpftraceast bpftracearch cxxdemangler_llvm)
438 -
439 - if (LIBBPF_BTF_DUMP_FOUND)
440 - target_include_directories(runtime PUBLIC ${LIBBPF_INCLUDE_DIRS})
441 -diff --git a/src/aot/CMakeLists.txt b/src/aot/CMakeLists.txt
442 -index 291d53f2..22944ddc 100644
443 ---- a/src/aot/CMakeLists.txt
444 -+++ b/src/aot/CMakeLists.txt
445 -@@ -2,6 +2,7 @@ add_library(aot aot.cpp)
446 - target_include_directories(aot PUBLIC ${CMAKE_SOURCE_DIR}/src)
447 - target_include_directories(aot PUBLIC ${CMAKE_BINARY_DIR})
448 - target_compile_definitions(aot PRIVATE ${BPFTRACE_FLAGS})
449 -+install(TARGETS aot LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
450 -
451 - # Only build aotrt if supported bcc is used
452 - # (https://github.com/iovisor/bcc/commit/719191867a25ce07dc96f7faf9b8ccedadc7ec44)
453 -@@ -10,7 +11,7 @@ if(NOT LIBBCC_BPF_CONTAINS_RUNTIME)
454 - endif()
455 -
456 - add_executable(bpftrace-aotrt aot_main.cpp)
457 --target_link_libraries(bpftrace-aotrt aot runtime arch ast_defs cxxdemangler_stdlib)
458 -+target_link_libraries(bpftrace-aotrt aot runtime bpftracearch ast_defs cxxdemangler_stdlib)
459 - install(TARGETS bpftrace-aotrt DESTINATION ${CMAKE_INSTALL_BINDIR})
460 -
461 - # Linking
462 -diff --git a/src/arch/CMakeLists.txt b/src/arch/CMakeLists.txt
463 -index 127c3528..4e05d40a 100644
464 ---- a/src/arch/CMakeLists.txt
465 -+++ b/src/arch/CMakeLists.txt
466 -@@ -1,17 +1,19 @@
467 - if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
468 -- add_library(arch aarch64.cpp)
469 -+ add_library(bpftracearch aarch64.cpp)
470 - elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR
471 - CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
472 -- add_library(arch ppc64.cpp)
473 -+ add_library(bpftracearch ppc64.cpp)
474 - elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "s390" OR
475 - CMAKE_SYSTEM_PROCESSOR STREQUAL "s390x")
476 -- add_library(arch s390.cpp)
477 -+ add_library(bpftracearch s390.cpp)
478 - elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
479 -- add_library(arch x86_64.cpp)
480 -+ add_library(bpftracearch x86_64.cpp)
481 - elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "mips64")
482 -- add_library(arch mips64.cpp)
483 -+ add_library(bpftracearch mips64.cpp)
484 - elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64")
485 -- add_library(arch riscv64.cpp)
486 -+ add_library(bpftracearch riscv64.cpp)
487 - else()
488 - message(FATAL_ERROR "Unsupported architecture: ${CMAKE_SYSTEM_PROCESSOR}")
489 - endif()
490 -+
491 -+install(TARGETS bpftracearch LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
492 -diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt
493 -index 014295cd..c35f6ac6 100644
494 ---- a/src/ast/CMakeLists.txt
495 -+++ b/src/ast/CMakeLists.txt
496 -@@ -1,6 +1,6 @@
497 - add_library(ast_defs ast.cpp)
498 -
499 --add_library(ast
500 -+add_library(bpftraceast
501 - async_event_types.cpp
502 - attachpoint_parser.cpp
503 - int_parser.cpp
504 -@@ -20,11 +20,13 @@ add_library(ast
505 - target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src)
506 - target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src/ast)
507 - target_include_directories(ast_defs PUBLIC ${CMAKE_BINARY_DIR})
508 --target_link_libraries(ast ast_defs arch bpforc parser)
509 -+target_link_libraries(bpftraceast ast_defs bpftracearch bpforc bpftraceparser)
510 -+install(TARGETS ast_defs LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
511 -+install(TARGETS bpftraceast LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
512 -
513 --add_dependencies(ast_defs parser)
514 -+add_dependencies(ast_defs bpftraceparser)
515 -
516 --target_compile_definitions(ast PRIVATE ${BPFTRACE_FLAGS})
517 -+target_compile_definitions(bpftraceast PRIVATE ${BPFTRACE_FLAGS})
518 -
519 - if (STATIC_LINKING)
520 - set(clang_libs
521 -@@ -55,11 +57,11 @@ if (STATIC_LINKING)
522 -
523 -
524 - if(EMBED_USE_LLVM)
525 -- target_link_libraries(ast "-Wl,--start-group" ${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} "-Wl,--end-group")
526 -+ target_link_libraries(bpftraceast "-Wl,--start-group" ${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} "-Wl,--end-group")
527 - else()
528 - llvm_map_components_to_libnames(llvm_libs ${llvm_lib_names})
529 -- target_link_libraries(ast ${clang_libs})
530 -- target_link_libraries(ast ${llvm_libs})
531 -+ target_link_libraries(bpftraceast ${clang_libs})
532 -+ target_link_libraries(bpftraceast ${llvm_libs})
533 - endif()
534 -
535 - if(STATIC_LIBC)
536 -@@ -69,13 +71,13 @@ if (STATIC_LINKING)
537 - else()
538 - find_library(found_LLVM LLVM HINTS ${LLVM_LIBRARY_DIRS})
539 - if(found_LLVM)
540 -- target_link_libraries(ast LLVM)
541 -+ target_link_libraries(bpftraceast LLVM)
542 - else()
543 - llvm_map_components_to_libnames(_llvm_libs bpfcodegen ipo irreader mcjit orcjit ${LLVM_TARGETS_TO_BUILD})
544 - llvm_expand_dependencies(llvm_libs ${_llvm_libs})
545 -- target_link_libraries(ast ${llvm_libs})
546 -+ target_link_libraries(bpftraceast ${llvm_libs})
547 - endif()
548 -- target_link_libraries(ast libclang)
549 -+ target_link_libraries(bpftraceast libclang)
550 - endif()
551 -
552 - add_subdirectory(bpforc)
553 -diff --git a/src/ast/bpforc/CMakeLists.txt b/src/ast/bpforc/CMakeLists.txt
554 -index 3f6dbefa..8ccfbb2b 100644
555 ---- a/src/ast/bpforc/CMakeLists.txt
556 -+++ b/src/ast/bpforc/CMakeLists.txt
557 -@@ -1 +1,2 @@
558 - add_library(bpforc bpforc.cpp)
559 -+install(TARGETS bpforc LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
560 -diff --git a/src/cxxdemangler/CMakeLists.txt b/src/cxxdemangler/CMakeLists.txt
561 -index 04cfcdd9..5677aa4b 100644
562 ---- a/src/cxxdemangler/CMakeLists.txt
563 -+++ b/src/cxxdemangler/CMakeLists.txt
564 -@@ -1,2 +1,4 @@
565 - add_library(cxxdemangler_stdlib cxxdemangler_stdlib.cpp)
566 - add_library(cxxdemangler_llvm cxxdemangler_llvm.cpp)
567 -+install(TARGETS cxxdemangler_stdlib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
568 -+install(TARGETS cxxdemangler_llvm LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})