summaryrefslogtreecommitdiff
blob: f4483570c996e08e4ce83042be5790cba566924b (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
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e8870c6..a55385d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,9 +47,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 b8b0d96..0803c1e 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 e737119..b2b17e2 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -30,7 +30,8 @@ endif(HAVE_BCC_ELF_FOREACH_SYM)
 if(HAVE_GET_CURRENT_CGROUP_ID)
   target_compile_definitions(bpftrace PRIVATE HAVE_GET_CURRENT_CGROUP_ID)
 endif(HAVE_GET_CURRENT_CGROUP_ID)
-target_link_libraries(bpftrace arch ast parser resources)
+target_link_libraries(bpftrace bpftracearch bpftraceast bpftraceparser
+	bpftraceresources)
 
 if (STATIC_LINKING)
   target_link_libraries(bpftrace ${LIBBCC_LIBRARIES})
diff --git a/src/arch/CMakeLists.txt b/src/arch/CMakeLists.txt
index a26f610..53627e2 100644
--- a/src/arch/CMakeLists.txt
+++ b/src/arch/CMakeLists.txt
@@ -1,5 +1,7 @@
 if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
-    add_library(arch aarch64.cpp)
+    add_library(bpftracearch aarch64.cpp)
 else()
-    add_library(arch x86_64.cpp)
+    add_library(bpftracearch x86_64.cpp)
 endif()
+
+install(TARGETS bpftracearch LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt
index 4d77c9f..2a00572 100644
--- a/src/ast/CMakeLists.txt
+++ b/src/ast/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_library(ast
+add_library(bpftraceast
   ast.cpp
   codegen_llvm.cpp
   irbuilderbpf.cpp
@@ -7,15 +7,16 @@ add_library(ast
 )
 
 if(HAVE_GET_CURRENT_CGROUP_ID)
-  target_compile_definitions(ast PRIVATE HAVE_GET_CURRENT_CGROUP_ID)
+  target_compile_definitions(bpftraceast PRIVATE HAVE_GET_CURRENT_CGROUP_ID)
 endif(HAVE_GET_CURRENT_CGROUP_ID)
 
-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)
 
-add_dependencies(ast parser)
+add_dependencies(bpftraceast bpftraceparser)
+install(TARGETS bpftraceast LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
 
 if (STATIC_LINKING)
   set(clang_libs
@@ -35,16 +36,16 @@ if (STATIC_LINKING)
       clangSerialization
       clangToolingCore)
   llvm_map_components_to_libnames(llvm_libs bpfcodegen ipo irreader mcjit 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})
 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()