diff --git a/include/loki/OrderedStatic.h b/include/loki/OrderedStatic.h index 00f6150..03d604d 100755 --- a/include/loki/OrderedStatic.h +++ b/include/loki/OrderedStatic.h @@ -1,6 +1,6 @@ //////////////////////////////////////////////////////////////////////////////// // The Loki Library -// Copyright (c) 2005 Peter Kmmel +// Copyright (c) 2005 Peter Kümmel // Permission to use, copy, modify, distribute and sell this software for any // purpose is hereby granted without fee, provided that the above copyright // notice appear in all copies and that both that copyright notice and this @@ -10,20 +10,22 @@ // without express or implied warranty. //////////////////////////////////////////////////////////////////////////////// -// usage: see test/OrderedStatic - #ifndef LOKI_ORDEREDSTATIC_H_ #define LOKI_ORDEREDSTATIC_H_ // $Header$ + #include #include +#include "LokiExport.h" #include "Singleton.h" #include "Typelist.h" #include "Sequence.h" +// usage: see test/OrderedStatic + namespace Loki { namespace Private @@ -32,7 +34,7 @@ namespace Loki // polymorph base class for OrderedStatic template, // necessary because of the creator //////////////////////////////////////////////////////////////////////////////// - class OrderedStaticCreatorFunc + class LOKI_EXPORT OrderedStaticCreatorFunc { public: virtual void createObject() = 0; @@ -92,7 +94,7 @@ namespace Loki // OrderedStaticManagerClass implements details // OrderedStaticManager is then defined as a Singleton //////////////////////////////////////////////////////////////////////////////// - class OrderedStaticManagerClass + class LOKI_EXPORT OrderedStaticManagerClass { public: OrderedStaticManagerClass(); @@ -223,6 +225,9 @@ namespace Loki #endif // $Log$ +// Revision 1.10 2006/02/27 19:59:20 syntheticpp +// add support of loki.dll +// // Revision 1.9 2006/01/16 19:05:09 rich_sposato // Added cvs keywords. // diff --git a/include/loki/Singleton.h b/include/loki/Singleton.h index d1a85a6..fa71d78 100644 --- a/include/loki/Singleton.h +++ b/include/loki/Singleton.h @@ -18,6 +18,7 @@ // $Header$ +#include "LokiExport.h" #include "Threads.h" #include #include @@ -28,7 +29,6 @@ #include #include - #ifdef _MSC_VER #define LOKI_C_CALLING_CONVENTION_QUALIFIER __cdecl #else @@ -48,7 +48,12 @@ namespace Loki namespace Private { + +#ifndef LOKI_MAKE_DLL void LOKI_C_CALLING_CONVENTION_QUALIFIER AtExitFn(); // declaration needed below +#else + void LOKI_EXPORT AtExitFn(); +#endif class LifetimeTracker; @@ -58,7 +63,7 @@ namespace Loki // Helper data // std::list because of the inserts typedef std::list TrackerArray; - extern TrackerArray* pTrackerArray; + extern LOKI_EXPORT TrackerArray* pTrackerArray; #else // Helper data typedef LifetimeTracker** TrackerArray; @@ -841,6 +846,9 @@ namespace Loki #endif // SINGLETON_INC_ // $Log$ +// Revision 1.25 2006/02/27 19:59:20 syntheticpp +// add support of loki.dll +// // Revision 1.24 2006/01/22 13:37:33 syntheticpp // use macro LOKI_DEFAULT_MUTEX for Mutex default value, defined in Threads.h // diff --git a/include/loki/SmallObj.h b/include/loki/SmallObj.h index a6d4018..00684db 100644 --- a/include/loki/SmallObj.h +++ b/include/loki/SmallObj.h @@ -19,6 +19,7 @@ #ifndef LOKI_SMALLOBJ_INC_ #define LOKI_SMALLOBJ_INC_ +#include "LokiExport.h" #include "Threads.h" #include "Singleton.h" #include @@ -83,7 +84,7 @@ namespace Loki Designed to be a non-templated base class of AllocatorSingleton so that implementation details can be safely hidden in the source code file. */ - class SmallObjAllocator + class LOKI_EXPORT SmallObjAllocator { protected: /** The only available constructor needs certain parameters in order to @@ -633,6 +634,9 @@ namespace Loki // Nov. 26, 2004: re-implemented by Rich Sposato. // // $Log$ +// Revision 1.28 2006/02/27 19:59:20 syntheticpp +// add support of loki.dll +// // Revision 1.27 2006/02/20 21:56:06 rich_sposato // Fixed typo. // diff --git a/include/loki/SmartPtr.h b/include/loki/SmartPtr.h index 187a610..bc42d01 100644 --- a/include/loki/SmartPtr.h +++ b/include/loki/SmartPtr.h @@ -29,6 +29,7 @@ /// \defgroup SmartPointerCheckingGroup Checking policies /// \ingroup SmartPointerGroup +#include "LokiExport.h" #include "SmallObj.h" #include "TypeManip.h" #include "static_check.h" @@ -373,7 +374,7 @@ namespace Loki namespace Private { - class RefLinkedBase + class LOKI_EXPORT RefLinkedBase { public: RefLinkedBase() @@ -1361,6 +1362,9 @@ namespace std #endif // SMARTPTR_INC_ // $Log$ +// Revision 1.21 2006/02/27 19:59:20 syntheticpp +// add support of loki.dll +// // Revision 1.20 2006/02/25 13:48:54 syntheticpp // add constness policy to doc // diff --git a/make.msvc.bat b/make.msvc.bat index 98f9aaa..a8cb082 100755 --- a/make.msvc.bat +++ b/make.msvc.bat @@ -68,6 +68,7 @@ if defined LOKI_TMP ( cd src call make.msvc.bat +call make.msvc.dll.bat cd .. cd test diff --git a/src/make.msvc.dll.bat b/src/make.msvc.dll.bat new file mode 100755 index 0000000..caf57fc --- /dev/null +++ b/src/make.msvc.dll.bat @@ -0,0 +1,7 @@ + +cl -c -Zm200 -O2 -DNDEBUG -MT -D_WINDLL -DLOKI_MAKE_DLL -EHsc -GR -W4 -wd4251 -I"." -I"..\include" OrderedStatic.cpp SafeFormat.cpp SmallObj.cpp SmartPtr.cpp Singleton.cpp + +link /NOLOGO /DLL /OUT:"..\lib\loki014.dll" OrderedStatic.obj SafeFormat.obj SmallObj.obj SmartPtr.obj Singleton.obj + +del *.obj +