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: 1675105809.90756882da5d06a2e4b4e7d0f718d97dad65f136.chutzpah@gentoo
1 commit: 90756882da5d06a2e4b4e7d0f718d97dad65f136
2 Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jan 30 19:08:08 2023 +0000
4 Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 30 19:10:09 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90756882
7
8 dev-util/bpftrace: add 0.17.0
9
10 Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
11
12 dev-util/bpftrace/Manifest | 3 +-
13 dev-util/bpftrace/bpftrace-0.17.0.ebuild | 95 ++++++
14 .../files/bpftrace-0.17.0-install-libs.patch | 327 +++++++++++++++++++++
15 3 files changed, 423 insertions(+), 2 deletions(-)
16
17 diff --git a/dev-util/bpftrace/Manifest b/dev-util/bpftrace/Manifest
18 index 308364d6afc1..d51f5f17e321 100644
19 --- a/dev-util/bpftrace/Manifest
20 +++ b/dev-util/bpftrace/Manifest
21 @@ -1,3 +1,2 @@
22 -DIST bpftrace-0.14.1-llvm14.patch.gz 7377 BLAKE2B 69b3b74bce74a8d4d8d9cc74de352dc33875ae905d8a88c776bbe80862a4f4ac2d450bcb6190da8be880bcc8fb751e3b8172df5454f31dc4bcd3e41edb02e396 SHA512 3269132981a7d2c0263fe9003bbcd2348e186ca0cdc95ada368331fc6e2495ae126c7bd68676438ccb575aafdafa3d17604a28fdc11d8b629eeaee130c1fd614
23 -DIST bpftrace-0.15.0.tar.gz 1006735 BLAKE2B 3ef4bb5f13aa6dea5140b5362e6fc3de21baa1192e2218307895bf29ddeba8d69543e32c2b769bf3456076095ba661b66e1625f2696631d22628311d7f6ec1a4 SHA512 916e9afeab301e62472e570ef77a3b9b27b43251880b64f1c5f151583c59a6c61e9ede50f3607044b27c5a6ce1a654f290153bf3f9237ebc0a823b5e6356187a
24 DIST bpftrace-0.16.0.gh.tar.gz 1023480 BLAKE2B 20fa877adeaada655462004142a80f107f82a3fa73fd7a7675a477d45ecd3a28115af5d612da2b06e2d760cfa3e574583e4cc4d62f4175c49ecc9d9b3fcceb6e SHA512 52ca4fea4e2f8d2cbf0f9f1bc69af0ee3408201f019006dd2e838b9458cfc01761eba3df24c39e05cf93220d85d0cecc69bb44ec72f9f44cec0eb94479bff734
25 +DIST bpftrace-0.17.0.gh.tar.gz 1033934 BLAKE2B 960582096fcf1652a65c4f8e18dcc5e17792c3b5c048dff59465fc1fc43d39e033c06ebc5c9bc88310b429a81fac5a8cfcdc261e7f0dcdcba4823b518f74fa3e SHA512 b1c8fc81b23f38bc45b4e73edd29c4cd0775e703b368612f00902fbda39dc3758038cd7afa351c1711cec467efd2a199a6b8b933b03aebd591d230d533e190d3
26
27 diff --git a/dev-util/bpftrace/bpftrace-0.17.0.ebuild b/dev-util/bpftrace/bpftrace-0.17.0.ebuild
28 new file mode 100644
29 index 000000000000..e2084dacecf4
30 --- /dev/null
31 +++ b/dev-util/bpftrace/bpftrace-0.17.0.ebuild
32 @@ -0,0 +1,95 @@
33 +# Copyright 2019-2023 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=8
37 +
38 +LLVM_MAX_SLOT=16
39 +
40 +inherit llvm linux-info cmake
41 +
42 +DESCRIPTION="High-level tracing language for eBPF"
43 +HOMEPAGE="https://github.com/iovisor/bpftrace"
44 +MY_PV="${PV//_/}"
45 +SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
46 +S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
47 +
48 +LICENSE="Apache-2.0"
49 +SLOT="0"
50 +
51 +# remove keywords until build works:
52 +# https://github.com/iovisor/bpftrace/issues/2349
53 +KEYWORDS="~amd64 ~arm64 ~x86"
54 +IUSE="fuzzing test"
55 +
56 +# lots of fixing needed
57 +RESTRICT="test"
58 +
59 +RDEPEND="
60 + >=dev-libs/libbpf-1.0:=
61 + >=dev-util/bcc-0.25.0:=
62 + >=sys-devel/llvm-10:=[llvm_targets_BPF(+)]
63 + >=sys-devel/clang-10:=
64 + <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
65 + <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
66 + sys-libs/binutils-libs:=
67 + virtual/libelf:=
68 +"
69 +DEPEND="
70 + ${COMMON_DEPEND}
71 + dev-libs/cereal:=
72 + test? ( dev-cpp/gtest )
73 +"
74 +BDEPEND="
75 + app-arch/xz-utils
76 + sys-devel/flex
77 + sys-devel/bison
78 + virtual/pkgconfig
79 +"
80 +
81 +QA_DT_NEEDED="
82 + /usr/lib.*/libbpftraceresources.so
83 + /usr/lib.*/libcxxdemangler_llvm.so
84 +"
85 +
86 +PATCHES=(
87 + "${FILESDIR}/bpftrace-0.17.0-install-libs.patch"
88 + "${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
89 + "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
90 +)
91 +
92 +pkg_pretend() {
93 + local CONFIG_CHECK="
94 + ~BPF
95 + ~BPF_EVENTS
96 + ~BPF_JIT
97 + ~BPF_SYSCALL
98 + ~FTRACE_SYSCALLS
99 + ~HAVE_EBPF_JIT
100 + "
101 +
102 + check_extra_config
103 +}
104 +
105 +pkg_setup() {
106 + llvm_pkg_setup
107 +}
108 +
109 +src_configure() {
110 + local mycmakeargs=(
111 + -DSTATIC_LINKING:BOOL=OFF
112 + # bug 809362, 754648
113 + -DBUILD_TESTING:BOOL=$(usex test)
114 + -DBUILD_FUZZ:BOOL=$(usex fuzzing)
115 + -DENABLE_MAN:BOOL=OFF
116 + -DUSE_SYSTEM_BPF_BCC:BOOL=ON
117 + )
118 +
119 + cmake_src_configure
120 +}
121 +
122 +src_install() {
123 + cmake_src_install
124 + # bug 809362
125 + dostrip -x /usr/bin/bpftrace
126 + doman man/man8/*.?
127 +}
128
129 diff --git a/dev-util/bpftrace/files/bpftrace-0.17.0-install-libs.patch b/dev-util/bpftrace/files/bpftrace-0.17.0-install-libs.patch
130 new file mode 100644
131 index 000000000000..a884acc7ef28
132 --- /dev/null
133 +++ b/dev-util/bpftrace/files/bpftrace-0.17.0-install-libs.patch
134 @@ -0,0 +1,327 @@
135 +diff --git a/CMakeLists.txt b/CMakeLists.txt
136 +index 0a7914f5..b9d8f47f 100644
137 +--- a/CMakeLists.txt
138 ++++ b/CMakeLists.txt
139 +@@ -125,9 +125,10 @@ find_package(FLEX REQUIRED)
140 + bison_target(bison_parser src/parser.yy ${CMAKE_BINARY_DIR}/parser.tab.cc VERBOSE)
141 + flex_target(flex_lexer src/lexer.l ${CMAKE_BINARY_DIR}/lex.yy.cc)
142 + add_flex_bison_dependency(flex_lexer bison_parser)
143 +-add_library(parser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
144 +-target_compile_options(parser PRIVATE "-w")
145 +-target_include_directories(parser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
146 ++add_library(bpftraceparser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
147 ++target_compile_options(bpftraceparser PRIVATE "-w")
148 ++target_include_directories(bpftraceparser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
149 ++install(TARGETS bpftraceparser LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
150 +
151 + include(CheckSymbolExists)
152 + set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
153 +diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt
154 +index a95c60a1..f5c4d676 100644
155 +--- a/resources/CMakeLists.txt
156 ++++ b/resources/CMakeLists.txt
157 +@@ -1,6 +1,7 @@
158 +-add_library(resources headers.cpp)
159 ++add_library(bpftraceresources headers.cpp)
160 +
161 +-target_include_directories(resources PUBLIC ../src)
162 ++target_include_directories(bpftraceresources PUBLIC ../src)
163 ++install(TARGETS bpftraceresources LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
164 +
165 + function(embed_headers output)
166 + file(WRITE ${output} "#include \"headers.h\"\n\nnamespace bpftrace {\n")
167 +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
168 +index ce16469a..98161980 100644
169 +--- a/src/CMakeLists.txt
170 ++++ b/src/CMakeLists.txt
171 +@@ -13,7 +13,7 @@ else()
172 + endif ()
173 + endif()
174 +
175 +-add_library(runtime
176 ++add_library(bpftraceruntime
177 + attached_probe.cpp
178 + bpffeature.cpp
179 + bpftrace.cpp
180 +@@ -43,7 +43,7 @@ add_library(runtime
181 + ${BFD_DISASM_SRC}
182 + )
183 + # Ensure flex+bison outputs are built first
184 +-add_dependencies(runtime parser)
185 ++add_dependencies(bpftraceruntime bpftraceparser)
186 +
187 + add_library(libbpftrace
188 + build_info.cpp
189 +@@ -60,6 +60,7 @@ add_executable(${BPFTRACE}
190 + )
191 +
192 + install(TARGETS ${BPFTRACE} DESTINATION ${CMAKE_INSTALL_BINDIR})
193 ++install(TARGETS libbpftrace LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
194 + target_link_libraries(${BPFTRACE} libbpftrace)
195 +
196 + if (BUILD_FUZZ)
197 +@@ -88,7 +89,7 @@ endif()
198 + set(KERNEL_HEADERS_DIR "" CACHE PATH "Hard-code kernel headers directory")
199 + if (KERNEL_HEADERS_DIR)
200 + MESSAGE(STATUS "Using KERNEL_HEADERS_DIR=${KERNEL_HEADERS_DIR}")
201 +- target_compile_definitions(runtime PUBLIC KERNEL_HEADERS_DIR="${KERNEL_HEADERS_DIR}")
202 ++ target_compile_definitions(bpftraceruntime PUBLIC KERNEL_HEADERS_DIR="${KERNEL_HEADERS_DIR}")
203 + endif()
204 +
205 + execute_process(
206 +@@ -108,10 +109,11 @@ endif()
207 +
208 + add_definitions("-DBPFTRACE_VERSION=\"${BPFTRACE_VERSION}\"")
209 +
210 +-target_include_directories(runtime PRIVATE ${CMAKE_BINARY_DIR})
211 +-target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src)
212 +-target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src/ast)
213 +-target_compile_definitions(runtime PRIVATE ${BPFTRACE_FLAGS})
214 ++target_include_directories(bpftraceruntime PRIVATE ${CMAKE_BINARY_DIR})
215 ++target_include_directories(bpftraceruntime PRIVATE ${CMAKE_SOURCE_DIR}/src)
216 ++target_include_directories(bpftraceruntime PRIVATE ${CMAKE_SOURCE_DIR}/src/ast)
217 ++target_compile_definitions(bpftraceruntime PRIVATE ${BPFTRACE_FLAGS})
218 ++install(TARGETS bpftraceruntime LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
219 + target_compile_definitions(libbpftrace PRIVATE ${BPFTRACE_FLAGS})
220 +
221 + # Linking
222 +@@ -124,8 +126,8 @@ if(STATIC_LINKING)
223 + endif(STATIC_LINKING)
224 +
225 +
226 +-target_link_libraries(runtime ${LIBBPF_LIBRARIES})
227 +-target_link_libraries(libbpftrace parser resources runtime aot ast arch cxxdemangler_llvm)
228 ++target_link_libraries(bpftraceruntime ${LIBBPF_LIBRARIES})
229 ++target_link_libraries(libbpftrace bpftraceparser bpftraceresources bpftraceruntime aot bpftraceast bpftracearch cxxdemangler_llvm)
230 +
231 + if(LIBPCAP_FOUND)
232 + target_link_libraries(libbpftrace ${LIBPCAP_LIBRARIES})
233 +@@ -135,37 +137,38 @@ if(HAVE_BFD_DISASM)
234 + if(STATIC_LINKING)
235 + add_library(LIBBFD STATIC IMPORTED)
236 + set_property(TARGET LIBBFD PROPERTY IMPORTED_LOCATION ${LIBBFD_LIBRARIES})
237 +- target_link_libraries(runtime LIBBFD)
238 ++ target_link_libraries(bpftraceruntime LIBBFD)
239 + add_library(LIBOPCODES STATIC IMPORTED)
240 + set_property(TARGET LIBOPCODES PROPERTY IMPORTED_LOCATION ${LIBOPCODES_LIBRARIES})
241 +- target_link_libraries(runtime LIBOPCODES)
242 ++ target_link_libraries(bpftraceruntime LIBOPCODES)
243 + add_library(LIBIBERTY STATIC IMPORTED)
244 + set_property(TARGET LIBIBERTY PROPERTY IMPORTED_LOCATION ${LIBIBERTY_LIBRARIES})
245 +- target_link_libraries(runtime LIBIBERTY)
246 ++ target_link_libraries(bpftraceruntime LIBIBERTY)
247 + else()
248 +- target_link_libraries(runtime ${LIBBFD_LIBRARIES})
249 +- target_link_libraries(runtime ${LIBOPCODES_LIBRARIES})
250 ++ target_link_libraries(bpftraceruntime ${LIBBFD_LIBRARIES})
251 ++ target_link_libraries(bpftraceruntime ${LIBOPCODES_LIBRARIES})
252 + endif(STATIC_LINKING)
253 + endif(HAVE_BFD_DISASM)
254 +
255 + # Link to bcc libraries (without LLVM) if possible
256 + if(LIBBCC_BPF_CONTAINS_RUNTIME)
257 +- target_link_libraries(runtime ${LIBBCC_BPF_LIBRARIES})
258 ++ target_link_libraries(bpftraceruntime ${LIBBCC_BPF_LIBRARIES})
259 + else()
260 +- target_link_libraries(runtime ${LIBBCC_LIBRARIES})
261 ++ target_link_libraries(bpftraceruntime ${LIBBCC_LIBRARIES})
262 + endif()
263 +
264 + if(STATIC_BPF_BCC)
265 + # These are not part of the static libbcc so have to be added separate
266 +- target_link_libraries(runtime ${LIBBCC_BPF_LIBRARIES})
267 +- target_link_libraries(runtime ${LIBBPF_LIBRARIES})
268 +- target_link_libraries(runtime ${LIBBCC_LOADER_LIBRARY_STATIC})
269 ++ target_link_libraries(bpftraceruntime ${LIBBCC_BPF_LIBRARIES})
270 ++ target_link_libraries(bpftraceruntime ${LIBBPF_LIBRARIES})
271 ++ target_link_libraries(bpftraceruntime ${LIBBCC_LOADER_LIBRARY_STATIC})
272 +
273 + add_library(LIBELF STATIC IMPORTED)
274 + set_property(TARGET LIBELF PROPERTY IMPORTED_LOCATION ${LIBELF_LIBRARIES})
275 +- target_link_libraries(runtime LIBELF)
276 ++ set_property(TARGET LIBELF PROPERTY IMPORTED_LOCATION ${LIBBPF_LIBRARIES})
277 ++ target_link_libraries(bpftraceruntime LIBELF)
278 + else()
279 +- target_link_libraries(runtime ${LIBELF_LIBRARIES})
280 ++ target_link_libraries(bpftraceruntime ${LIBELF_LIBRARIES})
281 + endif(STATIC_BPF_BCC)
282 +
283 + if (LIBDW_FOUND)
284 +@@ -182,16 +185,16 @@ if (LIBDW_FOUND)
285 + set_property(TARGET LIBDW PROPERTY IMPORTED_LOCATION ${LIBDW_LIBRARIES})
286 + target_link_libraries(LIBDW INTERFACE LIBBZ2 LIBELF LIBLZMA)
287 +
288 +- target_link_libraries(runtime LIBDW)
289 ++ target_link_libraries(bpftraceruntime LIBDW)
290 + else()
291 +- target_link_libraries(runtime ${LIBDW_LIBRARIES})
292 ++ target_link_libraries(bpftraceruntime ${LIBDW_LIBRARIES})
293 + endif()
294 + endif()
295 +
296 + # Support for std::filesystem
297 + # GCC version <9 and Clang (all versions) require -lstdc++fs
298 + if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "9")
299 +- target_link_libraries(runtime "stdc++fs")
300 ++ target_link_libraries(bpftraceruntime "stdc++fs")
301 + target_link_libraries(libbpftrace "stdc++fs")
302 + endif()
303 +
304 +@@ -213,16 +216,16 @@ endif()
305 + if (STATIC_LINKING)
306 + if(ANDROID)
307 + target_link_libraries(libbpftrace "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
308 +- target_link_libraries(runtime "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
309 ++ target_link_libraries(bpftraceruntime "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
310 + else()
311 + target_link_libraries(libbpftrace "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
312 + target_link_libraries(libbpftrace "-Wl,-Bstatic" "-lz")
313 +- target_link_libraries(runtime "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
314 +- target_link_libraries(runtime "-Wl,-Bstatic" "-lz")
315 ++ target_link_libraries(bpftraceruntime "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
316 ++ target_link_libraries(bpftraceruntime "-Wl,-Bstatic" "-lz")
317 + endif()
318 + elseif(STATIC_BPF_BCC)
319 + # partial static build, libbpf needs zlib
320 +- target_link_libraries(runtime "-lz")
321 ++ target_link_libraries(bpftraceruntime "-lz")
322 + endif()
323 +
324 + unset(MAIN_SRC)
325 +diff --git a/src/aot/CMakeLists.txt b/src/aot/CMakeLists.txt
326 +index c776d204..41e84317 100644
327 +--- a/src/aot/CMakeLists.txt
328 ++++ b/src/aot/CMakeLists.txt
329 +@@ -1,8 +1,9 @@
330 + add_library(aot aot.cpp)
331 +-add_dependencies(aot parser)
332 ++add_dependencies(aot bpftraceparser)
333 + target_include_directories(aot PUBLIC ${CMAKE_SOURCE_DIR}/src)
334 + target_include_directories(aot PUBLIC ${CMAKE_BINARY_DIR})
335 + target_compile_definitions(aot PRIVATE ${BPFTRACE_FLAGS})
336 ++install(TARGETS aot LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
337 +
338 + # Only build aotrt if supported bcc is used
339 + # (https://github.com/iovisor/bcc/commit/719191867a25ce07dc96f7faf9b8ccedadc7ec44)
340 +@@ -11,7 +12,7 @@ if(NOT LIBBCC_BPF_CONTAINS_RUNTIME)
341 + endif()
342 +
343 + add_executable(bpftrace-aotrt aot_main.cpp)
344 +-target_link_libraries(bpftrace-aotrt aot runtime arch ast_defs cxxdemangler_stdlib)
345 ++target_link_libraries(bpftrace-aotrt aot bpftraceruntime bpftracearch ast_defs cxxdemangler_stdlib)
346 + install(TARGETS bpftrace-aotrt DESTINATION ${CMAKE_INSTALL_BINDIR})
347 +
348 + if(LIBPCAP_FOUND)
349 +diff --git a/src/arch/CMakeLists.txt b/src/arch/CMakeLists.txt
350 +index d01d1ea3..7d96587f 100644
351 +--- a/src/arch/CMakeLists.txt
352 ++++ b/src/arch/CMakeLists.txt
353 +@@ -1,21 +1,21 @@
354 + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
355 +- add_library(arch aarch64.cpp)
356 ++ add_library(bpftracearch aarch64.cpp)
357 + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7-a")
358 +- add_library(arch arm.cpp)
359 ++ add_library(bpftracearch arm.cpp)
360 + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR
361 + CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
362 +- add_library(arch ppc64.cpp)
363 ++ add_library(bpftracearch ppc64.cpp)
364 + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "s390" OR
365 + CMAKE_SYSTEM_PROCESSOR STREQUAL "s390x")
366 +- add_library(arch s390.cpp)
367 ++ add_library(bpftracearch s390.cpp)
368 + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
369 +- add_library(arch x86_64.cpp)
370 ++ add_library(bpftracearch x86_64.cpp)
371 + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "mips64")
372 +- add_library(arch mips64.cpp)
373 ++ add_library(bpftracearch mips64.cpp)
374 + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64")
375 +- add_library(arch riscv64.cpp)
376 ++ add_library(bpftracearch riscv64.cpp)
377 + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "loongarch64")
378 +- add_library(arch loongarch64.cpp)
379 ++ add_library(bpftracearch loongarch64.cpp)
380 + else()
381 + message(FATAL_ERROR "Unsupported architecture: ${CMAKE_SYSTEM_PROCESSOR}")
382 + endif()
383 +diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt
384 +index c390ea6a..37019bd9 100644
385 +--- a/src/ast/CMakeLists.txt
386 ++++ b/src/ast/CMakeLists.txt
387 +@@ -1,6 +1,6 @@
388 + add_library(ast_defs ast.cpp)
389 +
390 +-add_library(ast
391 ++add_library(bpftraceast
392 + async_event_types.cpp
393 + attachpoint_parser.cpp
394 + elf_parser.cpp
395 +@@ -21,11 +21,13 @@ add_library(ast
396 + target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src)
397 + target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src/ast)
398 + target_include_directories(ast_defs PUBLIC ${CMAKE_BINARY_DIR})
399 +-target_link_libraries(ast ast_defs arch parser)
400 ++target_link_libraries(bpftraceast ast_defs bpftracearch bpftraceparser)
401 ++install(TARGETS ast_defs LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
402 ++install(TARGETS bpftraceast LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
403 +
404 +-add_dependencies(ast_defs parser)
405 ++add_dependencies(ast_defs bpftraceparser)
406 +
407 +-target_compile_definitions(ast PRIVATE ${BPFTRACE_FLAGS})
408 ++target_compile_definitions(bpftraceast PRIVATE ${BPFTRACE_FLAGS})
409 +
410 + if (STATIC_LINKING)
411 + set(clang_libs
412 +@@ -58,20 +60,20 @@ if (STATIC_LINKING)
413 +
414 +
415 + if(EMBED_USE_LLVM)
416 +- target_link_libraries(ast "-Wl,--start-group" ${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} "-Wl,--end-group")
417 ++ target_link_libraries(bpftraceast "-Wl,--start-group" ${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} "-Wl,--end-group")
418 + else()
419 + llvm_map_components_to_libnames(llvm_libs ${llvm_lib_names})
420 +
421 + if(TARGET libclang_static)
422 +- target_link_libraries(ast libclang_static)
423 ++ target_link_libraries(bpftraceast libclang_static)
424 + else()
425 + # old LLVM versions don't export libclang_static in ClangTargets.cmake; fall back to
426 + # libclang.a in that case
427 +- target_link_libraries(ast libclang.a)
428 ++ target_link_libraries(abpftracest libclang.a)
429 + endif()
430 +
431 +- target_link_libraries(ast ${clang_libs})
432 +- target_link_libraries(ast ${llvm_libs})
433 ++ target_link_libraries(abpftracest ${clang_libs})
434 ++ target_link_libraries(abpftracest ${llvm_libs})
435 + endif()
436 +
437 + if(STATIC_LIBC)
438 +@@ -81,11 +83,11 @@ if (STATIC_LINKING)
439 + else()
440 + find_library(found_LLVM LLVM HINTS ${LLVM_LIBRARY_DIRS})
441 + if(found_LLVM)
442 +- target_link_libraries(ast LLVM)
443 ++ target_link_libraries(bpftraceast LLVM)
444 + else()
445 + llvm_map_components_to_libnames(_llvm_libs bpfcodegen ipo irreader mcjit orcjit ${LLVM_TARGETS_TO_BUILD})
446 + llvm_expand_dependencies(llvm_libs ${_llvm_libs})
447 +- target_link_libraries(ast ${llvm_libs})
448 ++ target_link_libraries(bpftraceast ${llvm_libs})
449 + endif()
450 +- target_link_libraries(ast libclang)
451 ++ target_link_libraries(bpftraceast libclang)
452 + endif()
453 +diff --git a/src/cxxdemangler/CMakeLists.txt b/src/cxxdemangler/CMakeLists.txt
454 +index 04cfcdd9..5677aa4b 100644
455 +--- a/src/cxxdemangler/CMakeLists.txt
456 ++++ b/src/cxxdemangler/CMakeLists.txt
457 +@@ -1,2 +1,4 @@
458 + add_library(cxxdemangler_stdlib cxxdemangler_stdlib.cpp)
459 + add_library(cxxdemangler_llvm cxxdemangler_llvm.cpp)
460 ++install(TARGETS cxxdemangler_stdlib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
461 ++install(TARGETS cxxdemangler_llvm LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})