From: LLVM Packaging Team Date: Tue, 25 Apr 2017 13:10:10 +0000 (+0000) Subject: kfreebsd-support X-Git-Tag: archive/raspbian/1%3.9.1-9+rpi1^2^2~16 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=67a00814db76ee80941dcc5aa698c4e5116095e7;p=llvm-toolchain-3.9.git kfreebsd-support =================================================================== Gbp-Pq: Name kfreebsd-support.diff --- diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake index ddb03047..f1f999cc 100644 --- a/compiler-rt/cmake/config-ix.cmake +++ b/compiler-rt/cmake/config-ix.cmake @@ -397,7 +397,8 @@ endif() if (SANITIZER_COMMON_SUPPORTED_ARCH AND NOT LLVM_USE_SANITIZER AND (OS_NAME MATCHES "Android|Darwin|Linux|FreeBSD" OR - (OS_NAME MATCHES "Windows" AND MSVC))) + (OS_NAME MATCHES "Windows" AND MSVC)) + AND NOT (OS_NAME STREQUAL "kFreeBSD")) set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE) else() set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE) diff --git a/lldb/cmake/LLDBDependencies.cmake b/lldb/cmake/LLDBDependencies.cmake index 4c034fda..f018efb3 100644 --- a/lldb/cmake/LLDBDependencies.cmake +++ b/lldb/cmake/LLDBDependencies.cmake @@ -163,7 +163,7 @@ if (NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB ) endif() # On FreeBSD/NetBSD backtrace() is provided by libexecinfo, not libc. -if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "NetBSD") +if ((CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "NetBSD") AND NOT CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD") list(APPEND LLDB_SYSTEM_LIBS execinfo) endif() diff --git a/lldb/scripts/Python/modules/CMakeLists.txt b/lldb/scripts/Python/modules/CMakeLists.txt index 396d447f..09819e5d 100644 --- a/lldb/scripts/Python/modules/CMakeLists.txt +++ b/lldb/scripts/Python/modules/CMakeLists.txt @@ -5,7 +5,7 @@ if (CXX_SUPPORTS_NO_MACRO_REDEFINED) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-macro-redefined") endif () -# build the Python readline suppression module only on Linux -if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT __ANDROID_NDK__) +# build the Python readline suppression module only on Linux or GNU systems +if ((CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "GNU" OR CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD") AND NOT __ANDROID_NDK__) add_subdirectory(readline) endif() diff --git a/lldb/scripts/utilsOsType.py b/lldb/scripts/utilsOsType.py index a2f0563b..6c82f55b 100644 --- a/lldb/scripts/utilsOsType.py +++ b/lldb/scripts/utilsOsType.py @@ -35,6 +35,7 @@ if sys.version_info.major >= 3: Linux = 3 NetBSD = 4 Windows = 5 + kFreeBSD = 6 else: class EnumOsType(object): values = ["Unknown", @@ -42,7 +43,8 @@ else: "FreeBSD", "Linux", "NetBSD", - "Windows"] + "Windows", + "kFreeBSD"] class __metaclass__(type): #++--------------------------------------------------------------------------- # Details: Fn acts as an enumeration. @@ -86,5 +88,7 @@ def determine_os_type(): eOSType = EnumOsType.NetBSD elif strOS == "win32": eOSType = EnumOsType.Windows + elif strOS.startswith("gnukfreebsd"): + eOSType = EnumOsType.kFreeBSD return eOSType diff --git a/tools/llvm-shlib/CMakeLists.txt b/tools/llvm-shlib/CMakeLists.txt index 07914793..c0dd5a89 100644 --- a/tools/llvm-shlib/CMakeLists.txt +++ b/tools/llvm-shlib/CMakeLists.txt @@ -40,7 +40,7 @@ add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES}) set_property(TARGET LLVM PROPERTY VERSION "1") # Append .1 to SONAME list(REMOVE_DUPLICATES LIB_NAMES) -if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") # FIXME: It should be "GNU ld for elf" +if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "GNU" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "kFreeBSD") # FIXME: It should be "GNU ld for elf" # GNU ld doesn't resolve symbols in the version script. set(LIB_NAMES -Wl,--whole-archive ${LIB_NAMES} -Wl,--no-whole-archive) elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")