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)
|
||||||
add_subdirectory(main/native/libhdfs-tests)
|
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)
|
if(REQUIRE_LIBWEBHDFS)
|
||||||
add_subdirectory(contrib/libwebhdfs)
|
add_subdirectory(contrib/libwebhdfs)
|
||||||
|
|
|
@ -63,8 +63,8 @@ check_cxx_source_compiles(
|
||||||
if (NOT THREAD_LOCAL_SUPPORTED)
|
if (NOT THREAD_LOCAL_SUPPORTED)
|
||||||
message(FATAL_ERROR
|
message(FATAL_ERROR
|
||||||
"FATAL ERROR: The required feature thread_local storage is not supported by your compiler. \
|
"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), \
|
Known compilers that support this feature: GCC 4.8+, Visual Studio 2015+, Clang (community \
|
||||||
Clang (version for iOS 9 and later).")
|
version 3.3+), Clang (version for Xcode 8+ and iOS 9+).")
|
||||||
endif (NOT THREAD_LOCAL_SUPPORTED)
|
endif (NOT THREAD_LOCAL_SUPPORTED)
|
||||||
|
|
||||||
# Check if PROTOC library was compiled with the compatible compiler by trying
|
# Check if PROTOC library was compiled with the compatible compiler by trying
|
||||||
|
|
Loading…
Reference in New Issue