From: mistachkin Date: Thu, 6 Mar 2014 00:28:57 +0000 (+0000) Subject: Better support for MinGW 4.x. X-Git-Tag: version-3.8.4~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0d71d121ae53a62868101ae343f916d399ac660e;p=thirdparty%2Fsqlite.git Better support for MinGW 4.x. FossilOrigin-Name: 170e0585202eec6882e9513eba05e6d5767bfc5b --- 0d71d121ae53a62868101ae343f916d399ac660e diff --cc manifest index c073f282a9,2473432345..0f16c73f77 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Always\sinclude\sthe\sctype.h\sheader\sin\sthe\sspellfix.c\sextension. - D 2014-03-05T19:36:52.892 -C Use\sthe\smodern\sMinGW\smajor\sversion\smacro,\snot\sthe\sdeprecated\sone. -D 2014-02-16T19:20:00.825 ++C Better\ssupport\sfor\sMinGW\s4.x. ++D 2014-03-06T00:28:57.468 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@@ -214,14 -214,14 +214,14 @@@ F src/pragma.c a46ee83671f5c95f53d2ceeb F src/prepare.c 677521ab7132615a8a26107a1d1c3132f44ae337 F src/printf.c 85d07756e45d7496d19439dcae3e6e9e0090f269 F src/random.c d10c1f85b6709ca97278428fd5db5bbb9c74eece -F src/resolve.c ca8b99d894164435f5c55cb304c1b8121705c51e +F src/resolve.c 273d5f47c4e2c05b2d3d2bffeda939551ab59e66 F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0 -F src/select.c 50961f0d0ab8f2d45ff29ec5f91d8db221330ca7 -F src/shell.c 3dd86bf73ccd079f0e32ef5069600586085e8239 -F src/sqlite.h.in eed7f7d66a60daaa7b4a597dcd9bad87aad9611b +F src/select.c 0adf172d33cc610ff5ffe26edfd2ba67c3551655 +F src/shell.c 7bf07bcacb181ecc3fc3ccacfdfeb4084aee67ed +F src/sqlite.h.in a2ef671f92747a5a1c8a47bad5c585a8dd9eca80 F src/sqlite3.rc 11094cc6a157a028b301a9f06b3d03089ea37c3e F src/sqlite3ext.h 886f5a34de171002ad46fae8c36a7d8051c190fc - F src/sqliteInt.h 7497e95a42f3ec87bf524f1b7231836ac69ed5b0 -F src/sqliteInt.h 168f311aa9887711ac5f31b52dc83f1ee33f7ab4 ++F src/sqliteInt.h fa7161b3de18a9c355d4148233f3563c92311fcc F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d F src/status.c 7ac05a5c7017d0b9f0b4bcd701228b784f987158 F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e @@@ -1155,7 -1150,7 +1155,7 @@@ F tool/vdbe_profile.tcl 67746953071a9f8 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff - P e406d4bb786a34cdd5dd23ed39f35dfce3e1cabd - R dbf6df7a91f37410ffccbad9151ed0f2 - U drh - Z 435f844ac1ec54f913d9ebdd6e1ebde0 -P e147230767383ed9f64085b613fd18508f74be21 -R 093f1edd2723941164ffa92a68b20dd8 ++P bfd75f471a607b442d8cd8a7070491a158e8fb1a 057c16ee9786efcad6372a29b02d743ff3d628ff ++R b889d993282d9fdfec953c32c532c8a0 + U mistachkin -Z f128626e0ed2b197fa14de6fa8f864a7 ++Z 62fcd2f0166a563cdb61df2df73d8704 diff --cc manifest.uuid index 96b73158b8,f4e941d42e..1e263110cf --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - bfd75f471a607b442d8cd8a7070491a158e8fb1a -057c16ee9786efcad6372a29b02d743ff3d628ff ++170e0585202eec6882e9513eba05e6d5767bfc5b diff --cc src/sqliteInt.h index cdead4bd2f,0276d37045..3ee39e5278 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@@ -47,11 -48,38 +47,44 @@@ # define _LARGEFILE_SOURCE 1 #endif + /* + ** For MinGW, check to see if we can include the header file containing its + ** version information, among other things. Normally, this internal MinGW + ** header file would [only] be included automatically by other MinGW header + ** files; however, the contained version information is now required by this + ** header file to work around binary compatibility issues (see below) and + ** this is the only known way to reliably obtain it. This entire #if block + ** would be completely unnecessary if there was any other way of detecting + ** MinGW via their preprocessor (e.g. if they customized their GCC to define + ** some MinGW-specific macros). When compiling for MinGW, either the + ** _HAVE_MINGW_H or _HAVE__MINGW_H (note the extra underscore) macro must be + ** defined; otherwise, detection of conditions specific to MinGW will be + ** disabled. + */ + #if defined(_HAVE_MINGW_H) + # include "mingw.h" + #elif defined(_HAVE__MINGW_H) + # include "_mingw.h" + #endif + + /* + ** For MinGW version 4.x (and higher), check to see if the _USE_32BIT_TIME_T + ** define is required to maintain binary compatibility with the MSVC runtime + ** library in use (e.g. for Windows XP). + */ + #if !defined(_USE_32BIT_TIME_T) && !defined(_USE_64BIT_TIME_T) && \ + defined(_WIN32) && !defined(_WIN64) && \ + defined(__MINGW_MAJOR_VERSION) && __MINGW_MAJOR_VERSION >= 4 && \ + defined(__MSVCRT__) + # define _USE_32BIT_TIME_T + #endif + +/* The public SQLite interface. The _FILE_OFFSET_BITS macro must appear - ** first in QNX. ++** first in QNX. Also, the _USE_32BIT_TIME_T macro must appear first for ++** MinGW. +*/ +#include "sqlite3.h" + /* ** Include the configuration header output by 'configure' if we're using the ** autoconf-based build