summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/clucene/src/CLucene/config/define_std.h
blob: 22a0790530ec1480b478ffbfe745adc85c230168 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/*------------------------------------------------------------------------------
* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
* 
* Distributable under the terms of either the Apache License (Version 2.0) or 
* the GNU Lesser General Public License, as specified in the COPYING file.
------------------------------------------------------------------------------*/
#ifndef lucene_define_std
#define lucene_define_std
//define a standard list of defines. 
//These defines represents a fairly complete compiler.
//Of course it is preferable to use the autoconf generated
//list, but then not all systems can do this :)

//we support long files - 64 bit file functions
#define _LARGE_FILES

//support namespaces
#define _CL_HAVE_NAMESPACES

//support try/catch blocks
#define _CL_HAVE_FUNCTION_TRY_BLOCKS

//the normal headers
#define _CL_STDC_HEADERS
#define _CL_HAVE_STDARG_H
#define _CL_HAVE_ALGORITHM
#define _CL_HAVE_FUNCTIONAL
#define _CL_HAVE_MATH_H
#define _CL_HAVE_STL
#define _CL_HAVE_HASH_MAP
#define _CL_HAVE_HASH_SET
#define _CL_HAVE_MAP
#define _CL_HAVE_SET
#define _CL_HAVE_LIST
#define _CL_HAVE_VECTOR
#define _CL_HAVE_STDEXCEPT
#define _CL_HAVE_ERRNO_H
#define _CL_HAVE_SYS_STAT_H
#define _CL_HAVE_FCNTL_H

//character & std tchar support
#define _CL_HAVE_TCHAR_H
#ifdef _UCS2
	#define _CL_HAVE_WCTYPE_H

	#define _CL_HAVE_WCSCPY
	#define _CL_HAVE_WCSNCPY
	#define _CL_HAVE_WCSCAT
	#define _CL_HAVE_WCSCHR
	#define _CL_HAVE_WCSSTR
	#define _CL_HAVE_WCSLEN
	#define _CL_HAVE_WCSCMP
	#define _CL_HAVE_WCSNCMP
	#define _CL_HAVE_WCSCSPN
#else
	#define _CL_HAVE_CTYPE_H
#endif

//already have the normal structures
#define _CL_HAVE_FLOAT_T
#define _CL_HAVE_INTPTR_T

//system dependant:
#define _CL_HAVE_STRING_H //could be HAVE_STRINGS_H && HAVE_STRCHR
#define _CL_HAVE_SYS_TIMEB_H
#define _CL_HAVE_TIME_H

#if defined (_WIN32) || defined (__WIN32) || defined (WIN32) || defined (__WIN32__)
    #define _CL_HAVE_IO_H
    #define _CL_HAVE_DIRECT_H
    #define _CL_HAVE_WINDOWS_H
#else
    #define _CL_HAVE_UNISTD_H
#endif
#ifdef UNDER_CE
#undef _CL_HAVE_SYS_TIMEB_H
#endif

////////////////////////////////////////////////
//now for individual functions. some compilers
//miss these, so must individually define what
//we have
////////////////////////////////////////////////

//string functions
#define _CL_HAVE_STRLWR
#define _CL_HAVE_WCSLWR
#define _CL_HAVE_WCSCASECMP
#define _CL_HAVE_STRCASECMP

//formatting functions
#define _CL_HAVE_SNWPRINTF
#define _CL_HAVE_VSNWPRINTF
#define _CL_HAVE_WPRINTF
#define _CL_HAVE_SNPRINTF
#define _CL_HAVE_PRINTF


//conversion functions
#define _CL_HAVE_STRTOLL
#define _CL_HAVE_WCSTOLL
#define _CL_HAVE_WCSTOD
#define _CL_HAVE_LLTOA
#define _CL_HAVE_LLTOW
#define _CL_HAVE_INTPTR_T

//these ones are not standard (msvc)
//so you will probably need to undefine
//if you are not using msvc
#define _CL_HAVE_FILELENGTH


#endif