Tesseract
3.02
|
00001 00002 // File: platform.h 00003 // Description: Place holder 00004 // Author: 00005 // Created: 00006 // 00007 // (C) Copyright 2006, Google Inc. 00008 // Licensed under the Apache License, Version 2.0 (the "License"); 00009 // you may not use this file except in compliance with the License. 00010 // You may obtain a copy of the License at 00011 // http://www.apache.org/licenses/LICENSE-2.0 00012 // Unless required by applicable law or agreed to in writing, software 00013 // distributed under the License is distributed on an "AS IS" BASIS, 00014 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 // See the License for the specific language governing permissions and 00016 // limitations under the License. 00017 // 00019 00020 #ifndef TESSERACT_CCUTIL_PLATFORM_H__ 00021 #define TESSERACT_CCUTIL_PLATFORM_H__ 00022 00023 #define DLLSYM 00024 #ifdef _WIN32 00025 #ifdef __GNUC__ 00026 #define ultoa _ultoa 00027 typedef struct _BLOB { 00028 unsigned int cbSize; 00029 char *pBlobData; 00030 } BLOB, *LPBLOB; 00031 #endif /* __GNUC__ */ 00032 #define SIGNED 00033 #define snprintf _snprintf 00034 #if (_MSC_VER <= 1400) 00035 #define vsnprintf _vsnprintf 00036 #endif /* _WIN32 */ 00037 #else 00038 #define __UNIX__ 00039 #include <limits.h> 00040 #ifndef PATH_MAX 00041 #define MAX_PATH 4096 00042 #else 00043 #define MAX_PATH PATH_MAX 00044 #endif 00045 #define SIGNED signed 00046 #endif 00047 00048 #if defined(_WIN32) || defined(__CYGWIN__) 00049 #if defined(TESS_EXPORTS) 00050 #define TESS_API __declspec(dllexport) 00051 #elif defined(TESS_IMPORTS) 00052 #define TESS_API __declspec(dllimport) 00053 #else 00054 #define TESS_API 00055 #endif 00056 #define TESS_LOCAL 00057 #else 00058 #if __GNUC__ >= 4 00059 #if defined(TESS_EXPORTS) || defined(TESS_IMPORTS) 00060 #define TESS_API __attribute__ ((visibility ("default"))) 00061 #define TESS_LOCAL __attribute__ ((visibility ("hidden"))) 00062 #else 00063 #define TESS_API 00064 #define TESS_LOCAL 00065 #endif 00066 #else 00067 #define TESS_API 00068 #define TESS_LOCAL 00069 #endif 00070 #endif 00071 00072 #endif // TESSERACT_CCUTIL_PLATFORM_H__