From: Kefu Chai Date: Mon, 26 Apr 2021 15:29:51 +0000 (+0800) Subject: cmake: detect suseconds_t using CHECK_TYPE_SIZE X-Git-Tag: v17.1.0~2082^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=731ec948315b34d1c8f63bfa0dd41911e63cd8bf;p=ceph.git cmake: detect suseconds_t using CHECK_TYPE_SIZE instead assuming it's a macro use CHECK_TYPE_SIZE to check it. on Darwin, it's defined as `__darwin_suseconds_t` Signed-off-by: Kefu Chai --- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1d471473d1d7..d12e8b726db5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -380,6 +380,11 @@ if(WITH_SEASTAR) add_subdirectory(crimson) endif() +include(CheckTypeSize) +set(CMAKE_EXTRA_INCLUDE_FILES "sys/time.h") +CHECK_TYPE_SIZE(suseconds_t SUSECONDS_T) +unset(CMAKE_EXTRA_INCLUDE_FILES) + set(libcommon_files ${CMAKE_BINARY_DIR}/src/include/ceph_ver.h ceph_ver.c diff --git a/src/include/config-h.in.cmake b/src/include/config-h.in.cmake index 504ff525ba94..be9432db25d4 100644 --- a/src/include/config-h.in.cmake +++ b/src/include/config-h.in.cmake @@ -66,6 +66,9 @@ /* Define if the system has the type `in_addr_t' */ #cmakedefine HAVE_IN_ADDR_T +/* Define if you have suseconds_t */ +#cmakedefine HAVE_SUSECONDS_T + /* Define if you have res_nquery */ #cmakedefine HAVE_RES_NQUERY diff --git a/src/log/LogClock.h b/src/log/LogClock.h index 07531c8e51a9..c7a4f33d6e45 100644 --- a/src/log/LogClock.h +++ b/src/log/LogClock.h @@ -12,7 +12,7 @@ #include "include/ceph_assert.h" #include "common/ceph_time.h" -#ifndef suseconds_t +#ifndef HAVE_SUSECONDS_T typedef long suseconds_t; #endif