apu.hw revision 251876
1251876Speter/* Licensed to the Apache Software Foundation (ASF) under one or more 2251876Speter * contributor license agreements. See the NOTICE file distributed with 3251876Speter * this work for additional information regarding copyright ownership. 4251876Speter * The ASF licenses this file to You under the Apache License, Version 2.0 5251876Speter * (the "License"); you may not use this file except in compliance with 6251876Speter * the License. You may obtain a copy of the License at 7251876Speter * 8251876Speter * http://www.apache.org/licenses/LICENSE-2.0 9251876Speter * 10251876Speter * Unless required by applicable law or agreed to in writing, software 11251876Speter * distributed under the License is distributed on an "AS IS" BASIS, 12251876Speter * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13251876Speter * See the License for the specific language governing permissions and 14251876Speter * limitations under the License. 15251876Speter */ 16251876Speter 17251876Speter/* 18251876Speter * apu.h is duplicated from apu.hw at build time -- do not edit apu.h 19251876Speter */ 20251876Speter/* @file apu.h 21251876Speter * @brief APR-Utility main file 22251876Speter */ 23251876Speter/** 24251876Speter * @defgroup APR_Util APR Utility Functions 25251876Speter * @{ 26251876Speter */ 27251876Speter 28251876Speter 29251876Speter#ifndef APU_H 30251876Speter#define APU_H 31251876Speter 32251876Speter/** 33251876Speter * APU_DECLARE_EXPORT is defined when building the APR-UTIL dynamic library, 34251876Speter * so that all public symbols are exported. 35251876Speter * 36251876Speter * APU_DECLARE_STATIC is defined when including the APR-UTIL public headers, 37251876Speter * to provide static linkage when the dynamic library may be unavailable. 38251876Speter * 39251876Speter * APU_DECLARE_STATIC and APU_DECLARE_EXPORT are left undefined when 40251876Speter * including the APR-UTIL public headers, to import and link the symbols from 41251876Speter * the dynamic APR-UTIL library and assure appropriate indirection and calling 42251876Speter * conventions at compile time. 43251876Speter */ 44251876Speter 45251876Speter#if defined(DOXYGEN) || !defined(WIN32) 46251876Speter/** 47251876Speter * The public APR-UTIL functions are declared with APU_DECLARE(), so they may 48251876Speter * use the most appropriate calling convention. Public APR functions with 49251876Speter * variable arguments must use APU_DECLARE_NONSTD(). 50251876Speter * 51251876Speter * @fn APU_DECLARE(rettype) apr_func(args); 52251876Speter */ 53251876Speter#define APU_DECLARE(type) type 54251876Speter/** 55251876Speter * The public APR-UTIL functions using variable arguments are declared with 56251876Speter * APU_DECLARE_NONSTD(), as they must use the C language calling convention. 57251876Speter * 58251876Speter * @fn APU_DECLARE_NONSTD(rettype) apr_func(args, ...); 59251876Speter */ 60251876Speter#define APU_DECLARE_NONSTD(type) type 61251876Speter/** 62251876Speter * The public APR-UTIL variables are declared with APU_DECLARE_DATA. 63251876Speter * This assures the appropriate indirection is invoked at compile time. 64251876Speter * 65251876Speter * @fn APU_DECLARE_DATA type apr_variable; 66251876Speter * @note extern APU_DECLARE_DATA type apr_variable; syntax is required for 67251876Speter * declarations within headers to properly import the variable. 68251876Speter */ 69251876Speter#define APU_DECLARE_DATA 70251876Speter#elif defined(APU_DECLARE_STATIC) 71251876Speter#define APU_DECLARE(type) type __stdcall 72251876Speter#define APU_DECLARE_NONSTD(type) type __cdecl 73251876Speter#define APU_DECLARE_DATA 74251876Speter#elif defined(APU_DECLARE_EXPORT) 75251876Speter#define APU_DECLARE(type) __declspec(dllexport) type __stdcall 76251876Speter#define APU_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl 77251876Speter#define APU_DECLARE_DATA __declspec(dllexport) 78251876Speter#else 79251876Speter#define APU_DECLARE(type) __declspec(dllimport) type __stdcall 80251876Speter#define APU_DECLARE_NONSTD(type) __declspec(dllimport) type __cdecl 81251876Speter#define APU_DECLARE_DATA __declspec(dllimport) 82251876Speter#endif 83251876Speter 84251876Speter#if !defined(WIN32) || defined(APU_MODULE_DECLARE_STATIC) 85251876Speter/** 86251876Speter * Declare a dso module's exported module structure as APU_MODULE_DECLARE_DATA. 87251876Speter * 88251876Speter * Unless APU_MODULE_DECLARE_STATIC is defined at compile time, symbols 89251876Speter * declared with APU_MODULE_DECLARE_DATA are always exported. 90251876Speter * @code 91251876Speter * module APU_MODULE_DECLARE_DATA mod_tag 92251876Speter * @endcode 93251876Speter */ 94251876Speter#define APU_MODULE_DECLARE_DATA 95251876Speter#else 96251876Speter#define APU_MODULE_DECLARE_DATA __declspec(dllexport) 97251876Speter#endif 98251876Speter 99251876Speter/* 100251876Speter * we always have SDBM (it's in our codebase) 101251876Speter */ 102251876Speter#define APU_HAVE_SDBM 1 103251876Speter 104251876Speter#ifndef APU_DSO_MODULE_BUILD 105251876Speter#define APU_HAVE_GDBM 0 106251876Speter#define APU_HAVE_NDBM 0 107251876Speter#define APU_HAVE_DB 0 108251876Speter 109251876Speter#if APU_HAVE_DB 110251876Speter#define APU_HAVE_DB_VERSION 0 111251876Speter#endif 112251876Speter#endif 113251876Speter 114251876Speter/* 115251876Speter * we always enable dynamic driver loads within apr_dbd 116251876Speter * Win32 always has odbc (it's always installed) 117251876Speter */ 118251876Speter#ifndef APU_DSO_MODULE_BUILD 119251876Speter#define APU_HAVE_PGSQL 0 120251876Speter#define APU_HAVE_MYSQL 0 121251876Speter#define APU_HAVE_SQLITE3 0 122251876Speter#define APU_HAVE_SQLITE2 0 123251876Speter#define APU_HAVE_ORACLE 0 124251876Speter#define APU_HAVE_FREETDS 0 125251876Speter#define APU_HAVE_ODBC 1 126251876Speter#endif 127251876Speter 128251876Speter#define APU_HAVE_CRYPTO 0 129251876Speter 130251876Speter#ifndef APU_DSO_MODULE_BUILD 131251876Speter#define APU_HAVE_OPENSSL 0 132251876Speter#define APU_HAVE_NSS 0 133251876Speter#endif 134251876Speter 135251876Speter#define APU_HAVE_APR_ICONV 1 136251876Speter#define APU_HAVE_ICONV 0 137251876Speter#define APR_HAS_XLATE (APU_HAVE_APR_ICONV || APU_HAVE_ICONV) 138251876Speter 139251876Speter#endif /* APU_H */ 140251876Speter/** @} */ 141