From 0031121f7ea2a9fc177c1d41785eda78442eeb2e Mon Sep 17 00:00:00 2001 From: OBATA Akio Date: Thu, 15 Aug 2019 17:52:34 +0900 Subject: [PATCH] Declare supplement prototypes conditionally It should be declared for the case missing, or may be mismatched with builtin. Signed-off-by: OBATA Akio --- ConfigureChecks.cmake | 2 ++ config.h.cmake | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 7fe40e2c..2382d6dc 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -16,6 +16,8 @@ test_big_endian(WORDS_BIGENDIAN) tde_setup_largefiles( ) +check_symbol_exists( strlcpy "string.h" HAVE_STRLCPY_PROTO ) +check_symbol_exists( strlcat "string.h" HAVE_STRLCAT_PROTO ) ##### check for gcc visibility support ######### diff --git a/config.h.cmake b/config.h.cmake index eb51aa52..6a53137b 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -49,6 +49,11 @@ #cmakedefine HAVE_LIBXSS 1 // mimelib +#cmakedefine HAVE_STRLCPY_PROTO + +#cmakedefine HAVE_STRLCAT_PROTO + +#if !defined(HAVE_STRLCPY_PROTO) #ifdef __cplusplus extern "C" { #endif @@ -56,7 +61,9 @@ unsigned long strlcpy(char*, const char*, unsigned long); #ifdef __cplusplus } #endif +#endif +#if !defined(HAVE_STRLCAT_PROTO) #ifdef __cplusplus extern "C" { #endif @@ -64,3 +71,4 @@ unsigned long strlcat(char*, const char*, unsigned long); #ifdef __cplusplus } #endif +#endif