/usr/src/packages/BUILD/libsmbios-2.2.27/src/include/smbios_c/config/suffix.h

Go to the documentation of this file.
00001 //  Boost config.h configuration header file  ------------------------------//
00002 
00003 //  (C) Copyright John Maddock 2001 - 2003.
00004 //  (C) Copyright Darin Adler 2001.
00005 //  (C) Copyright Peter Dimov 2001.
00006 //  (C) Copyright Bill Kempf 2002.
00007 //  (C) Copyright Jens Maurer 2002.
00008 //  (C) Copyright David Abrahams 2002 - 2003.
00009 //  (C) Copyright Gennaro Prota 2003.
00010 //  (C) Copyright Eric Friedman 2003.
00011 //  Use, modification and distribution are subject to the
00012 //  Boost Software License, Version 1.0. (See accompanying file
00013 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
00014 
00015 //  See http://www.boost.org for most recent version.
00016 
00017 //  Boost config.h policy and rationale documentation has been moved to
00018 //  http://www.boost.org/libs/config
00019 //
00020 //  This file is intended to be stable, and relatively unchanging.
00021 //  It should contain boilerplate code only - no compiler specific
00022 //  code unless it is unavoidable - no changes unless unavoidable.
00023 
00024 #ifndef LIBSMBIOS_C_CONFIG_SUFFIX_H
00025 #define LIBSMBIOS_C_CONFIG_SUFFIX_H
00026 
00027 //
00028 // look for long long by looking for the appropriate macros in <limits.h>.
00029 // Note that we use limits.h rather than climits for maximal portability,
00030 // remember that since these just declare a bunch of macros, there should be
00031 // no namespace issues from this.
00032 //
00033 #include <limits.h>
00034 # if !defined(LIBSMBIOS_C_HAS_LONG_LONG)                                              \
00035    && !(defined(LIBSMBIOS_C_MSVC) && LIBSMBIOS_C_MSVC <=1300) && !defined(__BORLANDC__)     \
00036    && (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
00037 #  define LIBSMBIOS_C_HAS_LONG_LONG
00038 #endif
00039 #if !defined(LIBSMBIOS_C_HAS_LONG_LONG) && !defined(LIBSMBIOS_C_NO_INTEGRAL_INT64_T)
00040 #  define LIBSMBIOS_C_NO_INTEGRAL_INT64_T
00041 #endif
00042 
00043 // GCC 3.x will clean up all of those nasty macro definitions that
00044 // LIBSMBIOS_C_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine
00045 // it under GCC 3.x.
00046 #if defined(__GNUC__) && (__GNUC__ >= 3) && defined(LIBSMBIOS_C_NO_CTYPE_FUNCTIONS)
00047 #  undef LIBSMBIOS_C_NO_CTYPE_FUNCTIONS
00048 #endif
00049 
00050 
00051 
00052 //
00053 // We can't have a <cwctype> if there is no <cwchar>:
00054 //
00055 #  if defined(LIBSMBIOS_C_NO_CWCHAR) && !defined(LIBSMBIOS_C_NO_CWCTYPE)
00056 #     define LIBSMBIOS_C_NO_CWCTYPE
00057 #  endif
00058 
00059 //
00060 // We can't have a swprintf if there is no <cwchar>:
00061 //
00062 #  if defined(LIBSMBIOS_C_NO_CWCHAR) && !defined(LIBSMBIOS_C_NO_SWPRINTF)
00063 #     define LIBSMBIOS_C_NO_SWPRINTF
00064 #  endif
00065 
00066 //
00067 // If Win32 support is turned off, then we must turn off
00068 // threading support also, unless there is some other
00069 // thread API enabled:
00070 //
00071 #if defined(LIBSMBIOS_C_DISABLE_WIN32) && defined(_WIN32) \
00072    && !defined(LIBSMBIOS_C_DISABLE_THREADS) && !defined(LIBSMBIOS_C_HAS_PTHREADS)
00073 #  define LIBSMBIOS_C_DISABLE_THREADS
00074 #endif
00075 
00076 //
00077 // Turn on threading support if the compiler thinks that it's in
00078 // multithreaded mode.  We put this here because there are only a
00079 // limited number of macros that identify this (if there's any missing
00080 // from here then add to the appropriate compiler section):
00081 //
00082 #if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \
00083     || defined(_PTHREADS)) && !defined(LIBSMBIOS_C_HAS_THREADS)
00084 #  define LIBSMBIOS_C_HAS_THREADS
00085 #endif
00086 
00087 //
00088 // Turn threading support off if LIBSMBIOS_C_DISABLE_THREADS is defined:
00089 //
00090 #if defined(LIBSMBIOS_C_DISABLE_THREADS) && defined(LIBSMBIOS_C_HAS_THREADS)
00091 #  undef LIBSMBIOS_C_HAS_THREADS
00092 #endif
00093 
00094 //
00095 // Turn threading support off if we don't recognise the threading API:
00096 //
00097 #if defined(LIBSMBIOS_C_HAS_THREADS) && !defined(LIBSMBIOS_C_HAS_PTHREADS)\
00098       && !defined(LIBSMBIOS_C_HAS_WINTHREADS) && !defined(LIBSMBIOS_C_HAS_BETHREADS)\
00099       && !defined(LIBSMBIOS_C_HAS_MPTASKS)
00100 #  undef LIBSMBIOS_C_HAS_THREADS
00101 #endif
00102 
00103 //
00104 // Turn threading detail macros off if we don't (want to) use threading
00105 //
00106 #ifndef LIBSMBIOS_C_HAS_THREADS
00107 #  undef LIBSMBIOS_C_HAS_PTHREADS
00108 #  undef LIBSMBIOS_C_HAS_PTHREAD_MUTEXATTR_SETTYPE
00109 #  undef LIBSMBIOS_C_HAS_WINTHREADS
00110 #  undef LIBSMBIOS_C_HAS_BETHREADS
00111 #  undef LIBSMBIOS_C_HAS_MPTASKS
00112 #endif
00113 
00114 //
00115 // If the compiler claims to be C99 conformant, then it had better
00116 // have a <stdint.h>:
00117 //
00118 #  if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
00119 #     define LIBSMBIOS_C_HAS_STDINT_H
00120 #  endif
00121 
00122 
00123 //  LIBSMBIOS_C_HAS_ABI_HEADERS
00124 //  This macro gets set if we have headers that fix the ABI,
00125 //  and prevent ODR violations when linking to external libraries:
00126 #if defined(LIBSMBIOS_C_ABI_PREFIX) && defined(LIBSMBIOS_C_ABI_SUFFIX) && !defined(LIBSMBIOS_C_HAS_ABI_HEADERS)
00127 #  define LIBSMBIOS_C_HAS_ABI_HEADERS
00128 #endif
00129 
00130 #if defined(LIBSMBIOS_C_HAS_ABI_HEADERS) && defined(LIBSMBIOS_C_DISABLE_ABI_HEADERS)
00131 #  undef LIBSMBIOS_C_HAS_ABI_HEADERS
00132 #endif
00133 
00134 
00135 
00136 // LIBSMBIOS_C_UNREACHABLE_RETURN(x) workaround -------------------------------------//
00137 // Normally evaluates to nothing, unless LIBSMBIOS_C_NO_UNREACHABLE_RETURN_DETECTION
00138 // is defined, in which case it evaluates to return x; Use when you have a return
00139 // statement that can never be reached.
00140 
00141 #ifdef LIBSMBIOS_C_NO_UNREACHABLE_RETURN_DETECTION
00142 #  define LIBSMBIOS_C_UNREACHABLE_RETURN(x) return x;
00143 #else
00144 #  define LIBSMBIOS_C_UNREACHABLE_RETURN(x)
00145 #endif
00146 
00147 
00148 // ---------------------------------------------------------------------------//
00149 
00150 //
00151 // Helper macro LIBSMBIOS_C_STRINGIZE:
00152 // Converts the parameter X to a string after macro replacement
00153 // on X has been performed.
00154 //
00155 #define LIBSMBIOS_C_STRINGIZE(X) LIBSMBIOS_C_DO_STRINGIZE(X)
00156 #define LIBSMBIOS_C_DO_STRINGIZE(X) #X
00157 
00158 //
00159 // Helper macro LIBSMBIOS_C_JOIN:
00160 // The following piece of macro magic joins the two
00161 // arguments together, even when one of the arguments is
00162 // itself a macro (see 16.3.1 in C++ standard).  The key
00163 // is that macro expansion of macro arguments does not
00164 // occur in LIBSMBIOS_C_DO_JOIN2 but does in LIBSMBIOS_C_DO_JOIN.
00165 //
00166 #define LIBSMBIOS_C_JOIN( X, Y ) LIBSMBIOS_C_DO_JOIN( X, Y )
00167 #define LIBSMBIOS_C_DO_JOIN( X, Y ) LIBSMBIOS_C_DO_JOIN2(X,Y)
00168 #define LIBSMBIOS_C_DO_JOIN2( X, Y ) X##Y
00169 
00170 //
00171 // Set some default values for compiler/library/platform names.
00172 // These are for debugging config setup only:
00173 //
00174 #  ifndef LIBSMBIOS_C_COMPILER
00175 #     define LIBSMBIOS_C_COMPILER "Unknown ISO C++ Compiler"
00176 #  endif
00177 #  ifndef LIBSMBIOS_C_STDLIB
00178 #     define LIBSMBIOS_C_STDLIB "Unknown ISO standard library"
00179 #  endif
00180 #  ifndef LIBSMBIOS_C_PLATFORM
00181 #     if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \
00182          || defined(_POSIX_SOURCE)
00183 #        define LIBSMBIOS_C_PLATFORM "Generic Unix"
00184 #     else
00185 #        define LIBSMBIOS_C_PLATFORM "Unknown"
00186 #     endif
00187 #  endif
00188 
00189 #endif
00190 
00191 
00192 

Generated on Fri Apr 29 20:53:54 2011 for libsmbios_c library by  doxygen 1.4.6