[PATCH] Wrap the compat header in extern "C" { } when compiling C++ sources

Tomas Carnecky tom at dbservice.com
Tue Apr 27 10:27:17 PDT 2010


This fixes a build error on OpenSolaris where the final liking of
notmuch fails because the linker can't find strcasestr() referenced
from thread.cc.
---

Is it safe to use NOTMUCH_BEGIN/END_DECLS in the compat header? The sha1 header
also uses ifdef __cplusplus instead of that define..

 compat/compat.h |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/compat/compat.h b/compat/compat.h
index 173ef68..7767fe8 100644
--- a/compat/compat.h
+++ b/compat/compat.h
@@ -26,6 +26,10 @@
 #ifndef NOTMUCH_COMPAT_H
 #define NOTMUCH_COMPAT_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #if !HAVE_GETLINE
 #include <stdio.h>
 #include <unistd.h>
@@ -42,4 +46,8 @@ getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp);
 char* strcasestr(const char *haystack, const char *needle);
 #endif /* !HAVE_STRCASESTR */
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* NOTMUCH_COMPAT_H */
-- 
1.7.0.5



More information about the notmuch mailing list