summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/cmake/LLDBDependencies.cmake5
-rw-r--r--lldb/cmake/modules/LLDBConfig.cmake2
-rw-r--r--lldb/scripts/Python/modules/CMakeLists.txt2
-rw-r--r--lldb/scripts/utilsOsType.py6
4 files changed, 9 insertions, 6 deletions
diff --git a/lldb/cmake/LLDBDependencies.cmake b/lldb/cmake/LLDBDependencies.cmake
index 223a39e5f71..e12a5226834 100644
--- a/lldb/cmake/LLDBDependencies.cmake
+++ b/lldb/cmake/LLDBDependencies.cmake
@@ -161,10 +161,7 @@ if (NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB )
list(APPEND LLDB_SYSTEM_LIBS atomic)
endif()
-# On FreeBSD/NetBSD backtrace() is provided by libexecinfo, not libc.
-if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "NetBSD")
- list(APPEND LLDB_SYSTEM_LIBS execinfo)
-endif()
+list(APPEND LLDB_SYSTEM_LIBS ${Backtrace_LIBRARY})
if (NOT LLDB_DISABLE_PYTHON AND NOT LLVM_BUILD_STATIC)
list(APPEND LLDB_SYSTEM_LIBS ${PYTHON_LIBRARIES})
diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake
index fe2deeb9962..74d6e74b0cf 100644
--- a/lldb/cmake/modules/LLDBConfig.cmake
+++ b/lldb/cmake/modules/LLDBConfig.cmake
@@ -416,3 +416,5 @@ endif()
if(LLDB_USE_BUILTIN_DEMANGLER)
add_definitions(-DLLDB_USE_BUILTIN_DEMANGLER)
endif()
+
+find_package(Backtrace)
diff --git a/lldb/scripts/Python/modules/CMakeLists.txt b/lldb/scripts/Python/modules/CMakeLists.txt
index 01ab5771bda..cef7063c6cc 100644
--- a/lldb/scripts/Python/modules/CMakeLists.txt
+++ b/lldb/scripts/Python/modules/CMakeLists.txt
@@ -6,6 +6,6 @@ if (CXX_SUPPORTS_NO_MACRO_REDEFINED)
endif ()
# build the Python readline suppression module only on Linux
-if (CMAKE_SYSTEM_NAME MATCHES "Linux")
+​if (CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "GNU" OR CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD")
add_subdirectory(readline)
endif()
diff --git a/lldb/scripts/utilsOsType.py b/lldb/scripts/utilsOsType.py
index fe3552e8a5d..5f4a0528bf0 100644
--- a/lldb/scripts/utilsOsType.py
+++ b/lldb/scripts/utilsOsType.py
@@ -36,6 +36,7 @@ if sys.version_info.major >= 3:
Linux = 3
NetBSD = 4
Windows = 5
+ kFreeBSD = 6
else:
class EnumOsType(object):
values = ["Unknown",
@@ -43,7 +44,8 @@ else:
"FreeBSD",
"Linux",
"NetBSD",
- "Windows"]
+ "Windows",
+ "kFreeBSD"]
class __metaclass__(type):
#++----------------------------------------------------------------
@@ -91,5 +93,7 @@ def determine_os_type():
eOSType = EnumOsType.NetBSD
elif strOS == "win32":
eOSType = EnumOsType.Windows
+ elif strOS.startswith("gnukfreebsd"):
+ eOSType = EnumOsType.kFreeBSD
return eOSType
OpenPOWER on IntegriCloud