xref: /aoo4110/main/sal/inc/sal/config.h (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski 
24*b1cdbd2cSJim Jagielski #ifndef _SAL_CONFIG_H_
25*b1cdbd2cSJim Jagielski #define _SAL_CONFIG_H_
26*b1cdbd2cSJim Jagielski 
27*b1cdbd2cSJim Jagielski #ifdef __cplusplus
28*b1cdbd2cSJim Jagielski extern "C" {
29*b1cdbd2cSJim Jagielski #endif
30*b1cdbd2cSJim Jagielski 
31*b1cdbd2cSJim Jagielski #ifdef __cplusplus
32*b1cdbd2cSJim Jagielski }
33*b1cdbd2cSJim Jagielski #endif
34*b1cdbd2cSJim Jagielski 
35*b1cdbd2cSJim Jagielski #ifndef INCLUDED_STDLIB_H
36*b1cdbd2cSJim Jagielski #include <stdlib.h>
37*b1cdbd2cSJim Jagielski #define INCLUDED_STDLIB_H
38*b1cdbd2cSJim Jagielski #endif
39*b1cdbd2cSJim Jagielski 
40*b1cdbd2cSJim Jagielski #ifdef WIN32
41*b1cdbd2cSJim Jagielski #define SAL_W32
42*b1cdbd2cSJim Jagielski #define SAL_DLLEXTENSION ".dll"
43*b1cdbd2cSJim Jagielski #define SAL_PRGEXTENSION ".exe"
44*b1cdbd2cSJim Jagielski #define SAL_PATHSEPARATOR ';'
45*b1cdbd2cSJim Jagielski #define SAL_PATHDELIMITER '\\'
46*b1cdbd2cSJim Jagielski #define SAL_CONFIGFILE( name ) name ".ini"
47*b1cdbd2cSJim Jagielski #define SAL_SYSCONFIGFILE( name ) name ".ini"
48*b1cdbd2cSJim Jagielski 
49*b1cdbd2cSJim Jagielski #ifdef _MSC_VER
50*b1cdbd2cSJim Jagielski 
51*b1cdbd2cSJim Jagielski #ifndef _USE_MATH_DEFINES
52*b1cdbd2cSJim Jagielski #define _USE_MATH_DEFINES // needed by Visual C++ for math constants
53*b1cdbd2cSJim Jagielski #endif
54*b1cdbd2cSJim Jagielski 
55*b1cdbd2cSJim Jagielski /* warnings ought to be disabled using /wd:n option of msvc.net compiler */
56*b1cdbd2cSJim Jagielski #if _MSC_VER < 1300
57*b1cdbd2cSJim Jagielski /* no performance warning: int to bool */
58*b1cdbd2cSJim Jagielski #pragma warning( disable : 4800 )
59*b1cdbd2cSJim Jagielski 
60*b1cdbd2cSJim Jagielski /* No warning for: C++ Exception Specification ignored */
61*b1cdbd2cSJim Jagielski #pragma warning( disable : 4290 )
62*b1cdbd2cSJim Jagielski 
63*b1cdbd2cSJim Jagielski #if OSL_DEBUG_LEVEL > 0
64*b1cdbd2cSJim Jagielski /* No warning for: identifier was truncated to '255' characters in the browser information */
65*b1cdbd2cSJim Jagielski #pragma warning( disable : 4786 )
66*b1cdbd2cSJim Jagielski #endif
67*b1cdbd2cSJim Jagielski #endif /* defined _MSC_VER < 1300 */
68*b1cdbd2cSJim Jagielski 
69*b1cdbd2cSJim Jagielski #endif /* defined _MSC_VER */
70*b1cdbd2cSJim Jagielski 
71*b1cdbd2cSJim Jagielski /* Provide ISO C99 compatible versions of snprint and vsnprintf */
72*b1cdbd2cSJim Jagielski #ifdef __MINGW32__
73*b1cdbd2cSJim Jagielski #define _SNPRINTF_DLLIMPORT
74*b1cdbd2cSJim Jagielski #endif
75*b1cdbd2cSJim Jagielski #ifndef _SNPRINTF_H
76*b1cdbd2cSJim Jagielski #include <systools/win32/snprintf.h>
77*b1cdbd2cSJim Jagielski #endif
78*b1cdbd2cSJim Jagielski 
79*b1cdbd2cSJim Jagielski #endif /* defined WIN32 */
80*b1cdbd2cSJim Jagielski 
81*b1cdbd2cSJim Jagielski /* BR: 16bit fuer Borland-Compiler */
82*b1cdbd2cSJim Jagielski #ifdef __BORLANDC__
83*b1cdbd2cSJim Jagielski #define SAL_W16
84*b1cdbd2cSJim Jagielski #define SAL_DLLEXTENSION ".dll"
85*b1cdbd2cSJim Jagielski #endif
86*b1cdbd2cSJim Jagielski /* BR: 16bit fuer Borland-Compiler */
87*b1cdbd2cSJim Jagielski 
88*b1cdbd2cSJim Jagielski #ifdef OS2
89*b1cdbd2cSJim Jagielski #define SAL_OS2
90*b1cdbd2cSJim Jagielski #define SAL_DLLEXTENSION ".dll"
91*b1cdbd2cSJim Jagielski #define SAL_PRGEXTENSION ".exe"
92*b1cdbd2cSJim Jagielski #define SAL_PATHSEPARATOR ';'
93*b1cdbd2cSJim Jagielski #define SAL_PATHDELIMITER '/'
94*b1cdbd2cSJim Jagielski #define SAL_CONFIGFILE( name ) name ".ini"
95*b1cdbd2cSJim Jagielski #define SAL_SYSCONFIGFILE( name ) name ".ini"
96*b1cdbd2cSJim Jagielski #endif
97*b1cdbd2cSJim Jagielski 
98*b1cdbd2cSJim Jagielski #if defined(SOLARIS) || defined(LINUX) || defined(NETBSD) || defined(FREEBSD) || defined(SCO)
99*b1cdbd2cSJim Jagielski #define SAL_UNX
100*b1cdbd2cSJim Jagielski #define SAL_DLLEXTENSION ".so"
101*b1cdbd2cSJim Jagielski #define SAL_DLLPREFIX "lib"
102*b1cdbd2cSJim Jagielski #define SAL_PRGEXTENSION ".bin"
103*b1cdbd2cSJim Jagielski #define SAL_PATHSEPARATOR ':'
104*b1cdbd2cSJim Jagielski #define SAL_PATHDELIMITER '/'
105*b1cdbd2cSJim Jagielski #define SAL_CONFIGFILE( name ) name "rc"
106*b1cdbd2cSJim Jagielski #define SAL_SYSCONFIGFILE( name ) "." name "rc"
107*b1cdbd2cSJim Jagielski #endif
108*b1cdbd2cSJim Jagielski 
109*b1cdbd2cSJim Jagielski #ifdef MACOSX
110*b1cdbd2cSJim Jagielski #define SAL_UNX
111*b1cdbd2cSJim Jagielski #define SAL_DLLEXTENSION ".dylib"
112*b1cdbd2cSJim Jagielski #define SAL_DLLPREFIX "lib"
113*b1cdbd2cSJim Jagielski #define SAL_PRGEXTENSION ".bin"
114*b1cdbd2cSJim Jagielski #define SAL_PATHSEPARATOR ':'
115*b1cdbd2cSJim Jagielski #define SAL_PATHDELIMITER '/'
116*b1cdbd2cSJim Jagielski #define SAL_CONFIGFILE( name ) name "rc"
117*b1cdbd2cSJim Jagielski #define SAL_SYSCONFIGFILE( name ) "." name "rc"
118*b1cdbd2cSJim Jagielski #endif
119*b1cdbd2cSJim Jagielski 
120*b1cdbd2cSJim Jagielski #ifdef HPUX
121*b1cdbd2cSJim Jagielski #define SAL_UNX
122*b1cdbd2cSJim Jagielski #define SAL_DLLEXTENSION ".sl"
123*b1cdbd2cSJim Jagielski #define SAL_DLLPREFIX "lib"
124*b1cdbd2cSJim Jagielski #define SAL_PRGEXTENSION ".bin"
125*b1cdbd2cSJim Jagielski #define SAL_CONFIGFILE( name ) name "rc"
126*b1cdbd2cSJim Jagielski #define SAL_SYSCONFIGFILE( name ) "." name "rc"
127*b1cdbd2cSJim Jagielski #endif
128*b1cdbd2cSJim Jagielski 
129*b1cdbd2cSJim Jagielski #ifdef sun
130*b1cdbd2cSJim Jagielski #undef sun
131*b1cdbd2cSJim Jagielski #define sun sun
132*b1cdbd2cSJim Jagielski #endif
133*b1cdbd2cSJim Jagielski 
134*b1cdbd2cSJim Jagielski /* This is to work around a gcc 3.3 error that fixing actually breaks other
135*b1cdbd2cSJim Jagielski  * compilers.  This will create a dummy variable specifically for gcc 3.3 that
136*b1cdbd2cSJim Jagielski  * allows it to compile and not break the others.  Other compilers may follow
137*b1cdbd2cSJim Jagielski  * with this eror later. */
138*b1cdbd2cSJim Jagielski #if defined __GNUC__
139*b1cdbd2cSJim Jagielski #if ((__GNUC__ == 3) && (__GNUC_MINOR__ > 2))
140*b1cdbd2cSJim Jagielski #  define SAL_ISO_CONST const
141*b1cdbd2cSJim Jagielski #else
142*b1cdbd2cSJim Jagielski #  define SAL_ISO_CONST
143*b1cdbd2cSJim Jagielski #endif
144*b1cdbd2cSJim Jagielski #endif
145*b1cdbd2cSJim Jagielski 
146*b1cdbd2cSJim Jagielski #endif /*_SAL_CONFIG_H_ */
147*b1cdbd2cSJim Jagielski 
148*b1cdbd2cSJim Jagielski 
149