tesseract
3.03
|
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 #include <string.h> 00024 00025 #define DLLSYM 00026 #ifdef _WIN32 00027 #ifdef __GNUC__ 00028 #define ultoa _ultoa 00029 #endif /* __GNUC__ */ 00030 #define SIGNED 00031 #define snprintf _snprintf 00032 #if (_MSC_VER <= 1400) 00033 #define vsnprintf _vsnprintf 00034 #endif /* _WIN32 */ 00035 #else 00036 #define __UNIX__ 00037 #include <limits.h> 00038 #ifndef PATH_MAX 00039 #define MAX_PATH 4096 00040 #else 00041 #define MAX_PATH PATH_MAX 00042 #endif 00043 #define SIGNED signed 00044 #endif 00045 00046 #ifdef _WIN32 00047 #ifndef M_PI 00048 #define M_PI 3.14159265358979323846 00049 #endif 00050 #endif 00051 00052 #if defined(_WIN32) || defined(__CYGWIN__) 00053 #if defined(TESS_EXPORTS) 00054 #define TESS_API __declspec(dllexport) 00055 #elif defined(TESS_IMPORTS) 00056 #define TESS_API __declspec(dllimport) 00057 #else 00058 #define TESS_API 00059 #endif 00060 #define TESS_LOCAL 00061 #else 00062 #if __GNUC__ >= 4 00063 #if defined(TESS_EXPORTS) || defined(TESS_IMPORTS) 00064 #define TESS_API __attribute__ ((visibility ("default"))) 00065 #define TESS_LOCAL __attribute__ ((visibility ("hidden"))) 00066 #else 00067 #define TESS_API 00068 #define TESS_LOCAL 00069 #endif 00070 #else 00071 #define TESS_API 00072 #define TESS_LOCAL 00073 #endif 00074 #endif 00075 00076 #if defined(_WIN32) || defined(__CYGWIN__) 00077 #define _TESS_FILE_BASENAME_ \ 00078 (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__) 00079 #else // Unices 00080 #define _TESS_FILE_BASENAME_ \ 00081 (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) 00082 #endif 00083 00084 #endif // TESSERACT_CCUTIL_PLATFORM_H__