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: // import export options:
#ifdef _DLL #if defined(_DLL) && !defined(BOOST_RE_STATIC_LIB)
#ifdef BOOST_RE_BUILD_DLL #ifdef BOOST_RE_BUILD_DLL
#define BOOST_RE_IX_DECL __declspec( dllexport ) #define BOOST_RE_IX_DECL __declspec( dllexport )
#elif !defined(BOOST_REGEX_LIBRARY_INCLUDE_HPP) && !defined(BOOST_RE_NO_LIB) #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_TRICKY_DEFAULT_PARAM
#define BOOST_RE_NO_STRING_DEF_ARGS #define BOOST_RE_NO_STRING_DEF_ARGS
#endif #endif
#ifndef __STL_USE_EXCEPTIONS
#error exception handling support required
#endif
#include <algorithm> #include <algorithm>
#include <memory> #include <memory>

View File

@ -51,14 +51,14 @@ struct kmp_info
}; };
template <class charT, class Allocator> 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; typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(char, Allocator) atype;
atype(a).deallocate((char*)pinfo, pinfo->size); atype(a).deallocate((char*)pinfo, pinfo->size);
} }
template <class iterator, class charT, class Trans, class Allocator> 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; typedef BOOST_RE_MAYBE_TYPENAME REBIND_TYPE(char, Allocator) atype;
int i, j, m; int i, j, m;

View File

@ -30,10 +30,14 @@
#if defined(BOOST_MSVC) && !defined(BOOST_RE_BUILD_DLL) #if defined(BOOST_MSVC) && !defined(BOOST_RE_BUILD_DLL)
#ifdef __SGI_STL_PORT #ifdef __SGI_STL_PORT
#ifdef _DLL #ifdef _DLL
// All these are multithreaded:
#if defined(_DEBUG) && defined(__STL_DEBUG) #if defined(_DEBUG) && defined(__STL_DEBUG)
#pragma comment(lib, "vc6-stlport-re300ddl.lib") #pragma comment(lib, "vc6-stlport-re300ddl.lib")
#elif defined(_DEBUG) #elif defined(_DEBUG)
#pragma comment(lib, "vc6-stlport-re300dl.lib") #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 #else // DEBUG
#pragma comment(lib, "vc6-stlport-re300l.lib") #pragma comment(lib, "vc6-stlport-re300l.lib")
#endif // _DEBUG #endif // _DEBUG
@ -53,8 +57,12 @@
#endif //_DLL #endif //_DLL
#else #else
#ifdef _DLL #ifdef _DLL
// All these are multithreaded:
#ifdef _DEBUG #ifdef _DEBUG
#pragma comment(lib, "vc6-re300dl.lib") #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 #else // DEBUG
#pragma comment(lib, "vc6-re300l.lib") #pragma comment(lib, "vc6-re300l.lib")
#endif // _DEBUG #endif // _DEBUG