aboutsummaryrefslogtreecommitdiff
path: root/odb
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-09-03 16:22:06 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-09-03 16:22:06 +0200
commit852126e1bc9b95529738d3225a141552d72b8e04 (patch)
treee67e03d14fc965699c0261c7e9adb4cbee1e1fb9 /odb
parent6f04a3e6c45da9ece655b5ff0270a8a178c4e645 (diff)
Add support for MinGW build
Diffstat (limited to 'odb')
-rw-r--r--odb/tracer/Makefile.am5
-rw-r--r--odb/tracer/details/config.h.in14
-rw-r--r--odb/tracer/details/config.hxx23
-rw-r--r--odb/tracer/details/export.hxx20
-rw-r--r--odb/tracer/makefile2
5 files changed, 58 insertions, 6 deletions
diff --git a/odb/tracer/Makefile.am b/odb/tracer/Makefile.am
index ee14818..09c4244 100644
--- a/odb/tracer/Makefile.am
+++ b/odb/tracer/Makefile.am
@@ -8,8 +8,9 @@ libodb_tracer_la_SOURCES = __path__(sources)
odbtracerincludedir = $(includedir)/odb/tracer/
nobase_odbtracerinclude_HEADERS = __path__(headers)
+nobase_nodist_odbtracerinclude_HEADERS = details/config.h
EXTRA_DIST = __file__(extra_dist)
-AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir)
-libodb_tracer_la_LDFLAGS = -release __value__(interface_version)
+libodb_tracer_la_CPPFLAGS= -I$(top_builddir) -I$(top_srcdir) -DLIBODB_TRACER_DYNAMIC_LIB
+libodb_tracer_la_LDFLAGS = -release __value__(interface_version) -no-undefined
diff --git a/odb/tracer/details/config.h.in b/odb/tracer/details/config.h.in
new file mode 100644
index 0000000..4e4d215
--- /dev/null
+++ b/odb/tracer/details/config.h.in
@@ -0,0 +1,14 @@
+/* file : odb/tracer/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_TRACER_DETAILS_CONFIG_H
+#define ODB_TRACER_DETAILS_CONFIG_H
+
+#undef LIBODB_TRACER_STATIC_LIB
+
+#endif /* ODB_TRACER_DETAILS_CONFIG_H */
diff --git a/odb/tracer/details/config.hxx b/odb/tracer/details/config.hxx
new file mode 100644
index 0000000..d8e15b6
--- /dev/null
+++ b/odb/tracer/details/config.hxx
@@ -0,0 +1,23 @@
+// file : odb/tracer/details/config.hxx
+// author : Boris Kolpackov <boris@codesynthesis.com>
+// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
+// license : GNU GPL v2; see accompanying LICENSE file
+
+#ifndef ODB_TRACER_DETAILS_CONFIG_HXX
+#define ODB_TRACER_DETAILS_CONFIG_HXX
+
+// no pre
+
+#ifdef HAVE_CONFIG_H
+# include <odb/tracer/details/config.h>
+#endif
+
+#ifndef LIBODB_TRACER_INCLUDE_SHORT
+ #ifdef _WIN32
+ #define LIBODB_TRACER_INCLUDE_SHORT 1
+ #endif
+#endif
+
+// no post
+
+#endif // ODB_TRACER_DETAILS_CONFIG_HXX
diff --git a/odb/tracer/details/export.hxx b/odb/tracer/details/export.hxx
index 152a967..0bd43da 100644
--- a/odb/tracer/details/export.hxx
+++ b/odb/tracer/details/export.hxx
@@ -8,14 +8,28 @@
#include <odb/pre.hxx>
+#include <odb/tracer/details/config.hxx>
+
#ifdef LIBODB_TRACER_STATIC_LIB
# define LIBODB_TRACER_EXPORT
#else
# ifdef _WIN32
-# ifdef LIBODB_TRACER_DYNAMIC_LIB
-# define LIBODB_TRACER_EXPORT __declspec(dllexport)
+# ifdef _MSC_VER
+# ifdef LIBODB_TRACER_DYNAMIC_LIB
+# define LIBODB_TRACER_EXPORT __declspec(dllexport)
+# else
+# define LIBODB_TRACER_EXPORT __declspec(dllimport)
+# endif
# else
-# define LIBODB_TRACER_EXPORT __declspec(dllimport)
+# ifdef LIBODB_TRACER_DYNAMIC_LIB
+# ifdef DLL_EXPORT
+# define LIBODB_TRACER_EXPORT __declspec(dllexport)
+# else
+# define LIBODB_TRACER_EXPORT
+# endif
+# else
+# define LIBODB_TRACER_EXPORT __declspec(dllimport)
+# endif
# endif
# else
# define LIBODB_TRACER_EXPORT
diff --git a/odb/tracer/makefile b/odb/tracer/makefile
index 40a9215..3402451 100644
--- a/odb/tracer/makefile
+++ b/odb/tracer/makefile
@@ -49,7 +49,7 @@ $(dist): export interface_version = $(shell sed -e \
's/^\([0-9]*\.[0-9]*\).*/\1/' $(src_root)/version)
$(dist):
- $(call dist-data,$(sources) $(headers))
+ $(call dist-data,$(sources) $(headers) details/config.h.in)
$(call meta-vc9proj,$(src_base)/libodb-tracer-vc9.vcproj)
$(call meta-vc10proj,$(src_base)/libodb-tracer-vc10.vcxproj)
$(call meta-automake)