Add libapr project
[TortoiseGit.git] / ext / build / apu.hw
blob06b4525a5734d486467e58b766d47013acea1c9c
1 /* Licensed to the Apache Software Foundation (ASF) under one or more\r
2  * contributor license agreements.  See the NOTICE file distributed with\r
3  * this work for additional information regarding copyright ownership.\r
4  * The ASF licenses this file to You under the Apache License, Version 2.0\r
5  * (the "License"); you may not use this file except in compliance with\r
6  * the License.  You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
17 /* \r
18  * apu.h is duplicated from apu.hw at build time -- do not edit apu.h\r
19  */\r
20 /* @file apu.h\r
21  * @brief APR-Utility main file\r
22  */\r
23 /**\r
24  * @defgroup APR_Util APR Utility Functions\r
25  * @{\r
26  */\r
29 #ifndef APU_H\r
30 #define APU_H\r
32 /**\r
33  * APU_DECLARE_EXPORT is defined when building the APR-UTIL dynamic library,\r
34  * so that all public symbols are exported.\r
35  *\r
36  * APU_DECLARE_STATIC is defined when including the APR-UTIL public headers,\r
37  * to provide static linkage when the dynamic library may be unavailable.\r
38  *\r
39  * APU_DECLARE_STATIC and APU_DECLARE_EXPORT are left undefined when\r
40  * including the APR-UTIL public headers, to import and link the symbols from \r
41  * the dynamic APR-UTIL library and assure appropriate indirection and calling\r
42  * conventions at compile time.\r
43  */\r
45 #if defined(DOXYGEN) || !defined(WIN32)\r
46 /**\r
47  * The public APR-UTIL functions are declared with APU_DECLARE(), so they may\r
48  * use the most appropriate calling convention.  Public APR functions with \r
49  * variable arguments must use APU_DECLARE_NONSTD().\r
50  *\r
51  * @fn APU_DECLARE(rettype) apr_func(args);\r
52  */\r
53 #define APU_DECLARE(type)            type\r
54 /**\r
55  * The public APR-UTIL functions using variable arguments are declared with \r
56  * APU_DECLARE_NONSTD(), as they must use the C language calling convention.\r
57  *\r
58  * @fn APU_DECLARE_NONSTD(rettype) apr_func(args, ...);\r
59  */\r
60 #define APU_DECLARE_NONSTD(type)     type\r
61 /**\r
62  * The public APR-UTIL variables are declared with APU_DECLARE_DATA.\r
63  * This assures the appropriate indirection is invoked at compile time.\r
64  *\r
65  * @fn APU_DECLARE_DATA type apr_variable;\r
66  * @note extern APU_DECLARE_DATA type apr_variable; syntax is required for\r
67  * declarations within headers to properly import the variable.\r
68  */\r
69 #define APU_DECLARE_DATA\r
70 #elif defined(APU_DECLARE_STATIC)\r
71 #define APU_DECLARE(type)            type __stdcall\r
72 #define APU_DECLARE_NONSTD(type)     type __cdecl\r
73 #define APU_DECLARE_DATA\r
74 #elif defined(APU_DECLARE_EXPORT)\r
75 #define APU_DECLARE(type)            __declspec(dllexport) type __stdcall\r
76 #define APU_DECLARE_NONSTD(type)     __declspec(dllexport) type __cdecl\r
77 #define APU_DECLARE_DATA             __declspec(dllexport)\r
78 #else\r
79 #define APU_DECLARE(type)            __declspec(dllimport) type __stdcall\r
80 #define APU_DECLARE_NONSTD(type)     __declspec(dllimport) type __cdecl\r
81 #define APU_DECLARE_DATA             __declspec(dllimport)\r
82 #endif\r
84 #if !defined(WIN32) || defined(APU_MODULE_DECLARE_STATIC)\r
85 /**\r
86  * Declare a dso module's exported module structure as APU_MODULE_DECLARE_DATA.\r
87  *\r
88  * Unless APU_MODULE_DECLARE_STATIC is defined at compile time, symbols \r
89  * declared with APU_MODULE_DECLARE_DATA are always exported.\r
90  * @code\r
91  * module APU_MODULE_DECLARE_DATA mod_tag\r
92  * @endcode\r
93  */\r
94 #define APU_MODULE_DECLARE_DATA\r
95 #else\r
96 #define APU_MODULE_DECLARE_DATA           __declspec(dllexport)\r
97 #endif\r
99 /*\r
100  * we always have SDBM (it's in our codebase)\r
101  */\r
102 #define APU_HAVE_SDBM    1\r
103 #define APU_HAVE_GDBM    0\r
104 #define APU_HAVE_NDBM    0\r
105 #define APU_HAVE_DB      0\r
107 #if APU_HAVE_DB\r
108 #define APU_HAVE_DB_VERSION     0\r
109 #endif\r
111 #ifndef APU_DBD_DSO_BUILD\r
112 #define APU_HAVE_PGSQL          0\r
113 #define APU_HAVE_MYSQL          0\r
114 #define APU_HAVE_SQLITE3        0\r
115 #define APU_HAVE_SQLITE2        0\r
116 #define APU_HAVE_ORACLE         0\r
117 #define APU_HAVE_FREETDS        0\r
118 #endif\r
119 /* Windows always has ODBC */\r
120 #define APU_HAVE_ODBC           0\r
122 #define APU_HAVE_APR_ICONV      0\r
123 #define APU_HAVE_ICONV          0\r
124 #define APR_HAS_XLATE           (APU_HAVE_APR_ICONV || APU_HAVE_ICONV)\r
126 #endif /* APU_H */\r
128 /** @} */\r