diff options
27 files changed, 156 insertions, 186 deletions
diff --git a/common/inverse/makefile b/common/inverse/makefile index b7480fc..05871d1 100644 --- a/common/inverse/makefile +++ b/common/inverse/makefile @@ -53,13 +53,12 @@ name := $(notdir $(src_base)) $(dist): db_id := @database@ $(dist): sources := $(cxx_tun) $(dist): headers := $(odb_hdr) -$(dist): export extra_headers := tr1-memory.hxx $(dist): data_dist := test.std $(dist): export name := $(name) $(dist): export extra_dist := $(data_dist) $(call vc9projs,$(name)) \ $(call vc10projs,$(name)) $(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist)) + $(call dist-data,$(sources) $(headers) $(data_dist)) $(call meta-automake,../template/Makefile.am) $(call meta-vc9projs,../template/template,$(name)) $(call meta-vc10projs,../template/template,$(name)) diff --git a/common/inverse/test.hxx b/common/inverse/test.hxx index e57cb78..7dcb17e 100644 --- a/common/inverse/test.hxx +++ b/common/inverse/test.hxx @@ -6,14 +6,19 @@ #ifndef TEST_HXX #define TEST_HXX +#include <common/config.hxx> // HAVE_TR1_MEMORY + #include <set> #include <vector> #include <string> #include <memory> -#include "tr1-memory.hxx" #include <odb/core.hxx> +#ifdef HAVE_TR1_MEMORY +# include <odb/tr1/memory.hxx> +#endif + struct obj1; struct obj2; struct obj3; diff --git a/common/inverse/tr1-memory.hxx b/common/inverse/tr1-memory.hxx deleted file mode 100644 index 44d369a..0000000 --- a/common/inverse/tr1-memory.hxx +++ /dev/null @@ -1,41 +0,0 @@ -// file : common/inverse/tr1-memory.hxx -// author : Boris Kolpackov <boris@codesynthesis.com> -// copyright : not copyrighted - public domain - -#ifndef TR1_MEMORY_HXX -#define TR1_MEMORY_HXX - -//@@ tmp -#define HAVE_TR1_MEMORY - -// -// Try to include TR1 <memory> in a compiler-specific manner. Fall-back -// on the Boost TR1 implementation if the compiler does not support TR1. -// - -#include <cstddef> // __GLIBCXX__, _HAS_TR1 - -// GNU C++ or Intel C++ using libstd++. -// -#if defined (__GNUC__) && __GNUC__ >= 4 && defined (__GLIBCXX__) -# include <tr1/memory> -// -// IBM XL C++. -// -#elif defined (__xlC__) && __xlC__ >= 0x0900 -# define __IBMCPP_TR1__ -# include <memory> -// -// VC++ or Intel C++ using VC++ standard library. -// -#elif defined (_MSC_VER) && \ - (_MSC_VER == 1500 && defined (_HAS_TR1) || _MSC_VER > 1500) -# include <memory> -// -// Boost fall-back. -// -#else -# include <boost/tr1/memory.hpp> -#endif - -#endif // TR1_MEMORY_HXX diff --git a/common/lazy-ptr/test.hxx b/common/lazy-ptr/test.hxx index 8b75c46..9c671c1 100644 --- a/common/lazy-ptr/test.hxx +++ b/common/lazy-ptr/test.hxx @@ -6,17 +6,18 @@ #ifndef TEST_HXX #define TEST_HXX +#include <common/config.hxx> // HAVE_TR1_MEMORY + #include <vector> #include <string> #include <memory> -#include "tr1-memory.hxx" - #include <odb/core.hxx> #include <odb/lazy-ptr.hxx> #ifdef HAVE_TR1_MEMORY -#include <odb/tr1/lazy-ptr.hxx> +# include <odb/tr1/memory.hxx> +# include <odb/tr1/lazy-ptr.hxx> #endif // Raw pointer. diff --git a/common/lazy-ptr/tr1-memory.hxx b/common/lazy-ptr/tr1-memory.hxx deleted file mode 100644 index 8965861..0000000 --- a/common/lazy-ptr/tr1-memory.hxx +++ /dev/null @@ -1,41 +0,0 @@ -// file : common/lazy-ptr/tr1-memory.hxx -// author : Boris Kolpackov <boris@codesynthesis.com> -// copyright : not copyrighted - public domain - -#ifndef TR1_MEMORY_HXX -#define TR1_MEMORY_HXX - -//@@ tmp -#define HAVE_TR1_MEMORY - -// -// Try to include TR1 <memory> in a compiler-specific manner. Fall-back -// on the Boost TR1 implementation if the compiler does not support TR1. -// - -#include <cstddef> // __GLIBCXX__, _HAS_TR1 - -// GNU C++ or Intel C++ using libstd++. -// -#if defined (__GNUC__) && __GNUC__ >= 4 && defined (__GLIBCXX__) -# include <tr1/memory> -// -// IBM XL C++. -// -#elif defined (__xlC__) && __xlC__ >= 0x0900 -# define __IBMCPP_TR1__ -# include <memory> -// -// VC++ or Intel C++ using VC++ standard library. -// -#elif defined (_MSC_VER) && \ - (_MSC_VER == 1500 && defined (_HAS_TR1) || _MSC_VER > 1500) -# include <memory> -// -// Boost fall-back. -// -#else -# include <boost/tr1/memory.hpp> -#endif - -#endif // TR1_MEMORY_HXX diff --git a/common/relationship/makefile b/common/relationship/makefile index 7ed60cf..36c3c48 100644 --- a/common/relationship/makefile +++ b/common/relationship/makefile @@ -53,13 +53,12 @@ name := $(notdir $(src_base)) $(dist): db_id := @database@ $(dist): sources := $(cxx_tun) $(dist): headers := $(odb_hdr) -$(dist): export extra_headers := tr1-memory.hxx $(dist): data_dist := test.std $(dist): export name := $(name) $(dist): export extra_dist := $(data_dist) $(call vc9projs,$(name)) \ $(call vc10projs,$(name)) $(dist): - $(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist)) + $(call dist-data,$(sources) $(headers) $(data_dist)) $(call meta-automake,../template/Makefile.am) $(call meta-vc9projs,../template/template,$(name)) $(call meta-vc10projs,../template/template,$(name)) diff --git a/common/relationship/test.hxx b/common/relationship/test.hxx index cafdc99..486c417 100644 --- a/common/relationship/test.hxx +++ b/common/relationship/test.hxx @@ -6,15 +6,20 @@ #ifndef TEST_HXX #define TEST_HXX +#include <common/config.hxx> // HAVE_TR1_MEMORY + #include <set> #include <map> #include <vector> #include <string> #include <memory> -#include "tr1-memory.hxx" #include <odb/core.hxx> +#ifdef HAVE_TR1_MEMORY +# include <odb/tr1/memory.hxx> +#endif + // Raw pointer. // #pragma db object pointer(obj1*) diff --git a/common/relationship/tr1-memory.hxx b/common/relationship/tr1-memory.hxx deleted file mode 100644 index a4ce28a..0000000 --- a/common/relationship/tr1-memory.hxx +++ /dev/null @@ -1,41 +0,0 @@ -// file : common/relationship/tr1-memory.hxx -// author : Boris Kolpackov <boris@codesynthesis.com> -// copyright : not copyrighted - public domain - -#ifndef TR1_MEMORY_HXX -#define TR1_MEMORY_HXX - -//@@ tmp -#define HAVE_TR1_MEMORY - -// -// Try to include TR1 <memory> in a compiler-specific manner. Fall-back -// on the Boost TR1 implementation if the compiler does not support TR1. -// - -#include <cstddef> // __GLIBCXX__, _HAS_TR1 - -// GNU C++ or Intel C++ using libstd++. -// -#if defined (__GNUC__) && __GNUC__ >= 4 && defined (__GLIBCXX__) -# include <tr1/memory> -// -// IBM XL C++. -// -#elif defined (__xlC__) && __xlC__ >= 0x0900 -# define __IBMCPP_TR1__ -# include <memory> -// -// VC++ or Intel C++ using VC++ standard library. -// -#elif defined (_MSC_VER) && \ - (_MSC_VER == 1500 && defined (_HAS_TR1) || _MSC_VER > 1500) -# include <memory> -// -// Boost fall-back. -// -#else -# include <boost/tr1/memory.hpp> -#endif - -#endif // TR1_MEMORY_HXX diff --git a/common/template/Makefile.am b/common/template/Makefile.am index 7338a85..a51fddf 100644 --- a/common/template/Makefile.am +++ b/common/template/Makefile.am @@ -22,6 +22,7 @@ CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx ODB = @ODB@ ODBFLAGS = @ODBFLAGS@ +ODBCPPFLAGS = @ODBCPPFLAGS@ test-odb.hxx: test.hxx - $(ODB) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< + $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< diff --git a/common/template/template-vc10.vcxproj b/common/template/template-vc10.vcxproj index e2950f9..e49d337 100644 --- a/common/template/template-vc10.vcxproj +++ b/common/template/template-vc10.vcxproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|Win32"> @@ -88,7 +88,7 @@ </PrecompiledHeader> <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\libcommon</AdditionalIncludeDirectories> <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> @@ -104,7 +104,7 @@ </PrecompiledHeader> <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\libcommon</AdditionalIncludeDirectories> <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> @@ -122,7 +122,7 @@ <Optimization>MaxSpeed</Optimization> <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\libcommon</AdditionalIncludeDirectories> <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> @@ -142,7 +142,7 @@ <Optimization>MaxSpeed</Optimization> <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\libcommon</AdditionalIncludeDirectories> <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> @@ -158,7 +158,7 @@ __custom_build_entry__( test.hxx, odb test.hxx, -odb.exe __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), @database@, __value__(database)))) test.hxx, +odb.exe __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), @database@, __value__(database)) -DHAVE_CONFIG_VC_H -I..\..\libcommon)) test.hxx, test-odb.hxx;test-odb.ixx;test-odb.cxx) </ItemGroup> <ItemGroup> diff --git a/common/template/template-vc9.vcproj b/common/template/template-vc9.vcproj index cc6d9cd..d6dbd3b 100644 --- a/common/template/template-vc9.vcproj +++ b/common/template/template-vc9.vcproj @@ -46,7 +46,7 @@ AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" Optimization="0" AdditionalIncludeDirectories="..\..\libcommon" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -123,7 +123,7 @@ Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="..\..\libcommon" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_VC_H" RuntimeLibrary="2" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" @@ -200,7 +200,7 @@ AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" Optimization="0" AdditionalIncludeDirectories="..\..\libcommon" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -278,7 +278,7 @@ Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="..\..\libcommon" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_VC_H" RuntimeLibrary="2" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" @@ -348,7 +348,7 @@ __source_entries__(extra_sources) __file_entry_custom_build__( test.hxx, odb test.hxx, -odb.exe __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), @database@, __value__(database)))) test.hxx, +odb.exe __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), @database@, __value__(database)) -DHAVE_CONFIG_VC_H -I..\..\libcommon)) test.hxx, test-odb.hxx;test-odb.ixx;test-odb.cxx) __file_entry__(test-odb.hxx) __file_entry__(test-odb.ixx) diff --git a/configure.ac b/configure.ac index bb0932c..b7eea10 100644 --- a/configure.ac +++ b/configure.ac @@ -35,6 +35,10 @@ AM_CONDITIONAL([ODB_TESTS_THREADS], [test x$threads != xnone]) LIBODB([], [AC_MSG_ERROR([libodb is not found; consider using --with-libodb=DIR])]) LIBODB_TRACER([], [AC_MSG_ERROR([libodb-tracer is not found; consider using --with-libodb-tracer=DIR])]) +# Check for TR1 <memory> availability. +# +TR1_MEMORY + # Check which database we are using. # DATABASE diff --git a/libcommon/common/common.cxx b/libcommon/common/common.cxx index a2a2e64..a15ab93 100644 --- a/libcommon/common/common.cxx +++ b/libcommon/common/common.cxx @@ -6,9 +6,7 @@ #include <cstdlib> // std::exit #include <iostream> -#ifndef _MSC_VER -# include <common/config.h> -#endif +#include <common/config.hxx> #if defined(DATABASE_MYSQL) # include <odb/mysql/database.hxx> diff --git a/libcommon/common/config-vc.h b/libcommon/common/config-vc.h new file mode 100644 index 0000000..fa739a4 --- /dev/null +++ b/libcommon/common/config-vc.h @@ -0,0 +1,14 @@ +/* file : libcommon/common/config-vc.h + * author : Boris Kolpackov <boris@codesynthesis.com> + * copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC + * license : GNU GPL v2; see accompanying LICENSE file + */ + +/* Configuration file for Windows/VC++. */ + +#ifndef LIBCOMMON_COMMON_CONFIG_VC_H +#define LIBCOMMON_COMMON_CONFIG_VC_H + +#define HAVE_TR1_MEMORY + +#endif /* LIBCOMMON_COMMON_CONFIG_VC_H */ diff --git a/libcommon/common/config.h.in b/libcommon/common/config.h.in index d0b2bd9..a1140e1 100644 --- a/libcommon/common/config.h.in +++ b/libcommon/common/config.h.in @@ -10,6 +10,7 @@ #define LIBCOMMON_COMMON_CONFIG_H #undef DATABASE_MYSQL +#undef HAVE_TR1_MEMORY #undef LIBCOMMON_STATIC_LIB #endif /* LIBCOMMON_COMMON_CONFIG_H */ diff --git a/libcommon/common/config.hxx b/libcommon/common/config.hxx new file mode 100644 index 0000000..c08be65 --- /dev/null +++ b/libcommon/common/config.hxx @@ -0,0 +1,15 @@ +// file : libcommon/common/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 LIBCOMMON_COMMON_CONFIG_HXX +#define LIBCOMMON_COMMON_CONFIG_HXX + +#ifdef HAVE_CONFIG_VC_H +# include <common/config-vc.h> +#else +# include <common/config.h> +#endif + +#endif // LIBCOMMON_COMMON_CONFIG_HXX diff --git a/libcommon/common/export.hxx b/libcommon/common/export.hxx index 4ea2d33..5a7fed1 100644 --- a/libcommon/common/export.hxx +++ b/libcommon/common/export.hxx @@ -6,9 +6,7 @@ #ifndef LIBCOMMON_COMMON_EXPORT_HXX #define LIBCOMMON_COMMON_EXPORT_HXX -#ifndef _MSC_VER -# include <common/config.h> -#endif +#include <common/config.hxx> #ifdef LIBCOMMON_STATIC_LIB # define LIBCOMMON_EXPORT diff --git a/libcommon/common/libcommon-vc10.vcxproj b/libcommon/common/libcommon-vc10.vcxproj index 44034da..69494b0 100644 --- a/libcommon/common/libcommon-vc10.vcxproj +++ b/libcommon/common/libcommon-vc10.vcxproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|Win32"> @@ -88,7 +88,7 @@ </PrecompiledHeader> <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..</AdditionalIncludeDirectories> <DisableSpecificWarnings>4355;4800;4290;4251;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> @@ -106,7 +106,7 @@ </PrecompiledHeader> <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..</AdditionalIncludeDirectories> <DisableSpecificWarnings>4355;4800;4290;4251;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> @@ -126,7 +126,7 @@ <Optimization>MaxSpeed</Optimization> <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..</AdditionalIncludeDirectories> <DisableSpecificWarnings>4355;4800;4290;4251;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> @@ -148,7 +148,7 @@ <Optimization>MaxSpeed</Optimization> <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..</AdditionalIncludeDirectories> <DisableSpecificWarnings>4355;4800;4290;4251;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> diff --git a/libcommon/common/libcommon-vc9.vcproj b/libcommon/common/libcommon-vc9.vcproj index c7ef766..a7ec116 100644 --- a/libcommon/common/libcommon-vc9.vcproj +++ b/libcommon/common/libcommon-vc9.vcproj @@ -46,7 +46,7 @@ AdditionalOptions="/wd4355 /wd4800 /wd4290" Optimization="0" AdditionalIncludeDirectories=".." - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -124,7 +124,7 @@ AdditionalOptions="/wd4355 /wd4800 /wd4290" Optimization="0" AdditionalIncludeDirectories=".." - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;__upcase__(database_)__upcase__(__value__(database));__upcase__(database_)__upcase__(__value__(database));__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));__upcase__(database_)__upcase__(__value__(database));__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -203,7 +203,7 @@ Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories=".." - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB" RuntimeLibrary="2" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" @@ -284,7 +284,7 @@ Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories=".." - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;HAVE_CONFIG_VC_H;__upcase__(database_)__upcase__(__value__(database));LIBCOMMON_DYNAMIC_LIB" RuntimeLibrary="2" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" diff --git a/libcommon/common/makefile b/libcommon/common/makefile index c9ecdaf..6259e69 100644 --- a/libcommon/common/makefile +++ b/libcommon/common/makefile @@ -42,8 +42,9 @@ $(common.l.cpp-options): value := -I$(out_root)/libcommon -I$(src_root)/libcommo $(common.l.cpp-options): $(odb_db.l.cpp-options) $(odb.l.cpp-options) $(out_base)/config.h: $(dcf_root)/configuration-dynamic.make - @echo '// file : libcommon/config.h' >$@ - @echo '// author : automatically generated' >>$@ + @echo '/* file : libcommon/common/config.h' >$@ + @echo ' * author : automatically generated' >>$@ + @echo ' */' >>$@ @echo '' >>$@ @echo '#ifndef LIBCOMMON_COMMON_CONFIG_H' >>$@ @echo '#define LIBCOMMON_COMMON_CONFIG_H' >>$@ @@ -51,8 +52,9 @@ $(out_base)/config.h: $(dcf_root)/configuration-dynamic.make ifeq ($(db_id),mysql) @echo '#define DATABASE_MYSQL 1' >>$@ endif + @echo '#define HAVE_TR1_MEMORY 1' >>$@ @echo '' >>$@ - @echo '#endif // LIBCOMMON_COMMON_CONFIG_H' >>$@ + @echo '#endif /* LIBCOMMON_COMMON_CONFIG_H */' >>$@ $(call include-dep,$(cxx_od),$(cxx_obj),$(out_base)/config.h) diff --git a/m4/tr1-memory.m4 b/m4/tr1-memory.m4 new file mode 100644 index 0000000..7b78577 --- /dev/null +++ b/m4/tr1-memory.m4 @@ -0,0 +1,40 @@ +dnl file : m4/tr1-memory.m4 +dnl author : Boris Kolpackov <boris@codesynthesis.com> +dnl copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +dnl license : GNU GPL v2; see accompanying LICENSE file +dnl +dnl TR1_MEMORY +dnl +dnl Check for TR1 <memory> availability. If successful, define HAVE_TR1_MEMORY +dnl as both a macro and conditional as well as set the tr1_memory variable +dnl to 'yes'. +dnl +AC_DEFUN([TR1_MEMORY], +[ +tr1_memory=no + +AC_MSG_CHECKING([for TR1 <memory>]) + +CXX_LIBTOOL_LINK_IFELSE( +AC_LANG_SOURCE([[ +#include <odb/tr1/memory.hxx> + +int +main () +{ + std::tr1::shared_ptr<int> p (new int (10)); + *p = 11; +} +]]), +[tr1_memory=yes]) + +if test x"$tr1_memory" = xyes; then + AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_TR1_MEMORY], [1], [Have TR1 <memory>.]) +else + AC_MSG_RESULT([no]) +fi + +AM_CONDITIONAL([HAVE_TR1_MEMORY], [test x$tr1_memory = xyes]) + +])dnl diff --git a/mysql/template/Makefile.am b/mysql/template/Makefile.am index 7f33a6c..31eea41 100644 --- a/mysql/template/Makefile.am +++ b/mysql/template/Makefile.am @@ -24,7 +24,8 @@ CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx ODB = @ODB@ ODBFLAGS = @ODBFLAGS@ +ODBCPPFLAGS = @ODBCPPFLAGS@ test-odb.hxx: test.hxx - $(ODB) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< + $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< ) diff --git a/mysql/template/template-vc10.vcxproj b/mysql/template/template-vc10.vcxproj index a22100c..a39d43a 100644 --- a/mysql/template/template-vc10.vcxproj +++ b/mysql/template/template-vc10.vcxproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|Win32"> @@ -88,7 +88,7 @@ </PrecompiledHeader> <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\libcommon</AdditionalIncludeDirectories> <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> @@ -104,7 +104,7 @@ </PrecompiledHeader> <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\libcommon</AdditionalIncludeDirectories> <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> @@ -122,7 +122,7 @@ <Optimization>MaxSpeed</Optimization> <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\libcommon</AdditionalIncludeDirectories> <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> @@ -142,7 +142,7 @@ <Optimization>MaxSpeed</Optimization> <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\libcommon</AdditionalIncludeDirectories> <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> @@ -160,7 +160,7 @@ m4_dnl __custom_build_entry__( test.hxx, odb test.hxx, -odb.exe __xml__(__shell_quotes__(__value__(odb_options))) test.hxx, +odb.exe __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -I..\..\libcommon)) test.hxx, test-odb.hxx;test-odb.ixx;test-odb.cxx) </ItemGroup>) <ItemGroup> diff --git a/mysql/template/template-vc9.vcproj b/mysql/template/template-vc9.vcproj index a4e71d9..ac0810a 100644 --- a/mysql/template/template-vc9.vcproj +++ b/mysql/template/template-vc9.vcproj @@ -46,7 +46,7 @@ AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" Optimization="0" AdditionalIncludeDirectories="..\..\libcommon" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -123,7 +123,7 @@ Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="..\..\libcommon" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_VC_H" RuntimeLibrary="2" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" @@ -200,7 +200,7 @@ AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" Optimization="0" AdditionalIncludeDirectories="..\..\libcommon" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -278,7 +278,7 @@ Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="..\..\libcommon" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_VC_H" RuntimeLibrary="2" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" @@ -349,7 +349,7 @@ m4_ifelse(__value__(odb_options),,, __file_entry_custom_build__( test.hxx, odb test.hxx, -odb.exe __xml__(__shell_quotes__(__value__(odb_options))) test.hxx, +odb.exe __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -I..\..\libcommon)) test.hxx, test-odb.hxx;test-odb.ixx;test-odb.cxx) __file_entry__(test-odb.hxx) __file_entry__(test-odb.ixx)) diff --git a/tracer/template/Makefile.am b/tracer/template/Makefile.am index 6edccff..f594a51 100644 --- a/tracer/template/Makefile.am +++ b/tracer/template/Makefile.am @@ -7,6 +7,7 @@ EXTRA_DIST = __file__(extra_dist) noinst_PROGRAMS = driver driver_SOURCES = driver.cxx __path__(extra_sources) __path__(extra_headers) +AM_CPPFLAGS = -I'$(top_builddir)/libcommon' -I'$(top_srcdir)/libcommon' TESTS=$(top_builddir)/tester TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; @@ -22,7 +23,8 @@ CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx ODB = @ODB@ ODBFLAGS = @ODBFLAGS@ +ODBCPPFLAGS = @ODBCPPFLAGS@ test-odb.hxx: test.hxx - $(ODB) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< + $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< ) diff --git a/tracer/template/template-vc10.vcxproj b/tracer/template/template-vc10.vcxproj index a385bad..d2e5ae0 100644 --- a/tracer/template/template-vc10.vcxproj +++ b/tracer/template/template-vc10.vcxproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|Win32"> @@ -88,7 +88,8 @@ </PrecompiledHeader> <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>..\..\libcommon</AdditionalIncludeDirectories> <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> <Link> @@ -103,7 +104,8 @@ </PrecompiledHeader> <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>..\..\libcommon</AdditionalIncludeDirectories> <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> <Link> @@ -120,7 +122,8 @@ <Optimization>MaxSpeed</Optimization> <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>..\..\libcommon</AdditionalIncludeDirectories> <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> <Link> @@ -139,7 +142,8 @@ <Optimization>MaxSpeed</Optimization> <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_VC_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>..\..\libcommon</AdditionalIncludeDirectories> <DisableSpecificWarnings>4068;4355;4800;4290;%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> <Link> @@ -156,7 +160,7 @@ m4_dnl __custom_build_entry__( test.hxx, odb test.hxx, -odb.exe __xml__(__shell_quotes__(__value__(odb_options))) test.hxx, +odb.exe __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -I..\..\libcommon)) test.hxx, test-odb.hxx;test-odb.ixx;test-odb.cxx) </ItemGroup>) <ItemGroup> diff --git a/tracer/template/template-vc9.vcproj b/tracer/template/template-vc9.vcproj index e12ab89..73649a4 100644 --- a/tracer/template/template-vc9.vcproj +++ b/tracer/template/template-vc9.vcproj @@ -45,7 +45,8 @@ Name="VCCLCompilerTool" AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" Optimization="0" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + AdditionalIncludeDirectories="..\..\libcommon" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -121,7 +122,8 @@ AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" Optimization="2" EnableIntrinsicFunctions="true" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + AdditionalIncludeDirectories="..\..\libcommon" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_VC_H" RuntimeLibrary="2" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" @@ -197,7 +199,8 @@ Name="VCCLCompilerTool" AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" Optimization="0" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + AdditionalIncludeDirectories="..\..\libcommon" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -274,7 +277,8 @@ AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290" Optimization="2" EnableIntrinsicFunctions="true" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + AdditionalIncludeDirectories="..\..\libcommon" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_VC_H" RuntimeLibrary="2" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" @@ -345,7 +349,7 @@ m4_ifelse(__value__(odb_options),,, __file_entry_custom_build__( test.hxx, odb test.hxx, -odb.exe __xml__(__shell_quotes__(__value__(odb_options))) test.hxx, +odb.exe __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -I..\..\libcommon)) test.hxx, test-odb.hxx;test-odb.ixx;test-odb.cxx) __file_entry__(test-odb.hxx) __file_entry__(test-odb.ixx)) |