From 8d967a90f8fe15d55caed85c280e3d9e68d11095 Mon Sep 17 00:00:00 2001 From: mistachkin Date: Thu, 21 Jun 2012 04:21:35 +0000 Subject: [PATCH] When linking to the MSVC runtime library, use the debug library when necessary. Also, link dynamically to the MSVC runtime library when required (e.g. WinRT) or requested via the USE_CRT_DLL build macro. FossilOrigin-Name: f6be345ad5ff739bd64114489930bab970e7972e --- Makefile.msc | 27 ++++++++++++++++++++++++--- manifest | 14 +++++++------- manifest.uuid | 2 +- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/Makefile.msc b/Makefile.msc index d8f01d650f..a80db8c638 100644 --- a/Makefile.msc +++ b/Makefile.msc @@ -15,6 +15,10 @@ USE_AMALGAMATION = 1 # USE_ICU = 0 +# Set this non-0 to dynamically link to the MSVC runtime library. +# +USE_CRT_DLL = 0 + # Set this non-0 to compile binaries suitable for the WinRT environment. # This setting does not apply to any binaries that require Tcl to operate # properly (i.e. the text fixture, etc). @@ -53,11 +57,28 @@ TCC = cl.exe -W3 -DSQLITE_OS_WIN=1 -I. -I$(TOP)\src -fp:precise # the following compile-time options must be used as well to # disable use of Win32 APIs that are not available and to enable # use of Win32 APIs that are specific to Windows 8 and/or WinRT. -# Also, we need to dynamically link to the MSVC runtime when -# compiling for WinRT. # !IF $(FOR_WINRT)!=0 -TCC = $(TCC) -DSQLITE_OS_WINRT=1 -MD +TCC = $(TCC) -DSQLITE_OS_WINRT=1 +!ENDIF + +# Also, we need to dynamically link to the correct MSVC runtime +# when compiling for WinRT (e.g. debug or release) OR if the +# USE_CRT_DLL option is set to force dynamically linking to the +# MSVC runtime library. +# +!IF $(FOR_WINRT)!=0 || $(USE_CRT_DLL)!=0 +!IF $(DEBUG)>0 +TCC = $(TCC) -MDd +!ELSE +TCC = $(TCC) -MD +!ENDIF +!ELSE +!IF $(DEBUG)>0 +TCC = $(TCC) -MTd +!ELSE +TCC = $(TCC) -MT +!ENDIF !ENDIF # The mksqlite3c.tcl and mksqlite3h.tcl scripts will pull in diff --git a/manifest b/manifest index cdb67bec0b..63815455d5 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Add\stests\sto\scheck\sthat\sthe\s"unicode61"\sand\s"icu"\stokenizers\sboth\sidentify\swhite-space\scodepoints\soutside\sthe\sASCII\srange. -D 2012-06-19T06:35:39.290 +C When\slinking\sto\sthe\sMSVC\sruntime\slibrary,\suse\sthe\sdebug\slibrary\swhen\snecessary.\s\sAlso,\slink\sdynamically\sto\sthe\sMSVC\sruntime\slibrary\swhen\srequired\s(e.g.\sWinRT)\sor\srequested\svia\sthe\sUSE_CRT_DLL\sbuild\smacro. +D 2012-06-21T04:21:35.689 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in d17fddaa4e81f93a7c9c7c0808aacb3fc95f79f4 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 -F Makefile.msc fd86027849a59a2f621b791b79eabf3f8ffbd684 +F Makefile.msc e893726c32ff402760eea125c7baaf928ed24257 F Makefile.vxworks 3b7fe7a0571fdadc61363ebc1b23732d2d6363ca F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6 F VERSION 3e857b9b826e818eec9411eafe2c3fa22c1dbb8a @@ -1006,7 +1006,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 -P 699b792c6a0e989994549959b11ec1bfad8bbd92 -R fcc8a5f96c6c9d1a1ba2f2345cbe909b -U dan -Z 04e7a9f69aa11cdd2b90d7abb2bd52a9 +P bfb2d4730cbbe18fb940e72f4fde9122d550734e +R b751ec9a0e2895a08497a9ce16da8150 +U mistachkin +Z 261d93d15033b394b92302b9665ce94e diff --git a/manifest.uuid b/manifest.uuid index 9412d9826a..3363e200dc 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -bfb2d4730cbbe18fb940e72f4fde9122d550734e \ No newline at end of file +f6be345ad5ff739bd64114489930bab970e7972e \ No newline at end of file