qse/qse/include/qse/conf-msw.h
2012-12-06 13:02:46 +00:00

163 lines
4.4 KiB
C

/*
* $Id: conf_msw.h 561 2011-09-07 07:17:05Z hyunghwan.chung $
*
Copyright 2006-2012 Chung, Hyung-Hwan.
This file is part of QSE.
QSE is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
QSE is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with QSE. If not, see <http://www.gnu.org/licenses/>.
*/
/*
Macro Meaning
_WIN64 A 64-bit platform.
_WIN32 A 32-bit platform. This value is also defined by the 64-bit
compiler for backward compatibility.
_WIN16 A 16-bit platform
The following macros are specific to the architecture.
Macro Meaning
_M_IA64 Intel Itanium Processor Family
_M_IX86 x86 platform
_M_X64 x64 platform
*/
/* windows for most of non-x86 platforms dropped.
* make it selective to support old non-x86 windows platforms. */
#define QSE_ENDIAN_LITTLE
/*
* You must define which character type to use as a default character here.
*
* #define QSE_CHAR_IS_WCHAR
* #define QSE_CHAR_IS_MCHAR
*/
#if defined(__WATCOMC__)
# define QSE_SIZEOF_CHAR 1
# define QSE_SIZEOF_SHORT 2
# define QSE_SIZEOF_INT 4
# define QSE_SIZEOF_LONG 4
# define QSE_SIZEOF_LONG_LONG 8
# if defined(_WIN64)
# define QSE_SIZEOF_VOID_P 8
# else
# define QSE_SIZEOF_VOID_P 4
# endif
# define QSE_SIZEOF_FLOAT 4
# define QSE_SIZEOF_DOUBLE 8
# define QSE_SIZEOF_LONG_DOUBLE 8
# define QSE_SIZEOF_WCHAR_T 2
# define QSE_SIZEOF___INT8 1
# define QSE_SIZEOF___INT16 2
# define QSE_SIZEOF___INT32 4
# define QSE_SIZEOF___INT64 8
# define QSE_SIZEOF___INT128 0
# define QSE_SIZEOF_OFF64_T 0
# define QSE_SIZEOF_OFF_T 8
# define QSE_SIZEOF_MBSTATE_T QSE_SIZEOF_LONG
# define QSE_MBLEN_MAX 16
/* these two have only to be large enough */
# define QSE_SIZEOF_STRUCT_SOCKADDR_IN 32
# define QSE_SIZEOF_STRUCT_SOCKADDR_IN6 64
# define QSE_CHAR_IS_WCHAR 1
# undef QSE_ENABLE_BUNDLED_UNICODE
#elif defined(__GNUC__) || defined(__DMC__) || defined(__POCC__)
# define QSE_SIZEOF_CHAR 1
# define QSE_SIZEOF_SHORT 2
# define QSE_SIZEOF_INT 4
# define QSE_SIZEOF_LONG 4
# define QSE_SIZEOF_LONG_LONG 8
# if defined(_WIN64)
# define QSE_SIZEOF_VOID_P 8
# else
# define QSE_SIZEOF_VOID_P 4
# endif
# define QSE_SIZEOF_FLOAT 4
# define QSE_SIZEOF_DOUBLE 8
# define QSE_SIZEOF_LONG_DOUBLE 16
# define QSE_SIZEOF_WCHAR_T 2
# define QSE_SIZEOF___INT8 0
# define QSE_SIZEOF___INT16 0
# define QSE_SIZEOF___INT32 0
# define QSE_SIZEOF___INT64 0
# define QSE_SIZEOF___INT128 0
# define QSE_SIZEOF_OFF64_T 0
# define QSE_SIZEOF_OFF_T 8
# define QSE_SIZEOF_MBSTATE_T QSE_SIZEOF_LONG
# define QSE_MBLEN_MAX 16
/* these two have only to be large enough */
# define QSE_SIZEOF_STRUCT_SOCKADDR_IN 32
# define QSE_SIZEOF_STRUCT_SOCKADDR_IN6 64
# define QSE_CHAR_IS_WCHAR 1
# undef QSE_ENABLE_BUNDLED_UNICODE
#elif defined(_MSC_VER)
# define QSE_SIZEOF_CHAR 1
# define QSE_SIZEOF_SHORT 2
# define QSE_SIZEOF_INT 4
# define QSE_SIZEOF_LONG 4
# if (_MSC_VER>=1310)
# define QSE_SIZEOF_LONG_LONG 8
# else
# define QSE_SIZEOF_LONG_LONG 0
# endif
# if defined(_WIN64)
# define QSE_SIZEOF_VOID_P 8
# else
# define QSE_SIZEOF_VOID_P 4
# endif
# define QSE_SIZEOF_FLOAT 4
# define QSE_SIZEOF_DOUBLE 8
# define QSE_SIZEOF_LONG_DOUBLE 8
# define QSE_SIZEOF_WCHAR_T 2
# define QSE_SIZEOF___INT8 1
# define QSE_SIZEOF___INT16 2
# define QSE_SIZEOF___INT32 4
# define QSE_SIZEOF___INT64 8
# define QSE_SIZEOF___INT128 0
# define QSE_SIZEOF_OFF64_T 0
# define QSE_SIZEOF_OFF_T 8
# define QSE_SIZEOF_MBSTATE_T QSE_SIZEOF_LONG
# define QSE_MBLEN_MAX 8
/* these two have only to be large enough */
# define QSE_SIZEOF_STRUCT_SOCKADDR_IN 32
# define QSE_SIZEOF_STRUCT_SOCKADDR_IN6 64
# define QSE_CHAR_IS_WCHAR 1
# undef QSE_ENABLE_BUNDLED_UNICODE
#else
# error Define the size of various data types.
#endif
#include "conf-inf.h"