summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOBATA Akio <[email protected]>2019-08-15 17:52:34 +0900
committerSlávek Banko <[email protected]>2019-08-15 22:32:43 +0200
commit2ba631e788b8ebc5a12ad6647d763d726c35455f (patch)
treefd254a0c2bf5a13594dbee2762ac5bb30ecb8e59
parente951a69396ba1614775ba97dcac7dd34153c864a (diff)
downloadtdepim-2ba631e788b8ebc5a12ad6647d763d726c35455f.tar.gz
tdepim-2ba631e788b8ebc5a12ad6647d763d726c35455f.zip
Declare supplement prototypes conditionally
It should be declared for the case missing, or may be mismatched with builtin. Signed-off-by: OBATA Akio <[email protected]> (cherry picked from commit 0031121f7ea2a9fc177c1d41785eda78442eeb2e)
-rw-r--r--ConfigureChecks.cmake2
-rw-r--r--config.h.cmake8
2 files changed, 10 insertions, 0 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 7fe40e2ce..2382d6dca 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 eb51aa524..6a53137bf 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