Define BORINGSSL_NO_CXX if !__cplusplus.

This should make it a little easier to write C++-only public headers.

Change-Id: Ie5bff241c810cb5330f66d8a4dc1dd8b2d69c7c9
Reviewed-on: https://boringssl-review.googlesource.com/18225
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/include/openssl/base.h b/include/openssl/base.h
index dec0e3f..42ead4d 100644
--- a/include/openssl/base.h
+++ b/include/openssl/base.h
@@ -340,6 +340,9 @@
 
 #if defined(__cplusplus)
 }  /* extern C */
+#elif !defined(BORINGSSL_NO_CXX)
+#define BORINGSSL_NO_CXX
+#endif
 
 // MSVC doesn't set __cplusplus to 201103 to indicate C++11 support (see
 // https://connect.microsoft.com/VisualStudio/feedback/details/763051/a-value-of-predefined-macro-cplusplus-is-still-199711l)
@@ -370,8 +373,6 @@
 
 extern "C++" {
 
-#include <memory>
-
 namespace bssl {
 
 namespace internal {
@@ -452,6 +453,4 @@
 
 #endif  // !BORINGSSL_NO_CXX
 
-#endif
-
 #endif  /* OPENSSL_HEADER_BASE_H */