00001 /* sswf_config.h V1.0 -- written by Alexis WILKE for Made to Order Software Corp. (c) 2002-2009 */ 00002 #ifndef SSWF_CONFIG_H 00003 #define SSWF_CONFIG_H 00004 00005 /* 00006 00007 Copyright (c) 2002-2009 Made to Order Software Corp. 00008 00009 Permission is hereby granted, free of charge, to any 00010 person obtaining a copy of this software and 00011 associated documentation files (the "Software"), to 00012 deal in the Software without restriction, including 00013 without limitation the rights to use, copy, modify, 00014 merge, publish, distribute, sublicense, and/or sell 00015 copies of the Software, and to permit persons to whom 00016 the Software is furnished to do so, subject to the 00017 following conditions: 00018 00019 The above copyright notice and this permission notice 00020 shall be included in all copies or substantial 00021 portions of the Software. 00022 00023 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 00024 ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 00025 LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 00026 FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO 00027 EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 00028 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 00029 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 00030 ARISING FROM, OUT OF OR IN CONNECTION WITH THE 00031 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 00032 SOFTWARE. 00033 00034 */ 00035 00036 /** \file 00037 * 00038 * \brief This file defines configuration information 00039 * 00040 * The intend was to offer a way to configure the 00041 * library for different platform via this file. 00042 * 00043 * The reality is a bit more like defining different 00044 * types which can be used in the software whatever 00045 * the system in use is. 00046 */ 00047 00048 00049 #include "sswf/libsswf-version.h" 00050 00051 00052 /* 00053 * defines whether %lc in format string should use 00054 * wchar_t or wint_t (set to 0 or 1) 00055 */ 00056 #define USE_WCHAR_T 1 00057 00058 00059 /* 00060 * when the cbrt() isn't available, set the following 00061 * to zero 00062 */ 00063 #define HAS_CBRT 1 00064 00065 00066 /* 00067 * Apparently, MS-Windows doesn't offer a cbrt() [it's 00068 * probably well hidden] 00069 */ 00070 #ifdef _WIN32 00071 #undef HAS_CBRT 00072 #define HAS_CBRT 0 00073 #endif 00074 00075 00076 /* at this time we know that the cbrt() function 00077 * isn't directly available on MinGW 00078 */ 00079 #if defined(__MINGW32__) || defined(_MSVC) 00080 #undef HAS_CBRT 00081 #define HAS_CBRT 0 00082 #ifndef LITTLE_ENDIAN 00083 #define LITTLE_ENDIAN 0x03020100 00084 #endif 00085 #ifndef BIG_ENDIAN 00086 #define BIG_ENDIAN 0x00010203 00087 #endif 00088 #ifndef BYTE_ORDER 00089 // I assume little endian on MS-Windows! 00090 // This is balently wrong since it also runs on PowerPC, MIPS, etc. 00091 #define BYTE_ORDER LITTLE_ENDIAN 00092 #endif 00093 #endif 00094 00095 #if _MSVC 00096 typedef __int8 int8_t; 00097 typedef unsigned __int8 uint8_t; 00098 typedef __int16 int16_t; 00099 typedef unsigned __int16 uint16_t; 00100 typedef __int32 int32_t; 00101 typedef unsigned __int32 uint32_t; 00102 typedef __int64 int64_t; 00103 typedef unsigned __int64 uint64_t; 00104 #elif IRIX 00105 #include <inttypes.h> 00106 #else 00107 #include <stdint.h> 00108 #endif 00109 00110 #if USE_WCHAR_T 00111 typedef wchar_t wc_t; 00112 #else 00113 typedef wint_t wc_t; 00114 #endif 00115 00116 #if defined(_MSVC) 00117 #pragma warning(disable: 4996) 00118 #endif 00119 00120 #endif /* #ifndef SSWF_CONFIG_H */