summaryrefslogtreecommitdiff
path: root/include/xmlsec/exports.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/xmlsec/exports.h')
-rw-r--r--include/xmlsec/exports.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/include/xmlsec/exports.h b/include/xmlsec/exports.h
new file mode 100644
index 00000000..61678c2b
--- /dev/null
+++ b/include/xmlsec/exports.h
@@ -0,0 +1,111 @@
+/**
+ * XML Security Library (http://www.aleksey.com/xmlsec).
+ *
+ * Export macro declarations for Win32 platform.
+ *
+ * This is free software; see Copyright file in the source
+ * distribution for preciese wording.
+ *
+ * Copyright (C) 2002-2003 Aleksey Sanin <aleksey@aleksey.com>
+ */
+#ifndef __XMLSEC_EXPORTS_H__
+#define __XMLSEC_EXPORTS_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/* Now, the export orgy begins. The following we must do for the
+ Windows platform with MSVC compiler. */
+
+#if !defined XMLSEC_EXPORT
+# if defined(_WIN32)
+ /* if we compile libxmlsec itself: */
+# if defined(IN_XMLSEC)
+# if !defined(XMLSEC_STATIC)
+# define XMLSEC_EXPORT __declspec(dllexport)
+# else
+# define XMLSEC_EXPORT extern
+# endif
+ /* if a client program includes this file: */
+# else
+#if 1
+ /* gcc fail by initialisation of global variable with error
+ (as example in .../openssl/ciphers.c):
+ "initializer element is not constant"
+ To avoid this we shouldn't use __declspec(dllimport).
+ This will enable auto-import feature. */
+# define XMLSEC_EXPORT
+#else
+# if !defined(XMLSEC_STATIC)
+# define XMLSEC_EXPORT __declspec(dllimport)
+# else
+# define XMLSEC_EXPORT
+# endif
+#endif
+# endif
+ /* This holds on all other platforms/compilers, which are easier to
+ handle in regard to this. */
+# else
+# define XMLSEC_EXPORT
+# endif
+#endif
+
+#if !defined XMLSEC_CRYPTO_EXPORT
+# if defined(_WIN32)
+ /* if we compile libxmlsec itself: */
+# if defined(IN_XMLSEC_CRYPTO)
+# if !defined(XMLSEC_STATIC)
+# define XMLSEC_CRYPTO_EXPORT __declspec(dllexport)
+# else
+# define XMLSEC_CRYPTO_EXPORT extern
+# endif
+ /* if a client program includes this file: */
+# else
+# if !defined(XMLSEC_STATIC)
+# define XMLSEC_CRYPTO_EXPORT __declspec(dllimport)
+# else
+# define XMLSEC_CRYPTO_EXPORT
+# endif
+# endif
+ /* This holds on all other platforms/compilers, which are easier to
+ handle in regard to this. */
+# else
+# define XMLSEC_CRYPTO_EXPORT
+# endif
+#endif
+
+#if !defined XMLSEC_EXPORT_VAR
+# if defined(_WIN32)
+ /* if we compile libxmlsec itself: */
+# if defined(IN_XMLSEC)
+# if !defined(XMLSEC_STATIC)
+# define XMLSEC_EXPORT_VAR __declspec(dllexport) extern
+# else
+# define XMLSEC_EXPORT_VAR extern
+# endif
+ /* if we compile libxmlsec-crypto itself: */
+# elif defined(IN_XMLSEC_CRYPTO)
+# define XMLSEC_EXPORT_VAR extern
+ /* if a client program includes this file: */
+# else
+# if !defined(XMLSEC_STATIC)
+# define XMLSEC_EXPORT_VAR __declspec(dllimport) extern
+# else
+# define XMLSEC_EXPORT_VAR extern
+# endif
+# endif
+ /* This holds on all other platforms/compilers, which are easier to
+ handle in regard to this. */
+# else
+# define XMLSEC_EXPORT_VAR extern
+# endif
+#endif
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* __XMLSEC_EXPORTS_H__ */
+
+