Crystal Space: csutil/win32/csconfig.h Source File (Crystal Space Public API Reference)

| ## Public API Reference

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

- File List
- File Members

# csutil/win32/csconfig.h

    00001 /*
    00002     Copyright (C) 1998-2005 by Crystal Space Development Team
    00003
    00004     This library is free software; you can redistribute it and/or
    00005     modify it under the terms of the GNU Library General Public
    00006     License as published by the Free Software Foundation; either
    00007     version 2 of the License, or (at your option) any later version.
    00008
    00009     This library is distributed in the hope that it will be useful,
    00010     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00012     Library General Public License for more details.
    00013
    00014     You should have received a copy of the GNU Library General Public
    00015     License along with this library; if not, write to the Free
    00016     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    00017 */
    00018
    00019 /*
    00020   This header is used by CS_COMPILER_MSVC and CS_COMPILER_BCC for
    00021   CS_PLATFORM_WIN32 builds.  It is not used for CS_COMPILER_GCC builds since
    00022   GCC builds are performed using configuration information detected by the CS
    00023   configure script, which generates a suitable csconfig.h as output.
    00024 */
    00025 #ifndef __CS_WIN32_CSCONFIG_H__
    00026 #define __CS_WIN32_CSCONFIG_H__
    00027
    00028 #define CS_PACKAGE_NAME "crystalspace"
    00029
    00030 #define CS_PLATFORM_WIN32
    00031 #if !defined(CS_PLATFORM_NAME)
    00032 #  define CS_PLATFORM_NAME "Win32"
    00033 #endif
    00034
    00035 #define CS_PROCESSOR_X86
    00036 #if !defined(CS_PROCESSOR_NAME)
    00037 #  define CS_PROCESSOR_NAME "X86"
    00038 #endif
    00039
    00040 #if defined(__BORLANDC__)
    00041 #  define CS_COMPILER_BCC
    00042 #  if !defined(CS_COMPILER_NAME)
    00043 #    define CS_COMPILER_NAME "Borland"
    00044 #  endif
    00045 #  define CS_USE_CUSTOM_ISDIR
    00046 #elif defined(__MINGW32__) || defined(__CYGWIN32__)
    00047 #  define CS_COMPILER_GCC
    00048 #  if !defined(CS_COMPILER_NAME)
    00049 #    define CS_COMPILER_NAME "GCC"
    00050 #  endif
    00051 #else
    00052 #  define CS_COMPILER_MSVC
    00053 #  if !defined(CS_COMPILER_NAME)
    00054 #    define CS_COMPILER_NAME "VisualC"
    00055 #  endif
    00056 #endif
    00057
    00058 #if !defined (CS_COMPILER_GCC)
    00059 #  define CS_HAVE_MMX
    00060 #endif
    00061
    00062 #undef  CS_HAVE_SOCKLEN_T
    00063 #define CS_HAVE_MATH_H_FLOAT_FUNCS
    00064 #define CS_HAVE_WCHAR_H
    00065 #define CS_HAVE_WCHAR_T
    00066 #define CS_HAVE_WCSLEN
    00067 #define CS_WCHAR_T_SIZE 2
    00068
    00069 #if defined(CS_COMPILER_BCC)
    00070 #define CS_HAVE_STDINT_H
    00071 #define CS_HAVE_INTPTR_T
    00072 #endif
    00073
    00074 #define CS_EMBED_PLUGIN_META
    00075
    00076 //#define CS_BUILD_SHARED_LIBS
    00077
    00078 #ifdef _WIN64
    00079 #  define CS_PROCESSOR_SIZE 64
    00080 #else
    00081 #  define CS_PROCESSOR_SIZE 32
    00082 #endif
    00083
    00084 #define CS_LONG_SIZE 4
    00085
    00086 // MSVC int64 format specifiers, to be used with native formatting functions
    00087 #if defined(CS_COMPILER_MSVC)
    00088 #define PRId64 "I64d"
    00089 #define PRIx64 "I64x"
    00090 #define PRIu64 "I64u"
    00091 #define PRIX64 "I64X"
    00092 #endif
    00093
    00094 // MSVC has only _finite
    00095 #if defined(CS_COMPILER_MSVC)
    00096 #define CS_HAVE__FINITE
    00097 #endif
    00098
    00099 // --- Stuff that needs to go before *any* inclusion of VC standard headers:
    00100
    00101 #if defined(CS_COMPILER_MSVC) && (_MSC_VER >= 1400)
    00102 #  ifndef _CRT_SECURE_NO_DEPRECATE
    00103 #    define _CRT_SECURE_NO_DEPRECATE
    00104           /* In VC8, a lot of CRT methods were marked "deprecated" b/c they're
    00105            * deemed "insecure". Silence those warnings.
    00106            * NB: This is here b/c it needs to be set before any standard headers
    00107            * are included. */
    00108 #  endif
    00109 #  ifndef _CRT_NONSTDC_NO_DEPRECATE
    00110 #    define _CRT_NONSTDC_NO_DEPRECATE /* Similar.       */
    00111 #  endif
    00112 #  undef _SECURE_SCL
    00113 #  define _SECURE_SCL 0
    00114 #endif
    00115
    00116 // Check for support of native aligned allocation
    00117 #if defined(CS_COMPILER_MSVC) && defined(_MSC_VER) && (_MSC_VER >= 1300)
    00118   #define CS_HAVE__ALIGNED_MALLOC
    00119 #endif
    00120
    00121 #endif // __CS_WIN32_CSCONFIG_H__