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