imgtools/imglib/boostlibrary/boost/regex/config/borland.hpp
changeset 600 6d08f4a05d93
equal deleted inserted replaced
599:fa7a3cc6effd 600:6d08f4a05d93
       
     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