2021-04-01 21:06:21 +00:00
|
|
|
if(NOT ARCH_ARM AND NOT OS_FREEBSD AND NOT APPLE AND USE_PROTOBUF AND NOT ARCH_PPC64LE)
|
2019-10-05 19:25:31 +00:00
|
|
|
option(ENABLE_HDFS "Enable HDFS" ${ENABLE_LIBRARIES})
|
2020-08-14 15:44:04 +00:00
|
|
|
elseif(ENABLE_HDFS OR USE_INTERNAL_HDFS3_LIBRARY)
|
|
|
|
message (${RECONFIGURE_MESSAGE_LEVEL} "Cannot use HDFS3 with current configuration")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(NOT ENABLE_HDFS)
|
|
|
|
if(USE_INTERNAL_HDFS3_LIBRARY)
|
|
|
|
message (${RECONFIGURE_MESSAGE_LEVEL} "Cannot use internal HDFS3 library with ENABLE_HDFS3=OFF")
|
|
|
|
endif()
|
|
|
|
return()
|
2019-09-09 21:40:40 +00:00
|
|
|
endif()
|
2018-12-05 13:24:45 +00:00
|
|
|
|
2020-08-19 09:06:18 +00:00
|
|
|
option(USE_INTERNAL_HDFS3_LIBRARY "Set to FALSE to use system HDFS3 instead of bundled (experimental - set to OFF on your own risk)"
|
|
|
|
ON) # We don't know any linux distribution with package for it
|
2018-12-07 15:13:16 +00:00
|
|
|
|
2019-09-09 21:40:40 +00:00
|
|
|
if(NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/libhdfs3/include/hdfs/hdfs.h")
|
|
|
|
if(USE_INTERNAL_HDFS3_LIBRARY)
|
2020-08-14 15:44:04 +00:00
|
|
|
message(WARNING "submodule contrib/libhdfs3 is missing. to fix try run: \n git submodule update --init --recursive")
|
|
|
|
message (${RECONFIGURE_MESSAGE_LEVEL} "Cannot use internal HDFS3 library")
|
|
|
|
set(USE_INTERNAL_HDFS3_LIBRARY 0)
|
2019-09-09 21:40:40 +00:00
|
|
|
endif()
|
|
|
|
set(MISSING_INTERNAL_HDFS3_LIBRARY 1)
|
|
|
|
endif()
|
2018-11-19 08:17:09 +00:00
|
|
|
|
2019-09-09 21:40:40 +00:00
|
|
|
if(NOT USE_INTERNAL_HDFS3_LIBRARY)
|
|
|
|
find_library(HDFS3_LIBRARY hdfs3)
|
|
|
|
find_path(HDFS3_INCLUDE_DIR NAMES hdfs/hdfs.h PATHS ${HDFS3_INCLUDE_PATHS})
|
2020-08-14 15:44:04 +00:00
|
|
|
if(NOT HDFS3_LIBRARY OR NOT HDFS3_INCLUDE_DIR)
|
|
|
|
message (${RECONFIGURE_MESSAGE_LEVEL} "Cannot find system HDFS3 library")
|
|
|
|
endif()
|
2019-09-09 21:40:40 +00:00
|
|
|
endif()
|
2018-11-19 08:17:09 +00:00
|
|
|
|
2019-09-09 21:40:40 +00:00
|
|
|
if(HDFS3_LIBRARY AND HDFS3_INCLUDE_DIR)
|
2018-12-18 13:37:00 +00:00
|
|
|
set(USE_HDFS 1)
|
2020-08-21 11:36:50 +00:00
|
|
|
elseif(NOT MISSING_INTERNAL_HDFS3_LIBRARY AND LIBGSASL_LIBRARY AND LIBXML2_LIBRARIES)
|
2018-12-04 13:19:00 +00:00
|
|
|
set(HDFS3_INCLUDE_DIR "${ClickHouse_SOURCE_DIR}/contrib/libhdfs3/include")
|
2018-11-19 08:17:09 +00:00
|
|
|
set(HDFS3_LIBRARY hdfs3)
|
2019-09-09 21:40:40 +00:00
|
|
|
set(USE_INTERNAL_HDFS3_LIBRARY 1)
|
2018-12-18 13:37:00 +00:00
|
|
|
set(USE_HDFS 1)
|
|
|
|
else()
|
2020-08-14 15:44:04 +00:00
|
|
|
message (${RECONFIGURE_MESSAGE_LEVEL} "Cannout enable HDFS3")
|
2018-12-05 13:24:45 +00:00
|
|
|
endif()
|
2018-11-19 08:17:09 +00:00
|
|
|
|
2019-09-09 21:40:40 +00:00
|
|
|
message(STATUS "Using hdfs3=${USE_HDFS}: ${HDFS3_INCLUDE_DIR} : ${HDFS3_LIBRARY}")
|