source: NonGTP/Boost/boost/regex/config/borland.hpp @ 857

Revision 857, 2.3 KB checked in by igarcia, 18 years ago (diff)
Line 
1/*
2 *
3 * Copyright (c) 1998-2002
4 * John Maddock
5 *
6 * Use, modification and distribution are subject to the
7 * Boost Software License, Version 1.0. (See accompanying file
8 * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9 *
10 */
11 
12 /*
13  *   LOCATION:    see http://www.boost.org for most recent version.
14  *   FILE         boost/regex/config/borland.hpp
15  *   VERSION      see <boost/version.hpp>
16  *   DESCRIPTION: regex borland-specific config setup.
17  */
18
19
20#if defined(__BORLANDC__)
21#  if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551)
22      // problems with std::basic_string and dll RTL:
23#     if defined(_RTLDLL) && defined(_RWSTD_COMPILE_INSTANTIATE)
24#        ifdef BOOST_REGEX_BUILD_DLL
25#           error _RWSTD_COMPILE_INSTANTIATE must not be defined when building regex++ as a DLL
26#        else
27#           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!!")
28#        endif
29#     endif
30#     ifndef _RTLDLL
31         // this is harmless for a staic link:
32#        define _RWSTD_COMPILE_INSTANTIATE
33#     endif
34      // external templates cause problems for some reason:
35#     define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
36#  endif
37#  if (__BORLANDC__ <= 0x540) && !defined(BOOST_REGEX_NO_LIB) && !defined(_NO_VCL)
38      // C++ Builder 4 and earlier, we can't tell whether we should be using
39      // the VCL runtime or not, do a static link instead:
40#     define BOOST_REGEX_STATIC_LINK
41#  endif
42   //
43   // VCL support:
44   // if we're building a console app then there can't be any VCL (can there?)
45#  if !defined(__CONSOLE__) && !defined(_NO_VCL)
46#     define BOOST_REGEX_USE_VCL
47#  endif
48   //
49   // if this isn't Win32 then don't automatically select link
50   // libraries:
51   //
52#  ifndef _Windows
53#     ifndef BOOST_REGEX_NO_LIB
54#        define BOOST_REGEX_NO_LIB
55#     endif
56#     ifndef BOOST_REGEX_STATIC_LINK
57#        define BOOST_REGEX_STATIC_LINK
58#     endif
59#  endif
60
61#if __BORLANDC__ < 0x600
62//
63// string workarounds:
64//
65#include <cstring>
66#undef strcmp
67#undef strcpy
68#endif
69
70#endif
71
72
Note: See TracBrowser for help on using the repository browser.