Add support for including zlib in the shell when compiling with MSVC.

FossilOrigin-Name: e1838cee3847301ef491467dc75d9c4e1e3b12599596c058bdb14319a52fd8a0
This commit is contained in:
mistachkin 2017-12-05 18:54:12 +00:00
parent 72afc3c5de
commit cb6acda902
6 changed files with 92 additions and 17 deletions

View File

@ -0,0 +1 @@
compat

View File

@ -0,0 +1 @@
compat/*

View File

@ -92,6 +92,20 @@ SPLIT_AMALGAMATION = 0
!ENDIF !ENDIF
# <<mark>> # <<mark>>
# Set this non-0 to use zlib, possibly compiling it from source code.
#
!IFNDEF USE_ZLIB
USE_ZLIB = 0
!ENDIF
# Set this non-0 to build zlib from source code. This is enabled by
# default and in that case it will be assumed that the ZLIBDIR macro
# points to the top-level source code directory for zlib.
#
!IFNDEF BUILD_ZLIB
BUILD_ZLIB = 1
!ENDIF
# Set this non-0 to use the International Components for Unicode (ICU). # Set this non-0 to use the International Components for Unicode (ICU).
# #
!IFNDEF USE_ICU !IFNDEF USE_ICU
@ -612,6 +626,14 @@ SHELL_CORE_DEP =
!ENDIF !ENDIF
!ENDIF !ENDIF
# <<mark>>
# If zlib support is enabled, add the shell dependency for it.
#
!IF $(USE_ZLIB)!=0 && $(BUILD_ZLIB)!=0
SHELL_CORE_DEP = zlib $(SHELL_CORE_DEP)
!ENDIF
# <</mark>>
# This is the core library that the shell executable should link with. # This is the core library that the shell executable should link with.
# #
!IFNDEF SHELL_CORE_LIB !IFNDEF SHELL_CORE_LIB
@ -802,12 +824,16 @@ RCC = $(RCC) -DSQLITE_WIN32_MALLOC_VALIDATE=1
# prior to running nmake in order to match the actual installed location and # prior to running nmake in order to match the actual installed location and
# version on this machine. # version on this machine.
# #
!IFNDEF TCLDIR
TCLDIR = c:\tcl
!ENDIF
!IFNDEF TCLINCDIR !IFNDEF TCLINCDIR
TCLINCDIR = c:\tcl\include TCLINCDIR = $(TCLDIR)\include
!ENDIF !ENDIF
!IFNDEF TCLLIBDIR !IFNDEF TCLLIBDIR
TCLLIBDIR = c:\tcl\lib TCLLIBDIR = $(TCLDIR)\lib
!ENDIF !ENDIF
!IFNDEF LIBTCL !IFNDEF LIBTCL
@ -819,7 +845,32 @@ LIBTCLSTUB = tclstub86.lib
!ENDIF !ENDIF
!IFNDEF LIBTCLPATH !IFNDEF LIBTCLPATH
LIBTCLPATH = c:\tcl\bin LIBTCLPATH = $(TCLDIR)\bin
!ENDIF
# The locations of the zlib header and library files. These variables
# (ZLIBINCDIR, ZLIBLIBDIR, and ZLIBLIB) may be overridden via the environment
# prior to running nmake in order to match the actual installed (or source
# code) location on this machine.
#
!IFNDEF ZLIBDIR
ZLIBDIR = $(TOP)\compat\zlib
!ENDIF
!IFNDEF ZLIBINCDIR
ZLIBINCDIR = $(ZLIBDIR)
!ENDIF
!IFNDEF ZLIBLIBDIR
ZLIBLIBDIR = $(ZLIBDIR)
!ENDIF
!IFNDEF ZLIBLIB
!IF $(DYNAMIC_SHELL)!=0
ZLIBLIB = zdll.lib
!ELSE
ZLIBLIB = zlib.lib
!ENDIF
!ENDIF !ENDIF
# The locations of the ICU header and library files. These variables # The locations of the ICU header and library files. These variables
@ -827,12 +878,16 @@ LIBTCLPATH = c:\tcl\bin
# prior to running nmake in order to match the actual installed location on # prior to running nmake in order to match the actual installed location on
# this machine. # this machine.
# #
!IFNDEF ICUDIR
ICUDIR = C:\icu
!ENDIF
!IFNDEF ICUINCDIR !IFNDEF ICUINCDIR
ICUINCDIR = c:\icu\include ICUINCDIR = $(ICUDIR)\include
!ENDIF !ENDIF
!IFNDEF ICULIBDIR !IFNDEF ICULIBDIR
ICULIBDIR = c:\icu\lib ICULIBDIR = $(ICUDIR)\lib
!ENDIF !ENDIF
!IFNDEF LIBICU !IFNDEF LIBICU
@ -951,6 +1006,15 @@ BCC = $(BCC) -Zi
!ENDIF !ENDIF
# <<mark>> # <<mark>>
# If zlib support is enabled, add the compiler options for it.
#
!IF $(USE_ZLIB)!=0
TCC = $(TCC) -DSQLITE_HAVE_ZLIB=1
RCC = $(RCC) -DSQLITE_HAVE_ZLIB=1
TCC = $(TCC) -I$(ZLIBINCDIR)
RCC = $(RCC) -I$(ZLIBINCDIR)
!ENDIF
# If ICU support is enabled, add the compiler options for it. # If ICU support is enabled, add the compiler options for it.
# #
!IF $(USE_ICU)!=0 !IF $(USE_ICU)!=0
@ -1075,6 +1139,13 @@ LTLIBPATHS = /LIBPATH:$(TCLLIBDIR)
LTLIBS = $(LTLIBS) $(LIBTCL) LTLIBS = $(LTLIBS) $(LIBTCL)
!ENDIF !ENDIF
# If zlib support is enabled, add the linker options for it.
#
!IF $(USE_ZLIB)!=0
LTLIBPATHS = $(LTLIBPATHS) /LIBPATH:$(ZLIBLIBDIR)
LTLIBS = $(LTLIBS) $(ZLIBLIB)
!ENDIF
# If ICU support is enabled, add the linker options for it. # If ICU support is enabled, add the linker options for it.
# #
!IF $(USE_ICU)!=0 !IF $(USE_ICU)!=0
@ -1987,6 +2058,8 @@ SHELL_SRC = \
shell.c: $(SHELL_SRC) $(TOP)\tool\mkshellc.tcl shell.c: $(SHELL_SRC) $(TOP)\tool\mkshellc.tcl
$(TCLSH_CMD) $(TOP)\tool\mkshellc.tcl > shell.c $(TCLSH_CMD) $(TOP)\tool\mkshellc.tcl > shell.c
zlib:
pushd $(ZLIBDIR) && $(MAKE) /f win32\Makefile.msc $(ZLIBLIB) && popd
# Rules to build the extension objects. # Rules to build the extension objects.
# #

View File

@ -561,6 +561,7 @@ SHELL_CORE_DEP =
!ENDIF !ENDIF
!ENDIF !ENDIF
# This is the core library that the shell executable should link with. # This is the core library that the shell executable should link with.
# #
!IFNDEF SHELL_CORE_LIB !IFNDEF SHELL_CORE_LIB

View File

@ -1,8 +1,10 @@
C If\sSQLITE_HAVE_ZLIB\sis\sdefined\sat\sbuild-time,\sinclude\sthe\sfunctions\sin\next/misc/compress.c\sin\sthe\sshell. C Add\ssupport\sfor\sincluding\szlib\sin\sthe\sshell\swhen\scompiling\swith\sMSVC.
D 2017-12-05T18:32:40.201 D 2017-12-05T18:54:12.861
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F Makefile.in 6a879cbf01e37f9eac131414955f71774b566502d9a57ded1b8585b507503cb8 F Makefile.in 6a879cbf01e37f9eac131414955f71774b566502d9a57ded1b8585b507503cb8
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc e5d7606238f55816da99f719969598df5b091aa2e9a6935c9412fcae8f53fc44 F Makefile.msc 2cc781176ca1a58bfb7c2741a192726e2f08db0b473daba3d6c3388d44698470
F README.md f5c87359573c4d255425e588a56554b50fdcc2afba4e017a2e02a43701456afd F README.md f5c87359573c4d255425e588a56554b50fdcc2afba4e017a2e02a43701456afd
F VERSION 0c10cdfed866fdd2d80434f64f042c3330f1daaed12e54287beb104f04b3faaf F VERSION 0c10cdfed866fdd2d80434f64f042c3330f1daaed12e54287beb104f04b3faaf
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
@ -11,7 +13,7 @@ F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2 F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2
F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903 F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903
F autoconf/Makefile.am 66c0befa511f0d95ba229e180067cf0357a9ebf8b3201b06d683c5ba6220fb39 F autoconf/Makefile.am 66c0befa511f0d95ba229e180067cf0357a9ebf8b3201b06d683c5ba6220fb39
F autoconf/Makefile.msc b88a70dee8453cc353e5d6df172d60a11a0af905710a24b1e6be80f8fea6e96b F autoconf/Makefile.msc 2b4b5e5ff7e7a9806ebdd4b441f8fb54695a3628701a97ae53860e67e872acc3
F autoconf/README.first 6c4f34fe115ff55d4e8dbfa3cecf04a0188292f7 F autoconf/README.first 6c4f34fe115ff55d4e8dbfa3cecf04a0188292f7
F autoconf/README.txt 4f04b0819303aabaa35fff5f7b257fb0c1ef95f1 F autoconf/README.txt 4f04b0819303aabaa35fff5f7b257fb0c1ef95f1
F autoconf/configure.ac 8dd08ca564279fff091c9bfdd2599d8f992c9f1f70c5396de2126ad2bd1b3bed F autoconf/configure.ac 8dd08ca564279fff091c9bfdd2599d8f992c9f1f70c5396de2126ad2bd1b3bed
@ -1679,10 +1681,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 0342ce510d2063a63839399a2cfa25b7fc02f4fde17764082676b332d6136241 P 0296286a9963bbaab60ee30d8700703f5ccb382380c9bfc0eb12c4bcb6f2accd
R eddb6c6e05812e7a9afe7b2909e80007 R 8fbbfa59bd11832619e2c9584cf54899
T *branch * sqlar-shell-support U mistachkin
T *sym-sqlar-shell-support * Z 4e0794167698ff60a9b30c96ee6b24e0
T -sym-trunk *
U dan
Z e3b1a40cd391e9a775fce7f501c26e90

View File

@ -1 +1 @@
0296286a9963bbaab60ee30d8700703f5ccb382380c9bfc0eb12c4bcb6f2accd e1838cee3847301ef491467dc75d9c4e1e3b12599596c058bdb14319a52fd8a0