HDFS-14033. [libhdfs++] Disable libhdfs++ build on systems that do not support thread_local. Contributed by Anatoli Shein.
(cherry picked from commit 9c438abe52
)
This commit is contained in:
parent
d79ea3844c
commit
856dd1208e
|
@ -138,7 +138,27 @@ endif()
|
|||
|
||||
add_subdirectory(main/native/libhdfs)
|
||||
add_subdirectory(main/native/libhdfs-tests)
|
||||
add_subdirectory(main/native/libhdfspp)
|
||||
|
||||
# Temporary fix to disable Libhdfs++ build on older systems that do not support thread_local
|
||||
include(CheckCXXSourceCompiles)
|
||||
unset (THREAD_LOCAL_SUPPORTED CACHE)
|
||||
set (CMAKE_REQUIRED_DEFINITIONS "-std=c++11")
|
||||
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||
check_cxx_source_compiles(
|
||||
"#include <thread>
|
||||
int main(void) {
|
||||
thread_local int s;
|
||||
return 0;
|
||||
}"
|
||||
THREAD_LOCAL_SUPPORTED)
|
||||
if (THREAD_LOCAL_SUPPORTED)
|
||||
add_subdirectory(main/native/libhdfspp)
|
||||
else()
|
||||
message(WARNING
|
||||
"WARNING: Libhdfs++ library was not built because the required feature thread_local storage \
|
||||
is not supported by your compiler. Known compilers that support this feature: GCC 4.8+, Visual Studio 2015+, \
|
||||
Clang (community version 3.3+), Clang (version for Xcode 8+ and iOS 9+).")
|
||||
endif (THREAD_LOCAL_SUPPORTED)
|
||||
|
||||
if(REQUIRE_LIBWEBHDFS)
|
||||
add_subdirectory(contrib/libwebhdfs)
|
||||
|
|
|
@ -63,8 +63,8 @@ check_cxx_source_compiles(
|
|||
if (NOT THREAD_LOCAL_SUPPORTED)
|
||||
message(FATAL_ERROR
|
||||
"FATAL ERROR: The required feature thread_local storage is not supported by your compiler. \
|
||||
Known compilers that support this feature: GCC, Visual Studio, Clang (community version), \
|
||||
Clang (version for iOS 9 and later).")
|
||||
Known compilers that support this feature: GCC 4.8+, Visual Studio 2015+, Clang (community \
|
||||
version 3.3+), Clang (version for Xcode 8+ and iOS 9+).")
|
||||
endif (NOT THREAD_LOCAL_SUPPORTED)
|
||||
|
||||
# Check if PROTOC library was compiled with the compatible compiler by trying
|
||||
|
|
Loading…
Reference in New Issue