From 49a851317a3696f49f9ee6ce1dee20ee9dece3ae Mon Sep 17 00:00:00 2001
From: Boris Kolpackov <boris@codesynthesis.com>
Date: Tue, 16 Aug 2016 14:27:02 +0200
Subject: Try to clean up inline exports

---
 odb/buildfile                   |  4 ++--
 odb/callback.cxx                | 11 -----------
 odb/callback.hxx                |  3 +--
 odb/connection.hxx              |  2 +-
 odb/details/c-string.hxx        |  4 +---
 odb/details/condition.hxx       |  3 +--
 odb/details/exception.hxx       |  6 +-----
 odb/details/lock.hxx            |  3 +--
 odb/details/mutex.hxx           |  3 +--
 odb/details/shared-ptr/base.hxx |  2 +-
 odb/details/shared-ptr/base.txx |  2 +-
 odb/details/type-info.hxx       |  4 +---
 odb/exceptions.hxx              |  4 ++--
 odb/lazy-ptr-impl.cxx           | 11 -----------
 odb/lazy-ptr-impl.hxx           |  5 ++---
 odb/makefile                    |  2 --
 odb/schema-version.hxx          |  3 +--
 17 files changed, 17 insertions(+), 55 deletions(-)
 delete mode 100644 odb/callback.cxx
 delete mode 100644 odb/lazy-ptr-impl.cxx

diff --git a/odb/buildfile b/odb/buildfile
index e2e73f2..4207e23 100644
--- a/odb/buildfile
+++ b/odb/buildfile
@@ -4,7 +4,7 @@
 
 lib{odb}:                                                           \
                    {hxx            }{ cache-traits                } \
-                   {hxx         cxx}{ callback                    } \
+                   {hxx            }{ callback                    } \
                    {hxx ixx txx cxx}{ connection                  } \
                    {hxx            }{ container-traits            } \
                    {hxx            }{ core                        } \
@@ -15,7 +15,7 @@ lib{odb}:                                                           \
                    {hxx            }{ function-table              } \
                    {hxx            }{ lazy-pointer-traits         } \
                    {hxx ixx txx    }{ lazy-ptr                    } \
-                   {hxx ixx txx cxx}{ lazy-ptr-impl               } \
+                   {hxx ixx txx    }{ lazy-ptr-impl               } \
                    {hxx            }{ nested-container            } \
                    {hxx     txx    }{ no-id-object-result         } \
                    {hxx            }{ no-op-cache-traits          } \
diff --git a/odb/callback.cxx b/odb/callback.cxx
deleted file mode 100644
index 3f4b26c..0000000
--- a/odb/callback.cxx
+++ /dev/null
@@ -1,11 +0,0 @@
-// file      : odb/callback.cxx
-// copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC
-// license   : GNU GPL v2; see accompanying LICENSE file
-
-#include <odb/callback.hxx>
-
-namespace odb
-{
-  // This otherwise unnecessary file is here to allow instantiation
-  // of inline functions for exporting.
-}
diff --git a/odb/callback.hxx b/odb/callback.hxx
index 603af55..f38d1ac 100644
--- a/odb/callback.hxx
+++ b/odb/callback.hxx
@@ -8,11 +8,10 @@
 #include <odb/pre.hxx>
 
 #include <odb/forward.hxx>        // odb::core
