Fixed VC6.sp5 support, added support for mixed static/dynamic linking with VC6

[SVN r9744]
This commit is contained in:
John Maddock
2001-04-09 11:19:12 +00:00
parent 42ba37691e
commit dcb64d5db7
3 changed files with 11 additions and 6 deletions

View File

@ -221,7 +221,7 @@ Do not change this file unless you really really have to, add options to
//
// import export options:
#ifdef _DLL
#if defined(_DLL) && !defined(BOOST_RE_STATIC_LIB)
#ifdef BOOST_RE_BUILD_DLL
#define BOOST_RE_IX_DECL __declspec( dllexport )
#elif !defined(BOOST_REGEX_LIBRARY_INCLUDE_HPP) && !defined(BOOST_RE_NO_LIB)
@ -440,9 +440,6 @@ typedef unsigned long jm_uintfast32_t;
#define BOOST_RE_NO_TRICKY_DEFAULT_PARAM
#define BOOST_RE_NO_STRING_DEF_ARGS
#endif
#ifndef __STL_USE_EXCEPTIONS
#error exception handling support required
#endif
#include <algorithm>
#include <memory>

View File

@ -51,14 +51,14 @@ struct kmp_info
};
template <class charT, class Allocator>
void kmp_free(kmp_info<charT>* pinfo, Allocator a)
void kmp_free(kmp_info<charT>* pinfo, const Allocator& a)
{
typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(char, Allocator) atype;
atype(a).deallocate((char*)pinfo, pinfo->size);
}
template <class iterator, class charT, class Trans, class Allocator>
kmp_info<charT>* kmp_compile(iterator first, iterator last, charT, Trans translate, Allocator a)
kmp_info<charT>* kmp_compile(iterator first, iterator last, charT, Trans translate, const Allocator& a)
{
typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(char, Allocator) atype;
int i, j, m;

View File

@ -30,10 +30,14 @@
#if defined(BOOST_MSVC) && !defined(BOOST_RE_BUILD_DLL)
#ifdef __SGI_STL_PORT
#ifdef _DLL
// All these are multithreaded:
#if defined(_DEBUG) && defined(__STL_DEBUG)
#pragma comment(lib, "vc6-stlport-re300ddl.lib")
#elif defined(_DEBUG)
#pragma comment(lib, "vc6-stlport-re300dl.lib")
#elif defined(BOOST_RE_STATIC_LIB)
// static regex lib, dll runtime
#pragma comment(lib, "vc6-stlport-re300ls.lib")
#else // DEBUG
#pragma comment(lib, "vc6-stlport-re300l.lib")
#endif // _DEBUG
@ -53,8 +57,12 @@
#endif //_DLL
#else
#ifdef _DLL
// All these are multithreaded:
#ifdef _DEBUG
#pragma comment(lib, "vc6-re300dl.lib")
#elif defined(BOOST_RE_STATIC_LIB)
// static regex lib, dll runtime
#pragma comment(lib, "vc6-re300ls.lib")
#else // DEBUG
#pragma comment(lib, "vc6-re300l.lib")
#endif // _DEBUG