csutil/win32/csconfig-msvc.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 #ifdef _WIN64 00077 # define CS_PROCESSOR_SIZE 64 00078 #else 00079 # define CS_PROCESSOR_SIZE 32 00080 #endif 00081 00082 #define CS_LONG_SIZE 4 00083 00084 // MSVC int64 format specifiers, to be used with native formatting functions 00085 #if defined(CS_COMPILER_MSVC) 00086 #define PRId64 "I64d" 00087 #define PRIx64 "I64x" 00088 #define PRIu64 "I64u" 00089 #define PRIX64 "I64X" 00090 #endif 00091 00092 // --- Stuff that needs to go before *any* inclusion of VC standard headers: 00093 00094 #if defined(CS_COMPILER_MSVC) && (_MSC_VER >= 1400) 00095 # ifndef _CRT_SECURE_NO_DEPRECATE 00096 # define _CRT_SECURE_NO_DEPRECATE 00097 /* In VC8, a lot of CRT methods were marked "deprecated" b/c they're 00098 * deemed "insecure". Silence those warnings. 00099 * NB: This is here b/c it needs to be set before any standard headers 00100 * are included. */ 00101 # endif 00102 # ifndef _CRT_NONSTDC_NO_DEPRECATE 00103 # define _CRT_NONSTDC_NO_DEPRECATE /* Similar. */ 00104 # endif 00105 #endif 00106 00107 #if defined(CS_COMPILER_MSVC) && (CS_PROCESSOR_SIZE >= 64) 00108 /* x64 MSVC doesn't support MMX intrinsics - they compile fine but fail to 00109 link 00110 See e.g. http://msdn.microsoft.com/en-us/library/08x3t697.aspx */ 00111 #ifdef CS_SUPPORTS_MMX 00112 #undef CS_SUPPORTS_MMX 00113 #endif 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 // Check for support of nullptr 00122 #if defined(CS_COMPILER_MSVC) && defined(_MSC_VER) && (_MSC_VER >= 1600) 00123 #define CS_HAS_NULLPTR 00124 #endif 00125 00126 #endif // __CS_WIN32_CSCONFIG_H__
Generated for Crystal Space 2.0 by doxygen 1.6.1