summaryrefslogtreecommitdiff
blob: 04c08b3efa8b3bf4bc4f8da4180ffa08e0934e0a (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
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e4544559..272ea18d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -92,9 +92,10 @@ find_package(FLEX REQUIRED)
 bison_target(bison_parser src/parser.yy ${CMAKE_BINARY_DIR}/parser.tab.cc 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 37ee2204..8b2e1909 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -145,7 +145,8 @@ if (ALLOW_UNSAFE_PROBE)
   target_compile_definitions(libbpftrace PRIVATE HAVE_UNSAFE_PROBE)
 endif(ALLOW_UNSAFE_PROBE)
 
-target_link_libraries(libbpftrace arch ast parser resources)
+target_link_libraries(libbpftrace bpftracearch bpftraceast bpftraceparser bpftraceresources)
+install(TARGETS bpftracearch bpftraceast bpftraceparser LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
 
 target_link_libraries(libbpftrace ${LIBBCC_LIBRARIES})
 if(STATIC_LINKING)
@@ -194,6 +195,7 @@ if (USE_LIBFUZZER)
 endif()
 
 install(TARGETS ${BPFTRACE} DESTINATION ${CMAKE_INSTALL_BINDIR})
+install(TARGETS libbpftrace LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
 
 set(KERNEL_HEADERS_DIR "" CACHE PATH "Hard-code kernel headers directory")
 if (KERNEL_HEADERS_DIR)
diff --git a/src/arch/CMakeLists.txt b/src/arch/CMakeLists.txt
index 76bb217e..6d243a7e 100644
--- a/src/arch/CMakeLists.txt
+++ b/src/arch/CMakeLists.txt
@@ -1,15 +1,15 @@
 if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
-    add_library(arch aarch64.cpp)
+    add_library(bpftracearch aarch64.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)
 else()
   message(FATAL_ERROR "Unsupported architecture: ${CMAKE_SYSTEM_PROCESSOR}")
 endif()
diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt
index 3d444fb4..c2cf84ed 100644
--- a/src/ast/CMakeLists.txt
+++ b/src/ast/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_library(ast
+add_library(bpftraceast
   ast.cpp
   attachpoint_parser.cpp
   callback_visitor.cpp
@@ -11,17 +11,18 @@ add_library(ast
   signal.cpp
   visitors.cpp
 )
+install(TARGETS bpftraceast LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
 
-target_include_directories(ast PUBLIC ${CMAKE_SOURCE_DIR}/src)
-target_include_directories(ast PUBLIC ${CMAKE_SOURCE_DIR}/src/ast)
-target_include_directories(ast PUBLIC ${CMAKE_BINARY_DIR})
-target_link_libraries(ast arch)
+target_include_directories(bpftraceast PUBLIC ${CMAKE_SOURCE_DIR}/src)
+target_include_directories(bpftraceast PUBLIC ${CMAKE_SOURCE_DIR}/src/ast)
+target_include_directories(bpftraceast PUBLIC ${CMAKE_BINARY_DIR})
+target_link_libraries(bpftraceast bpftracearch)
 
 if (HAVE_BCC_KFUNC)
-  target_compile_definitions(ast PRIVATE HAVE_BCC_KFUNC)
+  target_compile_definitions(bpftraceast PRIVATE HAVE_BCC_KFUNC)
 endif(HAVE_BCC_KFUNC)
 
-add_dependencies(ast parser)
+add_dependencies(bpftraceast bpftraceparser)
 
 if (STATIC_LINKING)
   set(clang_libs
@@ -45,17 +46,17 @@ if (STATIC_LINKING)
     if(EMBED_LIBCLANG_ONLY)
       unlink_transitive_dependency("${CLANG_EXPORTED_TARGETS}" "LLVM")
     endif()
-    target_link_libraries(ast ${CLANG_EMBEDDED_CMAKE_TARGETS})
+    target_link_libraries(bpftraceast ${CLANG_EMBEDDED_CMAKE_TARGETS})
   else()
     list(INSERT clang_libs 0 libclang.a)
   endif()
 
   if(EMBED_LLVM)
-    target_link_libraries(ast ${LLVM_EMBEDDED_CMAKE_TARGETS})
+    target_link_libraries(bpftraceast ${LLVM_EMBEDDED_CMAKE_TARGETS})
   else()
     llvm_map_components_to_libnames(llvm_libs bpfcodegen ipo irreader mcjit option orcjit ${LLVM_TARGETS_TO_BUILD})
-    target_link_libraries(ast ${clang_libs})
-    target_link_libraries(ast ${llvm_libs})
+    target_link_libraries(bpftraceast ${clang_libs})
+    target_link_libraries(bpftraceast ${llvm_libs})
   endif()
 
   if(STATIC_LIBC)
@@ -64,11 +65,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/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 8d546f9a..105dcd11 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_compile_options("-Wno-undef")
+gdd_compile_options("-Wno-undef")
 add_compile_options("-Wno-switch-default")
 add_compile_options("-Wno-switch-enum")