summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ConfigureChecks.cmake3
-rw-r--r--config.h.cmake17
2 files changed, 19 insertions, 1 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 117d306b..4d5ad07a 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -45,3 +45,6 @@ if( WITH_SLP )
tde_message_fatal( "openslp is required, but was not found on your system" )
endif( )
endif( )
+
+check_symbol_exists( strlcat "string.h" HAVE_STRLCAT_PROTO )
+check_symbol_exists( strlcpy "string.h" HAVE_STRLCPY_PROTO )
diff --git a/config.h.cmake b/config.h.cmake
index 38def3f3..3bed93bc 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -62,9 +62,24 @@
// wifi
#cmakedefine WITHOUT_ARTS 1
+/* Define if you have the strlcat prototype */
+#cmakedefine HAVE_STRLCAT_PROTO
+
+/* Define if you have the strlcpy prototype */
+#cmakedefine HAVE_STRLCPY_PROTO
+
+#if !defined(HAVE_STRLCAT_PROTO)
#ifdef __cplusplus
extern "C" {
-unsigned long strlcpy(char*, const char*, unsigned long);
unsigned long strlcat(char*, const char*, unsigned long);
}
#endif
+#endif
+
+#if !defined(HAVE_STRLCPY_PROTO)
+#ifdef __cplusplus
+extern "C" {
+unsigned long strlcpy(char*, const char*, unsigned long);
+}
+#endif
+#endif