@cryptotaxi247 / netdata-1 / commits / 5f09bec33

Make libunwind opt-in at build time instead of auto-enabled. (#19393)

Austin S. Hemmelgarn committed Jan 14, 2025 at 04:26 UTC 5f09bec332918628968509dc5b453db7ded89c56
1 file changed +14 -8
CMakeLists.txt
+14 -8
@@ -205,6 +205,8 @@ mark_as_advanced(ENABLE_SENTRY)
205 option(BUILD_FOR_PACKAGING "Include component files for native packages" False)
206 mark_as_advanced(BUILD_FOR_PACKAGING)
207
208 +option(ENABLE_LIBUNWIND "Include stack traces in log output" False)
209 +
210 cmake_dependent_option(FORCE_LEGACY_LIBBPF "Force usage of libbpf 0.0.9 instead of the latest version." False "ENABLE_PLUGIN_EBPF" False)
211 mark_as_advanced(FORCE_LEGACY_LIBBPF)
212
@@ -2115,22 +2117,26 @@ netdata_add_jsonc_to_target(libnetdata)
2117 netdata_add_libyaml_to_target(libnetdata)
2118
2119 # libunwind
2118 -pkg_check_modules(LIBUNWIND libunwind IMPORTED_TARGET)
2119 -if(TARGET PkgConfig::LIBUNWIND)
2120 +if(ENABLE_LIBUNWIND)
2121 + pkg_check_modules(LIBUNWIND libunwind IMPORTED_TARGET)
2122 + if(TARGET PkgConfig::LIBUNWIND)
2123 set(HAVE_LIBUNWIND On)
2124
2125 if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(amd64)")
2123 - target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-x86_64)
2126 + target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-x86_64)
2127 elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64|aarch64")
2125 - target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-aarch64)
2128 + target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-aarch64)
2129 elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
2127 - target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-arm)
2130 + target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-arm)
2131 elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc|ppc")
2129 - target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-ppc64)
2132 + target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND -lunwind-ppc64)
2133 else()
2131 - message(WARNING "Unknown architecture ${CMAKE_SYSTEM_PROCESSOR} for libunwind. Stack traces may not work.")
2132 - target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND)
2134 + message(WARNING "Unknown architecture ${CMAKE_SYSTEM_PROCESSOR} for libunwind. Stack traces may not work.")
2135 + target_link_libraries(libnetdata PUBLIC PkgConfig::LIBUNWIND)
2136 endif()
2137 + else()
2138 + message(FATAL "Could not find libunwind for logging of stack traces")
2139 + endif()
2140 endif()
2141
2142 # zlib