aboutsummaryrefslogtreecommitdiff
path: root/odb/mysql/details
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-09-03 16:21:31 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-09-03 16:21:31 +0200
commit7e8e8aba7cc49bd26393c8f2cb07d99df9fec8dd (patch)
treecbbef7278026edf6ee1d9d93c9ef3df2e50bd001 /odb/mysql/details
parentab9911fc1ed97bcfcb013c202c610a950609f979 (diff)
Add support for MinGW build
Diffstat (limited to 'odb/mysql/details')
-rw-r--r--odb/mysql/details/config.h.in17
-rw-r--r--odb/mysql/details/config.hxx8
-rw-r--r--odb/mysql/details/export.hxx20
3 files changed, 41 insertions, 4 deletions
diff --git a/odb/mysql/details/config.h.in b/odb/mysql/details/config.h.in
new file mode 100644
index 0000000..81c308a
--- /dev/null
+++ b/odb/mysql/details/config.h.in
@@ -0,0 +1,17 @@
+/* file : odb/mysql/details/config.h.in
+ * author : Boris Kolpackov <boris@codesynthesis.com>
+ * copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
+ * license : GNU GPL v2; see accompanying LICENSE file
+ */
+
+/* This file is automatically processed by configure. */
+
+#ifndef ODB_MYSQL_DETAILS_CONFIG_H
+#define ODB_MYSQL_DETAILS_CONFIG_H
+
+#undef LIBODB_MYSQL_STATIC_LIB
+
+#undef LIBODB_MYSQL_INCLUDE_SHORT
+#undef LIBODB_MYSQL_INCLUDE_LONG
+
+#endif /* ODB_MYSQL_DETAILS_CONFIG_H */
diff --git a/odb/mysql/details/config.hxx b/odb/mysql/details/config.hxx
index f8418c6..957f623 100644
--- a/odb/mysql/details/config.hxx
+++ b/odb/mysql/details/config.hxx
@@ -8,9 +8,15 @@
// no pre
-#ifndef LIBODB_MYSQL_INCLUDE_SHORT
+#ifdef HAVE_CONFIG_H
+# include <odb/mysql/details/config.h>
+#endif
+
+#if !defined(LIBODB_MYSQL_INCLUDE_SHORT) && !defined (LIBODB_MYSQL_INCLUDE_LONG)
#ifdef _WIN32
#define LIBODB_MYSQL_INCLUDE_SHORT 1
+ #else
+ #define LIBODB_MYSQL_INCLUDE_LONG 1
#endif
#endif
diff --git a/odb/mysql/details/export.hxx b/odb/mysql/details/export.hxx
index bb3bac5..410f6d3 100644
--- a/odb/mysql/details/export.hxx
+++ b/odb/mysql/details/export.hxx
@@ -8,14 +8,28 @@
#include <odb/pre.hxx>
+#include <odb/mysql/details/config.hxx>
+
#ifdef LIBODB_MYSQL_STATIC_LIB
# define LIBODB_MYSQL_EXPORT
#else
# ifdef _WIN32
-# ifdef LIBODB_MYSQL_DYNAMIC_LIB
-# define LIBODB_MYSQL_EXPORT __declspec(dllexport)
+# ifdef _MSC_VER
+# ifdef LIBODB_MYSQL_DYNAMIC_LIB
+# define LIBODB_MYSQL_EXPORT __declspec(dllexport)
+# else
+# define LIBODB_MYSQL_EXPORT __declspec(dllimport)
+# endif
# else
-# define LIBODB_MYSQL_EXPORT __declspec(dllimport)
+# ifdef LIBODB_MYSQL_DYNAMIC_LIB
+# ifdef DLL_EXPORT
+# define LIBODB_MYSQL_EXPORT __declspec(dllexport)
+# else
+# define LIBODB_MYSQL_EXPORT
+# endif
+# else
+# define LIBODB_MYSQL_EXPORT __declspec(dllimport)
+# endif
# endif
# else
# define LIBODB_MYSQL_EXPORT