]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - contrib/subversion/subversion/libsvn_subr/sqlite3wrapper.c
MFC r275385 (by bapt):
[FreeBSD/stable/10.git] / contrib / subversion / subversion / libsvn_subr / sqlite3wrapper.c
1 /* sqlite3wrapper.c
2  *
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
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
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
19  *    under the License.
20  * ====================================================================
21  */
22
23 #include "svn_private_config.h"
24
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"
37 #    endif
38 #    if defined(__clang__)
39 #      pragma clang diagnostic ignored "-Wincompatible-pointer-types-discards-qualifiers"
40 #      pragma clang diagnostic ignored "-Wmissing-variable-declarations"
41 #    endif
42 #  endif
43 #  ifdef __APPLE__
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>
51 #      undef inline
52 #    endif
53 #  endif
54 #  define SQLITE_DEFAULT_FILE_PERMISSIONS 0666
55 #  include <sqlite3.c>
56
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;
61 #endif