AlterOffice
AlterOffice 3.4 SDK C/C++ API Reference
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
config.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 
3 
4 #ifndef INCLUDED_SAL_CONFIG_H
5 #define INCLUDED_SAL_CONFIG_H
6 
7 #if defined LIBO_INTERNAL_ONLY && defined ANDROID && defined __cplusplus
8 #include <android/compatibility.hxx>
9 #endif
10 
11 #ifdef _WIN32
12 #define SAL_W32
13 #define SAL_DLLEXTENSION ".dll"
14 #define SAL_EXEEXTENSION ".exe"
15 #define SAL_PATHSEPARATOR ';'
16 #define SAL_PATHDELIMITER '\\'
17 #define SAL_NEWLINE_STRING "\r\n"
18 #define SAL_CONFIGFILE(name) name ".ini"
19 
20 #ifdef _MSC_VER
21 
22 #ifndef _USE_MATH_DEFINES
23 #define _USE_MATH_DEFINES // needed by Visual C++ for math constants
24 #endif
25 
26 #endif /* defined _MSC_VER */
27 
28 #endif /* defined _WIN32 */
29 
30 #if defined(__sun) || defined(LINUX) || defined(NETBSD) || defined(FREEBSD) || defined(AIX) \
31  || defined(OPENBSD) || defined(DRAGONFLY) || defined(ANDROID) || defined(HAIKU)
32 #define SAL_UNX
33 #define SAL_DLLEXTENSION ".so"
34 #define SAL_EXEEXTENSION ""
35 #define SAL_DLLPREFIX "lib"
36 #define SAL_PATHSEPARATOR ':'
37 #define SAL_PATHDELIMITER '/'
38 #define SAL_NEWLINE_STRING "\n"
39 #define SAL_CONFIGFILE(name) name "rc"
40 #endif
41 
42 #ifdef MACOSX
43 #define SAL_UNX
44 #define SAL_DLLEXTENSION ".dylib"
45 #define SAL_EXEEXTENSION ""
46 #define SAL_DLLPREFIX "lib"
47 #define SAL_PATHSEPARATOR ':'
48 #define SAL_PATHDELIMITER '/'
49 #define SAL_NEWLINE_STRING "\n"
50 #define SAL_CONFIGFILE(name) name "rc"
51 #endif
52 
53 #ifdef IOS
54 #define SAL_UNX
55 /* SAL_DLLEXTENSION should not really be used on iOS, as iOS apps are
56  * not allowed to load own dynamic libraries.
57  */
58 #define SAL_DLLEXTENSION ".dylib"
59 #define SAL_DLLPREFIX "lib"
60 #define SAL_PATHSEPARATOR ':'
61 #define SAL_PATHDELIMITER '/'
62 #define SAL_NEWLINE_STRING "\n"
63 #define SAL_CONFIGFILE(name) name "rc"
64 #endif
65 
66 #ifdef EMSCRIPTEN
67 #define SAL_UNX
68 #define SAL_DLLEXTENSION ".bc"
69 #define SAL_EXEEXTENSION ""
70 #define SAL_DLLPREFIX "lib"
71 #define SAL_PATHSEPARATOR ':'
72 #define SAL_PATHDELIMITER '/'
73 #define SAL_NEWLINE_STRING "\n"
74 #define SAL_CONFIGFILE(name) name "rc"
75 #endif
76 
77 /* The following spell is for Solaris and its descendants.
78  * See the "Solaris" section of
79  * <http://sourceforge.net/p/predef/wiki/OperatingSystems/>, and
80  * <http://stackoverflow.com/questions/16618604/solaris-and-preprocessor-macros>.
81  */
82 #ifdef sun
83 #undef sun
84 #define sun sun
85 #endif
86 
87 #if defined __clang__
88 #if __has_warning("-Wpotentially-evaluated-expression")
89 #pragma GCC diagnostic ignored "-Wpotentially-evaluated-expression"
90 #endif
91 // Before fixing occurrences of this warning, lets see whether C++20 will still change to obsolete
92 // the warning (see
93 // <https://github.com/llvm/llvm-project/commit/974c8b7e2fde550fd87850d50695341101c38c2d> "[c++20]
94 // Add rewriting from comparison operators to <=> / =="):
95 #if __has_warning("-Wambiguous-reversed-operator")
96 #pragma GCC diagnostic ignored "-Wambiguous-reversed-operator"
97 #endif
98 #endif
99 
100 #endif // INCLUDED_SAL_CONFIG_H
101 
102 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */