add support of loki.dll

git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@564 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
syntheticpp 2006-02-27 19:59:20 +00:00
parent 7be89b7547
commit 4fbed79847
6 changed files with 38 additions and 9 deletions

View file

@ -1,6 +1,6 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// The Loki Library // 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 // Permission to use, copy, modify, distribute and sell this software for any
// purpose is hereby granted without fee, provided that the above copyright // purpose is hereby granted without fee, provided that the above copyright
// notice appear in all copies and that both that copyright notice and this // notice appear in all copies and that both that copyright notice and this
@ -10,20 +10,22 @@
// without express or implied warranty. // without express or implied warranty.
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// usage: see test/OrderedStatic
#ifndef LOKI_ORDEREDSTATIC_H_ #ifndef LOKI_ORDEREDSTATIC_H_
#define LOKI_ORDEREDSTATIC_H_ #define LOKI_ORDEREDSTATIC_H_
// $Header$ // $Header$
#include <vector> #include <vector>
#include <iostream> #include <iostream>
#include "LokiExport.h"
#include "Singleton.h" #include "Singleton.h"
#include "Typelist.h" #include "Typelist.h"
#include "Sequence.h" #include "Sequence.h"
// usage: see test/OrderedStatic
namespace Loki namespace Loki
{ {
namespace Private namespace Private
@ -32,7 +34,7 @@ namespace Loki
// polymorph base class for OrderedStatic template, // polymorph base class for OrderedStatic template,
// necessary because of the creator // necessary because of the creator
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
class OrderedStaticCreatorFunc class LOKI_EXPORT OrderedStaticCreatorFunc
{ {
public: public:
virtual void createObject() = 0; virtual void createObject() = 0;
@ -92,7 +94,7 @@ namespace Loki
// OrderedStaticManagerClass implements details // OrderedStaticManagerClass implements details
// OrderedStaticManager is then defined as a Singleton // OrderedStaticManager is then defined as a Singleton
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
class OrderedStaticManagerClass class LOKI_EXPORT OrderedStaticManagerClass
{ {
public: public:
OrderedStaticManagerClass(); OrderedStaticManagerClass();
@ -223,6 +225,9 @@ namespace Loki
#endif #endif
// $Log$ // $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 // Revision 1.9 2006/01/16 19:05:09 rich_sposato
// Added cvs keywords. // Added cvs keywords.
// //

View file

@ -18,6 +18,7 @@
// $Header$ // $Header$
#include "LokiExport.h"
#include "Threads.h" #include "Threads.h"
#include <algorithm> #include <algorithm>
#include <stdexcept> #include <stdexcept>
@ -28,7 +29,6 @@
#include <list> #include <list>
#include <memory> #include <memory>
#ifdef _MSC_VER #ifdef _MSC_VER
#define LOKI_C_CALLING_CONVENTION_QUALIFIER __cdecl #define LOKI_C_CALLING_CONVENTION_QUALIFIER __cdecl
#else #else
@ -48,7 +48,12 @@ namespace Loki
namespace Private namespace Private
{ {
#ifndef LOKI_MAKE_DLL
void LOKI_C_CALLING_CONVENTION_QUALIFIER AtExitFn(); // declaration needed below void LOKI_C_CALLING_CONVENTION_QUALIFIER AtExitFn(); // declaration needed below
#else
void LOKI_EXPORT AtExitFn();
#endif
class LifetimeTracker; class LifetimeTracker;
@ -58,7 +63,7 @@ namespace Loki
// Helper data // Helper data
// std::list because of the inserts // std::list because of the inserts
typedef std::list<LifetimeTracker*> TrackerArray; typedef std::list<LifetimeTracker*> TrackerArray;
extern TrackerArray* pTrackerArray; extern LOKI_EXPORT TrackerArray* pTrackerArray;
#else #else
// Helper data // Helper data
typedef LifetimeTracker** TrackerArray; typedef LifetimeTracker** TrackerArray;
@ -841,6 +846,9 @@ namespace Loki
#endif // SINGLETON_INC_ #endif // SINGLETON_INC_
// $Log$ // $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 // Revision 1.24 2006/01/22 13:37:33 syntheticpp
// use macro LOKI_DEFAULT_MUTEX for Mutex default value, defined in Threads.h // use macro LOKI_DEFAULT_MUTEX for Mutex default value, defined in Threads.h
// //

View file

@ -19,6 +19,7 @@
#ifndef LOKI_SMALLOBJ_INC_ #ifndef LOKI_SMALLOBJ_INC_
#define LOKI_SMALLOBJ_INC_ #define LOKI_SMALLOBJ_INC_
#include "LokiExport.h"
#include "Threads.h" #include "Threads.h"
#include "Singleton.h" #include "Singleton.h"
#include <cstddef> #include <cstddef>
@ -83,7 +84,7 @@ namespace Loki
Designed to be a non-templated base class of AllocatorSingleton so that Designed to be a non-templated base class of AllocatorSingleton so that
implementation details can be safely hidden in the source code file. implementation details can be safely hidden in the source code file.
*/ */
class SmallObjAllocator class LOKI_EXPORT SmallObjAllocator
{ {
protected: protected:
/** The only available constructor needs certain parameters in order to /** The only available constructor needs certain parameters in order to
@ -633,6 +634,9 @@ namespace Loki
// Nov. 26, 2004: re-implemented by Rich Sposato. // Nov. 26, 2004: re-implemented by Rich Sposato.
// //
// $Log$ // $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 // Revision 1.27 2006/02/20 21:56:06 rich_sposato
// Fixed typo. // Fixed typo.
// //

View file

@ -29,6 +29,7 @@
/// \defgroup SmartPointerCheckingGroup Checking policies /// \defgroup SmartPointerCheckingGroup Checking policies
/// \ingroup SmartPointerGroup /// \ingroup SmartPointerGroup
#include "LokiExport.h"
#include "SmallObj.h" #include "SmallObj.h"
#include "TypeManip.h" #include "TypeManip.h"
#include "static_check.h" #include "static_check.h"
@ -373,7 +374,7 @@ namespace Loki
namespace Private namespace Private
{ {
class RefLinkedBase class LOKI_EXPORT RefLinkedBase
{ {
public: public:
RefLinkedBase() RefLinkedBase()
@ -1361,6 +1362,9 @@ namespace std
#endif // SMARTPTR_INC_ #endif // SMARTPTR_INC_
// $Log$ // $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 // Revision 1.20 2006/02/25 13:48:54 syntheticpp
// add constness policy to doc // add constness policy to doc
// //

View file

@ -68,6 +68,7 @@ if defined LOKI_TMP (
cd src cd src
call make.msvc.bat call make.msvc.bat
call make.msvc.dll.bat
cd .. cd ..
cd test cd test

7
src/make.msvc.dll.bat Executable file
View file

@ -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