tesseract  v4.0.0-17-g361f3264
Open Source OCR Engine
platform.h
1 // File: platform.h
3 // Description: Place holder
4 // Author:
5 // Created:
6 //
7 // (C) Copyright 2006, Google Inc.
8 // Licensed under the Apache License, Version 2.0 (the "License");
9 // you may not use this file except in compliance with the License.
10 // You may obtain a copy of the License at
11 // http://www.apache.org/licenses/LICENSE-2.0
12 // Unless required by applicable law or agreed to in writing, software
13 // distributed under the License is distributed on an "AS IS" BASIS,
14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 // See the License for the specific language governing permissions and
16 // limitations under the License.
17 //
19 
20 #ifndef TESSERACT_CCUTIL_PLATFORM_H_
21 #define TESSERACT_CCUTIL_PLATFORM_H_
22 
23 #define DLLSYM
24 #ifdef _WIN32
25 #ifndef NOMINMAX
26 #define NOMINMAX
27 #endif /* NOMINMAX */
28 #ifndef WIN32_LEAN_AND_MEAN
29 #define WIN32_LEAN_AND_MEAN
30 #endif
31 #ifdef __GNUC__
32 #define ultoa _ultoa
33 #endif /* __GNUC__ */
34 #define SIGNED
35 #else
36 #ifdef __cplusplus
37 #include <climits>
38 #else /* C compiler*/
39 #include <limits.h>
40 #endif /* __cplusplus */
41 #ifndef PATH_MAX
42 #define MAX_PATH 4096
43 #else
44 #define MAX_PATH PATH_MAX
45 #endif
46 #define SIGNED signed
47 #endif
48 
49 #if defined(_WIN32) || defined(__CYGWIN__)
50 #ifndef M_PI
51 #define M_PI 3.14159265358979323846
52 #endif
53 #endif
54 
55 #if defined(_WIN32) || defined(__CYGWIN__)
56  #if defined(TESS_EXPORTS)
57  #define TESS_API __declspec(dllexport)
58  #elif defined(TESS_IMPORTS)
59  #define TESS_API __declspec(dllimport)
60  #else
61  #define TESS_API
62  #endif
63  #define TESS_LOCAL
64 #else
65  #if __GNUC__ >= 4
66  #if defined(TESS_EXPORTS) || defined(TESS_IMPORTS)
67  #define TESS_API __attribute__ ((visibility ("default")))
68  #define TESS_LOCAL __attribute__ ((visibility ("hidden")))
69  #else
70  #define TESS_API
71  #define TESS_LOCAL
72  #endif
73  #else
74  #define TESS_API
75  #define TESS_LOCAL
76  #endif
77 #endif
78 
79 #endif // TESSERACT_CCUTIL_PLATFORM_H_