]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Better support for MinGW 4.x.
authormistachkin <mistachkin@noemail.net>
Thu, 6 Mar 2014 00:28:57 +0000 (00:28 +0000)
committermistachkin <mistachkin@noemail.net>
Thu, 6 Mar 2014 00:28:57 +0000 (00:28 +0000)
FossilOrigin-Name: 170e0585202eec6882e9513eba05e6d5767bfc5b

1  2 
manifest
manifest.uuid
src/sqliteInt.h

diff --cc manifest
index c073f282a9ccdec4bbf4087649b670b1669914de,2473432345bccc80a06c3a4bbcee34a16f5cf911..0f16c73f7747bb90ebf600a671cd49a8ff152a03
+++ 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 96b73158b8750cbbbb942785ecbca62ecb0c3930,f4e941d42e706d8b62048e574974358cc912726d..1e263110cf6476b76c3a4396f8b81868884456bb
@@@ -1,1 -1,1 +1,1 @@@
- bfd75f471a607b442d8cd8a7070491a158e8fb1a
 -057c16ee9786efcad6372a29b02d743ff3d628ff
++170e0585202eec6882e9513eba05e6d5767bfc5b
diff --cc src/sqliteInt.h
index cdead4bd2f00023cd46853667702a8a618114498,0276d370457756fd76e263ff953c376a6179ba8e..3ee39e5278c1375148f652399c5dd306916fdc2b
  # define _LARGEFILE_SOURCE 1
  #endif
  
- ** first in QNX.
+ /*
+ ** 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.  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