33
44include_directories (${CMAKE_CURRENT_BINARY_DIR} )
55include_directories (${CMAKE_CURRENT_SOURCE_DIR} )
6- # to be removed
7- include_directories (${CMAKE_CURRENT_BINARY_DIR} /frontends/b)
8- include_directories (${CMAKE_CURRENT_SOURCE_DIR} /frontends/b)
6+
97include_directories (${CMAKE_CURRENT_SOURCE_DIR} /frontends/clang)
108include_directories (${LLVM_INCLUDE_DIRS} )
119include_directories (${LIBELF_INCLUDE_DIRS} )
10+
1211if (LIBDEBUGINFOD_FOUND)
1312 include_directories (${LIBDEBUGINFOD_INCLUDE_DIRS} )
1413endif (LIBDEBUGINFOD_FOUND)
14+
1515# todo: if check for kernel version
1616if (CMAKE_USE_LIBBPF_PACKAGE AND LIBBPF_FOUND)
1717 include_directories (${LIBBPF_INCLUDE_DIRS} )
@@ -38,8 +38,6 @@ endif()
3838string (REGEX MATCH "^([0-9]+).*" _ ${LLVM_PACKAGE_VERSION} )
3939set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLLVM_MAJOR_VERSION=${CMAKE_MATCH_1} " )
4040
41- include (static_libstdc++)
42-
4341if (LIBBPF_INCLUDE_DIR)
4442 # Add user libbpf include and notify compilation
4543 # that we are using external libbpf. It's checked
@@ -82,11 +80,13 @@ if(LIBBPF_FOUND)
8280endif ()
8381
8482if (ENABLE_CLANG_JIT)
85- add_library (bcc-shared SHARED
86- link_all.cc ${bcc_common_sources} ${bcc_table_sources} ${bcc_sym_sources}
87- ${bcc_util_sources} )
88- set_target_properties (bcc-shared PROPERTIES VERSION ${REVISION_LAST} SOVERSION 0)
89- set_target_properties (bcc-shared PROPERTIES OUTPUT_NAME bcc)
83+ if (ENABLE_SHARED)
84+ add_library (bcc-shared SHARED
85+ link_all.cc ${bcc_common_sources} ${bcc_table_sources} ${bcc_sym_sources}
86+ ${bcc_util_sources} )
87+ set_target_properties (bcc-shared PROPERTIES VERSION ${REVISION_LAST} SOVERSION 0)
88+ set_target_properties (bcc-shared PROPERTIES OUTPUT_NAME bcc)
89+ endif (ENABLE_SHARED)
9090
9191if (ENABLE_USDT)
9292 add_definitions (-DEXPORT_USDT)
@@ -106,16 +106,19 @@ set(bpf_sources libbpf.c perf_reader.c ${libbpf_sources} ${bcc_sym_sources} ${bc
106106add_library (bpf-static STATIC ${bpf_sources} )
107107set_target_properties (bpf-static PROPERTIES OUTPUT_NAME bcc_bpf)
108108target_link_libraries (bpf-static elf z)
109- add_library (bpf-shared SHARED ${bpf_sources} )
110- set_target_properties (bpf-shared PROPERTIES VERSION ${REVISION_LAST} SOVERSION 0)
111- set_target_properties (bpf-shared PROPERTIES OUTPUT_NAME bcc_bpf)
112- target_link_libraries (bpf-shared elf z)
113- if (LIBDEBUGINFOD_FOUND)
114- target_link_libraries (bpf-shared ${LIBDEBUGINFOD_LIBRARIES} )
115- endif (LIBDEBUGINFOD_FOUND)
116- if (CMAKE_USE_LIBBPF_PACKAGE AND LIBBPF_FOUND)
117- target_link_libraries (bpf-shared ${LIBBPF_LIBRARIES} )
118- endif ()
109+
110+ if (ENABLE_SHARED)
111+ add_library (bpf-shared SHARED ${bpf_sources} )
112+ set_target_properties (bpf-shared PROPERTIES VERSION ${REVISION_LAST} SOVERSION 0)
113+ set_target_properties (bpf-shared PROPERTIES OUTPUT_NAME bcc_bpf)
114+ target_link_libraries (bpf-shared elf z)
115+ if (LIBDEBUGINFOD_FOUND)
116+ target_link_libraries (bpf-shared ${LIBDEBUGINFOD_LIBRARIES} )
117+ endif (LIBDEBUGINFOD_FOUND)
118+ if (CMAKE_USE_LIBBPF_PACKAGE AND LIBBPF_FOUND)
119+ target_link_libraries (bpf-shared ${LIBBPF_LIBRARIES} )
120+ endif ()
121+ endif (ENABLE_SHARED)
119122
120123include (clang_libs)
121124set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${clang_lib_exclude_flags} " )
@@ -161,15 +164,25 @@ endif()
161164add_subdirectory (frontends)
162165
163166# Link against LLVM libraries
164- target_link_libraries (bcc-shared ${bcc_common_libs_for_s} )
167+ if (ENABLE_SHARED)
168+ target_link_libraries (bcc-shared ${bcc_common_libs_for_s} )
169+ endif (ENABLE_SHARED)
170+
165171target_link_libraries (bcc-static ${bcc_common_libs_for_a} bcc-loader-static )
166172set (bcc-lua-static ${bcc-lua-static } ${bcc_common_libs_for_lua} )
167173
168- install (TARGETS bcc-shared bcc- static bcc-loader-static bpf-static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
174+ install (TARGETS bcc-static bcc-loader-static bpf-static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
169175install (FILES ${bcc_table_headers} DESTINATION include /bcc)
170176install (FILES ${bcc_api_headers} DESTINATION include /bcc)
171177install (DIRECTORY ${libbpf_uapi} DESTINATION include /bcc/compat/linux FILES_MATCHING PATTERN "*.h" )
172178install (FILES ${CMAKE_CURRENT_BINARY_DIR} /libbcc.pc DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig)
179+ if (ENABLE_SHARED)
180+ install (TARGETS bcc-shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
181+ endif (ENABLE_SHARED)
182+
173183endif (ENABLE_CLANG_JIT)
174184install (FILES ${bcc_common_headers} DESTINATION include /bcc)
175- install (TARGETS bpf-shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
185+
186+ if (ENABLE_SHARED)
187+ install (TARGETS bpf-shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
188+ endif (ENABLE_SHARED)
0 commit comments