summaryrefslogtreecommitdiffstats
path: root/3rdparty/clucene/src/CLucene/config/CompilerGcc.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/clucene/src/CLucene/config/CompilerGcc.h')
-rw-r--r--3rdparty/clucene/src/CLucene/config/CompilerGcc.h175
1 files changed, 175 insertions, 0 deletions
diff --git a/3rdparty/clucene/src/CLucene/config/CompilerGcc.h b/3rdparty/clucene/src/CLucene/config/CompilerGcc.h
new file mode 100644
index 000000000..a9120988b
--- /dev/null
+++ b/3rdparty/clucene/src/CLucene/config/CompilerGcc.h
@@ -0,0 +1,175 @@
+/*------------------------------------------------------------------------------
+* 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.
+*
+* Changes are Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+------------------------------------------------------------------------------*/
+#if !defined(_lucene_COMPILER_GCC)
+#define _lucene_COMPILER_GCC
+
+// It is internal CLucene header - DO NOT include it directly
+#if !defined(_SUPPRESS_MAKE_BASED_CONFIG)
+ #if defined(_BUILD_FOR_QT_)
+ #include "fulltextsearch/qclucene-config_p.h"
+ #else
+ #include "CLucene/clucene-config.h" //make clucene-config.h file
+ #endif
+#endif
+
+#if defined(_ASCII)
+ #undef _UCS2
+#elif defined(_UCS2)
+//
+#else
+ #define CL_CHARSET_GUESS
+#endif
+
+//dont allow FS_MMAP if mmap is not available
+#if defined(LUCENE_FS_MMAP) && !defined(_CL_HAVE_MMAP)
+ #error "LUCENE_FS_MMAP is defined and MMap doesn't appear to be available"
+#endif
+
+#ifdef _CL_HAVE_NO_FUNCTION_TRY_BLOCKS
+ #undef _LUCENE_DISABLE_EXCEPTIONS
+ #define _LUCENE_DISABLE_EXCEPTIONS
+
+ #error "this is bad if you made it here... your compiler seems not to have try/catch blocks."
+ #error "maybe you could implement an alternative solution for us? :)"
+#endif
+
+#ifndef _CL_HAVE_NAMESPACES
+ #define DISABLE_NAMESPACE
+#endif
+
+#define CL_NS_HASHING(func) __gnu_cxx::func
+#define LUCENE_DISABLE_HASHING //we could enable this, but so far test show that the hashing is slower :(
+
+//define the file functions
+#define fileSeek lseek
+#define fileSize _filelength
+#define fileStat stat
+#define fileHandleStat fstat
+#ifdef _CL_HAVE_TELL
+ #define fileTell tell
+#else
+ //ftell (and probably soon ftell64) are POSIX standard functions, but tell and
+ //tell64 are not, so we define fileTell in terms of fileSeek.
+ #define fileTell(fhandle) fileSeek(fhandle, 0, SEEK_CUR)
+#endif
+
+//this is needed early on so that CL_MAX_PATH can be correctly determined
+//in the StdHeader.h. This was earlier causing problems with macosx.
+//:: crash was due to realpath() that expects an output arguments that
+//has at least the size of PATH_MAX (even if the result has a lower size)
+#include <limits.h>
+
+#ifndef _CL_HAVE_WCHAR_T
+ typedef unsigned short wchar_t;
+#endif
+
+#if defined(__CYGWIN__)
+ //cygwin seems to incorrectly define that it has wprintf???
+ #undef _CL_HAVE_WPRINTF
+#elif defined(__MINGW32__)
+ #ifndef _CL_HAVE_WINDOWS_H
+ #define _CL_HAVE_WINDOWS_H
+ #endif
+#endif
+
+
+///////////////////////////////////////////////////////////////////////////////
+//end _lucene_COMPILER_GCC1
+#elif !defined(_lucene_COMPILER_GCC2)
+#define _lucene_COMPILER_GCC2
+ //second inclusion
+
+ //types
+ #if defined(_CL_HAVE_SYS_TYPES_H)
+ #include <sys/types.h>
+ #endif
+ #if defined(_CL_HAVE_INTTYPES_H)
+ #include <inttypes.h>
+ #elif defined(_CL_HAVE_STDINT_H)
+ #include <stdint.h>
+ #else
+ #if _CL_SIZEOF_UNSIGNED_LONG_LONG==8
+ typedef unsigned long long uint64_t;
+ typedef long long int64_t;
+ #elif _CL_SIZEOF_UNSIGNED_LONG==8
+ typedef unsigned long uint64_t;
+ typedef long int64_t;
+ #else
+ #error I do not know what to use for a uint64_t.
+ #endif
+
+ /* Give us an unsigned 32-bit data type. */
+ #if _CL_SIZEOF_UNSIGNED_LONG==4
+ typedef unsigned long uint32_t;
+ typedef long int32_t;
+ #elif _CL_SIZEOF_UNSIGNED_INT==4
+ typedef unsigned int uint32_t;
+ typedef int int32_t;
+ #else
+ #error I do not know what to use for a uint32_t.
+ #endif
+
+ /* An unsigned 8-bit data type */
+ #if _CL_SIZEOF_UNSIGNED_CHAR==1
+ typedef unsigned char uint8_t;
+ #else
+ #error I do not know what to use for a uint8_t.
+ #endif
+ #endif
+
+ //second chance to fix default settings
+ //this must be defined later, otherwise it messes up
+ //the standard libraries
+ #if !defined(__MINGW32__)
+ #define _close ::close
+ #define _read ::read
+ #endif
+
+ //now that int64_t is defined, we can define this...
+ #ifndef _CL_HAVE_FILELENGTH
+ #undef fileSize
+ #define fileSize lucene_filelength
+ int64_t lucene_filelength(int handle);
+ #endif
+
+#elif !defined(_lucene_COMPILER_GCC3)
+#define _lucene_COMPILER_GCC3
+ //third inclusion
+
+ #if !defined(__MINGW32__)
+ //define replacements
+ #define O_RANDOM 0
+ #undef O_BINARY
+ #define O_BINARY 0
+ #define _S_IREAD 0444
+ #define _S_IWRITE 0333 // write and execute permissions
+
+ //some functions that are needed - not charset dependent and not tchar type functions
+ #define _open open
+ #define _write write
+ #define _snprintf snprintf
+
+ //clucene uses ascii for filename interactions
+ #define _realpath(rel,abs) realpath(rel,abs)
+ #define _mkdir(x) mkdir(x,0777)
+ #define _unlink unlink
+ #else
+ #define _realpath(rel,abs) _fullpath(abs,rel,CL_MAX_PATH)
+ #endif
+ //also required by mingw
+ #define _rename rename
+#endif
+
+#if defined(__GNUC__) && (defined(__sgi) || (defined(Q_OS_SOLARIS) && Q_SOLARIS_VERSION < 10))
+ #undef _CL_HAVE_FLOAT_T
+#endif
+
+#if defined(__GNUC__) && defined(Q_OS_SOLARIS) && Q_SOLARIS_VERSION < 10
+ #undef _CL_HAVE_WCSTOLL
+#endif