-#include <odb/details/export.hxx>
 
 namespace odb
 {
-  struct LIBODB_EXPORT callback_event
+  struct callback_event
   {
     enum value
     {
diff --git a/odb/connection.hxx b/odb/connection.hxx
index cbf9f6e..06bc452 100644
--- a/odb/connection.hxx
+++ b/odb/connection.hxx
@@ -205,7 +205,7 @@ namespace odb
     tracer_type* transaction_tracer_;
   };
 
-  class LIBODB_EXPORT connection_factory
+  class connection_factory
   {
   public:
     typedef odb::database database_type;
diff --git a/odb/details/c-string.hxx b/odb/details/c-string.hxx
index c4739a4..79c5689 100644
--- a/odb/details/c-string.hxx
+++ b/odb/details/c-string.hxx
@@ -9,13 +9,11 @@
 
 #include <cstring>
 
-#include <odb/details/export.hxx>
-
 namespace odb
 {
   namespace details
   {
-    struct LIBODB_EXPORT c_string_comparator
+    struct c_string_comparator
     {
       bool
       operator() (const char* x, const char* y) const
diff --git a/odb/details/condition.hxx b/odb/details/condition.hxx
index 1baa81b..34c5c62 100644
--- a/odb/details/condition.hxx
+++ b/odb/details/condition.hxx
@@ -8,7 +8,6 @@
 #include <odb/pre.hxx>
 
 #include <odb/details/config.hxx>
-#include <odb/details/export.hxx>
 
 #ifdef ODB_THREADS_NONE
 
@@ -19,7 +18,7 @@ namespace odb
     class mutex;
     class lock;
 
-    class LIBODB_EXPORT condition
+    class condition
     {
     public:
       condition (mutex&) {}
diff --git a/odb/details/exception.hxx b/odb/details/exception.hxx
index 6838801..37ee1c9 100644
--- a/odb/details/exception.hxx
+++ b/odb/details/exception.hxx
@@ -9,15 +9,11 @@
 
 #include <odb/exception.hxx>
 
-#include <odb/details/export.hxx>
-
 namespace odb
 {
   namespace details
   {
-    struct LIBODB_EXPORT exception: odb::exception
-    {
-    };
+    struct exception: odb::exception {};
   }
 }
 
diff --git a/odb/details/lock.hxx b/odb/details/lock.hxx
index 28f3ede..afc4c7b 100644
--- a/odb/details/lock.hxx
+++ b/odb/details/lock.hxx
@@ -7,7 +7,6 @@
 
 #include <odb/pre.hxx>
 
-#include <odb/details/export.hxx>
 #include <odb/details/mutex.hxx>
 
 #ifdef ODB_THREADS_CXX11
@@ -24,7 +23,7 @@ namespace odb
 {
   namespace details
   {
-    class LIBODB_EXPORT lock
+    class lock
     {
     public:
       lock (mutex& m)
diff --git a/odb/details/mutex.hxx b/odb/details/mutex.hxx
index 2508f68..a0adc33 100644
--- a/odb/details/mutex.hxx
+++ b/odb/details/mutex.hxx
@@ -8,7 +8,6 @@
 #include <odb/pre.hxx>
 
 #include <odb/details/config.hxx>
-#include <odb/details/export.hxx>
 
 #ifdef ODB_THREADS_NONE
 
@@ -16,7 +15,7 @@ namespace odb
 {
   namespace details
   {
-    class LIBODB_EXPORT mutex
+    class mutex
     {
     public:
       mutex () {}
diff --git a/odb/details/shared-ptr/base.hxx b/odb/details/shared-ptr/base.hxx
index 90053e8..a0a6ae2 100644
--- a/odb/details/shared-ptr/base.hxx
+++ b/odb/details/shared-ptr/base.hxx
@@ -18,7 +18,7 @@ namespace odb
 {
   namespace details
   {
-    struct LIBODB_EXPORT share
+    struct share
     {
       explicit
       share (char id);
diff --git a/odb/details/shared-ptr/base.txx b/odb/details/shared-ptr/base.txx
index d018c88..c15f508 100644
--- a/odb/details/shared-ptr/base.txx
+++ b/odb/details/shared-ptr/base.txx
@@ -13,7 +13,7 @@ namespace odb
     {
       // Support for locating the counter in the memory block.
       //
-      struct LIBODB_EXPORT locator_common
+      struct locator_common
       {
         static std::size_t*
         counter (void*);
diff --git a/odb/details/type-info.hxx b/odb/details/type-info.hxx
index 96d2cc8..5a4f9ec 100644
--- a/odb/details/type-info.hxx
+++ b/odb/details/type-info.hxx
@@ -9,13 +9,11 @@
 
 #include <typeinfo>
 
-#include <odb/details/export.hxx>
-
 namespace odb
 {
   namespace details
   {
-    struct LIBODB_EXPORT type_info_comparator
+    struct type_info_comparator
     {
       bool
       operator() (const std::type_info* x, const std::type_info* y) const
diff --git a/odb/exceptions.hxx b/odb/exceptions.hxx
index afd034f..c23cf5d 100644
--- a/odb/exceptions.hxx
+++ b/odb/exceptions.hxx
@@ -290,7 +290,7 @@ namespace odb
   //
   struct LIBODB_EXPORT multiple_exceptions: odb::exception
   {
-    struct LIBODB_EXPORT value_type
+    struct value_type
     {
       std::size_t
       position () const {return p_;}
@@ -323,7 +323,7 @@ namespace odb
       details::shared_ptr<odb::exception> e_;
     };
 
-    struct LIBODB_EXPORT comparator_type
+    struct comparator_type
     {
       bool
       operator() (const value_type& x, const value_type& y) const
diff --git a/odb/lazy-ptr-impl.cxx b/odb/lazy-ptr-impl.cxx
deleted file mode 100644
index 7d7a3a0..0000000
--- a/odb/lazy-ptr-impl.cxx
+++ /dev/null
@@ -1,11 +0,0 @@
-// file      : odb/lazy-ptr-impl.cxx
-// copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC
-// license   : GNU GPL v2; see accompanying LICENSE file
-
-#include <odb/lazy-ptr-impl.hxx>
-
-namespace odb
-{
-  // This otherwise unnecessary file is here to allow instantiation
-  // of inline functions for exporting.
-}
diff --git a/odb/lazy-ptr-impl.hxx b/odb/lazy-ptr-impl.hxx
index 6f03eff..f4eeb23 100644
--- a/odb/lazy-ptr-impl.hxx
+++ b/odb/lazy-ptr-impl.hxx
@@ -13,11 +13,10 @@
 #include <odb/traits.hxx>
 
 #include <odb/details/config.hxx> // ODB_CXX11
-#include <odb/details/export.hxx>
 
 namespace odb
 {
-  struct LIBODB_EXPORT lazy_ptr_impl_ref
+  struct lazy_ptr_impl_ref
   {
     void* id_;
     database* db_;
@@ -26,7 +25,7 @@ namespace odb
     void* (*copy_) (const void*);
   };
 
-  class LIBODB_EXPORT lazy_ptr_base
+  class lazy_ptr_base
   {
   public:
     typedef odb::database database_type;
diff --git a/odb/makefile b/odb/makefile
index f4dc984..5d2efe1 100644
--- a/odb/makefile
+++ b/odb/makefile
@@ -5,12 +5,10 @@
 include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make
 
 cxx :=                   \
-callback.cxx             \
 exceptions.cxx           \
 database.cxx             \
 vector-impl.cxx          \
 connection.cxx           \
-lazy-ptr-impl.cxx        \
 prepared-query.cxx       \
 query-dynamic.cxx        \
 result.cxx               \
diff --git a/odb/schema-version.hxx b/odb/schema-version.hxx
index f58692f..2d10d6f 100644
--- a/odb/schema-version.hxx
+++ b/odb/schema-version.hxx
@@ -8,11 +8,10 @@
 #include <odb/pre.hxx>
 
 #include <odb/forward.hxx> // schema_version
-#include <odb/details/export.hxx>
 
 namespace odb
 {
-  struct LIBODB_EXPORT schema_version_migration
+  struct schema_version_migration
   {
     schema_version_migration (schema_version v = 0, bool m = false)
       : version (v), migration (m) {}
-- 
cgit v1.1