1/*
2** 2013 November 25
3**
4** The author disclaims copyright to this source code. In place of
5** a legal notice, here is a blessing:
6**
7** May you do good and not evil.
8** May you find forgiveness for yourself and forgive others.
9** May you share freely, never taking more than you give.
10**
11******************************************************************************
12**
13** This file contains pre-processor directives related to operating system
14** detection and/or setup.
15*/
16#ifndef SQLITE_OS_SETUP_H
17#define SQLITE_OS_SETUP_H
18
19/*
20** Figure out if we are dealing with Unix, Windows, or some other operating
21** system.
22**
23** After the following block of preprocess macros, all of
24**
25** SQLITE_OS_KV
26** SQLITE_OS_OTHER
27** SQLITE_OS_UNIX
28** SQLITE_OS_WIN
29**
30** will defined to either 1 or 0. One of them will be 1. The others will be 0.
31** If none of the macros are initially defined, then select either
32** SQLITE_OS_UNIX or SQLITE_OS_WIN depending on the target platform.
33**
34** If SQLITE_OS_OTHER=1 is specified at compile-time, then the application
35** must provide its own VFS implementation together with sqlite3_os_init()
36** and sqlite3_os_end() routines.
37*/
38#if !defined(SQLITE_OS_KV) && !defined(SQLITE_OS_OTHER) && \
39 !defined(SQLITE_OS_UNIX) && !defined(SQLITE_OS_WIN)
40# if defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__) || \
41 defined(__MINGW32__) || defined(__BORLANDC__)
42# define SQLITE_OS_WIN 1
43# define SQLITE_OS_UNIX 0
44# else
45# define SQLITE_OS_WIN 0
46# define SQLITE_OS_UNIX 1
47# endif
48#endif
49#if SQLITE_OS_OTHER+1>1
50# undef SQLITE_OS_KV
51# define SQLITE_OS_KV 0
52# undef SQLITE_OS_UNIX
53# define SQLITE_OS_UNIX 0
54# undef SQLITE_OS_WIN
55# define SQLITE_OS_WIN 0
56#endif
57#if SQLITE_OS_KV+1>1
58# undef SQLITE_OS_OTHER
59# define SQLITE_OS_OTHER 0
60# undef SQLITE_OS_UNIX
61# define SQLITE_OS_UNIX 0
62# undef SQLITE_OS_WIN
63# define SQLITE_OS_WIN 0
64# define SQLITE_OMIT_LOAD_EXTENSION 1
65# define SQLITE_OMIT_WAL 1
66# define SQLITE_OMIT_DEPRECATED 1
67# undef SQLITE_TEMP_STORE
68# define SQLITE_TEMP_STORE 3 /* Always use memory for temporary storage */
69# define SQLITE_DQS 0
70# define SQLITE_OMIT_SHARED_CACHE 1
71# define SQLITE_OMIT_AUTOINIT 1
72#endif
73#if SQLITE_OS_UNIX+1>1
74# undef SQLITE_OS_KV
75# define SQLITE_OS_KV 0
76# undef SQLITE_OS_OTHER
77# define SQLITE_OS_OTHER 0
78# undef SQLITE_OS_WIN
79# define SQLITE_OS_WIN 0
80#endif
81#if SQLITE_OS_WIN+1>1
82# undef SQLITE_OS_KV
83# define SQLITE_OS_KV 0
84# undef SQLITE_OS_OTHER
85# define SQLITE_OS_OTHER 0
86# undef SQLITE_OS_UNIX
87# define SQLITE_OS_UNIX 0
88#endif
89
90
91#endif /* SQLITE_OS_SETUP_H */
92