3 * ====================================================================
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
20 * ====================================================================
23 #include "svn_private_config.h"
25 /* Include sqlite3 inline, making all symbols private. */
26 #ifdef SVN_SQLITE_INLINE
27 # define SQLITE_OMIT_DEPRECATED 1
28 # define SQLITE_API static
29 # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)
30 # pragma GCC diagnostic ignored "-Wunreachable-code"
31 # pragma GCC diagnostic ignored "-Wunused-function"
32 # pragma GCC diagnostic ignored "-Wcast-qual"
33 # pragma GCC diagnostic ignored "-Wunused"
34 # pragma GCC diagnostic ignored "-Wshadow"
35 # if defined(__APPLE_CC__) || defined(__clang__)
36 # pragma GCC diagnostic ignored "-Wshorten-64-to-32"
38 # if defined(__clang__)
39 # pragma clang diagnostic ignored "-Wincompatible-pointer-types-discards-qualifiers"
40 # pragma clang diagnostic ignored "-Wmissing-variable-declarations"
44 # include <Availability.h>
45 # if __MAC_OS_X_VERSION_MIN_REQUIRED < 1060
46 /* <libkern/OSAtomic.h> is included on OS X by sqlite3.c, and
47 on old systems (Leopard or older), it cannot be compiled
48 with -std=c89 because it uses inline. This is a work-around. */
49 # define inline __inline__
50 # include <libkern/OSAtomic.h>
54 # define SQLITE_DEFAULT_FILE_PERMISSIONS 0666
57 /* Expose the sqlite API vtable and the two missing functions */
58 const sqlite3_api_routines *const svn_sqlite3__api_funcs = &sqlite3Apis;
59 int (*const svn_sqlite3__api_initialize)(void) = sqlite3_initialize;
60 int (*const svn_sqlite3__api_config)(int, ...) = sqlite3_config;
62 #else /* !SVN_SQLITE_INLINE */
64 /* Silence OSX ranlib warnings about object files with no symbols. */
66 extern const apr_uint32_t svn__fake__sqlite3wrapper;
67 const apr_uint32_t svn__fake__sqlite3wrapper = 0xdeadbeef;
69 #endif /* SVN_SQLITE_INLINE */