summaryrefslogtreecommitdiff
blob: fb75f9db1ba39c87262e294c5f1475ce9d9729b6 (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
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e33bb1ca..52e1fa25 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -100,9 +100,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 0361cdaa..f9c536a3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -49,6 +49,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)
@@ -109,7 +110,7 @@ if(STATIC_LINKING)
 endif(STATIC_LINKING)
 
 
-target_link_libraries(libbpftrace parser resources ast arch)
+target_link_libraries(libbpftrace bpftraceparser bpftraceresources bpftraceast bpftracearch)
 
 if (LIBBPF_BTF_DUMP_FOUND)
   target_include_directories(libbpftrace PUBLIC ${LIBBPF_INCLUDE_DIRS})
diff --git a/src/arch/CMakeLists.txt b/src/arch/CMakeLists.txt
index 76bb217e..4ad0f626 100644
--- a/src/arch/CMakeLists.txt
+++ b/src/arch/CMakeLists.txt
@@ -1,15 +1,17 @@
 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()
+
+install(TARGETS bpftracearch LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt
index 5234388c..8b40faaa 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
   codegen_llvm.cpp
@@ -13,17 +13,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
@@ -54,11 +55,11 @@ 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})
-    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)
@@ -68,11 +69,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()