Strip '/' at the end of a submodule path
[TortoiseGit.git] / ext / build / apu.hw
blob42d69588d6def9daa9aaff46c3d4189e7a55a1b7
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 /* Make sure we have our platform identifier macro defined we ask for later.\r
46  */\r
47 #if defined(_WIN32) && !defined(WIN32)\r
48 #define WIN32 1\r
49 #endif\r
51 #if defined(DOXYGEN) || !defined(WIN32)\r
52 /**\r
53  * The public APR-UTIL functions are declared with APU_DECLARE(), so they may\r
54  * use the most appropriate calling convention.  Public APR functions with \r
55  * variable arguments must use APU_DECLARE_NONSTD().\r
56  *\r
57  * @fn APU_DECLARE(rettype) apr_func(args);\r
58  */\r
59 #define APU_DECLARE(type)            type\r
60 /**\r
61  * The public APR-UTIL functions using variable arguments are declared with \r
62  * APU_DECLARE_NONSTD(), as they must use the C language calling convention.\r
63  *\r
64  * @fn APU_DECLARE_NONSTD(rettype) apr_func(args, ...);\r
65  */\r
66 #define APU_DECLARE_NONSTD(type)     type\r
67 /**\r
68  * The public APR-UTIL variables are declared with APU_DECLARE_DATA.\r
69  * This assures the appropriate indirection is invoked at compile time.\r
70  *\r
71  * @fn APU_DECLARE_DATA type apr_variable;\r
72  * @note extern APU_DECLARE_DATA type apr_variable; syntax is required for\r
73  * declarations within headers to properly import the variable.\r
74  */\r
75 #define APU_DECLARE_DATA\r
76 #elif defined(APU_DECLARE_STATIC)\r
77 #define APU_DECLARE(type)            type __stdcall\r
78 #define APU_DECLARE_NONSTD(type)     type __cdecl\r
79 #define APU_DECLARE_DATA\r
80 #elif defined(APU_DECLARE_EXPORT)\r
81 #define APU_DECLARE(type)            __declspec(dllexport) type __stdcall\r
82 #define APU_DECLARE_NONSTD(type)     __declspec(dllexport) type __cdecl\r
83 #define APU_DECLARE_DATA             __declspec(dllexport)\r
84 #else\r
85 #define APU_DECLARE(type)            __declspec(dllimport) type __stdcall\r
86 #define APU_DECLARE_NONSTD(type)     __declspec(dllimport) type __cdecl\r
87 #define APU_DECLARE_DATA             __declspec(dllimport)\r
88 #endif\r
90 #if !defined(WIN32) || defined(APU_MODULE_DECLARE_STATIC)\r
91 /**\r
92  * Declare a dso module's exported module structure as APU_MODULE_DECLARE_DATA.\r
93  *\r
94  * Unless APU_MODULE_DECLARE_STATIC is defined at compile time, symbols \r
95  * declared with APU_MODULE_DECLARE_DATA are always exported.\r
96  * @code\r
97  * module APU_MODULE_DECLARE_DATA mod_tag\r
98  * @endcode\r
99  */\r
100 #define APU_MODULE_DECLARE_DATA\r
101 #else\r
102 #define APU_MODULE_DECLARE_DATA           __declspec(dllexport)\r
103 #endif\r
105 /*\r
106  * we always have SDBM (it's in our codebase)\r
107  */\r
108 #define APU_HAVE_SDBM           1\r
110 #ifndef APU_DSO_MODULE_BUILD\r
111 #define APU_HAVE_GDBM           0\r
112 #define APU_HAVE_NDBM           0\r
113 #define APU_HAVE_DB             0\r
115 #if APU_HAVE_DB\r
116 #define APU_HAVE_DB_VERSION     0\r
117 #endif\r
118 #endif\r
120 /* \r
121  * we always enable dynamic driver loads within apr_dbd\r
122  * Win32 always has odbc (it's always installed)\r
123  */\r
124 #ifndef APU_DSO_MODULE_BUILD\r
125 #define APU_HAVE_PGSQL          0\r
126 #define APU_HAVE_MYSQL          0\r
127 #define APU_HAVE_SQLITE3        0\r
128 #define APU_HAVE_SQLITE2        0\r
129 #define APU_HAVE_ORACLE         0\r
130 #define APU_HAVE_FREETDS        0\r
131 #define APU_HAVE_ODBC           0\r
132 #endif\r
134 #define APU_HAVE_CRYPTO         0\r
136 #ifndef APU_DSO_MODULE_BUILD\r
137 #define APU_HAVE_OPENSSL        0\r
138 #define APU_HAVE_NSS            0\r
139 #endif\r
141 #define APU_HAVE_APR_ICONV      0\r
142 #define APU_HAVE_ICONV          0\r
143 #define APR_HAS_XLATE           (APU_HAVE_APR_ICONV || APU_HAVE_ICONV)\r
145 #endif /* APU_H */\r
146 /** @} */\r