summaryrefslogtreecommitdiff
path: root/dev-debug/bpftrace/files/bpftrace-0.19.0-install-libs.patch
blob: 647b0cd4cae59d5c011b0658ddfa60c4ba1b1298 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
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})