CppUnit project page | FAQ | CppUnit home page

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# Portability.h

Go to the documentation of this file.

    00001 #ifndef CPPUNIT_PORTABILITY_H
    00002 #define CPPUNIT_PORTABILITY_H
    00003
    00004 #if defined(_WIN32) && !defined(WIN32)
    00005 # define WIN32 1
    00006 #endif
    00007
    00008 /* include platform specific config */
    00009 #if defined(__BORLANDC__)
    00010 #  include <cppunit/config/config-bcb5.h>
    00011 #elif defined (_MSC_VER)
    00012 #  if _MSC_VER == 1200 && defined(_WIN32_WCE) //evc4
    00013 #    include <cppunit/config/config-evc4.h>
    00014 #  else
    00015 #    include <cppunit/config/config-msvc6.h>
    00016 #  endif
    00017 #else
    00018 #    include <cppunit/config-auto.h>
    00019 #endif
    00020
    00021 // Version number of package
    00022 #ifndef CPPUNIT_VERSION
    00023 #define CPPUNIT_VERSION  "1.12.0"
    00024 #endif
    00025
    00026 #include <cppunit/config/CppUnitApi.h>    // define CPPUNIT_API & CPPUNIT_NEED_DLL_DECL
    00027 #include <cppunit/config/SelectDllLoader.h>
    00028
    00029
    00030 /* Options that the library user may switch on or off.
    00031  * If the user has not done so, we chose default values.
    00032  */
    00033
    00034
    00035 /* Define to 1 if you wish to have the old-style macros
    00036    assert(), assertEqual(), assertDoublesEqual(), and assertLongsEqual() */
    00037 #if !defined(CPPUNIT_ENABLE_NAKED_ASSERT)
    00038 # define CPPUNIT_ENABLE_NAKED_ASSERT          0
    00039 #endif
    00040
    00041 /* Define to 1 if you wish to have the old-style CU_TEST family
    00042    of macros. */
    00043 #if !defined(CPPUNIT_ENABLE_CU_TEST_MACROS)
    00044 # define CPPUNIT_ENABLE_CU_TEST_MACROS        0
    00045 #endif
    00046
    00047 /* Define to 1 if the preprocessor expands (#foo) to "foo" (quotes incl.)
    00048    I don't think there is any C preprocess that does NOT support this! */
    00049 #if !defined(CPPUNIT_HAVE_CPP_SOURCE_ANNOTATION)
    00050 # define CPPUNIT_HAVE_CPP_SOURCE_ANNOTATION   1
    00051 #endif
    00052
    00053 /* Assumes that STL and CppUnit are in global space if the compiler does not
    00054    support namespace. */
    00055 #if !defined(CPPUNIT_HAVE_NAMESPACES)
    00056 # if !defined(CPPUNIT_NO_NAMESPACE)
    00057 #  define CPPUNIT_NO_NAMESPACE 1
    00058 # endif // !defined(CPPUNIT_NO_NAMESPACE)
    00059 # if !defined(CPPUNIT_NO_STD_NAMESPACE)
    00060 #  define CPPUNIT_NO_STD_NAMESPACE 1
    00061 # endif // !defined(CPPUNIT_NO_STD_NAMESPACE)
    00062 #endif // !defined(CPPUNIT_HAVE_NAMESPACES)
    00063
    00064 /* Define CPPUNIT_STD_NEED_ALLOCATOR to 1 if you need to specify
    00065  * the allocator you used when instantiating STL container. Typically
    00066  * used for compilers that do not support template default parameter.
    00067  * CPPUNIT_STD_ALLOCATOR will be used as the allocator. Default is
    00068  * std::allocator. On some compilers, you may need to change this to
    00069  * std::allocator<T>.
    00070  */
    00071 #if CPPUNIT_STD_NEED_ALLOCATOR
    00072 # if !defined(CPPUNIT_STD_ALLOCATOR)
    00073 #  define CPPUNIT_STD_ALLOCATOR std::allocator
    00074 # endif // !defined(CPPUNIT_STD_ALLOCATOR)
    00075 #endif // defined(CPPUNIT_STD_NEED_ALLOCATOR)
    00076
    00077
    00078 // Compiler error location format for CompilerOutputter
    00079 // If not define, assumes that it's gcc
    00080 // See class CompilerOutputter for format.
    00081 #if !defined(CPPUNIT_COMPILER_LOCATION_FORMAT)
    00082 #if defined(__GNUC__) && ( defined(__APPLE_CPP__) || defined(__APPLE_CC__) )
    00083 // gcc/Xcode integration on Mac OS X
    00084 # define CPPUNIT_COMPILER_LOCATION_FORMAT "%p:%l: "
    00085 #else
    00086 # define CPPUNIT_COMPILER_LOCATION_FORMAT "%f:%l:"
    00087 #endif
    00088 #endif
    00089
    00090 // If CPPUNIT_HAVE_CPP_CAST is defined, then c++ style cast will be used,
    00091 // otherwise, C style cast are used.
    00092 #if defined( CPPUNIT_HAVE_CPP_CAST )
    00093 # define CPPUNIT_CONST_CAST( TargetType, pointer ) \
    00094     const_cast<TargetType>( pointer )
    00095
    00096 # define CPPUNIT_STATIC_CAST( TargetType, pointer ) \
    00097     static_cast<TargetType>( pointer )
    00098 #else // defined( CPPUNIT_HAVE_CPP_CAST )
    00099 # define CPPUNIT_CONST_CAST( TargetType, pointer ) \
    00100     ((TargetType)( pointer ))
    00101 # define CPPUNIT_STATIC_CAST( TargetType, pointer ) \
    00102     ((TargetType)( pointer ))
    00103 #endif // defined( CPPUNIT_HAVE_CPP_CAST )
    00104
    00105 // If CPPUNIT_NO_STD_NAMESPACE is defined then STL are in the global space.
    00106 // => Define macro 'std' to nothing
    00107 #if defined(CPPUNIT_NO_STD_NAMESPACE)
    00108 # undef std
    00109 # define std
    00110 #endif  // defined(CPPUNIT_NO_STD_NAMESPACE)
    00111
    00112 // If CPPUNIT_NO_NAMESPACE is defined, then put CppUnit classes in the
    00113 // global namespace: the compiler does not support namespace.
    00114 #if defined(CPPUNIT_NO_NAMESPACE)
    00115 # define CPPUNIT_NS_BEGIN
    00116 # define CPPUNIT_NS_END
    00117 # define CPPUNIT_NS
    00118 #else   // defined(CPPUNIT_NO_NAMESPACE)
    00119 # define CPPUNIT_NS_BEGIN namespace CppUnit {
    00120 # define CPPUNIT_NS_END }
    00121 # define CPPUNIT_NS CppUnit
    00122 #endif  // defined(CPPUNIT_NO_NAMESPACE)
    00123
    00134 #define CPPUNIT_STRINGIZE( symbol ) _CPPUNIT_DO_STRINGIZE( symbol )
    00135
    00137 #define _CPPUNIT_DO_STRINGIZE( symbol ) #symbol
    00138
    00157 #define CPPUNIT_JOIN( symbol1, symbol2 ) _CPPUNIT_DO_JOIN( symbol1, symbol2 )
    00158
    00160 #define _CPPUNIT_DO_JOIN( symbol1, symbol2 ) _CPPUNIT_DO_JOIN2( symbol1, symbol2 )
    00161
    00163 #define _CPPUNIT_DO_JOIN2( symbol1, symbol2 ) symbol1##symbol2
    00164
    00169 #define CPPUNIT_MAKE_UNIQUE_NAME( prefix ) CPPUNIT_JOIN( prefix, __LINE__ )
    00170
    00173 #if !defined(CPPUNIT_WRAP_COLUMN)
    00174 # define CPPUNIT_WRAP_COLUMN 79
    00175 #endif
    00176
    00177 #endif // CPPUNIT_PORTABILITY_H

| hosts this site. |  | Send comments to: CppUnit Developers