tesseract  3.03
/usr/local/google/home/jbreiden/tesseract-ocr-read-only/ccutil/platform.h
Go to the documentation of this file.
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__
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines