Chris@16: /* Chris@16: * Chris@16: * Copyright (c) 1998-2002 Chris@16: * John Maddock Chris@16: * Chris@16: * Use, modification and distribution are subject to the Chris@16: * Boost Software License, Version 1.0. (See accompanying file Chris@16: * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: * Chris@16: */ Chris@16: Chris@16: /* Chris@16: * LOCATION: see http://www.boost.org for most recent version. Chris@16: * FILE boost/regex/config/borland.hpp Chris@16: * VERSION see Chris@16: * DESCRIPTION: regex borland-specific config setup. Chris@16: */ Chris@16: Chris@16: Chris@16: #if defined(__BORLANDC__) Chris@16: # if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551) Chris@16: // problems with std::basic_string and dll RTL: Chris@16: # if defined(_RTLDLL) && defined(_RWSTD_COMPILE_INSTANTIATE) Chris@16: # ifdef BOOST_REGEX_BUILD_DLL Chris@16: # error _RWSTD_COMPILE_INSTANTIATE must not be defined when building regex++ as a DLL Chris@16: # else Chris@16: # pragma message("Defining _RWSTD_COMPILE_INSTANTIATE when linking to the DLL version of the RTL may produce memory corruption problems in std::basic_string, as a result of separate versions of basic_string's static data in the RTL and you're exe/dll: be warned!!") Chris@16: # endif Chris@16: # endif Chris@16: # ifndef _RTLDLL Chris@16: // this is harmless for a staic link: Chris@16: # define _RWSTD_COMPILE_INSTANTIATE Chris@16: # endif Chris@16: // external templates cause problems for some reason: Chris@16: # define BOOST_REGEX_NO_EXTERNAL_TEMPLATES Chris@16: # endif Chris@16: # if (__BORLANDC__ <= 0x540) && !defined(BOOST_REGEX_NO_LIB) && !defined(_NO_VCL) Chris@16: // C++ Builder 4 and earlier, we can't tell whether we should be using Chris@16: // the VCL runtime or not, do a static link instead: Chris@16: # define BOOST_REGEX_STATIC_LINK Chris@16: # endif Chris@16: // Chris@16: // VCL support: Chris@16: // if we're building a console app then there can't be any VCL (can there?) Chris@16: # if !defined(__CONSOLE__) && !defined(_NO_VCL) Chris@16: # define BOOST_REGEX_USE_VCL Chris@16: # endif Chris@16: // Chris@16: // if this isn't Win32 then don't automatically select link Chris@16: // libraries: Chris@16: // Chris@16: # ifndef _Windows Chris@16: # ifndef BOOST_REGEX_NO_LIB Chris@16: # define BOOST_REGEX_NO_LIB Chris@16: # endif Chris@16: # ifndef BOOST_REGEX_STATIC_LINK Chris@16: # define BOOST_REGEX_STATIC_LINK Chris@16: # endif Chris@16: # endif Chris@16: Chris@16: #if __BORLANDC__ < 0x600 Chris@16: // Chris@16: // string workarounds: Chris@16: // Chris@16: #include Chris@16: #undef strcmp Chris@16: #undef strcpy Chris@16: #endif Chris@16: Chris@16: #endif Chris@16: Chris@16: