diff --git a/Makefile.am b/Makefile.am
index df6720a7..d420b4d0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -8,11 +8,11 @@ ACLOCAL_AMFLAGS = -I admin/m4
# Flags used for compiling all the targets and linking all the executables
# (libraries use LIBADD which is set for lib@WXSQLITE3_LIBNAME@.la only).
-AM_CXXFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/sqlite3secure/src $(WX_CXXFLAGS)
-AM_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/sqlite3secure/src $(WX_CXXFLAGS)
+AM_CXXFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src $(WX_CXXFLAGS)
+AM_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src $(WX_CXXFLAGS)
-AM_CXXFLAGS += -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0
-AM_CFLAGS += -std=c99 -DTHREADSAFE=1 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
+AM_CXXFLAGS += -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_USER_AUTHENTICATION=1
+AM_CFLAGS += -std=c99 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
AM_LDFLAGS = -pthread -ldl -lm
@@ -30,7 +30,7 @@ pkgconfig_DATA = wxsqlite3.pc
lib_LTLIBRARIES = lib@WXSQLITE3_LIBNAME@.la
lib@WXSQLITE3_LIBNAME@_la_SOURCES = \
- sqlite3secure/src/sqlite3secure.c \
+ src/sqlite3mc_amalgamation.c \
src/wxsqlite3.cpp
includewx_HEADERS = \
@@ -39,39 +39,8 @@ includewx_HEADERS = \
include/wx/wxsqlite3def.h
noinst_HEADERS = \
- include/wx/wxsqlite3dyn.h \
include/wx/wxsqlite3opt.h \
- sqlite3secure/src/sqlite3.c \
- sqlite3secure/src/carray.c \
- sqlite3secure/src/chacha20poly1305.c \
- sqlite3secure/src/codec.c \
- sqlite3secure/src/codec.h \
- sqlite3secure/src/codecext.c \
- sqlite3secure/src/csv.c \
- sqlite3secure/src/extensionfunctions.c \
- sqlite3secure/src/fastpbkdf2.c \
- sqlite3secure/src/fastpbkdf2.h \
- sqlite3secure/src/fileio.c \
- sqlite3secure/src/md5.c \
- sqlite3secure/src/regexp.c \
- sqlite3secure/src/rekeyvacuum.c \
- sqlite3secure/src/rijndael.c \
- sqlite3secure/src/rijndael.h \
- sqlite3secure/src/series.c \
- sqlite3secure/src/sha1.c \
- sqlite3secure/src/sha1.h \
- sqlite3secure/src/sha2.c \
- sqlite3secure/src/sha2.h \
- sqlite3secure/src/shathree.c \
- sqlite3secure/src/shell.c \
- sqlite3secure/src/sqlite3.c \
- sqlite3secure/src/sqlite3.h \
- sqlite3secure/src/sqlite3ext.h \
- sqlite3secure/src/sqlite3secure.c \
- sqlite3secure/src/sqlite3userauth.h \
- sqlite3secure/src/test_windirent.c \
- sqlite3secure/src/test_windirent.h \
- sqlite3secure/src/userauth.c
+ src/sqlite3mc_amalgamation.h
lib@WXSQLITE3_LIBNAME@_la_LDFLAGS = -no-undefined $(AM_LDFLAGS)
lib@WXSQLITE3_LIBNAME@_la_LIBADD = $(WX_LIBS)
diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt
index 1461aae5..5a2e08ad 100644
--- a/build/CMakeLists.txt
+++ b/build/CMakeLists.txt
@@ -17,27 +17,17 @@ if(MSVC)
option(THREAD_SAVE_STATIC_INIT "Enable thread safe initialization of static variables" "OFF")
endif(MSVC)
option(RELEASE_DEBUG_SYMBOLS "Generate debugging symbols for optimized build" "OFF")
-set(SQLITE_CODEC_TYPE "DEFAULT" CACHE STRING "DB Codec(AES128, AES256, CHACHA20, DEFAULT)")
+set(SQLITE_CODEC_TYPE "DEFAULT" CACHE STRING "DB Codec(AES128, AES256, CHACHA20, SQLCIPHER, RC4, DEFAULT)")
set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE)
set(LIBRARY_SOURCES
"../include/wx/wxsqlite3_version.h"
"../include/wx/wxsqlite3def.h"
- "../include/wx/wxsqlite3dyn.h"
"../include/wx/wxsqlite3opt.h"
- "../sqlite3secure/src/codec.h"
- "../sqlite3secure/src/fastpbkdf2.h"
- "../sqlite3secure/src/rijndael.h"
- "../sqlite3secure/src/sha1.h"
- "../sqlite3secure/src/sha2.h"
- "../sqlite3secure/src/sqlite3.h"
- "../sqlite3secure/src/sqlite3ext.h"
- "../sqlite3secure/src/sqlite3secure.h"
- "../sqlite3secure/src/sqlite3userauth.h"
- "../sqlite3secure/src/test_windirent.h"
+ "../src/sqlite3mc_amalgamation.h"
- "../sqlite3secure/src/sqlite3secure.c"
+ "../src/sqlite3mc_amalgamation.c"
"../src/wxsqlite3.cpp"
)
@@ -216,7 +206,7 @@ endif(MSVC)
include_directories(
"../include/"
- "../sqlite3secure/src/"
+ "../src/"
)
if (WXSQLITE3_BUILD_SHARED)
@@ -242,35 +232,33 @@ endif(SQLITE_DEBUG)
set_target_properties(wxsqlite3 PROPERTIES COMPILE_FLAGS "-D_LIB \
-D${WXSQLITE3_MAKING_DEF} \
- -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 \
- -DWXSQLITE3_HAVE_METADATA=1 \
- -DWXSQLITE3_USER_AUTHENTICATION=1 \
- -DWXSQLITE3_HAVE_CODEC=1 \
- -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 \
- -DTHREADSAFE=1 \
+ -DSQLITE_THREADSAFE=1 \
-DSQLITE_MAX_ATTACHED=10 \
- -DSQLITE_ENABLE_EXPLAIN_COMMENTS \
- -DSQLITE_SOUNDEX \
- -DSQLITE_ENABLE_COLUMN_METADATA \
- -DSQLITE_HAS_CODEC=1 \
- -DSQLITE_SECURE_DELETE \
- -DSQLITE_ENABLE_FTS3 \
- -DSQLITE_ENABLE_FTS3_PARENTHESIS \
- -DSQLITE_ENABLE_FTS4 \
- -DSQLITE_ENABLE_FTS5 \
- -DSQLITE_ENABLE_JSON1 \
- -DSQLITE_ENABLE_RTREE \
- -DSQLITE_ENABLE_GEOPOLY \
- -DSQLITE_CORE \
- -DSQLITE_ENABLE_EXTFUNC \
- -DSQLITE_ENABLE_CSV \
- -DSQLITE_ENABLE_SHA3 \
- -DSQLITE_ENABLE_CARRAY \
- -DSQLITE_ENABLE_FILEIO \
- -DSQLITE_ENABLE_SERIES \
+ -DSQLITE_DQS=0 \
+ -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 \
+ -DSQLITE_SOUNDEX=1 \
+ -DSQLITE_ENABLE_COLUMN_METADATA=1 \
+ -DSQLITE_SECURE_DELETE=1 \
+ -DSQLITE_ENABLE_DESERIALIZE=1 \
+ -DSQLITE_ENABLE_FTS3=1 \
+ -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 \
+ -DSQLITE_ENABLE_FTS4=1 \
+ -DSQLITE_ENABLE_FTS5=1 \
+ -DSQLITE_ENABLE_JSON1=1 \
+ -DSQLITE_ENABLE_RTREE=1 \
+ -DSQLITE_ENABLE_GEOPOLY=1 \
+ -DSQLITE_CORE=1 \
+ -DSQLITE_ENABLE_EXTFUNC=1 \
+ -DSQLITE_ENABLE_CSV=1 \
+ -DSQLITE_ENABLE_SHA3=1 \
+ -DSQLITE_ENABLE_CARRAY=1 \
+ -DSQLITE_ENABLE_FILEIO=1 \
+ -DSQLITE_ENABLE_SERIES=1 \
+ -DSQLITE_ENABLE_UUID=1 \
+ -DSQLITE_ENABLE_REGEXP=1 \
-DSQLITE_TEMP_STORE=2 \
- -DSQLITE_USE_URI \
- -DSQLITE_USER_AUTHENTICATION \
+ -DSQLITE_USE_URI=1 \
+ -DSQLITE_USER_AUTHENTICATION=1 \
-DCODEC_TYPE=CODEC_TYPE_${SQLITE_CODEC_TYPE} \
${SQLITE_DEBUG_MACRO}")
@@ -315,7 +303,7 @@ option(SQLITE_DEBUG "enable SQLite debug" "OFF")
option(PEDANTIC_COMPILER_FLAGS "Enable additional checking for ill-formed code" "ON")
option(THREAD_SAVE_STATIC_INIT "Enable thread safe initialization of static variables" "OFF")
option(RELEASE_DEBUG_SYMBOLS "Generate debugging symbols for optimized build" "OFF")
-set(SQLITE_CODEC_TYPE "DEFAULT" CACHE STRING "DB Codec(AES128, AES256, CHACHA20, DEFAULT)")
+set(SQLITE_CODEC_TYPE "DEFAULT" CACHE STRING "DB Codec(AES128, AES256, CHACHA20, SQLCIPHER, RC4, DEFAULT)")
foreach(V ${COMPILER_SPECIFIC_OPTIONS}
STATIC_RUNTIME
diff --git a/build/wxsqlite3.make b/build/wxsqlite3.make
index 8a4a7cb4..9edf65de 100644
--- a/build/wxsqlite3.make
+++ b/build/wxsqlite3.make
@@ -37,8 +37,8 @@ ifeq ($(config),debug_x32)
TARGETDIR = ../lib/gcc_lib
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour)d.a
OBJDIR = obj/x32/Debug/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib" -L/usr/lib32 -m32
@@ -48,8 +48,8 @@ else ifeq ($(config),debug_x64)
TARGETDIR = ../lib/gcc_x64_lib
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour)d.a
OBJDIR = obj/x64/Debug/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib" -L/usr/lib64 -m64
@@ -59,8 +59,8 @@ else ifeq ($(config),release_x32)
TARGETDIR = ../lib/gcc_lib
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour).a
OBJDIR = obj/x32/Release/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O2
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O2
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib" -L/usr/lib32 -m32 -s
@@ -70,8 +70,8 @@ else ifeq ($(config),release_x64)
TARGETDIR = ../lib/gcc_x64_lib
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour).a
OBJDIR = obj/x64/Release/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O2
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O2
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib" -L/usr/lib64 -m64 -s
@@ -81,8 +81,8 @@ else ifeq ($(config),debug_wxdll_x32)
TARGETDIR = ../lib/gcc_lib_wxdll
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour)d.a
OBJDIR = obj/x32/Debug_wxDLL/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib32 -m32
@@ -92,8 +92,8 @@ else ifeq ($(config),debug_wxdll_x64)
TARGETDIR = ../lib/gcc_x64_lib_wxdll
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour)d.a
OBJDIR = obj/x64/Debug_wxDLL/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib64 -m64
@@ -103,8 +103,8 @@ else ifeq ($(config),release_wxdll_x32)
TARGETDIR = ../lib/gcc_lib_wxdll
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour).a
OBJDIR = obj/x32/Release_wxDLL/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O2
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O2
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib32 -m32 -s
@@ -114,8 +114,8 @@ else ifeq ($(config),release_wxdll_x64)
TARGETDIR = ../lib/gcc_x64_lib_wxdll
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour).a
OBJDIR = obj/x64/Release_wxDLL/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O2
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O2
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib64 -m64 -s
@@ -125,8 +125,8 @@ else ifeq ($(config),dll_debug_x32)
TARGETDIR = ../lib/gcc_dll
TARGET = $(TARGETDIR)/wxsqlite3$(wxFlavour)d.dll
OBJDIR = obj/x32/DLL_Debug/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib32 -m32 -shared -Wl,--out-implib="../lib/gcc_dll/libwxsqlite3$(wxFlavour)d.a"
@@ -136,8 +136,8 @@ else ifeq ($(config),dll_debug_x64)
TARGETDIR = ../lib/gcc_x64_dll
TARGET = $(TARGETDIR)/wxsqlite3$(wxFlavour)d.dll
OBJDIR = obj/x64/DLL_Debug/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib64 -m64 -shared -Wl,--out-implib="../lib/gcc_x64_dll/libwxsqlite3$(wxFlavour)d.a"
@@ -147,8 +147,8 @@ else ifeq ($(config),dll_release_x32)
TARGETDIR = ../lib/gcc_dll
TARGET = $(TARGETDIR)/wxsqlite3$(wxFlavour).dll
OBJDIR = obj/x32/DLL_Release/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O2
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O2
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib32 -m32 -shared -Wl,--out-implib="../lib/gcc_dll/libwxsqlite3$(wxFlavour).a" -s
@@ -158,8 +158,8 @@ else ifeq ($(config),dll_release_x64)
TARGETDIR = ../lib/gcc_x64_dll
TARGET = $(TARGETDIR)/wxsqlite3$(wxFlavour).dll
OBJDIR = obj/x64/DLL_Release/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O2
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O2
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib64 -m64 -shared -Wl,--out-implib="../lib/gcc_x64_dll/libwxsqlite3$(wxFlavour).a" -s
@@ -180,7 +180,7 @@ CUSTOM :=
OBJECTS :=
CUSTOM += $(OBJDIR)/wxsqlite3_version.res
-OBJECTS += $(OBJDIR)/sqlite3secure.o
+OBJECTS += $(OBJDIR)/sqlite3mc_amalgamation.o
OBJECTS += $(OBJDIR)/wxsqlite3.o
# Rules
@@ -244,7 +244,7 @@ endif
# File Rules
# #############################################
-$(OBJDIR)/sqlite3secure.o: ../sqlite3secure/src/sqlite3secure.c
+$(OBJDIR)/sqlite3mc_amalgamation.o: ../src/sqlite3mc_amalgamation.c
@echo $(notdir $<)
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
$(OBJDIR)/wxsqlite3.o: ../src/wxsqlite3.cpp
diff --git a/build/wxsqlite3_mono.make b/build/wxsqlite3_mono.make
index 1ac31e2b..62011c2a 100644
--- a/build/wxsqlite3_mono.make
+++ b/build/wxsqlite3_mono.make
@@ -37,8 +37,8 @@ ifeq ($(config),debug_x32)
TARGETDIR = ../lib/gcc_lib
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour)d.a
OBJDIR = obj/x32/Debug/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib" -L/usr/lib32 -m32
@@ -48,8 +48,8 @@ else ifeq ($(config),debug_x64)
TARGETDIR = ../lib/gcc_x64_lib
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour)d.a
OBJDIR = obj/x64/Debug/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib" -L/usr/lib64 -m64
@@ -59,8 +59,8 @@ else ifeq ($(config),release_x32)
TARGETDIR = ../lib/gcc_lib
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour).a
OBJDIR = obj/x32/Release/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O2
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O2
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib" -L/usr/lib32 -m32 -s
@@ -70,8 +70,8 @@ else ifeq ($(config),release_x64)
TARGETDIR = ../lib/gcc_x64_lib
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour).a
OBJDIR = obj/x64/Release/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O2
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O2
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_lib" -L/usr/lib64 -m64 -s
@@ -81,8 +81,8 @@ else ifeq ($(config),debug_wxdll_x32)
TARGETDIR = ../lib/gcc_lib_wxdll
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour)d.a
OBJDIR = obj/x32/Debug_wxDLL/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib32 -m32
@@ -92,8 +92,8 @@ else ifeq ($(config),debug_wxdll_x64)
TARGETDIR = ../lib/gcc_x64_lib_wxdll
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour)d.a
OBJDIR = obj/x64/Debug_wxDLL/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib64 -m64
@@ -103,8 +103,8 @@ else ifeq ($(config),release_wxdll_x32)
TARGETDIR = ../lib/gcc_lib_wxdll
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour).a
OBJDIR = obj/x32/Release_wxDLL/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O2
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O2
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib32 -m32 -s
@@ -114,8 +114,8 @@ else ifeq ($(config),release_wxdll_x64)
TARGETDIR = ../lib/gcc_x64_lib_wxdll
TARGET = $(TARGETDIR)/libwxsqlite3$(wxFlavour).a
OBJDIR = obj/x64/Release_wxDLL/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_LIB -DWXMAKINGLIB_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O2
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O2
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib64 -m64 -s
@@ -125,8 +125,8 @@ else ifeq ($(config),dll_debug_x32)
TARGETDIR = ../lib/gcc_dll
TARGET = $(TARGETDIR)/wxsqlite3$(wxFlavour)d.dll
OBJDIR = obj/x32/DLL_Debug/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib32 -m32 -shared -Wl,--out-implib="../lib/gcc_dll/libwxsqlite3$(wxFlavour)d.a"
@@ -136,8 +136,8 @@ else ifeq ($(config),dll_debug_x64)
TARGETDIR = ../lib/gcc_x64_dll
TARGET = $(TARGETDIR)/wxsqlite3$(wxFlavour)d.dll
OBJDIR = obj/x64/DLL_Debug/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -D__WXDEBUG__ -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib64 -m64 -shared -Wl,--out-implib="../lib/gcc_x64_dll/libwxsqlite3$(wxFlavour)d.a"
@@ -147,8 +147,8 @@ else ifeq ($(config),dll_release_x32)
TARGETDIR = ../lib/gcc_dll
TARGET = $(TARGETDIR)/wxsqlite3$(wxFlavour).dll
OBJDIR = obj/x32/DLL_Release/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O2
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O2
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib32 -m32 -shared -Wl,--out-implib="../lib/gcc_dll/libwxsqlite3$(wxFlavour).a" -s
@@ -158,8 +158,8 @@ else ifeq ($(config),dll_release_x64)
TARGETDIR = ../lib/gcc_x64_dll
TARGET = $(TARGETDIR)/wxsqlite3$(wxFlavour).dll
OBJDIR = obj/x64/DLL_Release/wxsqlite3
-DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DwxUSE_DYNAMIC_SQLITE3_LOAD=0 -DWXSQLITE3_HAVE_METADATA=1 -DWXSQLITE3_USER_AUTHENTICATION=1 -DWXSQLITE3_HAVE_CODEC=1 -DWXSQLITE3_HAVE_LOAD_EXTENSION=0 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../sqlite3secure/src
+DEFINES += -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DWXSQLITE3_DLLNAME=wxsqlite3$(wxSuffixDebug) -D_USRDLL -DWXMAKINGDLL_WXSQLITE3 -D_UNICODE -DWXUSINGDLL -D__WXMSW__ -DCODEC_TYPE=$(CODEC_TYPE) -DSQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG) -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1
+INCLUDES += -I"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll/msw$(wxSuffix)" -I"$(wxRootDir)/include" -I../include -I../src
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O2
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O2
ALL_LDFLAGS += $(LDFLAGS) -L"$(wxRootDir)/lib/$(wxCompilerPrefix)$(wxArchSuffix)_dll" -L/usr/lib64 -m64 -shared -Wl,--out-implib="../lib/gcc_x64_dll/libwxsqlite3$(wxFlavour).a" -s
@@ -180,7 +180,7 @@ CUSTOM :=
OBJECTS :=
CUSTOM += $(OBJDIR)/wxsqlite3_version.res
-OBJECTS += $(OBJDIR)/sqlite3secure.o
+OBJECTS += $(OBJDIR)/sqlite3mc_amalgamation.o
OBJECTS += $(OBJDIR)/wxsqlite3.o
# Rules
@@ -244,7 +244,7 @@ endif
# File Rules
# #############################################
-$(OBJDIR)/sqlite3secure.o: ../sqlite3secure/src/sqlite3secure.c
+$(OBJDIR)/sqlite3mc_amalgamation.o: ../src/sqlite3mc_amalgamation.c
@echo $(notdir $<)
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
$(OBJDIR)/wxsqlite3.o: ../src/wxsqlite3.cpp
diff --git a/build/wxsqlite3_vc10_wxsqlite3.vcxproj b/build/wxsqlite3_vc10_wxsqlite3.vcxproj
index 0a9d29a9..f3dfeb63 100644
--- a/build/wxsqlite3_vc10_wxsqlite3.vcxproj
+++ b/build/wxsqlite3_vc10_wxsqlite3.vcxproj
@@ -253,14 +253,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -275,14 +275,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
ProgramDatabase
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -297,8 +297,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -306,8 +306,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -323,8 +323,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -332,8 +332,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -349,14 +349,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -371,14 +371,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
ProgramDatabase
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -393,8 +393,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -402,8 +402,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -419,8 +419,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -428,8 +428,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -445,14 +445,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -465,14 +465,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
ProgramDatabase
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -485,8 +485,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -494,8 +494,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -509,8 +509,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -518,8 +518,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -533,23 +533,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
diff --git a/build/wxsqlite3_vc10_wxsqlite3.vcxproj.filters b/build/wxsqlite3_vc10_wxsqlite3.vcxproj.filters
index e9d28c5a..f1745a73 100644
--- a/build/wxsqlite3_vc10_wxsqlite3.vcxproj.filters
+++ b/build/wxsqlite3_vc10_wxsqlite3.vcxproj.filters
@@ -18,51 +18,15 @@
Header Files
-
- Header Files
-
Header Files
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
+
Header Files
-
+
Source Files
diff --git a/build/wxsqlite3_vc11_wxsqlite3.vcxproj b/build/wxsqlite3_vc11_wxsqlite3.vcxproj
index 602012f2..6730cbc4 100644
--- a/build/wxsqlite3_vc11_wxsqlite3.vcxproj
+++ b/build/wxsqlite3_vc11_wxsqlite3.vcxproj
@@ -253,14 +253,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -275,14 +275,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
ProgramDatabase
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -297,8 +297,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -306,8 +306,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -323,8 +323,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -332,8 +332,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -349,14 +349,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -371,14 +371,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
ProgramDatabase
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -393,8 +393,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -402,8 +402,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -419,8 +419,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -428,8 +428,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -445,14 +445,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -465,14 +465,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
ProgramDatabase
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -485,8 +485,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -494,8 +494,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -509,8 +509,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -518,8 +518,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -533,23 +533,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
diff --git a/build/wxsqlite3_vc11_wxsqlite3.vcxproj.filters b/build/wxsqlite3_vc11_wxsqlite3.vcxproj.filters
index e9d28c5a..f1745a73 100644
--- a/build/wxsqlite3_vc11_wxsqlite3.vcxproj.filters
+++ b/build/wxsqlite3_vc11_wxsqlite3.vcxproj.filters
@@ -18,51 +18,15 @@
Header Files
-
- Header Files
-
Header Files
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
+
Header Files
-
+
Source Files
diff --git a/build/wxsqlite3_vc12_wxsqlite3.vcxproj b/build/wxsqlite3_vc12_wxsqlite3.vcxproj
index 480c2cf8..ac77d7db 100644
--- a/build/wxsqlite3_vc12_wxsqlite3.vcxproj
+++ b/build/wxsqlite3_vc12_wxsqlite3.vcxproj
@@ -254,14 +254,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -276,14 +276,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
ProgramDatabase
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -298,8 +298,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -307,8 +307,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -324,8 +324,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -333,8 +333,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -350,14 +350,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -372,14 +372,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
ProgramDatabase
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -394,8 +394,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -403,8 +403,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -420,8 +420,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -429,8 +429,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -446,14 +446,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -466,14 +466,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
ProgramDatabase
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -486,8 +486,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -495,8 +495,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -510,8 +510,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -519,8 +519,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -534,23 +534,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
diff --git a/build/wxsqlite3_vc12_wxsqlite3.vcxproj.filters b/build/wxsqlite3_vc12_wxsqlite3.vcxproj.filters
index e9d28c5a..f1745a73 100644
--- a/build/wxsqlite3_vc12_wxsqlite3.vcxproj.filters
+++ b/build/wxsqlite3_vc12_wxsqlite3.vcxproj.filters
@@ -18,51 +18,15 @@
Header Files
-
- Header Files
-
Header Files
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
+
Header Files
-
+
Source Files
diff --git a/build/wxsqlite3_vc14_wxsqlite3.vcxproj b/build/wxsqlite3_vc14_wxsqlite3.vcxproj
index e30c56c0..100fac0c 100644
--- a/build/wxsqlite3_vc14_wxsqlite3.vcxproj
+++ b/build/wxsqlite3_vc14_wxsqlite3.vcxproj
@@ -254,14 +254,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -276,14 +276,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -298,8 +298,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -307,8 +307,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -324,8 +324,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -333,8 +333,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -350,14 +350,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -372,14 +372,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -394,8 +394,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -403,8 +403,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -420,8 +420,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -429,8 +429,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -446,14 +446,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -466,14 +466,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -486,8 +486,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -495,8 +495,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -510,8 +510,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -519,8 +519,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -534,23 +534,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
diff --git a/build/wxsqlite3_vc14_wxsqlite3.vcxproj.filters b/build/wxsqlite3_vc14_wxsqlite3.vcxproj.filters
index e9d28c5a..f1745a73 100644
--- a/build/wxsqlite3_vc14_wxsqlite3.vcxproj.filters
+++ b/build/wxsqlite3_vc14_wxsqlite3.vcxproj.filters
@@ -18,51 +18,15 @@
Header Files
-
- Header Files
-
Header Files
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
+
Header Files
-
+
Source Files
diff --git a/build/wxsqlite3_vc15_wxsqlite3.vcxproj b/build/wxsqlite3_vc15_wxsqlite3.vcxproj
index 3b8796df..c7ba5b96 100644
--- a/build/wxsqlite3_vc15_wxsqlite3.vcxproj
+++ b/build/wxsqlite3_vc15_wxsqlite3.vcxproj
@@ -254,14 +254,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -276,14 +276,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -298,8 +298,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -307,8 +307,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -324,8 +324,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -333,8 +333,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -350,14 +350,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -372,14 +372,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -394,8 +394,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -403,8 +403,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -420,8 +420,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -429,8 +429,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -446,14 +446,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -466,14 +466,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -486,8 +486,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -495,8 +495,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -510,8 +510,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -519,8 +519,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -534,23 +534,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
diff --git a/build/wxsqlite3_vc15_wxsqlite3.vcxproj.filters b/build/wxsqlite3_vc15_wxsqlite3.vcxproj.filters
index e9d28c5a..f1745a73 100644
--- a/build/wxsqlite3_vc15_wxsqlite3.vcxproj.filters
+++ b/build/wxsqlite3_vc15_wxsqlite3.vcxproj.filters
@@ -18,51 +18,15 @@
Header Files
-
- Header Files
-
Header Files
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
+
Header Files
-
+
Source Files
diff --git a/build/wxsqlite3_vc16_wxsqlite3.vcxproj b/build/wxsqlite3_vc16_wxsqlite3.vcxproj
index e54d7e9e..f45bc705 100644
--- a/build/wxsqlite3_vc16_wxsqlite3.vcxproj
+++ b/build/wxsqlite3_vc16_wxsqlite3.vcxproj
@@ -254,14 +254,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -276,14 +276,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -298,8 +298,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -307,8 +307,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -324,8 +324,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -333,8 +333,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_lib\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -350,14 +350,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -372,14 +372,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -394,8 +394,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -403,8 +403,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -420,8 +420,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -429,8 +429,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_LIB;WXMAKINGLIB_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -446,14 +446,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -466,14 +466,14 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
EditAndContinue
Disabled
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;__WXDEBUG__;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -486,8 +486,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -495,8 +495,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -510,8 +510,8 @@
NotUsing
Level3
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Full
true
true
@@ -519,8 +519,8 @@
true
- _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;wxUSE_DYNAMIC_SQLITE3_LOAD=0;WXSQLITE3_HAVE_METADATA=1;WXSQLITE3_USER_AUTHENTICATION=1;WXSQLITE3_HAVE_CODEC=1;WXSQLITE3_HAVE_LOAD_EXTENSION=0;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\sqlite3secure\src;%(AdditionalIncludeDirectories)
+ _WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;WXSQLITE3_DLLNAME=$(TargetName);_USRDLL;WXMAKINGDLL_WXSQLITE3;_UNICODE;WXUSINGDLL;__WXMSW__;CODEC_TYPE=$(CODEC_TYPE);SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG);SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_SECURE_DELETE=1;SQLITE_ENABLE_DESERIALIZE=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;SQLITE_ENABLE_FTS5=1;SQLITE_ENABLE_JSON1=1;SQLITE_ENABLE_RTREE=1;SQLITE_ENABLE_GEOPOLY=1;SQLITE_CORE=1;SQLITE_ENABLE_EXTFUNC=1;SQLITE_ENABLE_CSV=1;SQLITE_ENABLE_SHA3=1;SQLITE_ENABLE_CARRAY=1;SQLITE_ENABLE_FILEIO=1;SQLITE_ENABLE_SERIES=1;SQLITE_ENABLE_UUID=1;SQLITE_ENABLE_REGEXP=1;SQLITE_TEMP_STORE=2;SQLITE_USE_URI=1;SQLITE_USER_AUTHENTICATION=1;%(PreprocessorDefinitions)
+ $(wxRootDir)\include\msvc;$(wxRootDir)\lib\$(wxCompilerPrefix)$(wxArchSuffix)_dll\msw$(wxSuffix);$(wxRootDir)\include;..\include;..\src;%(AdditionalIncludeDirectories)
Windows
@@ -534,23 +534,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
diff --git a/build/wxsqlite3_vc16_wxsqlite3.vcxproj.filters b/build/wxsqlite3_vc16_wxsqlite3.vcxproj.filters
index e9d28c5a..f1745a73 100644
--- a/build/wxsqlite3_vc16_wxsqlite3.vcxproj.filters
+++ b/build/wxsqlite3_vc16_wxsqlite3.vcxproj.filters
@@ -18,51 +18,15 @@
Header Files
-
- Header Files
-
Header Files
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
+
Header Files
-
+
Source Files
diff --git a/include/wx/wxsqlite3.h b/include/wx/wxsqlite3.h
index d6f5370f..c1404431 100644
--- a/include/wx/wxsqlite3.h
+++ b/include/wx/wxsqlite3.h
@@ -3,14 +3,14 @@
** Purpose: wxWidgets wrapper around the SQLite3 embedded database library.
** Author: Ulrich Telle
** Created: 2005-07-14
-** Copyright: (c) 2005-2019 Ulrich Telle
+** Copyright: (c) 2005-2020 Ulrich Telle
** License: LGPL-3.0+ WITH WxWindows-exception-3.1
*/
/// \file wxsqlite3.h Interface of the wxSQLite3 class
-#ifndef _WX_SQLITE3_H_
-#define _WX_SQLITE3_H_
+#ifndef WX_SQLITE3_H_
+#define WX_SQLITE3_H_
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "wxsqlite3.h"
@@ -1393,7 +1393,7 @@ class WXDLLIMPEXP_SQLITE3 wxSQLite3ResultSet
* \param columnIndex index of the column. Indices start with 0.
* \return database name the column belongs to or empty string
*
- * This method is only available if WXSQLITE3_HAVE_METADATA is defined and SQLite has been compiled with SQLITE_ENABLE_COLUMN_METADATA defined.
+ * This method is only available if SQLite has been compiled with SQLITE_ENABLE_COLUMN_METADATA defined.
*/
wxString GetDatabaseName(int columnIndex) const;
@@ -1402,7 +1402,7 @@ class WXDLLIMPEXP_SQLITE3 wxSQLite3ResultSet
* \param columnIndex index of the column. Indices start with 0.
* \return table name the column belongs to or empty string
*
- * This method is only available if WXSQLITE3_HAVE_METADATA is defined and SQLite has been compiled with SQLITE_ENABLE_COLUMN_METADATA defined.
+ * This method is only available if SQLite has been compiled with SQLITE_ENABLE_COLUMN_METADATA defined.
*/
wxString GetTableName(int columnIndex) const;
@@ -1411,7 +1411,7 @@ class WXDLLIMPEXP_SQLITE3 wxSQLite3ResultSet
* \param columnIndex index of the column. Indices start with 0.
* \return origin name the column belongs to or empty string
*
- * This method is only available if WXSQLITE3_HAVE_METADATA is defined and SQLite has been compiled with SQLITE_ENABLE_COLUMN_METADATA defined.
+ * This method is only available if SQLite has been compiled with SQLITE_ENABLE_COLUMN_METADATA defined.
*/
wxString GetOriginName(int columnIndex) const;
@@ -3394,7 +3394,7 @@ class WXDLLIMPEXP_SQLITE3 wxSQLite3Database
* \param primaryKey output flag whether the column is part of the primary key. Pass NULL if information not needed.
* \param autoIncrement output flag whether the column is an auto increment column. Pass NULL if information not needed.
*
- * This method is only available if WXSQLITE3_HAVE_METADATA is defined and SQLite has been compiled with SQLITE_ENABLE_COLUMN_METADATA defined.
+ * This method is only available if SQLite has been compiled with SQLITE_ENABLE_COLUMN_METADATA defined.
*/
void GetMetaData(const wxString& dbName, const wxString& tableName, const wxString& columnName,
wxString* dataType = NULL, wxString* collation = NULL,
diff --git a/include/wx/wxsqlite3_version.h b/include/wx/wxsqlite3_version.h
index 0515edf1..4061aa95 100644
--- a/include/wx/wxsqlite3_version.h
+++ b/include/wx/wxsqlite3_version.h
@@ -9,8 +9,8 @@
/// \file wxsqlite3_version.h Version information for the wxSQLite3 library
-#ifndef _WXSQLITE3_VERSION_H_
-#define _WXSQLITE3_VERSION_H_
+#ifndef WXSQLITE3_VERSION_H_
+#define WXSQLITE3_VERSION_H_
#define WXSQLITE3_MAJOR_VERSION 4
#define WXSQLITE3_MINOR_VERSION 6
@@ -18,4 +18,4 @@
#define WXSQLITE3_SUBRELEASE_NUMBER 0
#define WXSQLITE3_VERSION_STRING "wxSQLite3 4.6.0"
-#endif // _WXSQLITE3_VERSION_H_
+#endif // WXSQLITE3_VERSION_H_
diff --git a/include/wx/wxsqlite3def.h b/include/wx/wxsqlite3def.h
index ac2fde9c..decd1ac4 100644
--- a/include/wx/wxsqlite3def.h
+++ b/include/wx/wxsqlite3def.h
@@ -40,12 +40,16 @@
since wxWidgets 2.8.4) are used for the conversion. Special care has to be taken if external administration
tools are used to modify the database contents, since not all of these tools operate in Unicode or UTF-8 mode.
+\note With the release of SQLite version 3.32.0 on May 22, 2020 critical changes to the public SQLite code finally took officially effect, although they weren't officially announced. They were introduced on Feb 7, 2020: ["Simplify the code by removing the unsupported and undocumented SQLITE_HAS_CODEC compile-time option"](https://www.sqlite.org/src/timeline?c=5a877221ce90e752). Since August 2020 a new implementation of an encryption extension, capable of supporting SQLite version 3.32.0 and later, is available as a separate project, [**SQLite3 Multiple Ciphers**](https://github.com/utelle/SQLite3MultipleCiphers). Starting with the release of **wxSQLite3 4.6.0** this new implementation will be used.
+
\section version Version history
-- 4.6.0 - February 2020
+- 4.6.0 - August 2020
-
+Use SQLite encryption extension "SQLite3 Multiple Ciphers"
+Upgrade to SQLite version 3.33.0
Added support for System.Data.SQLite's RC4 encryption
@@ -664,8 +668,8 @@ The following people have contributed to wxSQLite3:
*/
-#ifndef _WX_SQLITE3_DEF_H_
-#define _WX_SQLITE3_DEF_H_
+#ifndef WX_SQLITE3_DEF_H_
+#define WX_SQLITE3_DEF_H_
#if defined(WXMAKINGLIB_WXSQLITE3)
#define WXDLLIMPEXP_SQLITE3
@@ -689,4 +693,4 @@ The following people have contributed to wxSQLite3:
#define WXDLLIMPEXP_FWD_SQLITE3 WXDLLIMPEXP_SQLITE3
#endif
-#endif // _WX_SQLITE3_DEF_H_
+#endif // WX_SQLITE3_DEF_H_
diff --git a/include/wx/wxsqlite3dyn.h b/include/wx/wxsqlite3dyn.h
deleted file mode 100644
index 60e3ca31..00000000
--- a/include/wx/wxsqlite3dyn.h
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
-** Name: wxsqlite3dyn.h
-** Purpose: wxWidgets wrapper around the SQLite3 embedded database library.
-** Author: Ulrich Telle
-** Created: 2005-11-12
-** Copyright: (c) 2005-2018 Ulrich Telle
-** License: LGPL-3.0+ WITH WxWindows-exception-3.1
-*/
-
-/// \file wxsqlite3dyn.h Definition of the SQLite3 API functions
-
-#ifdef DYNFUNC
-
-DYNFUNC(return, void *, sqlite3_aggregate_context, (sqlite3_context *p, int nBytes), (p, nBytes));
-#if SQLITE_VERSION_NUMBER <= 3006000
-DYNFUNC(return, int, sqlite3_aggregate_count, (sqlite3_context *p), (p));
-#endif
-#if SQLITE_VERSION_NUMBER >= 3006011
-DYNFUNC(return, sqlite3_backup*, sqlite3_backup_init, (sqlite3 *pDest, const char *zDestName, sqlite3 *pSource, const char *zSourceName), (pDest, zDestName, pSource, zSourceName));
-DYNFUNC(return, int, sqlite3_backup_step, (sqlite3_backup *p, int nPage), (p, nPage));
-DYNFUNC(return, int, sqlite3_backup_finish, (sqlite3_backup *p), (p));
-DYNFUNC(return, int, sqlite3_backup_remaining, (sqlite3_backup *p), (p));
-DYNFUNC(return, int, sqlite3_backup_pagecount, (sqlite3_backup *p), (p));
-#endif
-DYNFUNC(return, int, sqlite3_bind_blob, (sqlite3_stmt *pStmt, int i, const void *zData, int nData, void (*xDel)(void*)), (pStmt, i, zData, nData, xDel));
-DYNFUNC(return, int, sqlite3_bind_double, (sqlite3_stmt *pStmt, int i, double rValue), (pStmt, i, rValue));
-DYNFUNC(return, int, sqlite3_bind_int, (sqlite3_stmt *pStmt, int i, int iValue), (pStmt, i, iValue));
-DYNFUNC(return, int, sqlite3_bind_int64, (sqlite3_stmt *pStmt, int i, sqlite_int64 iValue), (pStmt, i, iValue));
-DYNFUNC(return, int, sqlite3_bind_null, (sqlite3_stmt *pStmt, int i), (pStmt, i));
-DYNFUNC(return, int, sqlite3_bind_parameter_count, (sqlite3_stmt *pStmt), (pStmt));
-DYNFUNC(return, int, sqlite3_bind_parameter_index, (sqlite3_stmt *pStmt, const char *zName), (pStmt, zName));
-DYNFUNC(return, const char *, sqlite3_bind_parameter_name, (sqlite3_stmt *pStmt, int i), (pStmt, i));
-#if SQLITE_VERSION_NUMBER >= 3020000
-DYNFUNC(return, int, sqlite3_bind_pointer, (sqlite3_stmt *pStmt, int i, void* ptr, const char* ptrtype, void(*xDel)(void*)), (pStmt, i, ptr, ptrtype, xDel));
-#endif
-DYNFUNC(return, int, sqlite3_bind_text, (sqlite3_stmt *pStmt, int i, const char *zData, int nData, void (*xDel)(void*)), (pStmt, i, zData, nData, xDel));
-// DYNFUNC(return, int, sqlite3_bind_text16, (sqlite3_stmt *pStmt, int i, const void *zData, int nData, void (*xDel)(void*)), (pStmt, i, zData, nData, xDel));
-// DYNFUNC(return, int, sqlite3_bind_value, (sqlite3_stmt *pStmt, int i, const sqlite3_value *pValue), (pStmt, i, pValue));
-#if SQLITE_VERSION_NUMBER >= 3004000
-DYNFUNC(return, int, sqlite3_bind_zeroblob, (sqlite3_stmt *pStmt, int i, int n), (pStmt, i, n));
-DYNFUNC(return, int, sqlite3_blob_open, (sqlite3 *db, const char *zDb, const char *zTable, const char *zColumn, sqlite3_int64 iRow, int flags, sqlite3_blob **ppBlob), (db, zDb, zTable, zColumn, iRow, flags, ppBlob));
-DYNFUNC(return, int, sqlite3_blob_close, (sqlite3_blob *pBlob), (pBlob));
-DYNFUNC(return, int, sqlite3_blob_bytes, (sqlite3_blob *pBlob), (pBlob));
-DYNFUNC(return, int, sqlite3_blob_read, (sqlite3_blob *pBlob, void *z, int n, int iOffset), (pBlob, z, n, iOffset));
-#if SQLITE_VERSION_NUMBER >= 3007004
-DYNFUNC(return, int, sqlite3_blob_reopen, (sqlite3_blob *pBlob, sqlite3_int64 rowid), (pBlob, rowid));
-#endif
-DYNFUNC(return, int, sqlite3_blob_write, (sqlite3_blob *pBlob, const void *z, int n, int iOffset), (pBlob, z, n, iOffset));
-#endif
-// DYNFUNC(return, int, sqlite3_busy_handler, (sqlite3 *db, int (*xBusy)(void*,int), void *pArg), (db, xBusy, pArg));
-DYNFUNC(return, int, sqlite3_busy_timeout, (sqlite3 *db, int ms), (db, ms));
-DYNFUNC(return, int, sqlite3_changes, (sqlite3 *db), (db));
-DYNFUNC(return, int, sqlite3_clear_bindings, (sqlite3_stmt *pStmt), (pStmt));
-DYNFUNC(return, int, sqlite3_close, (sqlite3 *db), (db));
-DYNFUNC(return, int, sqlite3_collation_needed, (sqlite3 *db, void *pCollNeededArg, void(*xCollNeeded)(void*,sqlite3*,int eTextRep,const char*)), (db, pCollNeededArg, xCollNeeded));
-// DYNFUNC(return, int, sqlite3_collation_needed16, (sqlite3 *db, void *pCollNeededArg, void(*xCollNeeded16)(void*,sqlite3*,int eTextRep,const void*)), (db, pCollNeededArg, xCollNeeded16));
-DYNFUNC(return, const void *, sqlite3_column_blob, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-DYNFUNC(return, int, sqlite3_column_bytes, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-// DYNFUNC(return, int, sqlite3_column_bytes16, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-DYNFUNC(return, int, sqlite3_column_count, (sqlite3_stmt *pStmt), (pStmt));
-DYNFUNC(return, const char *, sqlite3_column_decltype, (sqlite3_stmt *pStmt, int i), (pStmt, i));
-// DYNFUNC(return, const void *, sqlite3_column_decltype16, (sqlite3_stmt *pStmt, int i), (pStmt, i));
-DYNFUNC(return, double, sqlite3_column_double, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-DYNFUNC(return, int, sqlite3_column_int, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-DYNFUNC(return, sqlite_int64, sqlite3_column_int64, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-DYNFUNC(return, const char *, sqlite3_column_name, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-// DYNFUNC(return, const void *, sqlite3_column_name16, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-DYNFUNC(return, const unsigned char *, sqlite3_column_text, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-// DYNFUNC(return, const void *, sqlite3_column_text16, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-DYNFUNC(return, int, sqlite3_column_type, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-DYNFUNC(return, void *, sqlite3_commit_hook, (sqlite3 *db, int (*xCallback)(void*), void *pArg), (db, xCallback, pArg));
-#if SQLITE_VERSION_NUMBER >= 3006023
-DYNFUNC(return, int, sqlite3_compileoption_used, (const char *zOptName), (zOptName));
-DYNFUNC(return, const char *, sqlite3_compileoption_get, (int N), (N));
-#endif
-DYNFUNC(return, int, sqlite3_complete, (const char *sql), (sql));
-// DYNFUNC(return, int, sqlite3_complete16, (const void *sql), (sql));
-//DYNFUNC(return, sqlite3 *, sqlite3_context_db_handle, (sqlite3_context* ctx) (ctx));
-DYNFUNC(return, int, sqlite3_create_collation, (sqlite3 *db, const char *zName, int eTextRep, void*v, int(*xCompare)(void*,int,const void*,int,const void*)), (db, zName, eTextRep, v, xCompare));
-// DYNFUNC(return, int, sqlite3_create_collation16, (sqlite3 *db, const char *zName, int eTextRep, void*v, int(*xCompare)(void*,int,const void*,int,const void*)), (db, zName, eTextRep, v, xCompare));
-DYNFUNC(return, int, sqlite3_create_function, (sqlite3 *db, const char *zFunctionName, int nArg, int eTextRep, void*v, void (*xFunc)(sqlite3_context*,int,sqlite3_value**), void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*)), (db, zFunctionName, nArg, eTextRep, v, xFunc, xStep, xFinal));
-// DYNFUNC(return, int, sqlite3_create_function16, (sqlite3 *db, const void *zFunctionName, int nArg, int eTextRep, void*v, void (*xFunc)(sqlite3_context*,int,sqlite3_value**), void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*)), (db, zFunctionName, nArg, eTextRep, v, xFunc, xStep, xFinal));
-#if SQLITE_VERSION_NUMBER >= 3007003
-DYNFUNC(return, int, sqlite3_create_function_v2, (sqlite3 *db, const char *zFunctionName, int nArg, int eTextRep, void *pApp, void (*xFunc)(sqlite3_context*,int,sqlite3_value**), void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*), void(*xDestroy)(void*)), (db, zFunctionName, nArg, eTextRep, pApp, xFunc, xStep, xFinal, xDestroy));
-#endif
-#if SQLITE_VERSION_NUMBER >= 3025000
-DYNFUNC(return, int, sqlite3_create_window_function, (sqlite3 *db, const char *zFunctionName, int nArg, int eTextRep, void *pApp, void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*), void (*xValue)(sqlite3_context*), void (*xInverse)(sqlite3_context*,int,sqlite3_value**), void (*xDestroy)(void*)), (db, zFunctionName, nArg, eTextRep, pApp, xStep, xFinal, xValue, xInverse, xDestroy));
-#endif
-#if SQLITE_VERSION_NUMBER >= 3004001
-DYNFUNC(return, int, sqlite3_create_module, (sqlite3 *db, const char *zName, const sqlite3_module *p, void *pClientData), (db, zName, p, pClientData));
-DYNFUNC(return, int, sqlite3_create_module_v2, (sqlite3 *db, const char *zName, const sqlite3_module *p, void *pClientData, void(*xDestroy)(void*)), (db, zName, p, pClientData, xDestroy));
-#endif
-// DYNFUNC(return, int, sqlite3_data_count, (sqlite3_stmt *pStmt), (pStmt));
-#if SQLITE_VERSION_NUMBER >= 3007010
-DYNFUNC(return, const char *, sqlite3_db_filename, (sqlite3 *db, const char *zDbName), (db, zDbName));
-#endif
-// DYNFUNC(return, sqlite3 *, sqlite3_db_handle, (sqlite3_stmt *pStmt), (pStmt));
-#if SQLITE_VERSION_NUMBER >= 3007011
-DYNFUNC(return, int, sqlite3_db_readonly, (sqlite3 *db, const char *zDbName), (db, zDbName));
-#endif
-#if SQLITE_VERSION_NUMBER >= 3007010
-DYNFUNC(return, int, sqlite3_db_release_memory, (sqlite3 *db), (db));
-#endif
-DYNFUNC(return, int, sqlite3_declare_vtab, (sqlite3 *db, const char *zSQL), (db, zSQL));
-DYNFUNC(return, int, sqlite3_enable_load_extension, (sqlite3 *db, int onoff), (db, onoff));
-DYNFUNC(return, int, sqlite3_enable_shared_cache, (int enable), (enable));
-// DYNFUNC(return, int, sqlite3_errcode, (sqlite3 *db), (db));
-DYNFUNC(return, const char *, sqlite3_errmsg, (sqlite3 *db), (db));
-// DYNFUNC(return, const void *, sqlite3_errmsg16, (sqlite3 *db), (db));
-#if SQLITE_VERSION_NUMBER >= 3007015
-DYNFUNC(return, const char *, sqlite3_errstr, (int rc), (rc));
-#endif
-DYNFUNC(return, int, sqlite3_exec, (sqlite3 *db, const char *sql, sqlite3_callback c, void *v, char **errmsg), (db, sql, c, v, errmsg));
-#if SQLITE_VERSION_NUMBER >= 3014000
-DYNFUNC(return, char *, sqlite3_expanded_sql, (sqlite3_stmt *pStmt), (pStmt));
-#endif
-// DYNFUNC(return, int, sqlite3_expired, (sqlite3_stmt *pStmt), (pStmt));
-DYNFUNC(return, int, sqlite3_extended_result_codes, (sqlite3 *db, int onoff), (db, onoff));
-DYNFUNC(return, int, sqlite3_finalize, (sqlite3_stmt *pStmt), (pStmt));
-DYNFUNC(;, void, sqlite3_free, (void *z), (z));
-DYNFUNC(;, void, sqlite3_free_table, (char **result), (result));
-DYNFUNC(return, int, sqlite3_get_autocommit, (sqlite3 *db), (db));
-// DYNFUNC(return, void *, sqlite3_get_auxdata, (sqlite3_context *pCtx, int iArg), (pCtx, iArg));
-DYNFUNC(return, int, sqlite3_get_table, (sqlite3 *db, const char *sql, char ***resultp, int *nrow, int *ncolumn, char **errmsg), (db, sql, resultp, nrow, ncolumn, errmsg));
-// DYNFUNC(return, int, sqlite3_global_recover, (), ());
-#if SQLITE_VERSION_NUMBER >= 3006000
-DYNFUNC(return, int, sqlite3_initialize, (void), ());
-#endif
-DYNFUNC(;, void, sqlite3_interrupt, (sqlite3 *db), (db));
-DYNFUNC(return, sqlite_int64, sqlite3_last_insert_rowid, (sqlite3 *db), (db));
-DYNFUNC(return, const char *, sqlite3_libversion, (void), ());
-// DYNFUNC(return, int, sqlite3_libversion_number, (void), ());
-DYNFUNC(return, int, sqlite3_limit, (sqlite3 *db, int id, int newVal), (db, id, newVal));
-DYNFUNC(return, int, sqlite3_load_extension, (sqlite3 *db, const char *zFile, const char *zProc, char **pzErrMsg), (db, zFile, zProc, pzErrMsg));
-DYNFUNC(return, void*, sqlite3_malloc, (int size), (size));
-// DYNFUNC(return, char *, sqlite3_mprintf, (const char *zFormat,...), (zFormat,...));
-#if SQLITE_VERSION_NUMBER >= 3006000
-DYNFUNC(return, sqlite3_stmt *, sqlite3_next_stmt, (sqlite3 *pDb, sqlite3_stmt *pStmt), (pDb, pStmt));
-#endif
-DYNFUNC(return, int, sqlite3_open, (const char *filename, sqlite3 **ppDb), (filename, ppDb));
-// DYNFUNC(return, int, sqlite3_open16, (const void *filename, sqlite3 **ppDb), (filename, ppDb));
-DYNFUNC(return, int, sqlite3_open_v2, (const char *filename, sqlite3 **ppDb, int flags, const char *zVfs), (filename, ppDb, flags, zVfs));
-DYNFUNC(return, int, sqlite3_prepare_v2, (sqlite3 *db, const char *zSql, int nBytes, sqlite3_stmt **ppStmt, const char **pzTail), (db, zSql, nBytes, ppStmt, pzTail));
-#if SQLITE_VERSION_NUMBER >= 3020000
-DYNFUNC(return, int, sqlite3_prepare_v3, (sqlite3 *db, const char *zSql, int nByte, unsigned int prepFlags, sqlite3_stmt **ppStmt, const char **pzTail), (db, zSql, nByte, prepFlags, ppStmt, pzTail));
-#endif
-// DYNFUNC(return, int, sqlite3_prepare16_v2, (sqlite3 *db, const void *zSql, int nBytes, sqlite3_stmt **ppStmt, const void **pzTail), (db, zSql, nBytes, ppStmt, pzTail));
-// DYNFUNC(;, void, sqlite3_progress_handler, (sqlite3 *db, int nOps, int (*xProgress)(void*), void *pArg), (db, nOps, xProgress, pArg));
-DYNFUNC(;, void, sqlite3_randomness, (int N, void *P), (N, P));
-DYNFUNC(return, void*, sqlite3_realloc, (void* ptr, int newSize), (ptr, newSize));
-DYNFUNC(return, int, sqlite3_reset, (sqlite3_stmt *pStmt), (pStmt));
-DYNFUNC(;, void, sqlite3_result_blob, (sqlite3_context *pCtx, const void *z, int n, void (*xDel)(void *)), (pCtx, z, n, xDel));
-DYNFUNC(;, void, sqlite3_result_double, (sqlite3_context *pCtx, double rVal), (pCtx, rVal));
-DYNFUNC(;, void, sqlite3_result_error, (sqlite3_context *pCtx, const char *z, int n), (pCtx, z, n));
-// DYNFUNC(;, void, sqlite3_result_error16, (sqlite3_context *pCtx, const void *z, int n), (pCtx, z, n));
-DYNFUNC(;, void, sqlite3_result_int, (sqlite3_context *pCtx, int iVal), (pCtx, iVal));
-DYNFUNC(;, void, sqlite3_result_int64, (sqlite3_context *pCtx, sqlite_int64 iVal), (pCtx, iVal));
-DYNFUNC(;, void, sqlite3_result_null, (sqlite3_context *pCtx), (pCtx));
-#if SQLITE_VERSION_NUMBER >= 3020000
-DYNFUNC(;, void, sqlite3_result_pointer, (sqlite3_context *pCtx, void* ptr, const char* ptrtype, void(xDel)(void*)), (pCtx, ptr, ptrtype, xDel));
-#endif
-DYNFUNC(;, void, sqlite3_result_text, (sqlite3_context *pCtx, const char *z, int n, void (*xDel)(void *)), (pCtx, z, n, xDel));
-// DYNFUNC(;, void, sqlite3_result_text16, (sqlite3_context *pCtx, const void *z, int n, void (*xDel)(void *)), (pCtx, z, n, xDel));
-// DYNFUNC(;, void, sqlite3_result_text16be, (sqlite3_context *pCtx, const void *z, int n, void (*xDel)(void *)), (pCtx, z, n, xDel));
-// DYNFUNC(;, void, sqlite3_result_text16le, (sqlite3_context *pCtx, const void *z, int n, void (*xDel)(void *)), (pCtx, z, n, xDel));
-DYNFUNC(;, void, sqlite3_result_value, (sqlite3_context *pCtx, sqlite3_value *pValue), (pCtx, pValue));
-#if SQLITE_VERSION_NUMBER >= 3004000
-DYNFUNC(;, void, sqlite3_result_zeroblob, (sqlite3_context *pCtx, int n), (pCtx, n));
-#endif
-DYNFUNC(return, void *, sqlite3_rollback_hook, (sqlite3 *db, void (*xCallback)(void*), void *pArg), (db, xCallback, pArg));
-#if SQLITE_VERSION_NUMBER >= 3007003
-DYNFUNC(return, int, sqlite3_rtree_geometry_callback, (sqlite3 *db, const char *zGeom, int (*xGeom)(sqlite3_rtree_geometry *, int nCoord, double *aCoord, int *pRes), void *pContext), (db, zGeom, xGeom, pContext));
-#endif
-#if SQLITE_VERSION_NUMBER >= 3008005
-DYNFUNC(return, int, sqlite3_rtree_query_callback, (sqlite3 *db, const char *zQueryFunc, int (*xQueryFunc)(sqlite3_rtree_query_info*), void *pContext, void (*xDestructor)(void*)), (db, zQueryFunc, xQueryFunc, pContext, xDestructor));
-#endif
-DYNFUNC(return, int, sqlite3_set_authorizer, (sqlite3 *db, int (*xAuth)(void*,int,const char*,const char*,const char*,const char*), void *pArg), (db, xAuth, pArg));
-// DYNFUNC(;, void, sqlite3_set_auxdata, (sqlite3_context *pCtx, int iArg, void *pAux, void (*xDelete)(void*)), (pCtx, iArg, pAux, xDelete));
-#if SQLITE_VERSION_NUMBER >= 3006000
-DYNFUNC(return, int, sqlite3_shutdown, (void), ());
-#endif
-DYNFUNC(return, int, sqlite3_sleep, (int ms), (ms));
-// DYNFUNC(return, char *, sqlite3_snprintf, (int n, char *zBuf, const char *zFormat, ...), (n, zBuf, zFormat, ...));
-#if SQLITE_VERSION_NUMBER >= 3006018
-DYNFUNC(return, const char *, sqlite3_sourceid, (void), ());
-#endif
-#if SQLITE_VERSION_NUMBER >= 3005003
-DYNFUNC(return, const char *, sqlite3_sql, (sqlite3_stmt *pStmt), (pStmt));
-#endif
-DYNFUNC(return, int, sqlite3_step, (sqlite3_stmt *pStmt), (pStmt));
-#if SQLITE_VERSION_NUMBER >= 3007010
-DYNFUNC(return, int, sqlite3_stmt_busy, (sqlite3_stmt* pStmt), (pStmt));
-#endif
-#if SQLITE_VERSION_NUMBER >= 3028000
-DYNFUNC(return, int, sqlite3_stmt_isexplain, (sqlite3_stmt* pStmt), (pStmt));
-#endif
-#if SQLITE_VERSION_NUMBER >= 3007004
-DYNFUNC(return, int, sqlite3_stmt_readonly, (sqlite3_stmt *pStmt), (pStmt));
-#endif
-#if SQLITE_VERSION_NUMBER >= 3007000
-DYNFUNC(return, int, sqlite3_stmt_status, (sqlite3_stmt* pStmt, int op, int resetFlg), (pStmt, op, resetFlg));
-#endif
-#if SQLITE_VERSION_NUMBER >= 3012001
-DYNFUNC(return, int, sqlite3_system_errno, (sqlite3* db), (db));
-#endif
-DYNFUNC(return, int, sqlite3_threadsafe, (void), ());
-// DYNFUNC(return, int, sqlite3_total_changes, (sqlite3 *db), (db));
-// DYNFUNC(return, void *, sqlite3_trace, (sqlite3 *db, void(*xTrace)(void*,const char*), void *pArg), (db, xTrace, pArg));
-// DYNFUNC(return, int, sqlite3_transfer_bindings, (sqlite3_stmt *pStmt, sqlite3_stmt *pStmt), (pStmt, pStmt));
-#if SQLITE_VERSION_NUMBER >= 3007000
-// DYNFUNC(return, int, sqlite3_unlock_notify, (sqlite3 *pBlocked, void (*xNotify)(void **apArg, int nArg), void *pNotifyArg), (pBlocked, xNotify, pNotifyArg));
-#endif
-DYNFUNC(return, void *, sqlite3_update_hook, (sqlite3 *db, void (*xCallback)(void *, int, char const *, char const *, wxsqlite_int64), void *pArg), (db, xCallback, pArg));
-DYNFUNC(return, void *, sqlite3_user_data, (sqlite3_context *pCtx), (pCtx));
-DYNFUNC(return, const void *, sqlite3_value_blob, (sqlite3_value *pVal), (pVal));
-DYNFUNC(return, int, sqlite3_value_bytes, (sqlite3_value *pVal), (pVal));
-// DYNFUNC(return, int, sqlite3_value_bytes16, (sqlite3_value *pVal), (pVal));
-DYNFUNC(return, double, sqlite3_value_double, (sqlite3_value *pVal), (pVal));
-#if SQLITE_VERSION_NUMBER >= 3028000
-DYNFUNC(return, int, sqlite3_value_frombind, (sqlite3_value *pVal), (pVal));
-#endif
-DYNFUNC(return, int, sqlite3_value_int, (sqlite3_value *pVal), (pVal));
-DYNFUNC(return, sqlite_int64, sqlite3_value_int64, (sqlite3_value *pVal), (pVal));
-#if SQLITE_VERSION_NUMBER >= 3022000
-DYNFUNC(return, int, sqlite3_value_nochange, (sqlite3_value *pVal), (pVal));
-#endif
-DYNFUNC(return, int, sqlite3_value_numeric_type, (sqlite3_value *pVal), (pVal));
-#if SQLITE_VERSION_NUMBER >= 3020000
-DYNFUNC(return, void *, sqlite3_value_pointer, (sqlite3_value *pVal, const char* ptrtype), (pVal, ptrtype));
-#endif
-DYNFUNC(return, const unsigned char *, sqlite3_value_text, (sqlite3_value *pVal), (pVal));
-// DYNFUNC(return, const void *, sqlite3_value_text16, (sqlite3_value *pVal), (pVal));
-// DYNFUNC(return, const void *, sqlite3_value_text16be, (sqlite3_value *pVal), (pVal));
-// DYNFUNC(return, const void *, sqlite3_value_text16le, (sqlite3_value *pVal), (pVal));
-DYNFUNC(return, int, sqlite3_value_type, (sqlite3_value *pVal), (pVal));
-DYNFUNC(return, char *, sqlite3_vmprintf, (const char* p, va_list ap), (p, ap));
-#if SQLITE_VERSION_NUMBER >= 3007000
-DYNFUNC(return, int, sqlite3_wal_autocheckpoint, (sqlite3 *db, int N), (db, N));
-DYNFUNC(return, int, sqlite3_wal_checkpoint, (sqlite3 *db, const char *zDb), (db, zDb));
-#if SQLITE_VERSION_NUMBER >= 3007006
-DYNFUNC(return, int, sqlite3_wal_checkpoint_v2, (sqlite3 *db, const char *zDb, int mode, int* logFrameCount, int* ckptFrameCount), (db, zDb, mode, logFrameCount, ckptFrameCount));
-#endif
-DYNFUNC(return, void *, sqlite3_wal_hook, (sqlite3 *db, int (*xCallback)(void *, sqlite3 *, const char*, int), void *pArg), (db, xCallback, pArg));
-#endif
-#if SQLITE_VERSION_NUMBER >= 3007014
-//#if defined(__WXMSW__)
-#if SQLITE_VERSION_NUMBER >= 3024000
-DYNFUNC(return, int, sqlite3_win32_set_directory, (unsigned long type, void* zValue), (type, zValue));
-#else
-DYNFUNC(return, int, sqlite3_win32_set_directory, (DWORD type, LPCWSTR zValue), (type, zValue));
-#endif
-//#endif
-#endif
-#if WXSQLITE3_HAVE_METADATA
-DYNFUNC(return, const char *, sqlite3_column_database_name, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-// DYNFUNC(return, const void *, sqlite3_column_database_name16, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-DYNFUNC(return, const char *, sqlite3_column_table_name, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-// DYNFUNC(return, const void *, sqlite3_column_table_name16, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-DYNFUNC(return, const char *, sqlite3_column_origin_name, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-// DYNFUNC(return, const void *, sqlite3_column_origin_name16, (sqlite3_stmt *pStmt, int iCol), (pStmt, iCol));
-DYNFUNC(return, int, sqlite3_table_column_metadata, (sqlite3 *db, const char *zDbName, const char *zTableName, const char *zColumnName, char const **pzDataType, char const **pzCollSeq, int *pNotNull, int *pPrimaryKey, int *pAutoinc), (db, zDbName, zTableName, zColumnName, pzDataType, pzCollSeq, pNotNull, pPrimaryKey, pAutoinc));
-#endif
-
-#if WXSQLITE3_USER_AUTHENTICATION
-#if SQLITE_VERSION_NUMBER >= 3008007
-DYNFUNC(return, int, sqlite3_user_authenticate, (sqlite3 *db, const char *zUsername, const char *aPW, int nPW), (db, zUsername, aPW, nPW));
-DYNFUNC(return, int, sqlite3_user_add, (sqlite3 *db, const char *zUsername, const char *aPW, int nPW, int isAdmin), (db, zUsername, aPW, nPW, isAdmin));
-DYNFUNC(return, int, sqlite3_user_change, (sqlite3 *db, const char *zUsername, const char *aPW, int nPW, int isAdmin), (db, zUsername, aPW, nPW, isAdmin));
-DYNFUNC(return, int, sqlite3_user_delete, (sqlite3 *db, const char *zUsername), (db, zUsername));
-#endif
-#endif
-
-#if WXSQLITE3_HAVE_CODEC
-DYNFUNC(return, int, sqlite3_key, (sqlite3 *db, const void *pKey, int nKey), (db, pKey, nKey));
-DYNFUNC(return, int, sqlite3_rekey, (sqlite3 *db, const void *pKey, int nKey), (db, pKey, nKey));
-#endif
-
-// SQLcrypt API
-// Additional error codes: SQLCRYPT3_TOOSHORT, SQLCRYPT3_TOOLONG, SQLCRYPT3_BADLIC
-// DYNFUNC(return, int, sqlcrypt3_passphrase, (sqlite3 *db, const char *key, int codec, char **errmsg), (db, key, codec, errmsg));
-// DYNFUNC(return, int, sqlcrypt3_license_key, (const char *lic), (lic));
-
-// SQLite-Crypt API
-// ATTN: different open call
-// DYNFUNC(return, int, sqlite3_open, (const char *filename, const char *strPass, sqlite3 **ppDb), (filename, strPass, ppDb));
-// DYNFUNC(;, void, sqlite3_changepassword, (sqlite3* db,const char* strNewPass), (db, strNewPass));
-
-// Configuration of wxSQLite3 encryption extension
-DYNFUNC(return, int, wxsqlite3_config, (sqlite3 *db, const char* paramName, int newValue), (db, paramName, newValue));
-DYNFUNC(return, int, wxsqlite3_config_cipher, (sqlite3 *db, const char* cipherName, const char* paramName, int newValue), (db, cipherName, paramName, newValue));
-DYNFUNC(return, unsigned char*, wxsqlite3_codec_data, (sqlite3 *db, const char* zDbName, const char* paramName), (db, zDbName, paramName));
-
-#endif
diff --git a/include/wx/wxsqlite3opt.h b/include/wx/wxsqlite3opt.h
index 12f115bb..ef92690c 100644
--- a/include/wx/wxsqlite3opt.h
+++ b/include/wx/wxsqlite3opt.h
@@ -3,42 +3,18 @@
** Purpose: wxSQLite3 optional feature selection
** Author: Ulrich Telle
** Created: 2007-02-01
-** Copyright: (c) 2007-2018 Ulrich Telle
+** Copyright: (c) 2007-2020 Ulrich Telle
** License: LGPL-3.0+ WITH WxWindows-exception-3.1
*/
/// \file wxsqlite3opt.h Compile time switches for the wxSQLite3 class
-#ifndef _WX_SQLITE3_OPT_H_
-#define _WX_SQLITE3_OPT_H_
+#ifndef WX_SQLITE3_OPT_H_
+#define WX_SQLITE3_OPT_H_
// Conditional compilation
// -----------------------
-//! If this define is set to 1, then the SQLite library will be loaded dynamically
-//! otherwise a link library is required to build wxSQLite3.
-#ifndef wxUSE_DYNAMIC_SQLITE3_LOAD
-#define wxUSE_DYNAMIC_SQLITE3_LOAD 0
-#endif
-
-//! To enable SQLite's meta data methods define WXSQLITE3_HAVE_METADATA as 1 here.
-//! Attention: SQLite needs to be compiled with SQLITE_ENABLE_COLUMN_METADATA for this to work
-#ifndef WXSQLITE3_HAVE_METADATA
-#define WXSQLITE3_HAVE_METADATA 1
-#endif
-
-//! To enable SQLite's user authentication define WXSQLITE3_USER_AUTHENTICATION as 1 here.
-//! Attention: SQLite needs to be compiled with SQLITE_USER_AUTHENTICATION for this to work
-#ifndef WXSQLITE3_USER_AUTHENTICATION
-#define WXSQLITE3_USER_AUTHENTICATION 1
-#endif
-
-//! To enable SQLite's database encryption support define WXSQLITE3_HAVE_CODEC as 1 here.
-//! Attention: SQLite needs to be compiled with SQLITE_HAS_CODEC for this to work
-#ifndef WXSQLITE3_HAVE_CODEC
-#define WXSQLITE3_HAVE_CODEC 1
-#endif
-
//! To enable SQLite's loadable extension feature define WXSQLITE3_HAVE_LOAD_EXTENSION as 1 here.
//! Attention: SQLite needs to be compiled without SQLITE_OMIT_LOAD_EXTENSION for this to work
#ifndef WXSQLITE3_HAVE_LOAD_EXTENSION
@@ -52,39 +28,4 @@
#define WXSQLITE3_USE_NAMED_COLLECTIONS 1
#endif
-//! To disable support for AES 128 Bit CBC Encryption define WXSQLITE3_HAVE_CIPHER_AES_128_CBC as 0 here.
-//! Attention: if WXSQLITE3_HAVE_CIPHER_AES_128_CBC is defined as 1 (default SQLite needs to be
-//! compiled with HAVE_CIPHER_AES_128_CBC for this to work
-#ifndef WXSQLITE3_HAVE_CIPHER_AES_128_CBC
-#define WXSQLITE3_HAVE_CIPHER_AES_128_CBC 1
-#endif
-
-//! To disable support for AES 256 Bit CBC Encryption define WXSQLITE3_HAVE_CIPHER_AES_256_CBC as 0 here.
-//! Attention: if WXSQLITE3_HAVE_CIPHER_AES_256_CBC is defined as 1 (default SQLite needs to be
-//! compiled with HAVE_CIPHER_AES_256_CBC for this to work
-#ifndef WXSQLITE3_HAVE_CIPHER_AES_256_CBC
-#define WXSQLITE3_HAVE_CIPHER_AES_256_CBC 1
-#endif
-
-//! To disable support for ChaCha20-Poly1305 Encryption define WXSQLITE3_HAVE_CIPHER_CHACHA20 as 0 here.
-//! Attention: if WXSQLITE3_HAVE_CIPHER_CHACHA20 is defined as 1 (default SQLite needs to be
-//! compiled with HAVE_CIPHER_CHACHA20 for this to work
-#ifndef WXSQLITE3_HAVE_CIPHER_CHACHA20
-#define WXSQLITE3_HAVE_CIPHER_CHACHA20 1
-#endif
-
-//! To disable support for SQLCipher Encryption define WXSQLITE3_HAVE_CIPHER_SQLCIPHER as 0 here.
-//! Attention: if WXSQLITE3_HAVE_CIPHER_SQLCIPHER is defined as 1 (default SQLite needs to be
-//! compiled with HAVE_CIPHER_SQLCIPHER for this to work
-#ifndef WXSQLITE3_HAVE_CIPHER_SQLCIPHER
-#define WXSQLITE3_HAVE_CIPHER_SQLCIPHER 1
-#endif
-
-//! To disable support for RC4 Encryption define WXSQLITE3_HAVE_CIPHER_RC4 as 0 here.
-//! Attention: if WXSQLITE3_HAVE_CIPHER_RC4 is defined as 1 (default SQLite needs to be
-//! compiled with HAVE_CIPHER_RC4 for this to work
-#ifndef WXSQLITE3_HAVE_CIPHER_RC4
-#define WXSQLITE3_HAVE_CIPHER_RC4 1
-#endif
-
-#endif // _WX_SQLITE3_OPT_H_
+#endif // WX_SQLITE3_OPT_H_
diff --git a/premake5.lua b/premake5.lua
index 28bb46b7..3f0f5c84 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -44,48 +44,44 @@ project "wxsqlite3"
make_filters( "WXSQLITE3", "wxsqlite3", "core" )
defines {
- "wxUSE_DYNAMIC_SQLITE3_LOAD=0",
- "WXSQLITE3_HAVE_METADATA=1",
- "WXSQLITE3_USER_AUTHENTICATION=1",
- "WXSQLITE3_HAVE_CODEC=1",
- "WXSQLITE3_HAVE_LOAD_EXTENSION=0",
+ "CODEC_TYPE=$(CODEC_TYPE)",
+ "SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG)",
"SQLITE_THREADSAFE=1",
"SQLITE_DQS=0",
"SQLITE_MAX_ATTACHED=10",
- "SQLITE_ENABLE_EXPLAIN_COMMENTS",
- "SQLITE_SOUNDEX",
- "SQLITE_ENABLE_COLUMN_METADATA",
- "SQLITE_HAS_CODEC=1",
- "CODEC_TYPE=$(CODEC_TYPE)",
- "SQLITE_ENABLE_DEBUG=$(SQLITE_ENABLE_DEBUG)",
- "SQLITE_SECURE_DELETE",
- "SQLITE_ENABLE_FTS3",
- "SQLITE_ENABLE_FTS3_PARENTHESIS",
- "SQLITE_ENABLE_FTS4",
- "SQLITE_ENABLE_FTS5",
- "SQLITE_ENABLE_JSON1",
- "SQLITE_ENABLE_RTREE",
- "SQLITE_ENABLE_GEOPOLY",
- "SQLITE_CORE",
- "SQLITE_ENABLE_EXTFUNC",
- "SQLITE_ENABLE_CSV",
- "SQLITE_ENABLE_SHA3",
- "SQLITE_ENABLE_CARRAY",
- "SQLITE_ENABLE_FILEIO",
- "SQLITE_ENABLE_SERIES",
- "SQLITE_ENABLE_UID",
+ "SQLITE_ENABLE_EXPLAIN_COMMENTS=1",
+ "SQLITE_SOUNDEX=1",
+ "SQLITE_ENABLE_COLUMN_METADATA=1",
+ "SQLITE_SECURE_DELETE=1",
+ "SQLITE_ENABLE_DESERIALIZE=1",
+ "SQLITE_ENABLE_FTS3=1",
+ "SQLITE_ENABLE_FTS3_PARENTHESIS=1",
+ "SQLITE_ENABLE_FTS4=1",
+ "SQLITE_ENABLE_FTS5=1",
+ "SQLITE_ENABLE_JSON1=1",
+ "SQLITE_ENABLE_RTREE=1",
+ "SQLITE_ENABLE_GEOPOLY=1",
+ "SQLITE_CORE=1",
+ "SQLITE_ENABLE_EXTFUNC=1",
+ "SQLITE_ENABLE_CSV=1",
+ "SQLITE_ENABLE_SHA3=1",
+ "SQLITE_ENABLE_CARRAY=1",
+ "SQLITE_ENABLE_FILEIO=1",
+ "SQLITE_ENABLE_SERIES=1",
+ "SQLITE_ENABLE_UUID=1",
+ "SQLITE_ENABLE_REGEXP=1",
"SQLITE_TEMP_STORE=2",
- "SQLITE_USE_URI",
- "SQLITE_USER_AUTHENTICATION"
+ "SQLITE_USE_URI=1",
+ "SQLITE_USER_AUTHENTICATION=1"
}
files { "src/*.cpp", "src/*.rc", "include/wx/*.h",
- "sqlite3secure/src/sqlite3secure.c", "sqlite3secure/src/*.h" }
+ "src/sqlite3mc*.c", "src/*.h" }
vpaths {
["Header Files"] = { "**.h" },
- ["Source Files"] = { "**.cpp", "**.rc", "**/sqlite3secure.c", "**.def" }
+ ["Source Files"] = { "**.cpp", "**.rc", "**/sqlite3mc*.c", "**.def" }
}
- includedirs { "include", "sqlite3secure/src" }
+ includedirs { "include", "src" }
characterset "Unicode"
-- Minimal wxSQLite3 sample
diff --git a/readme.md b/readme.md
index e9d603a3..f3b83f26 100644
--- a/readme.md
+++ b/readme.md
@@ -21,19 +21,20 @@ Since version 1.7.0 **wxSQLite3** includes a key-based SQLite3 encryption
extension using AES encryption. The decision whether to use 128 bit or
256 bit AES encryption had to be made at compile time. Starting with version
4.0.0 the encryption extension allows to select the cipher scheme at runtime.
+
Currently the following encryption schemes are supported:
-- AES 128 Bit CBC - No HMAC (wxSQLite3)
-- AES 256 Bit CBC - No HMAC (wxSQLite3)
-- ChaCha20 - Poly1305 HMAC (sqleet)
-- AES 256 Bit CBC - SHA1/SHA256/SHA512 HMAC (SQLCipher)
-- RC4 - No HMAC (System.Data.SQLite)
+- AES 128 Bit CBC - No HMAC ([wxSQLite3](https://github.com/utelle/wxsqlite3))
+- AES 256 Bit CBC - No HMAC ([wxSQLite3](https://github.com/utelle/wxsqlite3))
+- ChaCha20 - Poly1305 HMAC ([sqleet](https://github.com/resilar/sqleet)) (**default**)
+- AES 256 Bit CBC - SHA1/SHA256/SHA512 HMAC ([SQLCipher](https://www.zetetic.net/sqlcipher/) versions 1 - 4)
+- RC4 - No HMAC ([System.Data.SQLite](http://system.data.sqlite.org/))
## Important Notes
-With the release of SQLite version 3.32.0 on May 22, 2020 critical changes to the public SQLite code finally took officially effect, although they weren't officially announced. They were introduced on Feb 7, 2020: [“Simplify the code by removing the unsupported and undocumented SQLITE_HAS_CODEC compile-time option”](https://www.sqlite.org/src/timeline?c=5a877221ce90e752). As a consequence, updating the _wxSQLite3 encryption extension_ to support SQLite version 3.32.0 and later is currently impossible.
+With the release of SQLite version 3.32.0 on May 22, 2020 critical changes to the public SQLite code finally took officially effect, although they weren't officially announced. They were introduced on Feb 7, 2020: ["Simplify the code by removing the unsupported and undocumented SQLITE_HAS_CODEC compile-time option"](https://www.sqlite.org/src/timeline?c=5a877221ce90e752). As a consequence, updating the _wxSQLite3 encryption extension_ to support SQLite version 3.32.0 and later was no longer possible.
-Work is in progress in a separate project, [SQLite3 Multiple Ciphers](https://github.com/utelle/SQLite3MultipleCiphers), to provide a new implementation of the encryption extension capable of supporting SQLite version 3.32.0 and later. The _wxSQLite3 encryption extension_ will be replaced by the new implementation in a future release. However, no release date has been scheduled yet.
+Since August 2020 a new implementation of an encryption extension, capable of supporting SQLite version 3.32.0 and later, is available as a separate project, [SQLite3 Multiple Ciphers](https://github.com/utelle/SQLite3MultipleCiphers). Starting with the release of **wxSQLite3 4.6.0** this new implementation will be used.
## Table of Contents
@@ -47,7 +48,9 @@ Work is in progress in a separate project, [SQLite3 Multiple Ciphers](https://gi
## Version history
-* 4.6.0 - *February 2020*
+* 4.6.0 - *August 2020*
+ - Use SQLite encryption extension _SQLite3 Multiple Ciphers_
+ - Upgrade to SQLite version 3.33.0
- Added support for System.Data.SQLite's RC4 encryption
* 4.5.1 - *January 2020*
- Upgrade to SQLite version 3.31.1
@@ -353,14 +356,12 @@ Work is in progress in a separate project, [SQLite3 Multiple Ciphers](https://gi
## Installation
-After the release of **wxSQLite3** version 3.4.1 the build support
-has been overhauled. The build files for Windows platforms are now
-generated by a (slightly modified) version of
-[Premake 5](https://premake.github.io/) (based on Premake 5.0 alpha 11).
+The build files for Windows platforms are now generated with
+[Premake 5](https://premake.github.io/) (version Premake 5.0 alpha 15).
Ready to use project files are provided for Visual C++ 2010, 2012, 2013,
2015, 2017, and 2019. Additionally, GNU Makefiles are provided supporting for
-example TDM-GCC MinGW.
+example MinGW-w64.
For Visual Studio 2010+ solutions it is possible to customize the build
by creating a `wx_local.props` file in the build directory which is used,
@@ -436,25 +437,30 @@ However, this will usually require to modify the build files.
| Symbol | Description|
| :--- | :--- |
+| SQLITE_DQS | Setting for the double-quoted string literal misfeature (default: disabled) |
+| SQLITE_ENABLE_CARRAY | C array extension |
| SQLITE_ENABLE_COLUMN_METADATA | Access to meta-data about tables and queries |
-| SQLITE_ENABLE_DEBUG=0 | Enable additional debug features (default: off) |
+| SQLITE_ENABLE_CSV | CSV extension |
+| SQLITE_ENABLE_DEBUG | Enable additional debug features (default: off) |
+| SQLITE_ENABLE_DESERIALIZE | Option to enable the serialization interface |
| SQLITE_ENABLE_EXPLAIN_COMMENTS | Enable additional comments in EXPLAIN output |
| SQLITE_ENABLE_FTS3 | Version 3 of the full-text search engine |
| SQLITE_ENABLE_FTS3_PARENTHESIS | Additional operators for query pattern parser |
| SQLITE_ENABLE_FTS4 | Version 4 of the full-text search engine |
| SQLITE_ENABLE_FTS5 | Version 5 of the full-text search engine |
+| SQLITE_ENABLE_GEOPOLY | Geopoly extension |
| SQLITE_ENABLE_JSON1 | JSON SQL functions |
+| SQLITE_ENABLE_REGEXP | Regular expression extension |
| SQLITE_ENABLE_RTREE | R*Tree index extension |
-| SQLITE_ENABLE_CARRAY | C array extension |
-| SQLITE_ENABLE_CSV | CSV extension |
| SQLITE_ENABLE_EXTFUNC | Extension with mathematical and string functions |
| SQLITE_ENABLE_FILEIO | Extension with file I/O SQL functions |
| SQLITE_ENABLE_SERIES | Series extension |
| SQLITE_ENABLE_SHA3 | SHA3 extension |
-| SQLITE_HAS_CODEC=1 | Enable encryption extension |
+| SQLITE_ENABLE_UUID | Extension for handling handling RFC-4122 UUIDs |
| SQLITE_MAX_ATTACHED=10 | Maximum Number Of Attached Databases (max. 125) |
| SQLITE_SECURE_DELETE | Overwrite deleted content with zeros |
| SQLITE_SOUNDEX | Enable soundex SQL function |
+| SQLITE_THREADSAFE | Setting the multithreading mode (default: serialized) |
| SQLITE_USE_URI | Enable URI file names |
| SQLITE_USER_AUTHENTICATION | User authentication extension |
@@ -470,19 +476,15 @@ There exist other closed-source commercial solutions, among them:
- [http://www.sqlcrypt.com](http://www.sqlcrypt.com)
- [http://www.sqlite-crypt.com](http://www.sqlite-crypt.com)
-Both use a slightly different encryption API, which is currently NOT
+Both use a slightly different encryption API, which is currently _NOT_
supported by wxSQLite3.
For Windows based systems there exists an open source solution:
-[System.Data.SQLite](http://System.Data.SQLite.org). Encrypted
-database files can be shared across Windows platforms only.
-
-**wxSQLite3** includes an implementation of the SQLite Codec API.
-Support is enabled by default. The code implementing this feature
-and additional documentation is available in directory `sqlite3secure`.
+[System.Data.SQLite](http://System.Data.SQLite.org). For SQLite version 3.32.0 or higher encryption support has been dropped.
+However, the new encryption extension _SQLite3 Multiple Ciphers_ allows to use this encryption scheme on all supported platforms.
-Precompiled binaries of the SQLite3 DLL and the SQLite3 shell for Windows
-are provided as separate downloads.
+**wxSQLite3** uses now the new encryption extension [SQLite3 Multiple Ciphers](https://github.com/utelle/SQLite3MultipleCiphers).
+Precompiled binaries of the SQLite3 DLL and the SQLite3 shell for Windows are now provided by this new separate project.
## Using statically linked SQLite library on Windows
diff --git a/samples/treeview/treeviewapp.cpp b/samples/treeview/treeviewapp.cpp
index 0ce3fa6c..e340362d 100644
--- a/samples/treeview/treeviewapp.cpp
+++ b/samples/treeview/treeviewapp.cpp
@@ -18,9 +18,6 @@
#include
#endif
-////@begin includes
-////@end includes
-
#include "treeviewapp.h"
/*
@@ -85,7 +82,7 @@ TreeviewSampleApp::OnInit()
#if wxUSE_GIF
wxImage::AddHandler(new wxGIFHandler);
#endif
-
+ wxSQLite3Database::InitializeSQLite();
ok = InitializeDatabase();
if (ok)
{
@@ -104,7 +101,8 @@ TreeviewSampleApp::OnInit()
int
TreeviewSampleApp::OnExit()
-{
+{
+ wxSQLite3Database::ShutdownSQLite();
return wxApp::OnExit();
}
diff --git a/sqlite3secure/Makefile.am b/sqlite3secure/Makefile.am
deleted file mode 100644
index 8e134308..00000000
--- a/sqlite3secure/Makefile.am
+++ /dev/null
@@ -1,91 +0,0 @@
-# Process this file with automake to create Makefile.in for sqlite3secure library
-#
-# Copyright (C) 2018-2020 Ulrich Telle
-#
-# This file is covered by the same licence as the entire wxSQLite3 package.
-
-ACLOCAL_AMFLAGS = -I ../admin/m4
-
-# Flags used for compiling all the targets and linking all the executables
-# (libraries use LIBADD which is set for lib@WXSQLITE3_LIBNAME@.la only).
-AM_CXXFLAGS = -I$(top_srcdir)/src
-AM_CFLAGS = -I$(top_srcdir)/src
-
-AM_CFLAGS += -std=c99 -DTHREADSAFE=1 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-
-AM_LDFLAGS = -pthread -ldl -lm
-
-LDADD = lib@SQLITE3SECURE_LIBNAME@.la
-
-if USE_MSW
-# Use old style suffix rule instead of the pattern one as automake only
-# recognizes this kind of rules.
-#
-# Also notice that we use .res_o_o extension for the object files obtained by
-# compiling resource files, instead of just the usual .o, because we'd have
-# conflicts between object file names for foo.cpp and foo.rc otherwise. Due to
-# this we have to add the .res_o files manually to LDADD later, but such is life.
-.rc.res_o:
- $(AM_V_GEN) $(WINDRES) -I $(top_srcdir) $(WX_CPPFLAGS) -O coff $< $@
-endif
-
-# Define the directory where the library headers are installed.
-includedir = $(includedir)
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = sqlite3secure.pc
-
-# The main library. Notice that it uses dynamic, i.e. determined when running
-# configure, name because it depends on the version of wxWidgets used. This is
-# rather unusual, but Automake doesn't seem to mind.
-lib_LTLIBRARIES = lib@SQLITE3SECURE_LIBNAME@.la
-
-lib@SQLITE3SECURE_LIBNAME@_la_SOURCES = \
- src/sqlite3secure.c
-
-#include_HEADERS = \
-# src/sqlite3.h \
-# src/sqlite3secure.h
-
-noinst_HEADERS = \
- src/sqlite3.c \
- src/sha2.c \
- src/userauth.c \
- src/rijndael.c \
- src/codec.c \
- src/codecext.c \
- src/extensionfunctions.c \
- src/csv.c \
- src/codec.h \
- src/rijndael.h \
- src/sha2.h \
- src/sqlite3.h \
- src/sqlite3ext.h \
- src/sqlite3userauth.h
-
-lib@SQLITE3SECURE_LIBNAME@_la_LDFLAGS = -no-undefined $(AM_LDFLAGS)
-lib@SQLITE3SECURE_LIBNAME@_la_LIBADD = -ldl -lm
-
-
-# Samples (don't need to be installed).
-noinst_PROGRAMS = sqlite3shell
-
-sqlite3shell_SOURCES = \
- src/sqlite3secure.c \
- src/shell.c
-
-sqlite3shell_CFLAGS = -I$(top_srcdir)/src -std=c99 -DTHREADSAFE=1 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-
-sqlite3shell_LDADD = -ldl -lm
-sqlite3shell_LDFLAGS = -pthread
-
-if USE_MSW
-sqlite3shell_SOURCES += src/sqlite3shell.rc
-sqlite3shell_LDADD += src/sqlite3shell.res_o
-CLEANFILES = src/sqlite3shell.res_o
-else
-# libtool complains about unknown "-no-install" option when targetting MSW, so
-# use it only in the "else" branch.
-sqlite3shell_LDFLAGS += -no-install
-endif
-
diff --git a/sqlite3secure/build/Makefile b/sqlite3secure/build/Makefile
deleted file mode 100644
index 1708a317..00000000
--- a/sqlite3secure/build/Makefile
+++ /dev/null
@@ -1,116 +0,0 @@
-# Alternative GNU Make workspace makefile autogenerated by Premake
-
-ifndef config
- config=debug_win32
-endif
-
-ifndef verbose
- SILENT = @
-endif
-
-ifeq ($(config),debug_win32)
- sqlite3lib_config = debug_win32
- sqlite3dll_config = debug_win32
- sqlite3shell_config = debug_win32
- sqlite3libicu_config = debug_win32
- sqlite3dllicu_config = debug_win32
- sqlite3shellicu_config = debug_win32
-
-else ifeq ($(config),debug_win64)
- sqlite3lib_config = debug_win64
- sqlite3dll_config = debug_win64
- sqlite3shell_config = debug_win64
- sqlite3libicu_config = debug_win64
- sqlite3dllicu_config = debug_win64
- sqlite3shellicu_config = debug_win64
-
-else ifeq ($(config),release_win32)
- sqlite3lib_config = release_win32
- sqlite3dll_config = release_win32
- sqlite3shell_config = release_win32
- sqlite3libicu_config = release_win32
- sqlite3dllicu_config = release_win32
- sqlite3shellicu_config = release_win32
-
-else ifeq ($(config),release_win64)
- sqlite3lib_config = release_win64
- sqlite3dll_config = release_win64
- sqlite3shell_config = release_win64
- sqlite3libicu_config = release_win64
- sqlite3dllicu_config = release_win64
- sqlite3shellicu_config = release_win64
-
-else
- $(error "invalid configuration $(config)")
-endif
-
-PROJECTS := sqlite3lib sqlite3dll sqlite3shell sqlite3libicu sqlite3dllicu sqlite3shellicu
-
-.PHONY: all clean help $(PROJECTS)
-
-all: $(PROJECTS)
-
-sqlite3lib:
-ifneq (,$(sqlite3lib_config))
- @echo "==== Building sqlite3lib ($(sqlite3lib_config)) ===="
- @${MAKE} --no-print-directory -C . -f sqlite3lib.make config=$(sqlite3lib_config)
-endif
-
-sqlite3dll:
-ifneq (,$(sqlite3dll_config))
- @echo "==== Building sqlite3dll ($(sqlite3dll_config)) ===="
- @${MAKE} --no-print-directory -C . -f sqlite3dll.make config=$(sqlite3dll_config)
-endif
-
-sqlite3shell: sqlite3lib
-ifneq (,$(sqlite3shell_config))
- @echo "==== Building sqlite3shell ($(sqlite3shell_config)) ===="
- @${MAKE} --no-print-directory -C . -f sqlite3shell.make config=$(sqlite3shell_config)
-endif
-
-sqlite3libicu:
-ifneq (,$(sqlite3libicu_config))
- @echo "==== Building sqlite3libicu ($(sqlite3libicu_config)) ===="
- @${MAKE} --no-print-directory -C . -f sqlite3libicu.make config=$(sqlite3libicu_config)
-endif
-
-sqlite3dllicu:
-ifneq (,$(sqlite3dllicu_config))
- @echo "==== Building sqlite3dllicu ($(sqlite3dllicu_config)) ===="
- @${MAKE} --no-print-directory -C . -f sqlite3dllicu.make config=$(sqlite3dllicu_config)
-endif
-
-sqlite3shellicu: sqlite3libicu
-ifneq (,$(sqlite3shellicu_config))
- @echo "==== Building sqlite3shellicu ($(sqlite3shellicu_config)) ===="
- @${MAKE} --no-print-directory -C . -f sqlite3shellicu.make config=$(sqlite3shellicu_config)
-endif
-
-clean:
- @${MAKE} --no-print-directory -C . -f sqlite3lib.make clean
- @${MAKE} --no-print-directory -C . -f sqlite3dll.make clean
- @${MAKE} --no-print-directory -C . -f sqlite3shell.make clean
- @${MAKE} --no-print-directory -C . -f sqlite3libicu.make clean
- @${MAKE} --no-print-directory -C . -f sqlite3dllicu.make clean
- @${MAKE} --no-print-directory -C . -f sqlite3shellicu.make clean
-
-help:
- @echo "Usage: make [config=name] [target]"
- @echo ""
- @echo "CONFIGURATIONS:"
- @echo " debug_win32"
- @echo " debug_win64"
- @echo " release_win32"
- @echo " release_win64"
- @echo ""
- @echo "TARGETS:"
- @echo " all (default)"
- @echo " clean"
- @echo " sqlite3lib"
- @echo " sqlite3dll"
- @echo " sqlite3shell"
- @echo " sqlite3libicu"
- @echo " sqlite3dllicu"
- @echo " sqlite3shellicu"
- @echo ""
- @echo "For more information, see https://github.com/premake/premake-core/wiki"
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc10.sln b/sqlite3secure/build/SQLite3Secure_vc10.sln
deleted file mode 100644
index 58a7616d..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10.sln
+++ /dev/null
@@ -1,76 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3dll", "SQLite3Secure_vc10_dll.vcxproj", "{866F9BC5-7227-DD12-DB2E-B66EC7057803}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3dllicu", "SQLite3Secure_vc10_dllicu.vcxproj", "{A755E4E0-1316-6017-DC50-A99448D0A4F3}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3lib", "SQLite3Secure_vc10_lib.vcxproj", "{21919BC5-0D49-DD12-7650-B66E62277803}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3libicu", "SQLite3Secure_vc10_libicu.vcxproj", "{62D551F3-CE95-CD29-97D0-16A703501206}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3shell", "SQLite3Secure_vc10_shell.vcxproj", "{A297429B-8EFA-D13F-3780-0AF623C29DC2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3shellicu", "SQLite3Secure_vc10_shellicu.vcxproj", "{43D8293F-AF63-9703-B874-1AF8247FF303}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|Win64 = Debug|Win64
- Release|Win32 = Release|Win32
- Release|Win64 = Release|Win64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win32.ActiveCfg = Debug|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win32.Build.0 = Debug|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win64.Build.0 = Debug Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win32.ActiveCfg = Release|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win32.Build.0 = Release|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win64.ActiveCfg = Release Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win64.Build.0 = Release Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win32.ActiveCfg = Debug|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win32.Build.0 = Debug|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win64.Build.0 = Debug Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win32.ActiveCfg = Release|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win32.Build.0 = Release|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win64.ActiveCfg = Release Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win64.Build.0 = Release Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win32.ActiveCfg = Debug|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win32.Build.0 = Debug|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win64.Build.0 = Debug Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win32.ActiveCfg = Release|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win32.Build.0 = Release|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win64.ActiveCfg = Release Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win64.Build.0 = Release Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win32.ActiveCfg = Debug|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win32.Build.0 = Debug|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win64.Build.0 = Debug Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win32.ActiveCfg = Release|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win32.Build.0 = Release|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win64.ActiveCfg = Release Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win64.Build.0 = Release Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win32.ActiveCfg = Debug|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win32.Build.0 = Debug|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win64.Build.0 = Debug Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win32.ActiveCfg = Release|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win32.Build.0 = Release|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win64.ActiveCfg = Release Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win64.Build.0 = Release Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win32.ActiveCfg = Debug|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win32.Build.0 = Debug|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win64.Build.0 = Debug Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win32.ActiveCfg = Release|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win32.Build.0 = Release|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win64.ActiveCfg = Release Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win64.Build.0 = Release Win64|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/sqlite3secure/build/SQLite3Secure_vc10_dll.vcxproj b/sqlite3secure/build/SQLite3Secure_vc10_dll.vcxproj
deleted file mode 100644
index 93e6e33b..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10_dll.vcxproj
+++ /dev/null
@@ -1,226 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}
- Win32Proj
- sqlite3dll
- sqlite3dll
-
-
-
- DynamicLibrary
- true
- Unicode
- v100
-
-
- DynamicLibrary
- true
- Unicode
- v100
-
-
- DynamicLibrary
- false
- Unicode
- v100
-
-
- DynamicLibrary
- false
- Unicode
- v100
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc10\dll\debug\
- obj-vc10\Win32\Debug\sqlite3dll\
- sqlite3
- .dll
-
-
- true
- ..\bin-vc10\dll\debug\
- obj-vc10\Win64\Debug\sqlite3dll\
- sqlite3_x64
- .dll
-
-
- false
- ..\bin-vc10\dll\release\
- obj-vc10\Win32\Release\sqlite3dll\
- sqlite3
- .dll
-
-
- false
- ..\bin-vc10\dll\release\
- obj-vc10\Win64\Release\sqlite3dll\
- sqlite3_x64
- .dll
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- ..\bin-vc10\dll\debug\sqlite3.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- ..\bin-vc10\dll\debug\sqlite3_x64.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- ..\bin-vc10\dll\release\sqlite3.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- ..\bin-vc10\dll\release\sqlite3_x64.lib
- ../src/sqlite3.def
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc10_dll.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc10_dll.vcxproj.filters
deleted file mode 100644
index 879acec9..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10_dll.vcxproj.filters
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc10_dllicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc10_dllicu.vcxproj
deleted file mode 100644
index 241fcae8..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10_dllicu.vcxproj
+++ /dev/null
@@ -1,242 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}
- Win32Proj
- sqlite3dllicu
- sqlite3dllicu
-
-
-
- DynamicLibrary
- true
- Unicode
- v100
-
-
- DynamicLibrary
- true
- Unicode
- v100
-
-
- DynamicLibrary
- false
- Unicode
- v100
-
-
- DynamicLibrary
- false
- Unicode
- v100
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc10\dll\debug\
- obj-vc10\Win32\Debug\sqlite3dllicu\
- sqlite3icu
- .dll
-
-
- true
- ..\bin-vc10\dll\debug\
- obj-vc10\Win64\Debug\sqlite3dllicu\
- sqlite3icu_x64
- .dll
-
-
- false
- ..\bin-vc10\dll\release\
- obj-vc10\Win32\Release\sqlite3dllicu\
- sqlite3icu
- .dll
-
-
- false
- ..\bin-vc10\dll\release\
- obj-vc10\Win64\Release\sqlite3dllicu\
- sqlite3icu_x64
- .dll
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
- ..\bin-vc10\dll\debug\sqlite3icu.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
- ..\bin-vc10\dll\debug\sqlite3icu_x64.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
- ..\bin-vc10\dll\release\sqlite3icu.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
- ..\bin-vc10\dll\release\sqlite3icu_x64.lib
- ../src/sqlite3.def
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc10_dllicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc10_dllicu.vcxproj.filters
deleted file mode 100644
index 879acec9..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10_dllicu.vcxproj.filters
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc10_lib.vcxproj b/sqlite3secure/build/SQLite3Secure_vc10_lib.vcxproj
deleted file mode 100644
index 2d62dde2..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10_lib.vcxproj
+++ /dev/null
@@ -1,196 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {21919BC5-0D49-DD12-7650-B66E62277803}
- Win32Proj
- sqlite3lib
- sqlite3lib
-
-
-
- StaticLibrary
- true
- Unicode
- v100
-
-
- StaticLibrary
- true
- Unicode
- v100
-
-
- StaticLibrary
- false
- Unicode
- v100
-
-
- StaticLibrary
- false
- Unicode
- v100
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\bin-vc10\lib\debug\
- obj-vc10\Win32\Debug\sqlite3lib\
- sqlite3
- .lib
-
-
- ..\bin-vc10\lib\debug\
- obj-vc10\Win64\Debug\sqlite3lib\
- sqlite3_x64
- .lib
-
-
- ..\bin-vc10\lib\release\
- obj-vc10\Win32\Release\sqlite3lib\
- sqlite3
- .lib
-
-
- ..\bin-vc10\lib\release\
- obj-vc10\Win64\Release\sqlite3lib\
- sqlite3_x64
- .lib
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc10_lib.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc10_lib.vcxproj.filters
deleted file mode 100644
index 646d94f4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10_lib.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc10_libicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc10_libicu.vcxproj
deleted file mode 100644
index be01e401..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10_libicu.vcxproj
+++ /dev/null
@@ -1,200 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {62D551F3-CE95-CD29-97D0-16A703501206}
- Win32Proj
- sqlite3libicu
- sqlite3libicu
-
-
-
- StaticLibrary
- true
- Unicode
- v100
-
-
- StaticLibrary
- true
- Unicode
- v100
-
-
- StaticLibrary
- false
- Unicode
- v100
-
-
- StaticLibrary
- false
- Unicode
- v100
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\bin-vc10\lib\debug\
- obj-vc10\Win32\Debug\sqlite3libicu\
- sqlite3icu
- .lib
-
-
- ..\bin-vc10\lib\debug\
- obj-vc10\Win64\Debug\sqlite3libicu\
- sqlite3icu_x64
- .lib
-
-
- ..\bin-vc10\lib\release\
- obj-vc10\Win32\Release\sqlite3libicu\
- sqlite3icu
- .lib
-
-
- ..\bin-vc10\lib\release\
- obj-vc10\Win64\Release\sqlite3libicu\
- sqlite3icu_x64
- .lib
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc10_libicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc10_libicu.vcxproj.filters
deleted file mode 100644
index 646d94f4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10_libicu.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc10_shell.vcxproj b/sqlite3secure/build/SQLite3Secure_vc10_shell.vcxproj
deleted file mode 100644
index 1e22ab0d..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10_shell.vcxproj
+++ /dev/null
@@ -1,209 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}
- Win32Proj
- sqlite3shell
- sqlite3shell
-
-
-
- Application
- true
- Unicode
- v100
-
-
- Application
- true
- Unicode
- v100
-
-
- Application
- false
- Unicode
- v100
-
-
- Application
- false
- Unicode
- v100
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc10\lib\debug\
- obj-vc10\Win32\Debug\sqlite3shell\
- sqlite3shell
- .exe
-
-
- true
- ..\bin-vc10\lib\debug\
- obj-vc10\Win64\Debug\sqlite3shell\
- sqlite3shell_x64
- .exe
-
-
- false
- ..\bin-vc10\lib\release\
- obj-vc10\Win32\Release\sqlite3shell\
- sqlite3shell
- .exe
-
-
- false
- ..\bin-vc10\lib\release\
- obj-vc10\Win64\Release\sqlite3shell\
- sqlite3shell_x64
- .exe
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
- {21919BC5-0D49-DD12-7650-B66E62277803}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc10_shell.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc10_shell.vcxproj.filters
deleted file mode 100644
index c5767656..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10_shell.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc10_shellicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc10_shellicu.vcxproj
deleted file mode 100644
index cad83005..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10_shellicu.vcxproj
+++ /dev/null
@@ -1,217 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {43D8293F-AF63-9703-B874-1AF8247FF303}
- Win32Proj
- sqlite3shellicu
- sqlite3shellicu
-
-
-
- Application
- true
- Unicode
- v100
-
-
- Application
- true
- Unicode
- v100
-
-
- Application
- false
- Unicode
- v100
-
-
- Application
- false
- Unicode
- v100
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc10\lib\debug\
- obj-vc10\Win32\Debug\sqlite3shellicu\
- sqlite3shellicu
- .exe
-
-
- true
- ..\bin-vc10\lib\debug\
- obj-vc10\Win64\Debug\sqlite3shellicu\
- sqlite3shellicu_x64
- .exe
-
-
- false
- ..\bin-vc10\lib\release\
- obj-vc10\Win32\Release\sqlite3shellicu\
- sqlite3shellicu
- .exe
-
-
- false
- ..\bin-vc10\lib\release\
- obj-vc10\Win64\Release\sqlite3shellicu\
- sqlite3shellicu_x64
- .exe
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
-
-
-
-
-
-
-
-
-
-
-
-
-
- {62D551F3-CE95-CD29-97D0-16A703501206}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc10_shellicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc10_shellicu.vcxproj.filters
deleted file mode 100644
index c5767656..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc10_shellicu.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc11.sln b/sqlite3secure/build/SQLite3Secure_vc11.sln
deleted file mode 100644
index 898db72d..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11.sln
+++ /dev/null
@@ -1,76 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2012
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3dll", "SQLite3Secure_vc11_dll.vcxproj", "{866F9BC5-7227-DD12-DB2E-B66EC7057803}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3dllicu", "SQLite3Secure_vc11_dllicu.vcxproj", "{A755E4E0-1316-6017-DC50-A99448D0A4F3}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3lib", "SQLite3Secure_vc11_lib.vcxproj", "{21919BC5-0D49-DD12-7650-B66E62277803}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3libicu", "SQLite3Secure_vc11_libicu.vcxproj", "{62D551F3-CE95-CD29-97D0-16A703501206}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3shell", "SQLite3Secure_vc11_shell.vcxproj", "{A297429B-8EFA-D13F-3780-0AF623C29DC2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3shellicu", "SQLite3Secure_vc11_shellicu.vcxproj", "{43D8293F-AF63-9703-B874-1AF8247FF303}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|Win64 = Debug|Win64
- Release|Win32 = Release|Win32
- Release|Win64 = Release|Win64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win32.ActiveCfg = Debug|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win32.Build.0 = Debug|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win64.Build.0 = Debug Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win32.ActiveCfg = Release|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win32.Build.0 = Release|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win64.ActiveCfg = Release Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win64.Build.0 = Release Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win32.ActiveCfg = Debug|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win32.Build.0 = Debug|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win64.Build.0 = Debug Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win32.ActiveCfg = Release|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win32.Build.0 = Release|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win64.ActiveCfg = Release Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win64.Build.0 = Release Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win32.ActiveCfg = Debug|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win32.Build.0 = Debug|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win64.Build.0 = Debug Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win32.ActiveCfg = Release|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win32.Build.0 = Release|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win64.ActiveCfg = Release Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win64.Build.0 = Release Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win32.ActiveCfg = Debug|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win32.Build.0 = Debug|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win64.Build.0 = Debug Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win32.ActiveCfg = Release|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win32.Build.0 = Release|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win64.ActiveCfg = Release Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win64.Build.0 = Release Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win32.ActiveCfg = Debug|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win32.Build.0 = Debug|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win64.Build.0 = Debug Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win32.ActiveCfg = Release|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win32.Build.0 = Release|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win64.ActiveCfg = Release Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win64.Build.0 = Release Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win32.ActiveCfg = Debug|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win32.Build.0 = Debug|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win64.Build.0 = Debug Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win32.ActiveCfg = Release|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win32.Build.0 = Release|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win64.ActiveCfg = Release Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win64.Build.0 = Release Win64|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/sqlite3secure/build/SQLite3Secure_vc11_dll.vcxproj b/sqlite3secure/build/SQLite3Secure_vc11_dll.vcxproj
deleted file mode 100644
index 610d8c50..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11_dll.vcxproj
+++ /dev/null
@@ -1,226 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}
- Win32Proj
- sqlite3dll
- sqlite3dll
-
-
-
- DynamicLibrary
- true
- Unicode
- v110
-
-
- DynamicLibrary
- true
- Unicode
- v110
-
-
- DynamicLibrary
- false
- Unicode
- v110
-
-
- DynamicLibrary
- false
- Unicode
- v110
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc11\dll\debug\
- obj-vc11\Win32\Debug\sqlite3dll\
- sqlite3
- .dll
-
-
- true
- ..\bin-vc11\dll\debug\
- obj-vc11\Win64\Debug\sqlite3dll\
- sqlite3_x64
- .dll
-
-
- false
- ..\bin-vc11\dll\release\
- obj-vc11\Win32\Release\sqlite3dll\
- sqlite3
- .dll
-
-
- false
- ..\bin-vc11\dll\release\
- obj-vc11\Win64\Release\sqlite3dll\
- sqlite3_x64
- .dll
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- ..\bin-vc11\dll\debug\sqlite3.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- ..\bin-vc11\dll\debug\sqlite3_x64.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- ..\bin-vc11\dll\release\sqlite3.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- ..\bin-vc11\dll\release\sqlite3_x64.lib
- ../src/sqlite3.def
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc11_dll.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc11_dll.vcxproj.filters
deleted file mode 100644
index 879acec9..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11_dll.vcxproj.filters
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc11_dllicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc11_dllicu.vcxproj
deleted file mode 100644
index 0bae5cc2..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11_dllicu.vcxproj
+++ /dev/null
@@ -1,242 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}
- Win32Proj
- sqlite3dllicu
- sqlite3dllicu
-
-
-
- DynamicLibrary
- true
- Unicode
- v110
-
-
- DynamicLibrary
- true
- Unicode
- v110
-
-
- DynamicLibrary
- false
- Unicode
- v110
-
-
- DynamicLibrary
- false
- Unicode
- v110
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc11\dll\debug\
- obj-vc11\Win32\Debug\sqlite3dllicu\
- sqlite3icu
- .dll
-
-
- true
- ..\bin-vc11\dll\debug\
- obj-vc11\Win64\Debug\sqlite3dllicu\
- sqlite3icu_x64
- .dll
-
-
- false
- ..\bin-vc11\dll\release\
- obj-vc11\Win32\Release\sqlite3dllicu\
- sqlite3icu
- .dll
-
-
- false
- ..\bin-vc11\dll\release\
- obj-vc11\Win64\Release\sqlite3dllicu\
- sqlite3icu_x64
- .dll
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
- ..\bin-vc11\dll\debug\sqlite3icu.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
- ..\bin-vc11\dll\debug\sqlite3icu_x64.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
- ..\bin-vc11\dll\release\sqlite3icu.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
- ..\bin-vc11\dll\release\sqlite3icu_x64.lib
- ../src/sqlite3.def
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc11_dllicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc11_dllicu.vcxproj.filters
deleted file mode 100644
index 879acec9..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11_dllicu.vcxproj.filters
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc11_lib.vcxproj b/sqlite3secure/build/SQLite3Secure_vc11_lib.vcxproj
deleted file mode 100644
index 226a649c..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11_lib.vcxproj
+++ /dev/null
@@ -1,196 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {21919BC5-0D49-DD12-7650-B66E62277803}
- Win32Proj
- sqlite3lib
- sqlite3lib
-
-
-
- StaticLibrary
- true
- Unicode
- v110
-
-
- StaticLibrary
- true
- Unicode
- v110
-
-
- StaticLibrary
- false
- Unicode
- v110
-
-
- StaticLibrary
- false
- Unicode
- v110
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\bin-vc11\lib\debug\
- obj-vc11\Win32\Debug\sqlite3lib\
- sqlite3
- .lib
-
-
- ..\bin-vc11\lib\debug\
- obj-vc11\Win64\Debug\sqlite3lib\
- sqlite3_x64
- .lib
-
-
- ..\bin-vc11\lib\release\
- obj-vc11\Win32\Release\sqlite3lib\
- sqlite3
- .lib
-
-
- ..\bin-vc11\lib\release\
- obj-vc11\Win64\Release\sqlite3lib\
- sqlite3_x64
- .lib
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc11_lib.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc11_lib.vcxproj.filters
deleted file mode 100644
index 646d94f4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11_lib.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc11_libicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc11_libicu.vcxproj
deleted file mode 100644
index bf17aee0..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11_libicu.vcxproj
+++ /dev/null
@@ -1,200 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {62D551F3-CE95-CD29-97D0-16A703501206}
- Win32Proj
- sqlite3libicu
- sqlite3libicu
-
-
-
- StaticLibrary
- true
- Unicode
- v110
-
-
- StaticLibrary
- true
- Unicode
- v110
-
-
- StaticLibrary
- false
- Unicode
- v110
-
-
- StaticLibrary
- false
- Unicode
- v110
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\bin-vc11\lib\debug\
- obj-vc11\Win32\Debug\sqlite3libicu\
- sqlite3icu
- .lib
-
-
- ..\bin-vc11\lib\debug\
- obj-vc11\Win64\Debug\sqlite3libicu\
- sqlite3icu_x64
- .lib
-
-
- ..\bin-vc11\lib\release\
- obj-vc11\Win32\Release\sqlite3libicu\
- sqlite3icu
- .lib
-
-
- ..\bin-vc11\lib\release\
- obj-vc11\Win64\Release\sqlite3libicu\
- sqlite3icu_x64
- .lib
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc11_libicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc11_libicu.vcxproj.filters
deleted file mode 100644
index 646d94f4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11_libicu.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc11_shell.vcxproj b/sqlite3secure/build/SQLite3Secure_vc11_shell.vcxproj
deleted file mode 100644
index 00910fac..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11_shell.vcxproj
+++ /dev/null
@@ -1,209 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}
- Win32Proj
- sqlite3shell
- sqlite3shell
-
-
-
- Application
- true
- Unicode
- v110
-
-
- Application
- true
- Unicode
- v110
-
-
- Application
- false
- Unicode
- v110
-
-
- Application
- false
- Unicode
- v110
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc11\lib\debug\
- obj-vc11\Win32\Debug\sqlite3shell\
- sqlite3shell
- .exe
-
-
- true
- ..\bin-vc11\lib\debug\
- obj-vc11\Win64\Debug\sqlite3shell\
- sqlite3shell_x64
- .exe
-
-
- false
- ..\bin-vc11\lib\release\
- obj-vc11\Win32\Release\sqlite3shell\
- sqlite3shell
- .exe
-
-
- false
- ..\bin-vc11\lib\release\
- obj-vc11\Win64\Release\sqlite3shell\
- sqlite3shell_x64
- .exe
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
- {21919BC5-0D49-DD12-7650-B66E62277803}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc11_shell.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc11_shell.vcxproj.filters
deleted file mode 100644
index c5767656..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11_shell.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc11_shellicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc11_shellicu.vcxproj
deleted file mode 100644
index bf0849e4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11_shellicu.vcxproj
+++ /dev/null
@@ -1,217 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {43D8293F-AF63-9703-B874-1AF8247FF303}
- Win32Proj
- sqlite3shellicu
- sqlite3shellicu
-
-
-
- Application
- true
- Unicode
- v110
-
-
- Application
- true
- Unicode
- v110
-
-
- Application
- false
- Unicode
- v110
-
-
- Application
- false
- Unicode
- v110
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc11\lib\debug\
- obj-vc11\Win32\Debug\sqlite3shellicu\
- sqlite3shellicu
- .exe
-
-
- true
- ..\bin-vc11\lib\debug\
- obj-vc11\Win64\Debug\sqlite3shellicu\
- sqlite3shellicu_x64
- .exe
-
-
- false
- ..\bin-vc11\lib\release\
- obj-vc11\Win32\Release\sqlite3shellicu\
- sqlite3shellicu
- .exe
-
-
- false
- ..\bin-vc11\lib\release\
- obj-vc11\Win64\Release\sqlite3shellicu\
- sqlite3shellicu_x64
- .exe
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
-
-
-
-
-
-
-
-
-
-
-
-
-
- {62D551F3-CE95-CD29-97D0-16A703501206}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc11_shellicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc11_shellicu.vcxproj.filters
deleted file mode 100644
index c5767656..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc11_shellicu.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc12.sln b/sqlite3secure/build/SQLite3Secure_vc12.sln
deleted file mode 100644
index 84982466..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12.sln
+++ /dev/null
@@ -1,76 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3dll", "SQLite3Secure_vc12_dll.vcxproj", "{866F9BC5-7227-DD12-DB2E-B66EC7057803}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3dllicu", "SQLite3Secure_vc12_dllicu.vcxproj", "{A755E4E0-1316-6017-DC50-A99448D0A4F3}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3lib", "SQLite3Secure_vc12_lib.vcxproj", "{21919BC5-0D49-DD12-7650-B66E62277803}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3libicu", "SQLite3Secure_vc12_libicu.vcxproj", "{62D551F3-CE95-CD29-97D0-16A703501206}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3shell", "SQLite3Secure_vc12_shell.vcxproj", "{A297429B-8EFA-D13F-3780-0AF623C29DC2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3shellicu", "SQLite3Secure_vc12_shellicu.vcxproj", "{43D8293F-AF63-9703-B874-1AF8247FF303}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|Win64 = Debug|Win64
- Release|Win32 = Release|Win32
- Release|Win64 = Release|Win64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win32.ActiveCfg = Debug|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win32.Build.0 = Debug|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win64.Build.0 = Debug Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win32.ActiveCfg = Release|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win32.Build.0 = Release|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win64.ActiveCfg = Release Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win64.Build.0 = Release Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win32.ActiveCfg = Debug|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win32.Build.0 = Debug|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win64.Build.0 = Debug Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win32.ActiveCfg = Release|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win32.Build.0 = Release|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win64.ActiveCfg = Release Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win64.Build.0 = Release Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win32.ActiveCfg = Debug|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win32.Build.0 = Debug|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win64.Build.0 = Debug Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win32.ActiveCfg = Release|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win32.Build.0 = Release|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win64.ActiveCfg = Release Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win64.Build.0 = Release Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win32.ActiveCfg = Debug|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win32.Build.0 = Debug|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win64.Build.0 = Debug Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win32.ActiveCfg = Release|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win32.Build.0 = Release|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win64.ActiveCfg = Release Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win64.Build.0 = Release Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win32.ActiveCfg = Debug|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win32.Build.0 = Debug|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win64.Build.0 = Debug Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win32.ActiveCfg = Release|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win32.Build.0 = Release|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win64.ActiveCfg = Release Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win64.Build.0 = Release Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win32.ActiveCfg = Debug|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win32.Build.0 = Debug|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win64.Build.0 = Debug Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win32.ActiveCfg = Release|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win32.Build.0 = Release|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win64.ActiveCfg = Release Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win64.Build.0 = Release Win64|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/sqlite3secure/build/SQLite3Secure_vc12_dll.vcxproj b/sqlite3secure/build/SQLite3Secure_vc12_dll.vcxproj
deleted file mode 100644
index 527ea82b..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12_dll.vcxproj
+++ /dev/null
@@ -1,227 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}
- true
- Win32Proj
- sqlite3dll
- sqlite3dll
-
-
-
- DynamicLibrary
- true
- Unicode
- v120
-
-
- DynamicLibrary
- true
- Unicode
- v120
-
-
- DynamicLibrary
- false
- Unicode
- v120
-
-
- DynamicLibrary
- false
- Unicode
- v120
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc12\dll\debug\
- obj-vc12\Win32\Debug\sqlite3dll\
- sqlite3
- .dll
-
-
- true
- ..\bin-vc12\dll\debug\
- obj-vc12\Win64\Debug\sqlite3dll\
- sqlite3_x64
- .dll
-
-
- false
- ..\bin-vc12\dll\release\
- obj-vc12\Win32\Release\sqlite3dll\
- sqlite3
- .dll
-
-
- false
- ..\bin-vc12\dll\release\
- obj-vc12\Win64\Release\sqlite3dll\
- sqlite3_x64
- .dll
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- ..\bin-vc12\dll\debug\sqlite3.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- ..\bin-vc12\dll\debug\sqlite3_x64.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- ..\bin-vc12\dll\release\sqlite3.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- ..\bin-vc12\dll\release\sqlite3_x64.lib
- ../src/sqlite3.def
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc12_dll.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc12_dll.vcxproj.filters
deleted file mode 100644
index 879acec9..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12_dll.vcxproj.filters
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc12_dllicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc12_dllicu.vcxproj
deleted file mode 100644
index 978ea0ac..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12_dllicu.vcxproj
+++ /dev/null
@@ -1,243 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}
- true
- Win32Proj
- sqlite3dllicu
- sqlite3dllicu
-
-
-
- DynamicLibrary
- true
- Unicode
- v120
-
-
- DynamicLibrary
- true
- Unicode
- v120
-
-
- DynamicLibrary
- false
- Unicode
- v120
-
-
- DynamicLibrary
- false
- Unicode
- v120
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc12\dll\debug\
- obj-vc12\Win32\Debug\sqlite3dllicu\
- sqlite3icu
- .dll
-
-
- true
- ..\bin-vc12\dll\debug\
- obj-vc12\Win64\Debug\sqlite3dllicu\
- sqlite3icu_x64
- .dll
-
-
- false
- ..\bin-vc12\dll\release\
- obj-vc12\Win32\Release\sqlite3dllicu\
- sqlite3icu
- .dll
-
-
- false
- ..\bin-vc12\dll\release\
- obj-vc12\Win64\Release\sqlite3dllicu\
- sqlite3icu_x64
- .dll
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
- ..\bin-vc12\dll\debug\sqlite3icu.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
- ..\bin-vc12\dll\debug\sqlite3icu_x64.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
- ..\bin-vc12\dll\release\sqlite3icu.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
- ..\bin-vc12\dll\release\sqlite3icu_x64.lib
- ../src/sqlite3.def
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc12_dllicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc12_dllicu.vcxproj.filters
deleted file mode 100644
index 879acec9..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12_dllicu.vcxproj.filters
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc12_lib.vcxproj b/sqlite3secure/build/SQLite3Secure_vc12_lib.vcxproj
deleted file mode 100644
index 29056776..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12_lib.vcxproj
+++ /dev/null
@@ -1,197 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {21919BC5-0D49-DD12-7650-B66E62277803}
- true
- Win32Proj
- sqlite3lib
- sqlite3lib
-
-
-
- StaticLibrary
- true
- Unicode
- v120
-
-
- StaticLibrary
- true
- Unicode
- v120
-
-
- StaticLibrary
- false
- Unicode
- v120
-
-
- StaticLibrary
- false
- Unicode
- v120
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\bin-vc12\lib\debug\
- obj-vc12\Win32\Debug\sqlite3lib\
- sqlite3
- .lib
-
-
- ..\bin-vc12\lib\debug\
- obj-vc12\Win64\Debug\sqlite3lib\
- sqlite3_x64
- .lib
-
-
- ..\bin-vc12\lib\release\
- obj-vc12\Win32\Release\sqlite3lib\
- sqlite3
- .lib
-
-
- ..\bin-vc12\lib\release\
- obj-vc12\Win64\Release\sqlite3lib\
- sqlite3_x64
- .lib
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc12_lib.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc12_lib.vcxproj.filters
deleted file mode 100644
index 646d94f4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12_lib.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc12_libicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc12_libicu.vcxproj
deleted file mode 100644
index c1d0d214..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12_libicu.vcxproj
+++ /dev/null
@@ -1,201 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {62D551F3-CE95-CD29-97D0-16A703501206}
- true
- Win32Proj
- sqlite3libicu
- sqlite3libicu
-
-
-
- StaticLibrary
- true
- Unicode
- v120
-
-
- StaticLibrary
- true
- Unicode
- v120
-
-
- StaticLibrary
- false
- Unicode
- v120
-
-
- StaticLibrary
- false
- Unicode
- v120
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\bin-vc12\lib\debug\
- obj-vc12\Win32\Debug\sqlite3libicu\
- sqlite3icu
- .lib
-
-
- ..\bin-vc12\lib\debug\
- obj-vc12\Win64\Debug\sqlite3libicu\
- sqlite3icu_x64
- .lib
-
-
- ..\bin-vc12\lib\release\
- obj-vc12\Win32\Release\sqlite3libicu\
- sqlite3icu
- .lib
-
-
- ..\bin-vc12\lib\release\
- obj-vc12\Win64\Release\sqlite3libicu\
- sqlite3icu_x64
- .lib
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc12_libicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc12_libicu.vcxproj.filters
deleted file mode 100644
index 646d94f4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12_libicu.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc12_shell.vcxproj b/sqlite3secure/build/SQLite3Secure_vc12_shell.vcxproj
deleted file mode 100644
index 4e6246e1..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12_shell.vcxproj
+++ /dev/null
@@ -1,210 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}
- true
- Win32Proj
- sqlite3shell
- sqlite3shell
-
-
-
- Application
- true
- Unicode
- v120
-
-
- Application
- true
- Unicode
- v120
-
-
- Application
- false
- Unicode
- v120
-
-
- Application
- false
- Unicode
- v120
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc12\lib\debug\
- obj-vc12\Win32\Debug\sqlite3shell\
- sqlite3shell
- .exe
-
-
- true
- ..\bin-vc12\lib\debug\
- obj-vc12\Win64\Debug\sqlite3shell\
- sqlite3shell_x64
- .exe
-
-
- false
- ..\bin-vc12\lib\release\
- obj-vc12\Win32\Release\sqlite3shell\
- sqlite3shell
- .exe
-
-
- false
- ..\bin-vc12\lib\release\
- obj-vc12\Win64\Release\sqlite3shell\
- sqlite3shell_x64
- .exe
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
- {21919BC5-0D49-DD12-7650-B66E62277803}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc12_shell.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc12_shell.vcxproj.filters
deleted file mode 100644
index c5767656..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12_shell.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc12_shellicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc12_shellicu.vcxproj
deleted file mode 100644
index 241bf369..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12_shellicu.vcxproj
+++ /dev/null
@@ -1,218 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {43D8293F-AF63-9703-B874-1AF8247FF303}
- true
- Win32Proj
- sqlite3shellicu
- sqlite3shellicu
-
-
-
- Application
- true
- Unicode
- v120
-
-
- Application
- true
- Unicode
- v120
-
-
- Application
- false
- Unicode
- v120
-
-
- Application
- false
- Unicode
- v120
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc12\lib\debug\
- obj-vc12\Win32\Debug\sqlite3shellicu\
- sqlite3shellicu
- .exe
-
-
- true
- ..\bin-vc12\lib\debug\
- obj-vc12\Win64\Debug\sqlite3shellicu\
- sqlite3shellicu_x64
- .exe
-
-
- false
- ..\bin-vc12\lib\release\
- obj-vc12\Win32\Release\sqlite3shellicu\
- sqlite3shellicu
- .exe
-
-
- false
- ..\bin-vc12\lib\release\
- obj-vc12\Win64\Release\sqlite3shellicu\
- sqlite3shellicu_x64
- .exe
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- ProgramDatabase
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
-
-
-
-
-
-
-
-
-
-
-
-
-
- {62D551F3-CE95-CD29-97D0-16A703501206}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc12_shellicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc12_shellicu.vcxproj.filters
deleted file mode 100644
index c5767656..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc12_shellicu.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc14.sln b/sqlite3secure/build/SQLite3Secure_vc14.sln
deleted file mode 100644
index 0622aa3e..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14.sln
+++ /dev/null
@@ -1,76 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3dll", "SQLite3Secure_vc14_dll.vcxproj", "{866F9BC5-7227-DD12-DB2E-B66EC7057803}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3dllicu", "SQLite3Secure_vc14_dllicu.vcxproj", "{A755E4E0-1316-6017-DC50-A99448D0A4F3}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3lib", "SQLite3Secure_vc14_lib.vcxproj", "{21919BC5-0D49-DD12-7650-B66E62277803}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3libicu", "SQLite3Secure_vc14_libicu.vcxproj", "{62D551F3-CE95-CD29-97D0-16A703501206}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3shell", "SQLite3Secure_vc14_shell.vcxproj", "{A297429B-8EFA-D13F-3780-0AF623C29DC2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3shellicu", "SQLite3Secure_vc14_shellicu.vcxproj", "{43D8293F-AF63-9703-B874-1AF8247FF303}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|Win64 = Debug|Win64
- Release|Win32 = Release|Win32
- Release|Win64 = Release|Win64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win32.ActiveCfg = Debug|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win32.Build.0 = Debug|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win64.Build.0 = Debug Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win32.ActiveCfg = Release|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win32.Build.0 = Release|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win64.ActiveCfg = Release Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win64.Build.0 = Release Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win32.ActiveCfg = Debug|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win32.Build.0 = Debug|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win64.Build.0 = Debug Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win32.ActiveCfg = Release|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win32.Build.0 = Release|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win64.ActiveCfg = Release Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win64.Build.0 = Release Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win32.ActiveCfg = Debug|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win32.Build.0 = Debug|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win64.Build.0 = Debug Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win32.ActiveCfg = Release|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win32.Build.0 = Release|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win64.ActiveCfg = Release Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win64.Build.0 = Release Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win32.ActiveCfg = Debug|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win32.Build.0 = Debug|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win64.Build.0 = Debug Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win32.ActiveCfg = Release|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win32.Build.0 = Release|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win64.ActiveCfg = Release Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win64.Build.0 = Release Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win32.ActiveCfg = Debug|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win32.Build.0 = Debug|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win64.Build.0 = Debug Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win32.ActiveCfg = Release|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win32.Build.0 = Release|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win64.ActiveCfg = Release Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win64.Build.0 = Release Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win32.ActiveCfg = Debug|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win32.Build.0 = Debug|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win64.Build.0 = Debug Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win32.ActiveCfg = Release|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win32.Build.0 = Release|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win64.ActiveCfg = Release Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win64.Build.0 = Release Win64|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/sqlite3secure/build/SQLite3Secure_vc14_dll.vcxproj b/sqlite3secure/build/SQLite3Secure_vc14_dll.vcxproj
deleted file mode 100644
index 710760b3..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14_dll.vcxproj
+++ /dev/null
@@ -1,227 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}
- true
- Win32Proj
- sqlite3dll
- sqlite3dll
-
-
-
- DynamicLibrary
- true
- Unicode
- v140
-
-
- DynamicLibrary
- true
- Unicode
- v140
-
-
- DynamicLibrary
- false
- Unicode
- v140
-
-
- DynamicLibrary
- false
- Unicode
- v140
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc14\dll\debug\
- obj-vc14\Win32\Debug\sqlite3dll\
- sqlite3
- .dll
-
-
- true
- ..\bin-vc14\dll\debug\
- obj-vc14\Win64\Debug\sqlite3dll\
- sqlite3_x64
- .dll
-
-
- false
- ..\bin-vc14\dll\release\
- obj-vc14\Win32\Release\sqlite3dll\
- sqlite3
- .dll
-
-
- false
- ..\bin-vc14\dll\release\
- obj-vc14\Win64\Release\sqlite3dll\
- sqlite3_x64
- .dll
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- ..\bin-vc14\dll\debug\sqlite3.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- ..\bin-vc14\dll\debug\sqlite3_x64.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- ..\bin-vc14\dll\release\sqlite3.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- ..\bin-vc14\dll\release\sqlite3_x64.lib
- ../src/sqlite3.def
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc14_dll.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc14_dll.vcxproj.filters
deleted file mode 100644
index 879acec9..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14_dll.vcxproj.filters
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc14_dllicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc14_dllicu.vcxproj
deleted file mode 100644
index e16dcfcf..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14_dllicu.vcxproj
+++ /dev/null
@@ -1,243 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}
- true
- Win32Proj
- sqlite3dllicu
- sqlite3dllicu
-
-
-
- DynamicLibrary
- true
- Unicode
- v140
-
-
- DynamicLibrary
- true
- Unicode
- v140
-
-
- DynamicLibrary
- false
- Unicode
- v140
-
-
- DynamicLibrary
- false
- Unicode
- v140
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc14\dll\debug\
- obj-vc14\Win32\Debug\sqlite3dllicu\
- sqlite3icu
- .dll
-
-
- true
- ..\bin-vc14\dll\debug\
- obj-vc14\Win64\Debug\sqlite3dllicu\
- sqlite3icu_x64
- .dll
-
-
- false
- ..\bin-vc14\dll\release\
- obj-vc14\Win32\Release\sqlite3dllicu\
- sqlite3icu
- .dll
-
-
- false
- ..\bin-vc14\dll\release\
- obj-vc14\Win64\Release\sqlite3dllicu\
- sqlite3icu_x64
- .dll
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
- ..\bin-vc14\dll\debug\sqlite3icu.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
- ..\bin-vc14\dll\debug\sqlite3icu_x64.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
- ..\bin-vc14\dll\release\sqlite3icu.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
- ..\bin-vc14\dll\release\sqlite3icu_x64.lib
- ../src/sqlite3.def
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc14_dllicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc14_dllicu.vcxproj.filters
deleted file mode 100644
index 879acec9..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14_dllicu.vcxproj.filters
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc14_lib.vcxproj b/sqlite3secure/build/SQLite3Secure_vc14_lib.vcxproj
deleted file mode 100644
index df7d59f0..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14_lib.vcxproj
+++ /dev/null
@@ -1,197 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {21919BC5-0D49-DD12-7650-B66E62277803}
- true
- Win32Proj
- sqlite3lib
- sqlite3lib
-
-
-
- StaticLibrary
- true
- Unicode
- v140
-
-
- StaticLibrary
- true
- Unicode
- v140
-
-
- StaticLibrary
- false
- Unicode
- v140
-
-
- StaticLibrary
- false
- Unicode
- v140
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\bin-vc14\lib\debug\
- obj-vc14\Win32\Debug\sqlite3lib\
- sqlite3
- .lib
-
-
- ..\bin-vc14\lib\debug\
- obj-vc14\Win64\Debug\sqlite3lib\
- sqlite3_x64
- .lib
-
-
- ..\bin-vc14\lib\release\
- obj-vc14\Win32\Release\sqlite3lib\
- sqlite3
- .lib
-
-
- ..\bin-vc14\lib\release\
- obj-vc14\Win64\Release\sqlite3lib\
- sqlite3_x64
- .lib
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc14_lib.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc14_lib.vcxproj.filters
deleted file mode 100644
index 646d94f4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14_lib.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc14_libicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc14_libicu.vcxproj
deleted file mode 100644
index 813e0da6..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14_libicu.vcxproj
+++ /dev/null
@@ -1,201 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {62D551F3-CE95-CD29-97D0-16A703501206}
- true
- Win32Proj
- sqlite3libicu
- sqlite3libicu
-
-
-
- StaticLibrary
- true
- Unicode
- v140
-
-
- StaticLibrary
- true
- Unicode
- v140
-
-
- StaticLibrary
- false
- Unicode
- v140
-
-
- StaticLibrary
- false
- Unicode
- v140
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\bin-vc14\lib\debug\
- obj-vc14\Win32\Debug\sqlite3libicu\
- sqlite3icu
- .lib
-
-
- ..\bin-vc14\lib\debug\
- obj-vc14\Win64\Debug\sqlite3libicu\
- sqlite3icu_x64
- .lib
-
-
- ..\bin-vc14\lib\release\
- obj-vc14\Win32\Release\sqlite3libicu\
- sqlite3icu
- .lib
-
-
- ..\bin-vc14\lib\release\
- obj-vc14\Win64\Release\sqlite3libicu\
- sqlite3icu_x64
- .lib
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc14_libicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc14_libicu.vcxproj.filters
deleted file mode 100644
index 646d94f4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14_libicu.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc14_shell.vcxproj b/sqlite3secure/build/SQLite3Secure_vc14_shell.vcxproj
deleted file mode 100644
index eb81f7d1..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14_shell.vcxproj
+++ /dev/null
@@ -1,210 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}
- true
- Win32Proj
- sqlite3shell
- sqlite3shell
-
-
-
- Application
- true
- Unicode
- v140
-
-
- Application
- true
- Unicode
- v140
-
-
- Application
- false
- Unicode
- v140
-
-
- Application
- false
- Unicode
- v140
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc14\lib\debug\
- obj-vc14\Win32\Debug\sqlite3shell\
- sqlite3shell
- .exe
-
-
- true
- ..\bin-vc14\lib\debug\
- obj-vc14\Win64\Debug\sqlite3shell\
- sqlite3shell_x64
- .exe
-
-
- false
- ..\bin-vc14\lib\release\
- obj-vc14\Win32\Release\sqlite3shell\
- sqlite3shell
- .exe
-
-
- false
- ..\bin-vc14\lib\release\
- obj-vc14\Win64\Release\sqlite3shell\
- sqlite3shell_x64
- .exe
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
- {21919BC5-0D49-DD12-7650-B66E62277803}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc14_shell.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc14_shell.vcxproj.filters
deleted file mode 100644
index c5767656..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14_shell.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc14_shellicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc14_shellicu.vcxproj
deleted file mode 100644
index f1abf421..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14_shellicu.vcxproj
+++ /dev/null
@@ -1,218 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {43D8293F-AF63-9703-B874-1AF8247FF303}
- true
- Win32Proj
- sqlite3shellicu
- sqlite3shellicu
-
-
-
- Application
- true
- Unicode
- v140
-
-
- Application
- true
- Unicode
- v140
-
-
- Application
- false
- Unicode
- v140
-
-
- Application
- false
- Unicode
- v140
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc14\lib\debug\
- obj-vc14\Win32\Debug\sqlite3shellicu\
- sqlite3shellicu
- .exe
-
-
- true
- ..\bin-vc14\lib\debug\
- obj-vc14\Win64\Debug\sqlite3shellicu\
- sqlite3shellicu_x64
- .exe
-
-
- false
- ..\bin-vc14\lib\release\
- obj-vc14\Win32\Release\sqlite3shellicu\
- sqlite3shellicu
- .exe
-
-
- false
- ..\bin-vc14\lib\release\
- obj-vc14\Win64\Release\sqlite3shellicu\
- sqlite3shellicu_x64
- .exe
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
-
-
-
-
-
-
-
-
-
-
-
-
-
- {62D551F3-CE95-CD29-97D0-16A703501206}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc14_shellicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc14_shellicu.vcxproj.filters
deleted file mode 100644
index c5767656..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc14_shellicu.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc15.sln b/sqlite3secure/build/SQLite3Secure_vc15.sln
deleted file mode 100644
index d6259222..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15.sln
+++ /dev/null
@@ -1,76 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3dll", "SQLite3Secure_vc15_dll.vcxproj", "{866F9BC5-7227-DD12-DB2E-B66EC7057803}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3dllicu", "SQLite3Secure_vc15_dllicu.vcxproj", "{A755E4E0-1316-6017-DC50-A99448D0A4F3}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3lib", "SQLite3Secure_vc15_lib.vcxproj", "{21919BC5-0D49-DD12-7650-B66E62277803}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3libicu", "SQLite3Secure_vc15_libicu.vcxproj", "{62D551F3-CE95-CD29-97D0-16A703501206}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3shell", "SQLite3Secure_vc15_shell.vcxproj", "{A297429B-8EFA-D13F-3780-0AF623C29DC2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3shellicu", "SQLite3Secure_vc15_shellicu.vcxproj", "{43D8293F-AF63-9703-B874-1AF8247FF303}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|Win64 = Debug|Win64
- Release|Win32 = Release|Win32
- Release|Win64 = Release|Win64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win32.ActiveCfg = Debug|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win32.Build.0 = Debug|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win64.Build.0 = Debug Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win32.ActiveCfg = Release|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win32.Build.0 = Release|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win64.ActiveCfg = Release Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win64.Build.0 = Release Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win32.ActiveCfg = Debug|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win32.Build.0 = Debug|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win64.Build.0 = Debug Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win32.ActiveCfg = Release|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win32.Build.0 = Release|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win64.ActiveCfg = Release Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win64.Build.0 = Release Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win32.ActiveCfg = Debug|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win32.Build.0 = Debug|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win64.Build.0 = Debug Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win32.ActiveCfg = Release|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win32.Build.0 = Release|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win64.ActiveCfg = Release Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win64.Build.0 = Release Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win32.ActiveCfg = Debug|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win32.Build.0 = Debug|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win64.Build.0 = Debug Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win32.ActiveCfg = Release|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win32.Build.0 = Release|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win64.ActiveCfg = Release Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win64.Build.0 = Release Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win32.ActiveCfg = Debug|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win32.Build.0 = Debug|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win64.Build.0 = Debug Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win32.ActiveCfg = Release|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win32.Build.0 = Release|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win64.ActiveCfg = Release Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win64.Build.0 = Release Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win32.ActiveCfg = Debug|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win32.Build.0 = Debug|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win64.Build.0 = Debug Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win32.ActiveCfg = Release|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win32.Build.0 = Release|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win64.ActiveCfg = Release Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win64.Build.0 = Release Win64|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/sqlite3secure/build/SQLite3Secure_vc15_dll.vcxproj b/sqlite3secure/build/SQLite3Secure_vc15_dll.vcxproj
deleted file mode 100644
index 56c4a6c4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15_dll.vcxproj
+++ /dev/null
@@ -1,227 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}
- true
- Win32Proj
- sqlite3dll
- sqlite3dll
-
-
-
- DynamicLibrary
- true
- Unicode
- v141
-
-
- DynamicLibrary
- true
- Unicode
- v141
-
-
- DynamicLibrary
- false
- Unicode
- v141
-
-
- DynamicLibrary
- false
- Unicode
- v141
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc15\dll\debug\
- obj-vc15\Win32\Debug\sqlite3dll\
- sqlite3
- .dll
-
-
- true
- ..\bin-vc15\dll\debug\
- obj-vc15\Win64\Debug\sqlite3dll\
- sqlite3_x64
- .dll
-
-
- false
- ..\bin-vc15\dll\release\
- obj-vc15\Win32\Release\sqlite3dll\
- sqlite3
- .dll
-
-
- false
- ..\bin-vc15\dll\release\
- obj-vc15\Win64\Release\sqlite3dll\
- sqlite3_x64
- .dll
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- ..\bin-vc15\dll\debug\sqlite3.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- ..\bin-vc15\dll\debug\sqlite3_x64.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- ..\bin-vc15\dll\release\sqlite3.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- ..\bin-vc15\dll\release\sqlite3_x64.lib
- ../src/sqlite3.def
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc15_dll.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc15_dll.vcxproj.filters
deleted file mode 100644
index 879acec9..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15_dll.vcxproj.filters
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc15_dllicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc15_dllicu.vcxproj
deleted file mode 100644
index 99a99a04..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15_dllicu.vcxproj
+++ /dev/null
@@ -1,243 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}
- true
- Win32Proj
- sqlite3dllicu
- sqlite3dllicu
-
-
-
- DynamicLibrary
- true
- Unicode
- v141
-
-
- DynamicLibrary
- true
- Unicode
- v141
-
-
- DynamicLibrary
- false
- Unicode
- v141
-
-
- DynamicLibrary
- false
- Unicode
- v141
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc15\dll\debug\
- obj-vc15\Win32\Debug\sqlite3dllicu\
- sqlite3icu
- .dll
-
-
- true
- ..\bin-vc15\dll\debug\
- obj-vc15\Win64\Debug\sqlite3dllicu\
- sqlite3icu_x64
- .dll
-
-
- false
- ..\bin-vc15\dll\release\
- obj-vc15\Win32\Release\sqlite3dllicu\
- sqlite3icu
- .dll
-
-
- false
- ..\bin-vc15\dll\release\
- obj-vc15\Win64\Release\sqlite3dllicu\
- sqlite3icu_x64
- .dll
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
- ..\bin-vc15\dll\debug\sqlite3icu.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
- ..\bin-vc15\dll\debug\sqlite3icu_x64.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
- ..\bin-vc15\dll\release\sqlite3icu.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
- ..\bin-vc15\dll\release\sqlite3icu_x64.lib
- ../src/sqlite3.def
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc15_dllicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc15_dllicu.vcxproj.filters
deleted file mode 100644
index 879acec9..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15_dllicu.vcxproj.filters
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc15_lib.vcxproj b/sqlite3secure/build/SQLite3Secure_vc15_lib.vcxproj
deleted file mode 100644
index 68345ca5..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15_lib.vcxproj
+++ /dev/null
@@ -1,197 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {21919BC5-0D49-DD12-7650-B66E62277803}
- true
- Win32Proj
- sqlite3lib
- sqlite3lib
-
-
-
- StaticLibrary
- true
- Unicode
- v141
-
-
- StaticLibrary
- true
- Unicode
- v141
-
-
- StaticLibrary
- false
- Unicode
- v141
-
-
- StaticLibrary
- false
- Unicode
- v141
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\bin-vc15\lib\debug\
- obj-vc15\Win32\Debug\sqlite3lib\
- sqlite3
- .lib
-
-
- ..\bin-vc15\lib\debug\
- obj-vc15\Win64\Debug\sqlite3lib\
- sqlite3_x64
- .lib
-
-
- ..\bin-vc15\lib\release\
- obj-vc15\Win32\Release\sqlite3lib\
- sqlite3
- .lib
-
-
- ..\bin-vc15\lib\release\
- obj-vc15\Win64\Release\sqlite3lib\
- sqlite3_x64
- .lib
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc15_lib.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc15_lib.vcxproj.filters
deleted file mode 100644
index 646d94f4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15_lib.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc15_libicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc15_libicu.vcxproj
deleted file mode 100644
index f996fbf4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15_libicu.vcxproj
+++ /dev/null
@@ -1,201 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {62D551F3-CE95-CD29-97D0-16A703501206}
- true
- Win32Proj
- sqlite3libicu
- sqlite3libicu
-
-
-
- StaticLibrary
- true
- Unicode
- v141
-
-
- StaticLibrary
- true
- Unicode
- v141
-
-
- StaticLibrary
- false
- Unicode
- v141
-
-
- StaticLibrary
- false
- Unicode
- v141
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\bin-vc15\lib\debug\
- obj-vc15\Win32\Debug\sqlite3libicu\
- sqlite3icu
- .lib
-
-
- ..\bin-vc15\lib\debug\
- obj-vc15\Win64\Debug\sqlite3libicu\
- sqlite3icu_x64
- .lib
-
-
- ..\bin-vc15\lib\release\
- obj-vc15\Win32\Release\sqlite3libicu\
- sqlite3icu
- .lib
-
-
- ..\bin-vc15\lib\release\
- obj-vc15\Win64\Release\sqlite3libicu\
- sqlite3icu_x64
- .lib
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc15_libicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc15_libicu.vcxproj.filters
deleted file mode 100644
index 646d94f4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15_libicu.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc15_shell.vcxproj b/sqlite3secure/build/SQLite3Secure_vc15_shell.vcxproj
deleted file mode 100644
index ca2881f8..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15_shell.vcxproj
+++ /dev/null
@@ -1,210 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}
- true
- Win32Proj
- sqlite3shell
- sqlite3shell
-
-
-
- Application
- true
- Unicode
- v141
-
-
- Application
- true
- Unicode
- v141
-
-
- Application
- false
- Unicode
- v141
-
-
- Application
- false
- Unicode
- v141
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc15\lib\debug\
- obj-vc15\Win32\Debug\sqlite3shell\
- sqlite3shell
- .exe
-
-
- true
- ..\bin-vc15\lib\debug\
- obj-vc15\Win64\Debug\sqlite3shell\
- sqlite3shell_x64
- .exe
-
-
- false
- ..\bin-vc15\lib\release\
- obj-vc15\Win32\Release\sqlite3shell\
- sqlite3shell
- .exe
-
-
- false
- ..\bin-vc15\lib\release\
- obj-vc15\Win64\Release\sqlite3shell\
- sqlite3shell_x64
- .exe
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
- {21919BC5-0D49-DD12-7650-B66E62277803}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc15_shell.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc15_shell.vcxproj.filters
deleted file mode 100644
index c5767656..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15_shell.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc15_shellicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc15_shellicu.vcxproj
deleted file mode 100644
index 6d43779e..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15_shellicu.vcxproj
+++ /dev/null
@@ -1,218 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {43D8293F-AF63-9703-B874-1AF8247FF303}
- true
- Win32Proj
- sqlite3shellicu
- sqlite3shellicu
-
-
-
- Application
- true
- Unicode
- v141
-
-
- Application
- true
- Unicode
- v141
-
-
- Application
- false
- Unicode
- v141
-
-
- Application
- false
- Unicode
- v141
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc15\lib\debug\
- obj-vc15\Win32\Debug\sqlite3shellicu\
- sqlite3shellicu
- .exe
-
-
- true
- ..\bin-vc15\lib\debug\
- obj-vc15\Win64\Debug\sqlite3shellicu\
- sqlite3shellicu_x64
- .exe
-
-
- false
- ..\bin-vc15\lib\release\
- obj-vc15\Win32\Release\sqlite3shellicu\
- sqlite3shellicu
- .exe
-
-
- false
- ..\bin-vc15\lib\release\
- obj-vc15\Win64\Release\sqlite3shellicu\
- sqlite3shellicu_x64
- .exe
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
-
-
-
-
-
-
-
-
-
-
-
-
-
- {62D551F3-CE95-CD29-97D0-16A703501206}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc15_shellicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc15_shellicu.vcxproj.filters
deleted file mode 100644
index c5767656..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc15_shellicu.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc16.sln b/sqlite3secure/build/SQLite3Secure_vc16.sln
deleted file mode 100644
index ae54b24c..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16.sln
+++ /dev/null
@@ -1,76 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 16
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3dll", "SQLite3Secure_vc16_dll.vcxproj", "{866F9BC5-7227-DD12-DB2E-B66EC7057803}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3dllicu", "SQLite3Secure_vc16_dllicu.vcxproj", "{A755E4E0-1316-6017-DC50-A99448D0A4F3}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3lib", "SQLite3Secure_vc16_lib.vcxproj", "{21919BC5-0D49-DD12-7650-B66E62277803}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3libicu", "SQLite3Secure_vc16_libicu.vcxproj", "{62D551F3-CE95-CD29-97D0-16A703501206}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3shell", "SQLite3Secure_vc16_shell.vcxproj", "{A297429B-8EFA-D13F-3780-0AF623C29DC2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3shellicu", "SQLite3Secure_vc16_shellicu.vcxproj", "{43D8293F-AF63-9703-B874-1AF8247FF303}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|Win64 = Debug|Win64
- Release|Win32 = Release|Win32
- Release|Win64 = Release|Win64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win32.ActiveCfg = Debug|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win32.Build.0 = Debug|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Debug|Win64.Build.0 = Debug Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win32.ActiveCfg = Release|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win32.Build.0 = Release|Win32
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win64.ActiveCfg = Release Win64|x64
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}.Release|Win64.Build.0 = Release Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win32.ActiveCfg = Debug|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win32.Build.0 = Debug|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Debug|Win64.Build.0 = Debug Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win32.ActiveCfg = Release|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win32.Build.0 = Release|Win32
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win64.ActiveCfg = Release Win64|x64
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}.Release|Win64.Build.0 = Release Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win32.ActiveCfg = Debug|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win32.Build.0 = Debug|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Debug|Win64.Build.0 = Debug Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win32.ActiveCfg = Release|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win32.Build.0 = Release|Win32
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win64.ActiveCfg = Release Win64|x64
- {21919BC5-0D49-DD12-7650-B66E62277803}.Release|Win64.Build.0 = Release Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win32.ActiveCfg = Debug|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win32.Build.0 = Debug|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Debug|Win64.Build.0 = Debug Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win32.ActiveCfg = Release|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win32.Build.0 = Release|Win32
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win64.ActiveCfg = Release Win64|x64
- {62D551F3-CE95-CD29-97D0-16A703501206}.Release|Win64.Build.0 = Release Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win32.ActiveCfg = Debug|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win32.Build.0 = Debug|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Debug|Win64.Build.0 = Debug Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win32.ActiveCfg = Release|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win32.Build.0 = Release|Win32
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win64.ActiveCfg = Release Win64|x64
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}.Release|Win64.Build.0 = Release Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win32.ActiveCfg = Debug|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win32.Build.0 = Debug|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win64.ActiveCfg = Debug Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Debug|Win64.Build.0 = Debug Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win32.ActiveCfg = Release|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win32.Build.0 = Release|Win32
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win64.ActiveCfg = Release Win64|x64
- {43D8293F-AF63-9703-B874-1AF8247FF303}.Release|Win64.Build.0 = Release Win64|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/sqlite3secure/build/SQLite3Secure_vc16_dll.vcxproj b/sqlite3secure/build/SQLite3Secure_vc16_dll.vcxproj
deleted file mode 100644
index ba71ae80..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16_dll.vcxproj
+++ /dev/null
@@ -1,227 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {866F9BC5-7227-DD12-DB2E-B66EC7057803}
- true
- Win32Proj
- sqlite3dll
- sqlite3dll
-
-
-
- DynamicLibrary
- true
- Unicode
- v142
-
-
- DynamicLibrary
- true
- Unicode
- v142
-
-
- DynamicLibrary
- false
- Unicode
- v142
-
-
- DynamicLibrary
- false
- Unicode
- v142
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc16\dll\debug\
- obj-vc16\Win32\Debug\sqlite3dll\
- sqlite3
- .dll
-
-
- true
- ..\bin-vc16\dll\debug\
- obj-vc16\Win64\Debug\sqlite3dll\
- sqlite3_x64
- .dll
-
-
- false
- ..\bin-vc16\dll\release\
- obj-vc16\Win32\Release\sqlite3dll\
- sqlite3
- .dll
-
-
- false
- ..\bin-vc16\dll\release\
- obj-vc16\Win64\Release\sqlite3dll\
- sqlite3_x64
- .dll
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- ..\bin-vc16\dll\debug\sqlite3.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- ..\bin-vc16\dll\debug\sqlite3_x64.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- ..\bin-vc16\dll\release\sqlite3.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Windows
- true
- true
- ..\bin-vc16\dll\release\sqlite3_x64.lib
- ../src/sqlite3.def
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc16_dll.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc16_dll.vcxproj.filters
deleted file mode 100644
index 879acec9..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16_dll.vcxproj.filters
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc16_dllicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc16_dllicu.vcxproj
deleted file mode 100644
index 2d0622fb..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16_dllicu.vcxproj
+++ /dev/null
@@ -1,243 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {A755E4E0-1316-6017-DC50-A99448D0A4F3}
- true
- Win32Proj
- sqlite3dllicu
- sqlite3dllicu
-
-
-
- DynamicLibrary
- true
- Unicode
- v142
-
-
- DynamicLibrary
- true
- Unicode
- v142
-
-
- DynamicLibrary
- false
- Unicode
- v142
-
-
- DynamicLibrary
- false
- Unicode
- v142
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc16\dll\debug\
- obj-vc16\Win32\Debug\sqlite3dllicu\
- sqlite3icu
- .dll
-
-
- true
- ..\bin-vc16\dll\debug\
- obj-vc16\Win64\Debug\sqlite3dllicu\
- sqlite3icu_x64
- .dll
-
-
- false
- ..\bin-vc16\dll\release\
- obj-vc16\Win32\Release\sqlite3dllicu\
- sqlite3icu
- .dll
-
-
- false
- ..\bin-vc16\dll\release\
- obj-vc16\Win64\Release\sqlite3dllicu\
- sqlite3icu_x64
- .dll
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
- ..\bin-vc16\dll\debug\sqlite3icu.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
- ..\bin-vc16\dll\debug\sqlite3icu_x64.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
- ..\bin-vc16\dll\release\sqlite3icu.lib
- ../src/sqlite3.def
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_USRDLL;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_SHA3;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_FILEIO;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
- ..\bin-vc16\dll\release\sqlite3icu_x64.lib
- ../src/sqlite3.def
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc16_dllicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc16_dllicu.vcxproj.filters
deleted file mode 100644
index 879acec9..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16_dllicu.vcxproj.filters
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc16_lib.vcxproj b/sqlite3secure/build/SQLite3Secure_vc16_lib.vcxproj
deleted file mode 100644
index 37faa6e8..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16_lib.vcxproj
+++ /dev/null
@@ -1,197 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {21919BC5-0D49-DD12-7650-B66E62277803}
- true
- Win32Proj
- sqlite3lib
- sqlite3lib
-
-
-
- StaticLibrary
- true
- Unicode
- v142
-
-
- StaticLibrary
- true
- Unicode
- v142
-
-
- StaticLibrary
- false
- Unicode
- v142
-
-
- StaticLibrary
- false
- Unicode
- v142
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\bin-vc16\lib\debug\
- obj-vc16\Win32\Debug\sqlite3lib\
- sqlite3
- .lib
-
-
- ..\bin-vc16\lib\debug\
- obj-vc16\Win64\Debug\sqlite3lib\
- sqlite3_x64
- .lib
-
-
- ..\bin-vc16\lib\release\
- obj-vc16\Win32\Release\sqlite3lib\
- sqlite3
- .lib
-
-
- ..\bin-vc16\lib\release\
- obj-vc16\Win64\Release\sqlite3lib\
- sqlite3_x64
- .lib
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc16_lib.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc16_lib.vcxproj.filters
deleted file mode 100644
index 646d94f4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16_lib.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc16_libicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc16_libicu.vcxproj
deleted file mode 100644
index c21a696a..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16_libicu.vcxproj
+++ /dev/null
@@ -1,201 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {62D551F3-CE95-CD29-97D0-16A703501206}
- true
- Win32Proj
- sqlite3libicu
- sqlite3libicu
-
-
-
- StaticLibrary
- true
- Unicode
- v142
-
-
- StaticLibrary
- true
- Unicode
- v142
-
-
- StaticLibrary
- false
- Unicode
- v142
-
-
- StaticLibrary
- false
- Unicode
- v142
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\bin-vc16\lib\debug\
- obj-vc16\Win32\Debug\sqlite3libicu\
- sqlite3icu
- .lib
-
-
- ..\bin-vc16\lib\debug\
- obj-vc16\Win64\Debug\sqlite3libicu\
- sqlite3icu_x64
- .lib
-
-
- ..\bin-vc16\lib\release\
- obj-vc16\Win32\Release\sqlite3libicu\
- sqlite3icu
- .lib
-
-
- ..\bin-vc16\lib\release\
- obj-vc16\Win64\Release\sqlite3libicu\
- sqlite3icu_x64
- .lib
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;SQLITE_THREADSAFE=1;SQLITE_ENABLE_ICU;SQLITE_DQS=0;SQLITE_MAX_ATTACHED=10;SQLITE_ENABLE_EXPLAIN_COMMENTS;SQLITE_SOUNDEX;SQLITE_ENABLE_COLUMN_METADATA;SQLITE_HAS_CODEC=1;CODEC_TYPE=CODEC_TYPE_CHACHA20;SQLITE_SECURE_DELETE;SQLITE_ENABLE_FTS3;SQLITE_ENABLE_FTS3_PARENTHESIS;SQLITE_ENABLE_FTS4;SQLITE_ENABLE_FTS5;SQLITE_ENABLE_JSON1;SQLITE_ENABLE_RTREE;SQLITE_ENABLE_GEOPOLY;SQLITE_CORE;SQLITE_ENABLE_EXTFUNC;SQLITE_ENABLE_CSV;SQLITE_ENABLE_CARRAY;SQLITE_ENABLE_SERIES;SQLITE_ENABLE_UUID;SQLITE_TEMP_STORE=2;SQLITE_USE_URI;SQLITE_USER_AUTHENTICATION;SQLITE_ENABLE_DBSTAT_VTAB;SQLITE_ENABLE_STMTVTAB;SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION;%(PreprocessorDefinitions)
- $(LIBICU_PATH)\include;%(AdditionalIncludeDirectories)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc16_libicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc16_libicu.vcxproj.filters
deleted file mode 100644
index 646d94f4..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16_libicu.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc16_shell.vcxproj b/sqlite3secure/build/SQLite3Secure_vc16_shell.vcxproj
deleted file mode 100644
index 5f0bde2a..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16_shell.vcxproj
+++ /dev/null
@@ -1,210 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {A297429B-8EFA-D13F-3780-0AF623C29DC2}
- true
- Win32Proj
- sqlite3shell
- sqlite3shell
-
-
-
- Application
- true
- Unicode
- v142
-
-
- Application
- true
- Unicode
- v142
-
-
- Application
- false
- Unicode
- v142
-
-
- Application
- false
- Unicode
- v142
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc16\lib\debug\
- obj-vc16\Win32\Debug\sqlite3shell\
- sqlite3shell
- .exe
-
-
- true
- ..\bin-vc16\lib\debug\
- obj-vc16\Win64\Debug\sqlite3shell\
- sqlite3shell_x64
- .exe
-
-
- false
- ..\bin-vc16\lib\release\
- obj-vc16\Win32\Release\sqlite3shell\
- sqlite3shell
- .exe
-
-
- false
- ..\bin-vc16\lib\release\
- obj-vc16\Win64\Release\sqlite3shell\
- sqlite3shell_x64
- .exe
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
- {21919BC5-0D49-DD12-7650-B66E62277803}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc16_shell.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc16_shell.vcxproj.filters
deleted file mode 100644
index c5767656..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16_shell.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc16_shellicu.vcxproj b/sqlite3secure/build/SQLite3Secure_vc16_shellicu.vcxproj
deleted file mode 100644
index 74b44783..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16_shellicu.vcxproj
+++ /dev/null
@@ -1,218 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Debug Win64
- Win32
-
-
- Debug Win64
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Release Win64
- Win32
-
-
- Release Win64
- x64
-
-
-
- {43D8293F-AF63-9703-B874-1AF8247FF303}
- true
- Win32Proj
- sqlite3shellicu
- sqlite3shellicu
-
-
-
- Application
- true
- Unicode
- v142
-
-
- Application
- true
- Unicode
- v142
-
-
- Application
- false
- Unicode
- v142
-
-
- Application
- false
- Unicode
- v142
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- ..\bin-vc16\lib\debug\
- obj-vc16\Win32\Debug\sqlite3shellicu\
- sqlite3shellicu
- .exe
-
-
- true
- ..\bin-vc16\lib\debug\
- obj-vc16\Win64\Debug\sqlite3shellicu\
- sqlite3shellicu_x64
- .exe
-
-
- false
- ..\bin-vc16\lib\release\
- obj-vc16\Win32\Release\sqlite3shellicu\
- sqlite3shellicu
- .exe
-
-
- false
- ..\bin-vc16\lib\release\
- obj-vc16\Win64\Release\sqlite3shellicu\
- sqlite3shellicu_x64
- .exe
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- EditAndContinue
- Disabled
- MultiThreadedDebug
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEBUG;_DEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- icuind.lib;icuucd.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib;%(AdditionalLibraryDirectories)
-
-
-
-
- NotUsing
- Level3
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
- Full
- true
- true
- false
- true
- MultiThreaded
-
-
- _WINDOWS;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;SQLITE_SHELL_IS_UTF8;SQLITE_HAS_CODEC=1;SQLITE_USER_AUTHENTICATION;%(PreprocessorDefinitions)
-
-
- Console
- true
- true
- icuin.lib;icuuc.lib;%(AdditionalDependencies)
- $(LIBICU_PATH)\lib64;%(AdditionalLibraryDirectories)
-
-
-
-
-
-
-
-
-
-
-
-
-
- {62D551F3-CE95-CD29-97D0-16A703501206}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/SQLite3Secure_vc16_shellicu.vcxproj.filters b/sqlite3secure/build/SQLite3Secure_vc16_shellicu.vcxproj.filters
deleted file mode 100644
index c5767656..00000000
--- a/sqlite3secure/build/SQLite3Secure_vc16_shellicu.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- {21EB8090-0D4E-1035-B6D3-48EBA215DCB7}
-
-
- {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}
-
-
-
-
- Header Files
-
-
-
-
- Source Files
-
-
-
-
- Source Files
-
-
-
\ No newline at end of file
diff --git a/sqlite3secure/build/config.gcc b/sqlite3secure/build/config.gcc
deleted file mode 100644
index 113b7228..00000000
--- a/sqlite3secure/build/config.gcc
+++ /dev/null
@@ -1,19 +0,0 @@
-# =====================================================================
-# Configuration file for gcc builds
-# =====================================================================
-
-# Set default compilers
-CC = gcc
-CXX = g++
-
-# Codec type of encryption extension
-# Allowed values: CODEC_TYPE_AES128, CODEC_TYPE_AES256,
-# CODEC_TYPE_CHACHA20, CODEC_TYPE_SQLCIPHER
-# Default codec type is CODEC_TYPE_CHACHA20
-CODEC_TYPE ?= CODEC_TYPE_CHACHA20
-
-# Enable SQLite debug assertions (Default: 0)
-# Set to 1 to enable
-SQLITE_ENABLE_DEBUG ?= 0
-
-### Configuration dependent settings
diff --git a/sqlite3secure/build/sqlite3dll.make b/sqlite3secure/build/sqlite3dll.make
deleted file mode 100644
index 3eab8623..00000000
--- a/sqlite3secure/build/sqlite3dll.make
+++ /dev/null
@@ -1,162 +0,0 @@
-# Alternative GNU Make project makefile autogenerated by Premake
-
-ifndef config
- config=debug_win32
-endif
-
-ifndef verbose
- SILENT = @
-endif
-
-.PHONY: clean prebuild
-
-SHELLTYPE := posix
-ifeq (.exe,$(findstring .exe,$(ComSpec)))
- SHELLTYPE := msdos
-endif
-
-# Configurations
-# #############################################
-
-RESCOMP = windres
-INCLUDES +=
-FORCE_INCLUDE +=
-ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
-ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
-LIBS +=
-LDDEPS +=
-LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
-include config.gcc
-
-define PREBUILDCMDS
-endef
-define PRELINKCMDS
-endef
-define POSTBUILDCMDS
-endef
-
-ifeq ($(config),debug_win32)
-TARGETDIR = ../bin-gcc/dll/debug
-TARGET = $(TARGETDIR)/sqlite3.dll
-OBJDIR = obj-gcc/Win32/Debug/sqlite3dll
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -D_USRDLL -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 -shared -Wl,--out-implib="../bin-gcc/dll/debug/sqlite3.lib"
-
-else ifeq ($(config),debug_win64)
-TARGETDIR = ../bin-gcc/dll/debug
-TARGET = $(TARGETDIR)/sqlite3_x64.dll
-OBJDIR = obj-gcc/Win64/Debug/sqlite3dll
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -D_USRDLL -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 -shared -Wl,--out-implib="../bin-gcc/dll/debug/sqlite3_x64.lib"
-
-else ifeq ($(config),release_win32)
-TARGETDIR = ../bin-gcc/dll/release
-TARGET = $(TARGETDIR)/sqlite3.dll
-OBJDIR = obj-gcc/Win32/Release/sqlite3dll
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -D_USRDLL -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O2
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O2
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 -shared -Wl,--out-implib="../bin-gcc/dll/release/sqlite3.lib" -s
-
-else ifeq ($(config),release_win64)
-TARGETDIR = ../bin-gcc/dll/release
-TARGET = $(TARGETDIR)/sqlite3_x64.dll
-OBJDIR = obj-gcc/Win64/Release/sqlite3dll
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -D_USRDLL -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O2
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O2
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 -shared -Wl,--out-implib="../bin-gcc/dll/release/sqlite3_x64.lib" -s
-
-else
- $(error "invalid configuration $(config)")
-endif
-
-# Per File Configurations
-# #############################################
-
-
-# File sets
-# #############################################
-
-CUSTOM :=
-OBJECTS :=
-
-CUSTOM += $(OBJDIR)/sqlite3.res
-OBJECTS += $(OBJDIR)/sqlite3secure.o
-
-# Rules
-# #############################################
-
-all: $(TARGET)
- @:
-
-$(TARGET): $(CUSTOM) $(OBJECTS) $(LDDEPS) | $(TARGETDIR)
- $(PRELINKCMDS)
- @echo Linking sqlite3dll
- $(SILENT) $(LINKCMD)
- $(POSTBUILDCMDS)
-
-$(TARGETDIR):
- @echo Creating $(TARGETDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) mkdir -p $(TARGETDIR)
-else
- $(SILENT) mkdir $(subst /,\\,$(TARGETDIR))
-endif
-
-$(OBJDIR):
- @echo Creating $(OBJDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) mkdir -p $(OBJDIR)
-else
- $(SILENT) mkdir $(subst /,\\,$(OBJDIR))
-endif
-
-clean:
- @echo Cleaning sqlite3dll
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) rm -f $(TARGET)
- $(SILENT) rm -rf $(OBJDIR)
-else
- $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET))
- $(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR))
-endif
-
-prebuild: | $(OBJDIR)
- $(PREBUILDCMDS)
-
-$(CUSTOM): | prebuild
-ifneq (,$(PCH))
-$(OBJECTS): $(GCH) | $(PCH_PLACEHOLDER)
-$(GCH): $(PCH) | prebuild
- @echo $(notdir $<)
- $(SILENT) $(CXX) -x c++-header $(ALL_CXXFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
-$(PCH_PLACEHOLDER): $(GCH) | $(OBJDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) touch "$@"
-else
- $(SILENT) echo $null >> "$@"
-endif
-else
-$(OBJECTS): | prebuild
-endif
-
-
-# File Rules
-# #############################################
-
-$(OBJDIR)/sqlite3.res: ../src/sqlite3.rc
- @echo $(notdir $<)
- $(SILENT) $(RESCOMP) $< -O coff -o "$@" $(ALL_RESFLAGS)
-$(OBJDIR)/sqlite3secure.o: ../src/sqlite3secure.c
- @echo $(notdir $<)
- $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
-
--include $(OBJECTS:%.o=%.d)
-ifneq (,$(PCH))
- -include $(PCH_PLACEHOLDER).d
-endif
\ No newline at end of file
diff --git a/sqlite3secure/build/sqlite3dllicu.make b/sqlite3secure/build/sqlite3dllicu.make
deleted file mode 100644
index 9a0b5b03..00000000
--- a/sqlite3secure/build/sqlite3dllicu.make
+++ /dev/null
@@ -1,165 +0,0 @@
-# Alternative GNU Make project makefile autogenerated by Premake
-
-ifndef config
- config=debug_win32
-endif
-
-ifndef verbose
- SILENT = @
-endif
-
-.PHONY: clean prebuild
-
-SHELLTYPE := posix
-ifeq (.exe,$(findstring .exe,$(ComSpec)))
- SHELLTYPE := msdos
-endif
-
-# Configurations
-# #############################################
-
-RESCOMP = windres
-INCLUDES += -I"$(LIBICU_PATH)/include"
-FORCE_INCLUDE +=
-ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
-ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
-LDDEPS +=
-LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
-include config.gcc
-
-define PREBUILDCMDS
-endef
-define PRELINKCMDS
-endef
-define POSTBUILDCMDS
-endef
-
-ifeq ($(config),debug_win32)
-TARGETDIR = ../bin-gcc/dll/debug
-TARGET = $(TARGETDIR)/sqlite3icu.dll
-OBJDIR = obj-gcc/Win32/Debug/sqlite3dllicu
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -D_USRDLL -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_ICU -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g
-LIBS += -licuind -licuucd
-ALL_LDFLAGS += $(LDFLAGS) -L"$(LIBICU_PATH)/lib" -L/usr/lib32 -m32 -shared -Wl,--out-implib="../bin-gcc/dll/debug/sqlite3icu.lib"
-
-else ifeq ($(config),debug_win64)
-TARGETDIR = ../bin-gcc/dll/debug
-TARGET = $(TARGETDIR)/sqlite3icu_x64.dll
-OBJDIR = obj-gcc/Win64/Debug/sqlite3dllicu
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -D_USRDLL -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_ICU -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g
-LIBS += -licuind -licuucd
-ALL_LDFLAGS += $(LDFLAGS) -L"$(LIBICU_PATH)/lib64" -L/usr/lib64 -m64 -shared -Wl,--out-implib="../bin-gcc/dll/debug/sqlite3icu_x64.lib"
-
-else ifeq ($(config),release_win32)
-TARGETDIR = ../bin-gcc/dll/release
-TARGET = $(TARGETDIR)/sqlite3icu.dll
-OBJDIR = obj-gcc/Win32/Release/sqlite3dllicu
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -D_USRDLL -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_ICU -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O2
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O2
-LIBS += -licuin -licuuc
-ALL_LDFLAGS += $(LDFLAGS) -L"$(LIBICU_PATH)/lib" -L/usr/lib32 -m32 -shared -Wl,--out-implib="../bin-gcc/dll/release/sqlite3icu.lib" -s
-
-else ifeq ($(config),release_win64)
-TARGETDIR = ../bin-gcc/dll/release
-TARGET = $(TARGETDIR)/sqlite3icu_x64.dll
-OBJDIR = obj-gcc/Win64/Release/sqlite3dllicu
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -D_USRDLL -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_ICU -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_SHA3 -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_FILEIO -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O2
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O2
-LIBS += -licuin -licuuc
-ALL_LDFLAGS += $(LDFLAGS) -L"$(LIBICU_PATH)/lib64" -L/usr/lib64 -m64 -shared -Wl,--out-implib="../bin-gcc/dll/release/sqlite3icu_x64.lib" -s
-
-else
- $(error "invalid configuration $(config)")
-endif
-
-# Per File Configurations
-# #############################################
-
-
-# File sets
-# #############################################
-
-CUSTOM :=
-OBJECTS :=
-
-CUSTOM += $(OBJDIR)/sqlite3.res
-OBJECTS += $(OBJDIR)/sqlite3secure.o
-
-# Rules
-# #############################################
-
-all: $(TARGET)
- @:
-
-$(TARGET): $(CUSTOM) $(OBJECTS) $(LDDEPS) | $(TARGETDIR)
- $(PRELINKCMDS)
- @echo Linking sqlite3dllicu
- $(SILENT) $(LINKCMD)
- $(POSTBUILDCMDS)
-
-$(TARGETDIR):
- @echo Creating $(TARGETDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) mkdir -p $(TARGETDIR)
-else
- $(SILENT) mkdir $(subst /,\\,$(TARGETDIR))
-endif
-
-$(OBJDIR):
- @echo Creating $(OBJDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) mkdir -p $(OBJDIR)
-else
- $(SILENT) mkdir $(subst /,\\,$(OBJDIR))
-endif
-
-clean:
- @echo Cleaning sqlite3dllicu
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) rm -f $(TARGET)
- $(SILENT) rm -rf $(OBJDIR)
-else
- $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET))
- $(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR))
-endif
-
-prebuild: | $(OBJDIR)
- $(PREBUILDCMDS)
-
-$(CUSTOM): | prebuild
-ifneq (,$(PCH))
-$(OBJECTS): $(GCH) | $(PCH_PLACEHOLDER)
-$(GCH): $(PCH) | prebuild
- @echo $(notdir $<)
- $(SILENT) $(CXX) -x c++-header $(ALL_CXXFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
-$(PCH_PLACEHOLDER): $(GCH) | $(OBJDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) touch "$@"
-else
- $(SILENT) echo $null >> "$@"
-endif
-else
-$(OBJECTS): | prebuild
-endif
-
-
-# File Rules
-# #############################################
-
-$(OBJDIR)/sqlite3.res: ../src/sqlite3.rc
- @echo $(notdir $<)
- $(SILENT) $(RESCOMP) $< -O coff -o "$@" $(ALL_RESFLAGS)
-$(OBJDIR)/sqlite3secure.o: ../src/sqlite3secure.c
- @echo $(notdir $<)
- $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
-
--include $(OBJECTS:%.o=%.d)
-ifneq (,$(PCH))
- -include $(PCH_PLACEHOLDER).d
-endif
\ No newline at end of file
diff --git a/sqlite3secure/build/sqlite3lib.make b/sqlite3secure/build/sqlite3lib.make
deleted file mode 100644
index 047b70af..00000000
--- a/sqlite3secure/build/sqlite3lib.make
+++ /dev/null
@@ -1,156 +0,0 @@
-# Alternative GNU Make project makefile autogenerated by Premake
-
-ifndef config
- config=debug_win32
-endif
-
-ifndef verbose
- SILENT = @
-endif
-
-.PHONY: clean prebuild
-
-SHELLTYPE := posix
-ifeq (.exe,$(findstring .exe,$(ComSpec)))
- SHELLTYPE := msdos
-endif
-
-# Configurations
-# #############################################
-
-RESCOMP = windres
-INCLUDES +=
-FORCE_INCLUDE +=
-ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
-ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
-LIBS +=
-LDDEPS +=
-LINKCMD = $(AR) -rcs "$@" $(OBJECTS)
-include config.gcc
-
-define PREBUILDCMDS
-endef
-define PRELINKCMDS
-endef
-define POSTBUILDCMDS
-endef
-
-ifeq ($(config),debug_win32)
-TARGETDIR = ../bin-gcc/lib/debug
-TARGET = $(TARGETDIR)/sqlite3.lib
-OBJDIR = obj-gcc/Win32/Debug/sqlite3lib
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -D_LIB -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32
-
-else ifeq ($(config),debug_win64)
-TARGETDIR = ../bin-gcc/lib/debug
-TARGET = $(TARGETDIR)/sqlite3_x64.lib
-OBJDIR = obj-gcc/Win64/Debug/sqlite3lib
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -D_LIB -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64
-
-else ifeq ($(config),release_win32)
-TARGETDIR = ../bin-gcc/lib/release
-TARGET = $(TARGETDIR)/sqlite3.lib
-OBJDIR = obj-gcc/Win32/Release/sqlite3lib
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -D_LIB -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O2
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O2
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 -s
-
-else ifeq ($(config),release_win64)
-TARGETDIR = ../bin-gcc/lib/release
-TARGET = $(TARGETDIR)/sqlite3_x64.lib
-OBJDIR = obj-gcc/Win64/Release/sqlite3lib
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -D_LIB -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O2
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O2
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 -s
-
-else
- $(error "invalid configuration $(config)")
-endif
-
-# Per File Configurations
-# #############################################
-
-
-# File sets
-# #############################################
-
-OBJECTS :=
-
-OBJECTS += $(OBJDIR)/sqlite3secure.o
-
-# Rules
-# #############################################
-
-all: $(TARGET)
- @:
-
-$(TARGET): $(OBJECTS) $(LDDEPS) | $(TARGETDIR)
- $(PRELINKCMDS)
- @echo Linking sqlite3lib
- $(SILENT) $(LINKCMD)
- $(POSTBUILDCMDS)
-
-$(TARGETDIR):
- @echo Creating $(TARGETDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) mkdir -p $(TARGETDIR)
-else
- $(SILENT) mkdir $(subst /,\\,$(TARGETDIR))
-endif
-
-$(OBJDIR):
- @echo Creating $(OBJDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) mkdir -p $(OBJDIR)
-else
- $(SILENT) mkdir $(subst /,\\,$(OBJDIR))
-endif
-
-clean:
- @echo Cleaning sqlite3lib
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) rm -f $(TARGET)
- $(SILENT) rm -rf $(OBJDIR)
-else
- $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET))
- $(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR))
-endif
-
-prebuild: | $(OBJDIR)
- $(PREBUILDCMDS)
-
-ifneq (,$(PCH))
-$(OBJECTS): $(GCH) | $(PCH_PLACEHOLDER)
-$(GCH): $(PCH) | prebuild
- @echo $(notdir $<)
- $(SILENT) $(CXX) -x c++-header $(ALL_CXXFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
-$(PCH_PLACEHOLDER): $(GCH) | $(OBJDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) touch "$@"
-else
- $(SILENT) echo $null >> "$@"
-endif
-else
-$(OBJECTS): | prebuild
-endif
-
-
-# File Rules
-# #############################################
-
-$(OBJDIR)/sqlite3secure.o: ../src/sqlite3secure.c
- @echo $(notdir $<)
- $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
-
--include $(OBJECTS:%.o=%.d)
-ifneq (,$(PCH))
- -include $(PCH_PLACEHOLDER).d
-endif
\ No newline at end of file
diff --git a/sqlite3secure/build/sqlite3libicu.make b/sqlite3secure/build/sqlite3libicu.make
deleted file mode 100644
index b9751861..00000000
--- a/sqlite3secure/build/sqlite3libicu.make
+++ /dev/null
@@ -1,156 +0,0 @@
-# Alternative GNU Make project makefile autogenerated by Premake
-
-ifndef config
- config=debug_win32
-endif
-
-ifndef verbose
- SILENT = @
-endif
-
-.PHONY: clean prebuild
-
-SHELLTYPE := posix
-ifeq (.exe,$(findstring .exe,$(ComSpec)))
- SHELLTYPE := msdos
-endif
-
-# Configurations
-# #############################################
-
-RESCOMP = windres
-INCLUDES += -I"$(LIBICU_PATH)/include"
-FORCE_INCLUDE +=
-ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
-ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
-LIBS +=
-LDDEPS +=
-LINKCMD = $(AR) -rcs "$@" $(OBJECTS)
-include config.gcc
-
-define PREBUILDCMDS
-endef
-define PRELINKCMDS
-endef
-define POSTBUILDCMDS
-endef
-
-ifeq ($(config),debug_win32)
-TARGETDIR = ../bin-gcc/lib/debug
-TARGET = $(TARGETDIR)/sqlite3icu.lib
-OBJDIR = obj-gcc/Win32/Debug/sqlite3libicu
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -D_LIB -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_ICU -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32
-
-else ifeq ($(config),debug_win64)
-TARGETDIR = ../bin-gcc/lib/debug
-TARGET = $(TARGETDIR)/sqlite3icu_x64.lib
-OBJDIR = obj-gcc/Win64/Debug/sqlite3libicu
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -D_LIB -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_ICU -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64
-
-else ifeq ($(config),release_win32)
-TARGETDIR = ../bin-gcc/lib/release
-TARGET = $(TARGETDIR)/sqlite3icu.lib
-OBJDIR = obj-gcc/Win32/Release/sqlite3libicu
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -D_LIB -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_ICU -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O2
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O2
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 -s
-
-else ifeq ($(config),release_win64)
-TARGETDIR = ../bin-gcc/lib/release
-TARGET = $(TARGETDIR)/sqlite3icu_x64.lib
-OBJDIR = obj-gcc/Win64/Release/sqlite3libicu
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -D_LIB -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_ICU -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_SOUNDEX -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_HAS_CODEC=1 -DCODEC_TYPE=CODEC_TYPE_CHACHA20 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_CORE -DSQLITE_ENABLE_EXTFUNC -DSQLITE_ENABLE_CSV -DSQLITE_ENABLE_CARRAY -DSQLITE_ENABLE_SERIES -DSQLITE_ENABLE_UUID -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI -DSQLITE_USER_AUTHENTICATION -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O2
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O2
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 -s
-
-else
- $(error "invalid configuration $(config)")
-endif
-
-# Per File Configurations
-# #############################################
-
-
-# File sets
-# #############################################
-
-OBJECTS :=
-
-OBJECTS += $(OBJDIR)/sqlite3secure.o
-
-# Rules
-# #############################################
-
-all: $(TARGET)
- @:
-
-$(TARGET): $(OBJECTS) $(LDDEPS) | $(TARGETDIR)
- $(PRELINKCMDS)
- @echo Linking sqlite3libicu
- $(SILENT) $(LINKCMD)
- $(POSTBUILDCMDS)
-
-$(TARGETDIR):
- @echo Creating $(TARGETDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) mkdir -p $(TARGETDIR)
-else
- $(SILENT) mkdir $(subst /,\\,$(TARGETDIR))
-endif
-
-$(OBJDIR):
- @echo Creating $(OBJDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) mkdir -p $(OBJDIR)
-else
- $(SILENT) mkdir $(subst /,\\,$(OBJDIR))
-endif
-
-clean:
- @echo Cleaning sqlite3libicu
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) rm -f $(TARGET)
- $(SILENT) rm -rf $(OBJDIR)
-else
- $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET))
- $(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR))
-endif
-
-prebuild: | $(OBJDIR)
- $(PREBUILDCMDS)
-
-ifneq (,$(PCH))
-$(OBJECTS): $(GCH) | $(PCH_PLACEHOLDER)
-$(GCH): $(PCH) | prebuild
- @echo $(notdir $<)
- $(SILENT) $(CXX) -x c++-header $(ALL_CXXFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
-$(PCH_PLACEHOLDER): $(GCH) | $(OBJDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) touch "$@"
-else
- $(SILENT) echo $null >> "$@"
-endif
-else
-$(OBJECTS): | prebuild
-endif
-
-
-# File Rules
-# #############################################
-
-$(OBJDIR)/sqlite3secure.o: ../src/sqlite3secure.c
- @echo $(notdir $<)
- $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
-
--include $(OBJECTS:%.o=%.d)
-ifneq (,$(PCH))
- -include $(PCH_PLACEHOLDER).d
-endif
\ No newline at end of file
diff --git a/sqlite3secure/build/sqlite3shell.make b/sqlite3secure/build/sqlite3shell.make
deleted file mode 100644
index 4b925d52..00000000
--- a/sqlite3secure/build/sqlite3shell.make
+++ /dev/null
@@ -1,168 +0,0 @@
-# Alternative GNU Make project makefile autogenerated by Premake
-
-ifndef config
- config=debug_win32
-endif
-
-ifndef verbose
- SILENT = @
-endif
-
-.PHONY: clean prebuild
-
-SHELLTYPE := posix
-ifeq (.exe,$(findstring .exe,$(ComSpec)))
- SHELLTYPE := msdos
-endif
-
-# Configurations
-# #############################################
-
-RESCOMP = windres
-INCLUDES +=
-FORCE_INCLUDE +=
-ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
-ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
-LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
-include config.gcc
-
-define PREBUILDCMDS
-endef
-define PRELINKCMDS
-endef
-define POSTBUILDCMDS
-endef
-
-ifeq ($(config),debug_win32)
-TARGETDIR = ../bin-gcc/lib/debug
-TARGET = $(TARGETDIR)/sqlite3shell.exe
-OBJDIR = obj-gcc/Win32/Debug/sqlite3shell
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DSQLITE_SHELL_IS_UTF8 -DSQLITE_HAS_CODEC=1 -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g
-LIBS += ../bin-gcc/lib/debug/sqlite3.lib
-LDDEPS += ../bin-gcc/lib/debug/sqlite3.lib
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32
-
-else ifeq ($(config),debug_win64)
-TARGETDIR = ../bin-gcc/lib/debug
-TARGET = $(TARGETDIR)/sqlite3shell_x64.exe
-OBJDIR = obj-gcc/Win64/Debug/sqlite3shell
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DSQLITE_SHELL_IS_UTF8 -DSQLITE_HAS_CODEC=1 -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g
-LIBS += ../bin-gcc/lib/debug/sqlite3_x64.lib
-LDDEPS += ../bin-gcc/lib/debug/sqlite3_x64.lib
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64
-
-else ifeq ($(config),release_win32)
-TARGETDIR = ../bin-gcc/lib/release
-TARGET = $(TARGETDIR)/sqlite3shell.exe
-OBJDIR = obj-gcc/Win32/Release/sqlite3shell
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DSQLITE_SHELL_IS_UTF8 -DSQLITE_HAS_CODEC=1 -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O2
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O2
-LIBS += ../bin-gcc/lib/release/sqlite3.lib
-LDDEPS += ../bin-gcc/lib/release/sqlite3.lib
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 -s
-
-else ifeq ($(config),release_win64)
-TARGETDIR = ../bin-gcc/lib/release
-TARGET = $(TARGETDIR)/sqlite3shell_x64.exe
-OBJDIR = obj-gcc/Win64/Release/sqlite3shell
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DSQLITE_SHELL_IS_UTF8 -DSQLITE_HAS_CODEC=1 -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O2
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O2
-LIBS += ../bin-gcc/lib/release/sqlite3_x64.lib
-LDDEPS += ../bin-gcc/lib/release/sqlite3_x64.lib
-ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 -s
-
-else
- $(error "invalid configuration $(config)")
-endif
-
-# Per File Configurations
-# #############################################
-
-
-# File sets
-# #############################################
-
-CUSTOM :=
-OBJECTS :=
-
-CUSTOM += $(OBJDIR)/sqlite3shell.res
-OBJECTS += $(OBJDIR)/shell.o
-
-# Rules
-# #############################################
-
-all: $(TARGET)
- @:
-
-$(TARGET): $(CUSTOM) $(OBJECTS) $(LDDEPS) | $(TARGETDIR)
- $(PRELINKCMDS)
- @echo Linking sqlite3shell
- $(SILENT) $(LINKCMD)
- $(POSTBUILDCMDS)
-
-$(TARGETDIR):
- @echo Creating $(TARGETDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) mkdir -p $(TARGETDIR)
-else
- $(SILENT) mkdir $(subst /,\\,$(TARGETDIR))
-endif
-
-$(OBJDIR):
- @echo Creating $(OBJDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) mkdir -p $(OBJDIR)
-else
- $(SILENT) mkdir $(subst /,\\,$(OBJDIR))
-endif
-
-clean:
- @echo Cleaning sqlite3shell
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) rm -f $(TARGET)
- $(SILENT) rm -rf $(OBJDIR)
-else
- $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET))
- $(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR))
-endif
-
-prebuild: | $(OBJDIR)
- $(PREBUILDCMDS)
-
-$(CUSTOM): | prebuild
-ifneq (,$(PCH))
-$(OBJECTS): $(GCH) | $(PCH_PLACEHOLDER)
-$(GCH): $(PCH) | prebuild
- @echo $(notdir $<)
- $(SILENT) $(CXX) -x c++-header $(ALL_CXXFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
-$(PCH_PLACEHOLDER): $(GCH) | $(OBJDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) touch "$@"
-else
- $(SILENT) echo $null >> "$@"
-endif
-else
-$(OBJECTS): | prebuild
-endif
-
-
-# File Rules
-# #############################################
-
-$(OBJDIR)/shell.o: ../src/shell.c
- @echo $(notdir $<)
- $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
-$(OBJDIR)/sqlite3shell.res: ../src/sqlite3shell.rc
- @echo $(notdir $<)
- $(SILENT) $(RESCOMP) $< -O coff -o "$@" $(ALL_RESFLAGS)
-
--include $(OBJECTS:%.o=%.d)
-ifneq (,$(PCH))
- -include $(PCH_PLACEHOLDER).d
-endif
\ No newline at end of file
diff --git a/sqlite3secure/build/sqlite3shellicu.make b/sqlite3secure/build/sqlite3shellicu.make
deleted file mode 100644
index 2686d785..00000000
--- a/sqlite3secure/build/sqlite3shellicu.make
+++ /dev/null
@@ -1,168 +0,0 @@
-# Alternative GNU Make project makefile autogenerated by Premake
-
-ifndef config
- config=debug_win32
-endif
-
-ifndef verbose
- SILENT = @
-endif
-
-.PHONY: clean prebuild
-
-SHELLTYPE := posix
-ifeq (.exe,$(findstring .exe,$(ComSpec)))
- SHELLTYPE := msdos
-endif
-
-# Configurations
-# #############################################
-
-RESCOMP = windres
-INCLUDES +=
-FORCE_INCLUDE +=
-ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
-ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
-LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
-include config.gcc
-
-define PREBUILDCMDS
-endef
-define PRELINKCMDS
-endef
-define POSTBUILDCMDS
-endef
-
-ifeq ($(config),debug_win32)
-TARGETDIR = ../bin-gcc/lib/debug
-TARGET = $(TARGETDIR)/sqlite3shellicu.exe
-OBJDIR = obj-gcc/Win32/Debug/sqlite3shellicu
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DSQLITE_SHELL_IS_UTF8 -DSQLITE_HAS_CODEC=1 -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g
-LIBS += ../bin-gcc/lib/debug/sqlite3icu.lib -licuind -licuucd
-LDDEPS += ../bin-gcc/lib/debug/sqlite3icu.lib
-ALL_LDFLAGS += $(LDFLAGS) -L"$(LIBICU_PATH)/lib" -L/usr/lib32 -m32
-
-else ifeq ($(config),debug_win64)
-TARGETDIR = ../bin-gcc/lib/debug
-TARGET = $(TARGETDIR)/sqlite3shellicu_x64.exe
-OBJDIR = obj-gcc/Win64/Debug/sqlite3shellicu
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DDEBUG -D_DEBUG -DSQLITE_SHELL_IS_UTF8 -DSQLITE_HAS_CODEC=1 -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g
-LIBS += ../bin-gcc/lib/debug/sqlite3icu_x64.lib -licuind -licuucd
-LDDEPS += ../bin-gcc/lib/debug/sqlite3icu_x64.lib
-ALL_LDFLAGS += $(LDFLAGS) -L"$(LIBICU_PATH)/lib64" -L/usr/lib64 -m64
-
-else ifeq ($(config),release_win32)
-TARGETDIR = ../bin-gcc/lib/release
-TARGET = $(TARGETDIR)/sqlite3shellicu.exe
-OBJDIR = obj-gcc/Win32/Release/sqlite3shellicu
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DSQLITE_SHELL_IS_UTF8 -DSQLITE_HAS_CODEC=1 -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O2
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O2
-LIBS += ../bin-gcc/lib/release/sqlite3icu.lib -licuin -licuuc
-LDDEPS += ../bin-gcc/lib/release/sqlite3icu.lib
-ALL_LDFLAGS += $(LDFLAGS) -L"$(LIBICU_PATH)/lib" -L/usr/lib32 -m32 -s
-
-else ifeq ($(config),release_win64)
-TARGETDIR = ../bin-gcc/lib/release
-TARGET = $(TARGETDIR)/sqlite3shellicu_x64.exe
-OBJDIR = obj-gcc/Win64/Release/sqlite3shellicu
-DEFINES += -D_WINDOWS -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNDEBUG -DSQLITE_SHELL_IS_UTF8 -DSQLITE_HAS_CODEC=1 -DSQLITE_USER_AUTHENTICATION
-ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O2
-ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O2
-LIBS += ../bin-gcc/lib/release/sqlite3icu_x64.lib -licuin -licuuc
-LDDEPS += ../bin-gcc/lib/release/sqlite3icu_x64.lib
-ALL_LDFLAGS += $(LDFLAGS) -L"$(LIBICU_PATH)/lib64" -L/usr/lib64 -m64 -s
-
-else
- $(error "invalid configuration $(config)")
-endif
-
-# Per File Configurations
-# #############################################
-
-
-# File sets
-# #############################################
-
-CUSTOM :=
-OBJECTS :=
-
-CUSTOM += $(OBJDIR)/sqlite3shell.res
-OBJECTS += $(OBJDIR)/shell.o
-
-# Rules
-# #############################################
-
-all: $(TARGET)
- @:
-
-$(TARGET): $(CUSTOM) $(OBJECTS) $(LDDEPS) | $(TARGETDIR)
- $(PRELINKCMDS)
- @echo Linking sqlite3shellicu
- $(SILENT) $(LINKCMD)
- $(POSTBUILDCMDS)
-
-$(TARGETDIR):
- @echo Creating $(TARGETDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) mkdir -p $(TARGETDIR)
-else
- $(SILENT) mkdir $(subst /,\\,$(TARGETDIR))
-endif
-
-$(OBJDIR):
- @echo Creating $(OBJDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) mkdir -p $(OBJDIR)
-else
- $(SILENT) mkdir $(subst /,\\,$(OBJDIR))
-endif
-
-clean:
- @echo Cleaning sqlite3shellicu
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) rm -f $(TARGET)
- $(SILENT) rm -rf $(OBJDIR)
-else
- $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET))
- $(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR))
-endif
-
-prebuild: | $(OBJDIR)
- $(PREBUILDCMDS)
-
-$(CUSTOM): | prebuild
-ifneq (,$(PCH))
-$(OBJECTS): $(GCH) | $(PCH_PLACEHOLDER)
-$(GCH): $(PCH) | prebuild
- @echo $(notdir $<)
- $(SILENT) $(CXX) -x c++-header $(ALL_CXXFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
-$(PCH_PLACEHOLDER): $(GCH) | $(OBJDIR)
-ifeq (posix,$(SHELLTYPE))
- $(SILENT) touch "$@"
-else
- $(SILENT) echo $null >> "$@"
-endif
-else
-$(OBJECTS): | prebuild
-endif
-
-
-# File Rules
-# #############################################
-
-$(OBJDIR)/shell.o: ../src/shell.c
- @echo $(notdir $<)
- $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
-$(OBJDIR)/sqlite3shell.res: ../src/sqlite3shell.rc
- @echo $(notdir $<)
- $(SILENT) $(RESCOMP) $< -O coff -o "$@" $(ALL_RESFLAGS)
-
--include $(OBJECTS:%.o=%.d)
-ifneq (,$(PCH))
- -include $(PCH_PLACEHOLDER).d
-endif
\ No newline at end of file
diff --git a/sqlite3secure/build/wx_setup.props b/sqlite3secure/build/wx_setup.props
deleted file mode 100644
index 60850f80..00000000
--- a/sqlite3secure/build/wx_setup.props
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
- CODEC_TYPE_CHACHA20
- 0
-
-
-
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
-
-
-
diff --git a/sqlite3secure/configure.ac b/sqlite3secure/configure.ac
deleted file mode 100644
index 82faac86..00000000
--- a/sqlite3secure/configure.ac
+++ /dev/null
@@ -1,130 +0,0 @@
-dnl Process this script with autoconf to create configure for sqlite3secure library
-dnl
-dnl Copyright (C) 2018-2019 Ulrich Telle
-dnl
-dnl This file is covered by the same licence as the entire wxSQLite3 package.
-
-AC_INIT([sqlite3secure], [3.31.1], [ulrich@telle-online.de])
-
-dnl This is the version tested with, might work with earlier ones.
-AC_PREREQ([2.69])
-
-AC_CONFIG_SRCDIR([src/sqlite3.h])
-AC_CONFIG_AUX_DIR([../admin/build-aux])
-AC_CONFIG_MACRO_DIR([../admin/m4])
-
-AM_INIT_AUTOMAKE([1.11 foreign subdir-objects])
-AM_MAINTAINER_MODE([enable])
-AM_SILENT_RULES([yes])
-
-dnl Allow adding MSW-specific fragments to the makefile.
-case "${host}" in
- *-*-cygwin* )
- USE_MSW=1
- ;;
-
- *-*-mingw32* )
- USE_MSW=1
- ;;
-esac
-AM_CONDITIONAL(USE_MSW, [test -n "$USE_MSW"])
-
-if test -n "$USE_MSW"; then
- AC_CHECK_TOOL([WINDRES], [windres], no)
-fi
-
-LT_INIT()
-AC_PROG_CXX
-AC_LANG(C++)
-
-AC_ARG_ENABLE(sqlite-debug,
- [ --enable-sqlite-debug Enable SQLite Debug assertions
- This is a debugging feature
- which should usually not be enabled],
- [
- AC_DEFINE([SQLITE_DEBUG])
- ])
-
-AC_ARG_WITH([aes128cbc],
- [AS_HELP_STRING([--without-aes128cbc],
- [Disable support for AES 128 Bit CBC Encryption])],
- [],
- [with_aes128cbc=yes])
-
-AS_IF([test "x$with_aes128cbc" = xno],
- [AC_DEFINE([HAVE_CIPHER_AES_128_CBC], [0], [Define if you have AES 128 Bit CBC disabled])])
-
-AC_ARG_WITH([aes256cbc],
- [AS_HELP_STRING([--without-aes256cbc],
- [Disable support for AES 256 Bit CBC Encryption])],
- [],
- [with_aes256cbc=yes])
-
-AS_IF([test "x$with_aes256cbc" = xno],
- [AC_DEFINE([HAVE_CIPHER_AES_256_CBC], [0], [Define if you have AES 256 Bit CBC disabled])])
-
-AC_ARG_WITH([chacha20],
- [AS_HELP_STRING([--without-chacha20],
- [Disable support for ChaCha20-Poly1305 Encryption])],
- [],
- [with_chacha20=yes])
-
-AS_IF([test "x$with_chacha20" = xno],
- [AC_DEFINE([HAVE_CIPHER_CHACHA20], [0], [Define if you have ChaCha20-Poly1305 disabled])])
-
-AC_ARG_WITH([sqlcipher],
- [AS_HELP_STRING([--without-sqlcipher],
- [Disable support for SQLCipher Encryption])],
- [],
- [with_sqlcipher=yes])
-
-AS_IF([test "x$with_sqlcipher" = xno],
- [AC_DEFINE([HAVE_CIPHER_SQLCIPHER], [0], [Define if you have SQLCipher disabled])])
-
-AC_ARG_WITH([rc4],
- [AS_HELP_STRING([--without-rc4],
- [Disable support for RC4 Encryption])],
- [],
- [with_rc4=yes])
-
-AS_IF([test "x$with_rc4" = xno],
- [AC_DEFINE([HAVE_CIPHER_RC4], [0], [Define if you have RC4 disabled])])
-
-AC_ARG_ENABLE(codec,
- [ --enable-codec[=] Specify the codec type:
- aes128: AES 128 Bit CBC Encryption
- aes256: AES 256 Bit CBC Encryption
- chacha20 [default]: ChaCha20-Poly1305 Encryption
- sqlcipher: SQLCipher Encryption
- rc4: RC4 Encryption],
- [if test "x$enableval" = "xaes128" && test "x$with_aes128cbc" = xyes ; then
- codec_type=CODEC_TYPE_AES128
- elif test "x$enableval" = "xaes256" && test "x$with_aes256cbc" = xyes ; then
- codec_type=CODEC_TYPE_AES256
- elif test "x$enableval" = "xchacha20" && test "x$with_chacha20" = xyes ; then
- codec_type=CODEC_TYPE_CHACHA20
- elif test "x$enableval" = "xsqlcipher" && test "x$with_sqlcipher" = xyes ; then
- codec_type=CODEC_TYPE_SQLCIPHER
- elif test "x$enableval" = "xrc4" && test "x$with_rc4" = xyes ; then
- codec_type=CODEC_TYPE_SQLCIPHER
- else
- echo
- echo "Error!"
- echo "Unknown or Unsupported codec type"
- exit -1
- fi
- AC_DEFINE_UNQUOTED([CODEC_TYPE], [$codec_type])
- ])
-
-AS_IF([test "x$with_aes128cbc" = xno &&
- test "x$with_aes256cbc" = xno &&
- test "x$with_chacha20" = xno &&
- test "x$with_sqlcipher" = xno &&
- test "x$with_rc4" = xno],
- [AC_DEFINE([SQLITE_HAS_CODEC], [0], [All ciphers disabled so encryption is disabled])])
-
-AC_SUBST(SQLITE3SECURE_LIBNAME, "sqlite3secure")
-AC_SUBST( LIBDIR, "lib" )
-
-AC_CONFIG_FILES([Makefile sqlite3secure.pc])
-AC_OUTPUT
diff --git a/sqlite3secure/premake5.lua b/sqlite3secure/premake5.lua
deleted file mode 100644
index d3264987..00000000
--- a/sqlite3secure/premake5.lua
+++ /dev/null
@@ -1,530 +0,0 @@
--- Build SQLite3
--- static or shared library
--- Multi cipher encryption support
--- Debug or Release
--- Win32 or Win64
-
--- Target directory for the build files generated by premake5
-newoption {
- trigger = "builddir",
- value = "build",
- description = "Directory for the generated build files"
-}
-
-BUILDDIR = _OPTIONS["builddir"] or "build"
-
--- Determine version of Visual Studio action
-vc_version = "";
-if _ACTION == "vs2003" then
- vc_version = 7
-elseif _ACTION == "vs2005" then
- vc_version = 8
-elseif _ACTION == "vs2008" then
- vc_version = 9
-elseif _ACTION == "vs2010" then
- vc_version = 10
-elseif _ACTION == "vs2012" then
- vc_version = 11
-elseif _ACTION == "vs2013" then
- vc_version = 12
-elseif _ACTION == "vs2015" then
- vc_version = 14
-elseif _ACTION == "vs2017" then
- vc_version = 15
-elseif _ACTION == "vs2019" then
- vc_version = 16
-end
-
-is_msvc = false
-msvc_useProps = false
-if ( vc_version ~= "" ) then
- is_msvc = true
- msvc_useProps = vc_version >= 10
- vc_with_ver = "vc"..vc_version
-end
-
--- Activate loading of separate props file
-if (msvc_useProps) then
- premake.wxProject = true
-end
-
--- SQLite3Secure workspace
-
-workspace "SQLite3Secure"
- configurations { "Debug", "Release" }
- platforms { "Win32", "Win64" }
- location(BUILDDIR)
-
- if (is_msvc) then
- local wks = workspace()
- wks.filename = "SQLite3Secure_" .. vc_with_ver
- end
-
- defines {
- "_WINDOWS",
- "WIN32",
- "_CRT_SECURE_NO_WARNINGS",
- "_CRT_SECURE_NO_DEPRECATE",
- "_CRT_NONSTDC_NO_DEPRECATE"
- }
-
- filter { "platforms:Win32" }
- system "Windows"
- architecture "x32"
-
- filter { "platforms:Win64" }
- system "Windows"
- architecture "x64"
- targetsuffix "_x64"
-
- filter { "configurations:Debug*" }
- defines {
- "DEBUG",
- "_DEBUG"
- }
- symbols "On"
-
- filter { "configurations:Release*" }
- defines {
- "NDEBUG"
- }
- optimize "On"
-
- filter {}
-
--- SQLite3 static library
-project "sqlite3lib"
- language "C++"
- kind "StaticLib"
-
- if (is_msvc) then
- local prj = project()
- prj.filename = "SQLite3Secure_" .. vc_with_ver .. "_lib"
- else
- toolset("gcc")
- end
- makesettings { "include config.gcc" }
-
- files { "src/sqlite3secure.c", "src/*.h" }
- vpaths {
- ["Header Files"] = { "**.h" },
- ["Source Files"] = { "**/sqlite3secure.c", "**.def", "**.rc" }
- }
- characterset ("Unicode")
- staticruntime "On"
-
- location( BUILDDIR )
- targetname "sqlite3"
-
- defines {
- "_LIB",
- "SQLITE_THREADSAFE=1",
- "SQLITE_DQS=0",
- "SQLITE_MAX_ATTACHED=10",
- "SQLITE_ENABLE_EXPLAIN_COMMENTS",
- "SQLITE_SOUNDEX",
- "SQLITE_ENABLE_COLUMN_METADATA",
- "SQLITE_HAS_CODEC=1",
- "CODEC_TYPE=CODEC_TYPE_CHACHA20",
- "SQLITE_SECURE_DELETE",
- "SQLITE_ENABLE_FTS3",
- "SQLITE_ENABLE_FTS3_PARENTHESIS",
- "SQLITE_ENABLE_FTS4",
- "SQLITE_ENABLE_FTS5",
- "SQLITE_ENABLE_JSON1",
- "SQLITE_ENABLE_RTREE",
- "SQLITE_ENABLE_GEOPOLY",
- "SQLITE_CORE",
- "SQLITE_ENABLE_EXTFUNC",
- "SQLITE_ENABLE_CSV",
--- "SQLITE_ENABLE_SHA3",
- "SQLITE_ENABLE_CARRAY",
--- "SQLITE_ENABLE_FILEIO",
- "SQLITE_ENABLE_SERIES",
- "SQLITE_ENABLE_UUID",
- "SQLITE_TEMP_STORE=2",
- "SQLITE_USE_URI",
- "SQLITE_USER_AUTHENTICATION",
--- Compatibility with official SQLite3 shell
- "SQLITE_ENABLE_DBSTAT_VTAB",
- "SQLITE_ENABLE_STMTVTAB",
- "SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION"
- }
-
- -- Intermediate directory
- if (is_msvc) then
- objdir (BUILDDIR .. "/obj-" .. vc_with_ver)
- else
- objdir (BUILDDIR .. "/obj-gcc")
- end
- -- Target directory
- filter { "configurations:Debug*" }
- if (is_msvc) then
- targetdir ("bin-" .. vc_with_ver .. "/lib/debug")
- else
- targetdir "bin-gcc/lib/debug"
- end
- filter { "configurations:Release*" }
- if (is_msvc) then
- targetdir ("bin-" .. vc_with_ver .. "/lib/release")
- else
- targetdir "bin-gcc/lib/release"
- end
-
--- SQLite3 shared library
-project "sqlite3dll"
- language "C++"
- kind "SharedLib"
-
- if (is_msvc) then
- local prj = project()
- prj.filename = "SQLite3Secure_" .. vc_with_ver .. "_dll"
- else
- toolset("gcc")
- end
- makesettings { "include config.gcc" }
-
- files { "src/sqlite3secure.c", "src/*.h", "src/sqlite3.def", "src/sqlite3.rc" }
- filter {}
- vpaths {
- ["Header Files"] = { "**.h" },
- ["Source Files"] = { "**/sqlite3secure.c", "**.def", "**.rc" }
- }
- characterset ("Unicode")
- staticruntime "On"
-
- location( BUILDDIR )
- targetname "sqlite3"
-
- defines {
- "_USRDLL",
- "SQLITE_THREADSAFE=1",
- "SQLITE_DQS=0",
- "SQLITE_MAX_ATTACHED=10",
- "SQLITE_SOUNDEX",
- "SQLITE_ENABLE_COLUMN_METADATA",
- "SQLITE_HAS_CODEC=1",
- "CODEC_TYPE=CODEC_TYPE_CHACHA20",
- "SQLITE_SECURE_DELETE",
- "SQLITE_ENABLE_FTS3",
- "SQLITE_ENABLE_FTS3_PARENTHESIS",
- "SQLITE_ENABLE_FTS4",
- "SQLITE_ENABLE_FTS5",
- "SQLITE_ENABLE_JSON1",
- "SQLITE_ENABLE_RTREE",
- "SQLITE_ENABLE_GEOPOLY",
- "SQLITE_CORE",
- "SQLITE_ENABLE_EXTFUNC",
- "SQLITE_ENABLE_CSV",
- "SQLITE_ENABLE_SHA3",
- "SQLITE_ENABLE_CARRAY",
- "SQLITE_ENABLE_FILEIO",
- "SQLITE_ENABLE_SERIES",
- "SQLITE_ENABLE_UUID",
- "SQLITE_TEMP_STORE=2",
- "SQLITE_USE_URI",
- "SQLITE_USER_AUTHENTICATION"
- }
-
- -- Intermediate directory
- if (is_msvc) then
- objdir (BUILDDIR .. "/obj-" .. vc_with_ver)
- else
- objdir (BUILDDIR .. "/obj-gcc")
- end
- -- Target directory
- filter { "configurations:Debug*" }
- if (is_msvc) then
- targetdir ("bin-" .. vc_with_ver .. "/dll/debug")
- else
- targetdir "bin-gcc/dll/debug"
- end
- filter { "configurations:Release*" }
- if (is_msvc) then
- targetdir ("bin-" .. vc_with_ver .. "/dll/release")
- else
- targetdir "bin-gcc/dll/release"
- end
-
--- SQLite3 Shell
-project "sqlite3shell"
- kind "ConsoleApp"
- language "C++"
-
- if (is_msvc) then
- local prj = project()
- prj.filename = "SQLite3Secure_" .. vc_with_ver .. "_shell"
- else
- toolset("gcc")
- end
- makesettings { "include config.gcc" }
-
- vpaths {
- ["Header Files"] = { "**.h" },
- ["Source Files"] = { "**.c", "**.rc" }
- }
- files { "src/sqlite3.h", "src/shell.c", "src/sqlite3shell.rc" }
- characterset ("Unicode")
- staticruntime "On"
- links { "sqlite3lib" }
-
- location( BUILDDIR )
-
- defines {
- "SQLITE_SHELL_IS_UTF8",
- "SQLITE_HAS_CODEC=1",
- "SQLITE_USER_AUTHENTICATION"
- }
-
- -- Intermediate directory
- if (is_msvc) then
- objdir (BUILDDIR .. "/obj-" .. vc_with_ver)
- else
- objdir (BUILDDIR .. "/obj-gcc")
- end
- -- Target directory
- filter { "configurations:Debug*" }
- if (is_msvc) then
- targetdir ("bin-" .. vc_with_ver .. "/lib/debug")
- else
- targetdir "bin-gcc/lib/debug"
- end
- filter { "configurations:Release*" }
- if (is_msvc) then
- targetdir ("bin-" .. vc_with_ver .. "/lib/release")
- else
- targetdir "bin-gcc/lib/release"
- end
-
--- ICU support
--- SQLite3 static library with ICU support
-project "sqlite3libicu"
- language "C++"
- kind "StaticLib"
-
- if (is_msvc) then
- local prj = project()
- prj.filename = "SQLite3Secure_" .. vc_with_ver .. "_libicu"
- else
- toolset("gcc")
- end
- makesettings { "include config.gcc" }
-
- files { "src/sqlite3secure.c", "src/*.h" }
- vpaths {
- ["Header Files"] = { "**.h" },
- ["Source Files"] = { "**/sqlite3secure.c", "**.def", "**.rc" }
- }
- characterset ("Unicode")
- staticruntime "On"
- includedirs { "$(LIBICU_PATH)/include" }
-
- location( BUILDDIR )
- targetname "sqlite3icu"
-
- defines {
- "_LIB",
- "SQLITE_THREADSAFE=1",
- "SQLITE_ENABLE_ICU",
- "SQLITE_DQS=0",
- "SQLITE_MAX_ATTACHED=10",
- "SQLITE_ENABLE_EXPLAIN_COMMENTS",
- "SQLITE_SOUNDEX",
- "SQLITE_ENABLE_COLUMN_METADATA",
- "SQLITE_HAS_CODEC=1",
- "CODEC_TYPE=CODEC_TYPE_CHACHA20",
- "SQLITE_SECURE_DELETE",
- "SQLITE_ENABLE_FTS3",
- "SQLITE_ENABLE_FTS3_PARENTHESIS",
- "SQLITE_ENABLE_FTS4",
- "SQLITE_ENABLE_FTS5",
- "SQLITE_ENABLE_JSON1",
- "SQLITE_ENABLE_RTREE",
- "SQLITE_ENABLE_GEOPOLY",
- "SQLITE_CORE",
- "SQLITE_ENABLE_EXTFUNC",
- "SQLITE_ENABLE_CSV",
--- "SQLITE_ENABLE_SHA3",
- "SQLITE_ENABLE_CARRAY",
--- "SQLITE_ENABLE_FILEIO",
- "SQLITE_ENABLE_SERIES",
- "SQLITE_ENABLE_UUID",
- "SQLITE_TEMP_STORE=2",
- "SQLITE_USE_URI",
- "SQLITE_USER_AUTHENTICATION",
--- Compatibility with official SQLite3 shell
- "SQLITE_ENABLE_DBSTAT_VTAB",
- "SQLITE_ENABLE_STMTVTAB",
- "SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION"
- }
-
- -- Intermediate directory
- if (is_msvc) then
- objdir (BUILDDIR .. "/obj-" .. vc_with_ver)
- else
- objdir (BUILDDIR .. "/obj-gcc")
- end
- -- Target directory
- filter { "configurations:Debug*" }
- if (is_msvc) then
- targetdir ("bin-" .. vc_with_ver .. "/lib/debug")
- else
- targetdir "bin-gcc/lib/debug"
- end
- filter { "configurations:Release*" }
- if (is_msvc) then
- targetdir ("bin-" .. vc_with_ver .. "/lib/release")
- else
- targetdir "bin-gcc/lib/release"
- end
-
--- SQLite3 shared library with ICU support
-project "sqlite3dllicu"
- language "C++"
- kind "SharedLib"
-
- if (is_msvc) then
- local prj = project()
- prj.filename = "SQLite3Secure_" .. vc_with_ver .. "_dllicu"
- else
- toolset("gcc")
- end
- makesettings { "include config.gcc" }
-
- files { "src/sqlite3secure.c", "src/*.h", "src/sqlite3.def", "src/sqlite3.rc" }
- filter {}
- vpaths {
- ["Header Files"] = { "**.h" },
- ["Source Files"] = { "**/sqlite3secure.c", "**.def", "**.rc" }
- }
- characterset ("Unicode")
- staticruntime "On"
- includedirs { "$(LIBICU_PATH)/include" }
-
- filter { "platforms:Win32" }
- libdirs { "$(LIBICU_PATH)/lib" }
- filter { "platforms:Win64" }
- libdirs { "$(LIBICU_PATH)/lib64" }
- filter {}
-
- filter { "configurations:Debug*" }
- links { "icuind", "icuucd" }
- filter { "configurations:Release*" }
- links { "icuin", "icuuc" }
- filter {}
-
- location( BUILDDIR )
- targetname "sqlite3icu"
-
- defines {
- "_USRDLL",
- "SQLITE_THREADSAFE=1",
- "SQLITE_ENABLE_ICU",
- "SQLITE_DQS=0",
- "SQLITE_MAX_ATTACHED=10",
- "SQLITE_SOUNDEX",
- "SQLITE_ENABLE_COLUMN_METADATA",
- "SQLITE_HAS_CODEC=1",
- "CODEC_TYPE=CODEC_TYPE_CHACHA20",
- "SQLITE_SECURE_DELETE",
- "SQLITE_ENABLE_FTS3",
- "SQLITE_ENABLE_FTS3_PARENTHESIS",
- "SQLITE_ENABLE_FTS4",
- "SQLITE_ENABLE_FTS5",
- "SQLITE_ENABLE_JSON1",
- "SQLITE_ENABLE_RTREE",
- "SQLITE_ENABLE_GEOPOLY",
- "SQLITE_CORE",
- "SQLITE_ENABLE_EXTFUNC",
- "SQLITE_ENABLE_CSV",
- "SQLITE_ENABLE_SHA3",
- "SQLITE_ENABLE_CARRAY",
- "SQLITE_ENABLE_FILEIO",
- "SQLITE_ENABLE_SERIES",
- "SQLITE_ENABLE_UUID",
- "SQLITE_TEMP_STORE=2",
- "SQLITE_USE_URI",
- "SQLITE_USER_AUTHENTICATION"
- }
-
- -- Intermediate directory
- if (is_msvc) then
- objdir (BUILDDIR .. "/obj-" .. vc_with_ver)
- else
- objdir (BUILDDIR .. "/obj-gcc")
- end
- -- Target directory
- filter { "configurations:Debug*" }
- if (is_msvc) then
- targetdir ("bin-" .. vc_with_ver .. "/dll/debug")
- else
- targetdir "bin-gcc/dll/debug"
- end
- filter { "configurations:Release*" }
- if (is_msvc) then
- targetdir ("bin-" .. vc_with_ver .. "/dll/release")
- else
- targetdir "bin-gcc/dll/release"
- end
-
--- SQLite3 Shell with ICU support
-project "sqlite3shellicu"
- kind "ConsoleApp"
- language "C++"
-
- if (is_msvc) then
- local prj = project()
- prj.filename = "SQLite3Secure_" .. vc_with_ver .. "_shellicu"
- else
- toolset("gcc")
- end
- makesettings { "include config.gcc" }
-
- vpaths {
- ["Header Files"] = { "**.h" },
- ["Source Files"] = { "**.c", "**.rc" }
- }
- files { "src/sqlite3.h", "src/shell.c", "src/sqlite3shell.rc" }
- characterset ("Unicode")
- staticruntime "On"
- links { "sqlite3libicu" }
-
- filter { "platforms:Win32" }
- libdirs { "$(LIBICU_PATH)/lib" }
- filter { "platforms:Win64" }
- libdirs { "$(LIBICU_PATH)/lib64" }
- filter {}
-
- filter { "configurations:Debug*" }
- links { "icuind", "icuucd" }
- filter { "configurations:Release*" }
- links { "icuin", "icuuc" }
- filter {}
-
- location( BUILDDIR )
-
- defines {
- "SQLITE_SHELL_IS_UTF8",
- "SQLITE_HAS_CODEC=1",
- "SQLITE_USER_AUTHENTICATION"
- }
-
- -- Intermediate directory
- if (is_msvc) then
- objdir (BUILDDIR .. "/obj-" .. vc_with_ver)
- else
- objdir (BUILDDIR .. "/obj-gcc")
- end
- -- Target directory
- filter { "configurations:Debug*" }
- if (is_msvc) then
- targetdir ("bin-" .. vc_with_ver .. "/lib/debug")
- else
- targetdir "bin-gcc/lib/debug"
- end
- filter { "configurations:Release*" }
- if (is_msvc) then
- targetdir ("bin-" .. vc_with_ver .. "/lib/release")
- else
- targetdir "bin-gcc/lib/release"
- end
diff --git a/sqlite3secure/readme-precompiled.md b/sqlite3secure/readme-precompiled.md
deleted file mode 100644
index 7d14fefe..00000000
--- a/sqlite3secure/readme-precompiled.md
+++ /dev/null
@@ -1,49 +0,0 @@
-# Release notes
-
-January 28, 2020
-
-The SQLite3 shell applications are now compatible with the official
-SQLite3 shell in respect to the compile time options
-`SQLITE_ENABLE_DBSTAT_VTAB`, `SQLITE_ENABLE_STMTVTAB`, and
-`SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION`.
-
-Starting from October 2019 separate archives are provided with resp.
-without enabled ICU support for 32-bit and 64-bit Windows.
-
-ICU support for SQLite3 is currently based on the pre-built ICU
-Libraries v65.1, which were compiled with Visual Studio 2017.
-The required ICU DLLs are now included in the archives in folder `bin`.
-They were downloaded from
-
-https://github.com/unicode-org/icu/releases/latest
-
-In addition, the Visual C++ 2017 runtime is required to be installed,
-because the ICU DLLs depend on it.
-
-## Archive content
-
-Archive names:
-
-1) `wxsqlite3-sqlite3-x.y.z-win32.zip` - 32-bit Windows without ICU support
-2) `wxsqlite3-sqlite3-x.y.z-win64.zip` - 64-bit Windows without ICU support
-3) `wxsqlite3-sqlite3-x.y.z-icu-win32.zip` - 32-bit Windows with ICU support
-4) `wxsqlite3-sqlite3-x.y.z-icu-win64.zip` - 64-bit Windows with ICU support
-
-where `x.y.z` designates the version of the SQLite3 library.
-
-32 Bit | 64 Bit | Description
-:------- | :----------- | :--------
-*.a | *_x64.a | Import libraries for GCC
-*.lib | *_x64.lib | Import libraries for MSVC
-*.pdb | *_x64.pdb | Program Database files for MSVC
-*.dll | *_x64.dll | Shared release DLLs
-*.exe | *_x64.exe | SQLite3 shell tool
-*icu.a | *icu_x64.a | Import libraries for GCC, with ICU support
-*icu.lib | *icu_x64.lib | Import libraries for MSVC, with ICU support
-*icu.dll | *icu_x64.dll | Shared release DLLs, with ICU support
-*icu.exe | *icu_x64.exe | SQLite3 shell tool, with ICU support
-
-## Support
-
-If you have any comments or problems open an issue on the wxSQLite3 github page:
-https://github.com/utelle/wxsqlite3/issues
diff --git a/sqlite3secure/readme.md b/sqlite3secure/readme.md
deleted file mode 100644
index 52931215..00000000
--- a/sqlite3secure/readme.md
+++ /dev/null
@@ -1,532 +0,0 @@
-# wxSQLite3 encryption extension for SQLite3
-
-This document describes the SQLite3 encryption extension provided by wxSQLite3. The document is work in progress and still incomplete.
-
-**Note [March 31, 2020]**: Further development of the _SQLite3 encryption extension_ will be done in the separate project [SQLite3MultipleCiphers](https://github.com/utelle/SQLite3MultipleCiphers). Maintaining the current implementation in the future would require major efforts, because there were changes to the public SQLite code on Feb 7, 2020: [“Simplify the code by removing the unsupported and undocumented SQLITE_HAS_CODEC compile-time option”](https://www.sqlite.org/src/timeline?c=5a877221ce90e752). A first preliminary implementation of a completely new approach supporting the upcoming _SQLite version 3.32.0_ is already available for testing. Future versions of wxSQLite3 will be based on the new approach as soon as the new implementation is mature and stable enough.
-
-## Table of contents
-
-- [Installation](#installation)
- - [General](#general)
- - [wxMSW](#wxmsw)
- - [wxGTK](#wxgtk)
-- [Supported ciphers](#ciphers)
- - [wxSQLite3: AES 128 Bit CBC - No HMAC](#cipher_aes128cbc)
- - [wxSQLite3: AES 256 Bit CBC - No HMAC](#cipher_aes256cbc)
- - [sqleet: ChaCha20 - Poly1305 HMAC](#cipher_chacha20)
- - [SQLCipher: AES 256 Bit CBC - SHA1/SHA256/SHA512 HMAC](#cipher_sqlcipher)
- - [System.Data.SQLite: RC4](#cipher_rc4)
-- [Legacy cipher modes](#legacy)
-- [Encryption API](#encryptionapi)
- - [Overview](#encryption_overview)
- - [`sqlite3_key()` and `sqlite3_key_v2()`](#encryption_key)
- - [`sqlite3_rekey()` and `sqlite3_rekey_v2()`](#encryption_rekey)
- - [`wxsqlite3_config()`](#encryption_config)
- - [`wxsqlite3_config_cipher()`](#encryption_config_cipher)
- - [`wxsqlite3_codec_data()`](#encryption_codec_data)
- - [SQL interface](#encryption_sql)
- - [URI parameters](#encryption_uri)
-- [SQLite3 Backup API](#backupapi)
-
-## Installation
-
-The build system is based on [Premake5](http://premake.github.io/). Premake 5.0-alpha14 or higher is recommended.
-
-Ready to use project files are provided for Visual C++ 2010, 2012, 2013, 2015, 2017, and 2019. Additionally, GNU Makefiles are provided supporting for example TDM-GCC MinGW.
-
-For Visual Studio 2010+ solutions it is possible to customize the build by creating a `wx_local.props` file in the build directory which is used, if it exists, by the projects. The settings in that file override the default values for the properties. The typical way to make the file is to copy `wx_setup.props` to `wx_local.props` and then edit locally.
-
-For GNU Makefiles the file `config.gcc` serves the same purpose as the file wx_setup.props for Visual C++ projects.
-
-The customization files `wx_setup.props` resp. `config.gcc` allow to customize certain settings like for example the version number and the root directory of the wxWidgets library.
-
-### General
-
-This implementation of the SQLite encryption support uses internally an adjusted version of the SQLite function `sqlite3RunVacuum` when rekeying a database. New versions of SQLite may change the implementation of this function. Therefore it is strongly recommended to regenerate the source file `rekeyvacuum.c` containing the adjusted implementation, whenever the SQLite version is updated. For this purposes the script `rekeyvacuum.sh` can be used. This script has been adopted from [sqleet](https://github.com/resilar/sqleet). Simply run `../rekeyvacuum.sh sqlite3.c >rekeyvacuum.c` from directory `sqlite3secure/src`. On Windows platforms one can use for example the __Git Bash__ coming with [Git for Windows](https://gitforwindows.org).
-
-Occasionally, the signature of function `sqlite3RunVaccum` changes. If that should be the case the code invoking the adjusted function needs to be adjusted as well.
-
-### wxMSW
-
-When building on Win32 or Win64, you can use the makefiles or one of the Microsoft Visual Studio solution files in the `build` folder.
-
-For Visual C++ the debugging properties are set up in such a way that debugging the sample applications should work right out of the box. For release builds you may need to copy the wxSQLite3 DLL or add the `lib` folder path to the Windows search path (PATH environment variable).
-
-The SQLite3 library is now compiled as an integrated part of wxSQLite3. The advantage is that SQLite3 and wxSQLite3 are always compiled with matching configuration options. Additionally, the SQLite3 encryption extension is automatically enabled, too.
-
-A precompiled SQLite shell program supporting encrypted databases is provided as a separate download. Use
-```
-PRAGMA KEY="encryption key";
-```
-to create or open an encrypted database. Use
-```
-ATTACH DATABASE x AS y KEY z;
-```
-to attach an encrypted database.
-
-### wxGTK
-
-When building on an autoconf-based system (like Linux/GNU-based systems), the first setup is to recreate the configure script doing:
-
-```
- autoreconf
-```
-
-Thereafter you should create a build directory
-
-```
- mkdir build-gtk [or any other suitable name]
- cd build-gtk
- ../configure [here you should use the same flags you used to configure wxWidgets]
- make
-```
-
-Type `../configure --help` for more info.
-
-The autoconf-based system also supports a `make install` target which builds the library and then copies the headers of the component to `/usr/local/include` and the lib to `/usr/local/lib`.
-
-## Supported ciphers
-
-The following ciphers are currently supported by **wxSQLite3**:
-
-- [AES 128 Bit CBC - No HMAC (wxSQLite3)](#cipher_aes128cbc)
-- [AES 256 Bit CBC - No HMAC (wxSQLite3)](#cipher_aes256cbc)
-- [ChaCha20 - Poly1305 HMAC (sqleet)](#cipher_chacha20)
-- [AES 256 Bit CBC - SHA1/SHA256/SHA512 HMAC (SQLCipher)](#cipher_sqlcipher)
-- [RC4 - No HMAC (System.Data.SQLite)](#cipher_rc4)
-
-Definition of abbreviations:
-
-- AES = Advanced Encryption Standard (Rijndael algorithm)
-- CBC = Cipher Block Chaining mode
-- HMAC = Hash Message Authentication Code
-- ChaCha20 = symmetric stream cipher developed by Daniel J. Bernstein
-- Poly1305 = cryptographic message authentication code (MAC) developed by Daniel J. Bernstein
-- SHA1 = Secure Hash Algorithm 1
-- SHA256 = Secure Hash Algorithm 2 (256 bit hash)
-- SHA512 = Secure Hash Algorithm 2 (512 bit hash)
-- RC4 = Rivest Cipher 4 stream cipher developed by Ron Rivest for RSA Security
-
-### wxSQLite3: AES 128 Bit CBC - No HMAC
-
-This cipher was added to **wxSQLite3** in 2007 as the first supported encryption scheme. It is a 128 bit AES encryption in CBC mode.
-
-The encryption key is derived from the passphrase according to the algorithm described in the PDF specification (using the MD5 hash function and the RC4 algorithm).
-
-The initial vector for the encryption of each database page is derived from the page number.
-
-The cipher does not use a HMAC, and requires therefore no reserved bytes per database page.
-
-The following table lists all parameters related to this cipher that can be set before activating database encryption.
-
-| Parameter | Default | Min | Max | Description |
-| :--- | :---: | :---: | :---: | :--- |
-| `legacy` | 0 | 0 | 1 | Boolean flag whether the legacy mode should be used |
-| `legacy_page_size` | 0 | 0 | 65536 | Page size to use in legacy mode, 0 = default SQLite page size |
-
-**Note**: It is not recommended to use _legacy_ mode for encrypting new databases. It is supported for compatibility reasons only, so that databases that were encrypted in _legacy_ mode can be accessed.
-
-### wxSQLite3: AES 256 Bit CBC - No HMAC
-
-This cipher was added to **wxSQLite3** in 2010. It is a 256 bit AES encryption in CBC mode.
-
-The encryption key is derived from the passphrase using an SHA256 hash function.
-
-The initial vector for the encryption of each database page is derived from the page number.
-
-The cipher does not use a Hash Message Authentication Code (HMAC), and requires therefore no reserved bytes per database page.
-
-The following table lists all parameters related to this cipher that can be set before activating database encryption.
-
-| Parameter | Default | Min | Max | Description |
-| :--- | :---: | :---: | :---: | :--- |
-| `kdf_iter` | 4001 | 1 | | Number of iterations for the key derivation function
-| `legacy` | 0 | 0 | 1 | Boolean flag whether the legacy mode should be used |
-| `legacy_page_size` | 0 | 0 | 65536 | Page size to use in legacy mode, 0 = default SQLite page size |
-
-**Note**: It is not recommended to use _legacy_ mode for encrypting new databases. It is supported for compatibility reasons only, so that databases that were encrypted in _legacy_ mode can be accessed.
-
-### sqleet: ChaCha20 - Poly1305 HMAC
-
-This cipher was introduced for SQLite database encryption by the project [sqleet](https://github.com/resilar/sqleet) in 2017.
-
-The Internet Engineering Task Force (IETF) officially standardized the cipher algorithm **ChaCha20** and the message authentication code **Poly1305** in [RFC 7905](https://tools.ietf.org/html/rfc7905) for Transport Layer Security (TLS).
-
-The new default **wxSQLite3** cipher is **ChaCha20 - Poly1305**.
-
-The encryption key is derived from the passphrase using a random salt (stored in the first 16 bytes of the database file) and the standardized PBKDF2 algorithm with an SHA256 hash function.
-
-One-time keys per database page are derived from the encryption key, the page number, and a 16 bytes nonce. Additionally, a 16 bytes **Poly1305** authentication tag per database page is calculated. Therefore this cipher requires 32 reserved bytes per database page.
-
-The following table lists all parameters related to this cipher that can be set before activating database encryption.
-
-| Parameter | Default | sqleet | Min | Max | Description |
-| :--- | :---: | :---: | :---: | :---: | :--- |
-| `kdf_iter` | 64007 | 12345 | 1 | | Number of iterations for the key derivation function |
-| `legacy` | 0 | 1 | 0 | 1 | Boolean flag whether the legacy mode should be used |
-| `legacy_page_size` | 4096 | 4096 | 0 | 65536 | Page size to use in legacy mode, 0 = default SQLite page size |
-
-**Note**: It is not recommended to use _legacy_ mode for encrypting new databases. It is supported for compatibility reasons only, so that databases that were encrypted in _legacy_ mode can be accessed.
-
-### SQLCipher: AES 256 Bit CBC - SHA1/SHA256/SHA512 HMAC
-
-SQLCipher was developed by [Zetetic LLC](http://zetetic.net) and initially released in 2008. It is a 256 bit AES encryption in CBC mode.
-
-The encryption key is derived from the passphrase using a random salt (stored in the first 16 bytes of the database file) and the standardized PBKDF2 algorithm with an SHA1, SHA256, or SHA512 hash function.
-
-A random 16 bytes initial vector (nonce) for the encryption of each database page is used for the AES algorithm. Additionally, an authentication tag per database page is calculated. SQLCipher version 1 used no tag; SQLCipher version 2 to 3 used a 20 bytes **SHA1** tag; SQLCipher version 4 uses a 64 bytes **SHA512** tag, allowing to optionally choose a 32 bytes **SHA256** tag instead. Therefore this cipher requires 16, 48 or 80 reserved bytes per database page (since the number of reserved bytes is rounded to the next multiple of the AES block size of 16 bytes).
-
-The following table lists all parameters related to this cipher that can be set before activating database encryption. The columns labelled **v4**, **v3**, **v2**, and **v1** show the parameter values used in legacy SQLCipher versions **3**, **2**, and **1** respectively. To access databases encrypted with the respective SQLCipher version the listed parameters have to be set explicitly.
-
-| Parameter | Default | v4 | v3 | v2 | v1 | Min | Max | Description |
-| :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
-| `kdf_iter` | 256000 | 256000 | 64000 | 4000 | 4000 | 1 | | Number of iterations for key derivation |
-| `fast_kdf_iter` | 2 | 2 | 2 | 2 | 2 | 1 | | Number of iterations for HMAC key derivation |
-| `hmac_use` | 1 | 1 | 1 | 1 | 0 | 0 | 1 | Flag whether a HMAC should be used |
-| `hmac_pgno` | 1 | 1 | 1 | 1 | n/a | 0 | 2 | Storage type for page number in HMAC:
0 = native, 1 = little endian, 2 = big endian|
-| `hmac_salt_mask` | 0x3a | 0x3a | 0x3a | 0x3a | n/a | 0 | 255 | Mask byte for HMAC salt |
-| `legacy` | 0 | 4 | 3 | 2 | 1 | 0 | 4 | SQLCipher version to be used in legacy mode |
-| `legacy_page_size` | 4096 | 4096 | 1024 | 1024 | 1024 | 0 | 65536 | Page size to use in legacy mode, 0 = default SQLite page size |
-| `kdf_algorithm` | 2 | 2 | 0 | 0 | 0 | 0 | 2 | Hash algoritm for key derivation function
0 = SHA1, 1 = SHA256, 2 = SHA512 |
-| `hmac_algorithm` | 2 | 2 | 0 | 0 | 0 | 0 | 2 | Hash algoritm for HMAC calculation
0 = SHA1, 1 = SHA256, 2 = SHA512 |
-| `plaintext_header_size` | 0 | 0 | n/a | n/a | n/a | 0 | 100 | Size of plaintext database header
must be multiple of 16, i.e. 32 |
-
-**Note**: It is not recommended to use _legacy_ mode for encrypting new databases. It is supported for compatibility reasons only, so that databases that were encrypted in _legacy_ mode can be accessed. However, the default _legacy_ mode for the various SQLCipher versions can be easily set using just the parameter `legacy` set to the requested version number. That is, all other parameters have to be specified only, if their requested value deviates from the default value.
-
-**Note**: Version 4 of SQLCipher introduces a new parameter `plain_text_header_size` to overcome an issue with shared encrypted databases under **iOS**. If this parameter is set to a non-zero value (like 16 or 32), the corresponding number of bytes at the beginning of the database header are not encrypted allowing **iOS** to identify the file as a SQLite database file. The drawback of this approach is that the cipher salt used for the key derivation can't be stored in the database header any longer. Therefore it is necessary to retrieve the cipher salt on creating a new database, and to specify the salt on opening an existing database. The cipher salt can be retrieved with the function `wxsqlite3_codec_data` using parameter `cipher_salt`, and has to be supplied on opening a database via the database URI parameter `cipher_salt`.
-
-### System.Data.SQLite: RC4 - No HMAC
-
-This cipher is included with [System.Data.SQLite](http://system.data.sqlite.org), an ADO.NET provider for SQLite. It provides a 128 bit RC4 encryption. This encryption scheme has been added to **wxSQLite3** in early 2020 to allow cross-platform access to databases created with _System.Data.SQLite_ based applications.
-
-The encryption key is derived from the passphrase using an SHA1 hash function.
-
-The cipher does not use a Hash Message Authentication Code (HMAC), and requires therefore no reserved bytes per database page.
-
-The following table lists all parameters related to this cipher that can be set before activating database encryption.
-
-| Parameter | Default | Min | Max | Description |
-| :--- | :---: | :---: | :---: | :--- |
-| `legacy` | 1 | 1 | 1 | Boolean flag whether the legacy mode should be used |
-| `legacy_page_size` | 0 | 0 | 65536 | Page size to use in legacy mode, 0 = default SQLite page size |
-
-**Note**: It is not recommended to use _legacy_ mode for encrypting new databases. It is supported for compatibility reasons only, so that databases that were encrypted in _legacy_ mode can be accessed. Currently no non-legacy mode is implemented and it is not intended to implement one in the future, because RC4 encryption has known weaknesses (for example, the use of RC4 in TLS was prohibited by RFC 7465 published in February 2015). **The use of this cipher scheme for new applications is strongly discouraged.**
-
-## Legacy cipher modes
-
-SQLite reads bytes 16 through 23 from the [database header](https://www.sqlite.org/fileformat.html#the_database_header) before the database file is actually opened. The main purpose of this is to detect the page size and the number of reserved bytes per page. Legacy ciphers used to encrypt these header bytes as well, but this may prevent SQLite from successfully opening the database file.
-
-The official [SQLite Encryption Extension (SEE)](https://www.sqlite.org/see) leaves these header bytes unencrypted for this reason. Since version 3.1.0, wxSQLite3 also doesn't encrypt these header bytes unless the `legacy` parameter is explicitly set.
-
-When using the ciphers **sqleet** (ChaCha20) or **SQLCipher**, this means that the databases written by wxSQLite3 won't be compatible with the original ciphers provided by [sqleet](https://github.com/resilar/sqleet) and [SQLCipher (Zetetic LLC)](http://zetetic.net) unless the `legacy` parameter is explicitly set. This is because the original implementations fully encrypt the database header by default. (Note that **sqleet** can also be compiled in non-legacy mode, and future releases of **SQLCipher** will probably provide this option as well.)
-
-If a database is encrypted in legacy mode, then the `legacy` parameter *must* be set to **_true_** and the `legacy_page_size` parameter *should* be set to the correct page size. If this isn't done, wxSQLite3 might fail to access the database. Use [`wxsqlite3_config_cipher()`](#encryption_config_cipher) to set these parameters.
-
-When accessing a database encrypted with wxSQLite3 ciphers **AES-128** or **AES-256** in legacy format, then wxSQLite3 transparently converts the database into the new format unless the `legacy` parameter is explicitly set. Note that wxSQLite3 versions prior to 3.1.0 won't be able to access non-legacy database files and will report the error message "not a database file or encrypted" instead.
-
-It's strongly recommended to use the new encryption scheme, since it provides better compatibility with SQLite. The unencrypted header bytes don't reveal any sensitive information. Note, however, that it will actually be possible to recognize encrypted SQLite database files as such. This isn't usually a problem since the purpose of a specific file can almost always be deduced from context anyway.
-
-It's also possible to activate the legacy mode at compile time by defining the following preprocessor symbols:
-
-| Preprocessor symbol | Description |
-| :--- | :--- |
-| `WXSQLITE3_USE_OLD_ENCRYPTION_SCHEME` | Enable legacy mode for wxSQLite3 ciphers **AES-128** and **AES-256** |
-| `WXSQLITE3_USE_SQLEET_LEGACY` | Enable legacy mode for **sqleet** (ChaCha20) cipher |
-| `WXSQLITE3_USE_SQLCIPHER_LEGACY` | Enable legacy mode for **SQLCipher** cipher |
-
-For the **SQLCipher** support the default version can be selected at compile time by defining the following preprocessor symbol:
-
-| Preprocessor symbol | Description |
-| `SQLCIPHER_VERSION_DEFAULT` | Select default **SQLCipher** version 1, 2, 3, or 4 |
-
-## Encryption API
-
-### Overview
-
-The encryption API consists of the following functions:
-
-| Function | Description |
-| :--- | :--- |
-| `sqlite3_key()` and `sqlite3_key_v2()` | Set the database key to use when accessing an encrypted database |
-| `sqlite3_rekey()` and `sqlite3_rekey_v2()` | Change the database encryption key |
-| `wxsqlite3_config()` | Configure database encryption parameters |
-| `wxsqlite3_config_cipher()` | Configure cipher encryption parameters |
-
-In addition, there is the `wxsqlite3_config()` SQL function which serves as SQL interface for `wxsqlite3_config()` and `wxsqlite3_config_cipher()`.
-
-### `sqlite3_key()` and `sqlite3_key_v2()`
-
-```C
-SQLITE_API int sqlite3_key(
- sqlite3 *db, /* Database to set the key on */
- const void *pKey, int nKey /* The key */
-);
-
-SQLITE_API int sqlite3_key_v2(
- sqlite3 *db, /* Database to set the key on */
- const char *zDbName, /* Database schema name */
- const void *pKey, int nKey /* The key */
-);
-```
-
-`sqlite3_key()` and `sqlite3_key_v2()` set the database key to use when accessing an encrypted database, and should usually be called immediately after `sqlite3_open()`.
-
-`sqlite3_key()` is used to set the key for the main database, while `sqlite3_key_v2()` sets the key for the database with the schema name specified by `zDbName`. The schema name is `main` for the main database, `temp` for the temporary database, or the schema name specified in an [`ATTACH` statement](https://www.sqlite.org/lang_attach.html) for an attached database. If `sqlite3_key()` or `sqlite3_key_v2()` is called on an empty database, then the key will be initially set. The return value is `SQLITE_OK` on success, or a non-zero SQLite3 error code on failure.
-
-**Note:** These functions return `SQLITE_OK` even if the provided key isn't correct. This is because the key isn't actually used until a subsequent attempt to read or write the database is made. To check whether the provided key was actually correct, you must execute a simple query like e.g. `SELECT * FROM sqlite_master;` and check whether that succeeds.
-
-**Note:** When setting a new key on an empty database (that is, a database with zero bytes length), you have to make a subsequent write access so that the database will actually be encrypted. You'd usually want to write to a new database anyway, but if not, you can execute the [`VACUUM` command](https://www.sqlite.org/lang_vacuum.html) instead to force SQLite to write to the empty database.
-
-### `sqlite3_rekey()` and `sqlite3_rekey_v2()`
-
-```C
-SQLITE_API int sqlite3_rekey(
- sqlite3 *db, /* Database to be rekeyed */
- const void *pKey, int nKey /* The new key */
-);
-
-SQLITE_API int sqlite3_rekey_v2(
- sqlite3 *db, /* Database to be rekeyed */
- const char *zDbName, /* Database schema name */
- const void *pKey, int nKey /* The new key */
-);
-```
-
-`sqlite3_rekey()` and `sqlite3_rekey_v2()` change the database encryption key.
-
-`sqlite3_rekey()` is used to change the key for the main database, while `sqlite3_rekey_v2()` changes the key for the database with the schema name specified by `zDbName`. The schema name is `main` for the main database, `temp` for the temporary database, or the schema name specified in an [`ATTACH` statement](https://www.sqlite.org/lang_attach.html) for an attached database.
-
-Changing the key includes encrypting the database for the first time, decrypting the database (if `pKey == NULL` or `nKey == 0`), as well as re-encrypting it with a new key. The return value is `SQLITE_OK` on success, or a non-zero SQLite3 error code on failure.
-
-**Note:** If the number of reserved bytes per database page differs between the current and the new encryption scheme, then `sqlite3_rekey()` performs a [`VACUUM` command](https://www.sqlite.org/lang_vacuum.html) to encrypt/decrypt all pages of the database. Thus, the total disk space requirement for re-encrypting can be up to 3 times of the database size. If possible, re-encrypting is done in-place.
-
-**Note:** On decrypting a database all reserved bytes per database page are released.
-
-**Note**: On changing the database encryption key it is not possible to change the page size of the database at the same time. This affects mainly _legacy_ modes with a non-default page size (like legacy **SQLCipher**, which has a page size of 1024 bytes). In such cases it is necessary to adjust the legacy page size to the default page size or to adjust the page size in a separate step by executing the following SQL statements:
-
-```SQL
-PRAGMA page_size=4096;
-VACUUM;
-```
-
-However, please keep in mind that this works only on plain unencrypted databases.
-
-### `wxsqlite3_config()`
-
-```C
-SQLITE_API int wxsqlite3_config(
- sqlite3* db, /* Database instance */
- const char* paramName, /* Parameter name */
- int newValue /* New value of the parameter */
-);
-```
-
-`wxsqlite3_config()` gets or sets encryption parameters which are relevant for the entire database instance. `db` is the database instance to operate on, or `NULL` to query the compile-time default value of the parameter. `paramName` is the name of the parameter which should be get or set. To set a parameter, pass the new parameter value as `newValue`. To get the current parameter value, pass **-1** as `newValue`.
-
-Parameter names use the following prefixes:
-
-| Prefix | Description|
-| :--- | :--- |
-| *no prefix* | Get or set the *transient* parameter value. Transient values are only used **once** for the next call to `sqlite3_key()` or `sqlite3_rekey()`. Afterwards, the *permanent* default values will be used again (see below). |
-| `default:` | Get or set the *permanent* default parameter value. Permanent values will be used during the entire lifetime of the `db` database instance, unless explicitly overridden by a transient value. The initial values for the permanent default values are the compile-time default values. |
-| `min:` | Get the lower bound of the valid parameter value range. This is read-only. |
-| `max:` | Get the upper bound of the valid parameter value range. This is read-only. |
-
-The following parameter names are supported for `paramName`:
-
-| Parameter name | Description | Possible values |
-| :--- | :--- | :--- |
-| `cipher` | The cipher to be used for encrypting the database. | `CODEC_TYPE_AES128` (Cipher ID 1)
`CODEC_TYPE_AES256` (Cipher ID 2)
`CODEC_TYPE_CHACHA20` (Cipher ID 3)
`CODEC_TYPE_SQLCIPHER` (Cipher ID 4) |
-| `hmac_check` | Boolean flag whether the HMAC should be validated on read operations for encryption schemes using HMACs | `0`
`1` |
-
-The return value always is the current parameter value on success, or **-1** on failure.
-
-**Note:** Checking the HMAC on read operations is active by default. With the parameter `hmac_check` the HMAC check can be disabled in case of trying to recover a corrupted database. It is not recommended to deactivate the HMAC check for regular database operation. Therefore the default can not be changed.
-
-**Examples:**
-
-```C
-/* Use AES-256 cipher for the next call to sqlite3_key() or sqlite3_rekey() for the given db */
-wxsqlite3_config(db, "cipher", CODEC_TYPE_AES256);
-```
-
-```C
-/* Use SQLCipher during the entire lifetime of database instance */
-wxsqlite3_config(db, "default:cipher", CODEC_TYPE_SQLCIPHER);
-```
-
-```C
-/* Get the maximum value which can be used for the "cipher" parameter */
-wxsqlite3_config(NULL, "max:cipher", -1);
-```
-
-### `wxsqlite3_config_cipher()`
-
-```C
-SQLITE_API int wxsqlite3_config_cipher(
- sqlite3* db, /* Database instance */
- const char* cipherName, /* Cipher name */
- const char* paramName, /* Parameter name */
- int newValue /* New value of the parameter */
-);
-```
-
-`wxsqlite3_config_cipher()` gets or sets encryption parameters which are relevant for a specific encryption cipher only. See the [`wxsqlite3_config()` function](#encryption_config) for details about the `db`, `paramName` and `newValue` parameters. See the related [cipher descriptions](#ciphers) for the parameter names supported for `paramName`.
-
-The following cipher names are supported for `cipherName`:
-
-| Cipher name | Refers to | Description |
-| :--- | :--- | :--- |
-| `aes128cbc` | `CODEC_TYPE_AES128` (Cipher ID 1) | [AES 128 Bit CBC - No HMAC (wxSQLite3)](#cipher_aes128cbc) |
-| `aes256cbc` | `CODEC_TYPE_AES256` (Cipher ID 2) | [AES 256 Bit CBC - No HMAC (wxSQLite3)](#cipher_aes256cbc) |
-| `chacha20` | `CODEC_TYPE_CHACHA20` (Cipher ID 3) | [ChaCha20 - Poly1305 HMAC (sqleet)](#cipher_chacha20) |
-| `sqlcipher` | `CODEC_TYPE_SQLCIPHER` (Cipher ID 4) | [AES 256 Bit CBC - SHA1 HMAC (SQLCipher)](#cipher_sqlcipher) |
-| `rc4` | `CODEC_TYPE_RC4` (Cipher ID 5) | [RC4 (System.Data.SQLite)](#cipher_rc4) |
-
-The return value always is the current parameter value on success, or **-1** on failure.
-
-**Example:**
-
-```C
-/* Activate SQLCipher version 1 encryption scheme for the next key or rekey operation */
-wxsqlite3_config(db, "cipher", CODEC_TYPE_SQLCIPHER);
-wxsqlite3_config_cipher(db, "sqlcipher", "kdf_iter", 4000);
-wxsqlite3_config_cipher(db, "sqlcipher", "fast_kdf_iter", 2);
-wxsqlite3_config_cipher(db, "sqlcipher", "hmac_use", 0);
-wxsqlite3_config_cipher(db, "sqlcipher", "legacy", 1);
-wxsqlite3_config_cipher(db, "sqlcipher", "legacy_page_size", 1024);
-```
-
-### `wxsqlite3_codec_data()`
-
-```C
-SQLITE_API unsigned char* wxsqlite3_codec_data(
- sqlite3* db, /* Database instance */
- const char* schemaName, /* Cipher name */
- const char* paramName /* Parameter name */
-);
-```
-
-`wxsqlite3_codec_data()` retrieves the value of encryption parameters after an encrypted database has been opened. `db` is the database instance to operate on. `schemaName` optionally specifies the schema name of an attached database; for the main database the parameter can be specified as `NULL`. `paramName` specifies the parameter to be queried.
-
-The following parameter names are currently supported for `paramName`:
-
-| Cipher name | Description |
-| :--- | :--- |
-| `cipher_salt` | The random cipher salt used for key derivation and stored in the database header (as a hexadecimal encoded string, 32 bytes) |
-| `raw:cipher_salt` | The random cipher salt used for key derivation and stored in the database header (as a raw binary string, 16 bytes) |
-
-A NULL pointer is returned if the database is not encrypted or if the encryption scheme doesn't use a cipher salt. If a non-NULL pointer was returned, it is the application's responsibility to free the memory using function `sqlite3_free`.
-
-**Note:** Some cipher schemes use a random cipher salt on database creation. If the database header gets corrupted for some reason, it is almost impossible to recover the database without knowing the cipher salt. For critical applications it is therefore recommended to retrieve the cipher salt after the initial creation of a database and keep it in a safe place.
-
-**Note:** Please note that the parameter `cipher_salt` was renamed (the previous name was just `salt`).
-
-### SQL interface
-
-**wxSQLite3** additionally defines the `wxsqlite3_config()` SQL function which can be used to get or set encryption parameters by using SQL queries.
-
-| SQL function | Description |
-| :--- | :--- |
-| `wxsqlite3_config(paramName TEXT)` | Get value of database encryption parameter `paramName` |
-| `wxsqlite3_config(paramName TEXT, newValue)` | Set value of database encryption parameter `paramName` to `newValue` |
-| `wxsqlite3_config(cipherName TEXT, paramName TEXT)` | Get value of cipher `cipherName` encryption parameter `paramName` |
-| `wxsqlite3_config(cipherName TEXT, paramName TEXT, newValue)` | Set value of cipher `cipherName` encryption parameter `paramName` to `newValue` |
-| `wxsqlite3_codec_data(paramName TEXT)` | Get value of parameter `paramName` |
-| `wxsqlite3_codec_data(paramName TEXT, schemaName TEXT)` | Get value of parameter `paramName` from schema `schemaName` |
-
-**Note:** See the [`wxsqlite3_config_cipher()` function](#encryption_config_cipher) for the list of supported `cipherName`s.
-
-**Note:** Calling the configuration functions, the `paramName` can have a prefix. See the [`wxsqlite3_config()` function](#encryption_config) for details.
-
-**Examples:**
-
-```SQL
--- Get cipher used for the next key or rekey operation
-SELECT wxsqlite3_config('cipher');
-```
-
-```SQL
--- Set cipher used by default for all key and rekey operations
-SELECT wxsqlite3_config('default:cipher', 'sqlcipher');
-```
-
-```SQL
--- Get number of KDF iterations for the AES-256 cipher
-SELECT wxsqlite3_config('aes256cbc', 'kdf_iter');
-```
-
-```SQL
--- Set number of KDF iterations for the AES-256 cipher to 54321
-SELECT wxsqlite3_config('aes256cbc', 'kdf_iter', 54321);
-```
-
-```SQL
--- Activate SQLCipher version 1 encryption scheme for the subsequent key PRAGMA
-SELECT wxsqlite3_config('cipher', 'sqlcipher');
-SELECT wxsqlite3_config('sqlcipher', 'kdf_iter', 4000);
-SELECT wxsqlite3_config('sqlcipher', 'fast_kdf_iter', 2);
-SELECT wxsqlite3_config('sqlcipher', 'hmac_use', 0);
-SELECT wxsqlite3_config('sqlcipher', 'legacy', 1);
-SELECT wxsqlite3_config('sqlcipher', 'legacy_page_size', 1024);
-PRAGMA key='';
-```
-
-```SQL
--- Get the random key salt as a hexadecimal encoded string (if database is encrypted and uses key salt)
-SELECT wxsqlite3_codec_data('salt');
-```
-
-### URI parameters
-
-SQLite3 allows to specify database file names as [SQLite Uniform Resource Identifiers](https://www.sqlite.org/uri.html) on opening or attaching databases. The advantage of using a URI file name is that query parameters on the URI can be used to control details of the newly created database connection. The **wxSQLite3** encryption extension now allows to configure the encryption cipher via URI query parameters.
-
-| URI Parameter | Description |
-| :--- | :--- |
-| `cipher`=_cipher name_ | The `cipher` query parameter specifies which cipher should be used. It has to be the identifier name of one of the supported ciphers. |
-| `key`=_passphrase_ | The `key` query parameter allows to specify the passphrase used to initialize the encryption extension for the database connection. If the query string does not contain a `cipher` parameter, the default cipher selected at compile time is used. |
-| `hexkey`=_hex-passphrase_ | The `hexkey` query parameter allows to specify a hexadecimal encoded passphrase used to initialize the encryption extension for the database connection. If the query string does not contain a `cipher` parameter, the default cipher selected at compile time is used. |
-
-**Note 1**: The URI query parameters `key` and `hexkey` are detected and applied by the SQLite3 library itself. If one of them is used and if it is not intended to use the default cipher, then the `cipher` query parameter and optionally further cipher configuration parameters have to be given in the URI query string as well.
-
-**Note 2**: The URI query parameters `key` and `hexkey` are only respected by SQLite3 on **opening** a database, but not on **attaching** a database. To specify the passphrase on attaching a database the keyword `KEY` of the SQL command `ATTACH` has to be used.
-
-Depending on the cipher selected via the `cipher` parameter, additional query parameters can be used to configure the encryption extension. All parameters as described for each supported cipher (like `legacy`, `kdf_iter`, and so on) can be used to modify the cipher configuration. Default values are used for all cipher parameters which are not explicitly added to the URI query string. Misspelled parameters are silently ignored.
-
-**Note 3**: The `cipher` query parameter is always required, if further query parameters should be used to configure the encryption extension. If this parameter is missing or specifies an unknown cipher, all other cipher configuration parameters are silently ignored, and the default cipher as selected at compile time will be used.
-
-**Note 4**: On **opening** a database all cipher configuration parameters given in the URI query string are used to set the **default** cipher configuration of the database connection. On **attaching** a database the cipher configuration parameters given in the URI query string will be used for the attached database, but will not change the defaults of the database connection.
-
-Example: URI query string to select the legacy SQLCipher Version 2 encryption scheme:
-```
-file:databasefile?cipher=sqlcipher&legacy=1&kdf_iter=4000
-```
-
-## SQLite3 Backup API
-
-When using the SQLite3 backup API to create a backup copy of a SQLite database, the most common case is that source and target database use the same encryption cipher, if any. However, the **wxSQLite3** multi-cipher encryption extension allows to assign different ciphers to the source and target database.
-
-Problems can arise from the fact that different ciphers may require a different number of reserved bytes per database page. If the number of reserved bytes for the target database is greater than that for the source database, performing a backup via the SQLite3 backup API is unfortunately not possible. In such a case the backup will be aborted.
-
-To allow as many cipher combinations as possible the **wxSQLite3** multi-cipher encryption extension implements fallback solutions for the most common case where the source database is not encrypted, but a cipher usually requiring a certain number of reserved bytes per database page was selected for the target database. In this case no reserved bytes will be used by the ciphers. The drawback is that the resulting encryption is less secure and that the resulting databases will not be compatible with the corresponding legacy ciphers.
-
-Please find below a table describing with which encryption cipher combinations the backup API can be used.
-
-| **Backup** **To** | SQLite3 | wxSQLite3 | wxSQLite3 | wxSQLite3 | SQLCipher v1 | SQLCipher v2+ |
-| --- | :---: | :---: | :---: | :---: | :---: | :---: |
-
**From** | Plain
| AES-128
| AES-256
| ChaCha20
Poly1305 | AES-256
| AES-256
SHA1 |
-SQLite3
Plain
| :ok: | :ok: | :ok: | :ok: :exclamation: | :ok: :exclamation: | :ok: :exclamation:
-wxSQLite3
AES-128
| :ok: | :ok: | :ok: | :ok: :exclamation: | :ok: :exclamation: | :ok: :exclamation:
-wxSQLite3
AES-256
| :ok: | :ok: | :ok: | :ok: :exclamation: | :ok: :exclamation: | :ok: :exclamation:
-wxSQLite3
ChaCha20
Poly1305 | :ok: :small_red_triangle_down: | :ok: :small_red_triangle_down: | :ok: :small_red_triangle_down: | :ok: | :x: | :x:
-SQLCipher v1
AES-256
| :ok: :small_red_triangle_down: | :ok: :small_red_triangle_down: | :ok: :small_red_triangle_down: | :x: | :ok: | :x:
-SQLCipher v2+
AES-256
SHA1 | :ok: :small_red_triangle_down: | :ok: :small_red_triangle_down: | :ok: :small_red_triangle_down: | :ok: :small_red_triangle_down: | :x: | :ok:
-
-Symbol | Description
-:---: | :---
-:ok: | Works
-:x: | Does **not** work
-:exclamation: | Works only for non-legacy ciphers with reduced security
-:small_red_triangle_down: | Keeps reserved bytes per database page
-
-**Note**: It is strongly recommended to use the same encryption cipher for source **and** target database.
diff --git a/sqlite3secure/rekeyvacuum.sh b/sqlite3secure/rekeyvacuum.sh
deleted file mode 100755
index aec5e2bc..00000000
--- a/sqlite3secure/rekeyvacuum.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/sh
-# Generate rekeyvacuum.c from SQLite3 amalgamation and write it to stdout.
-# Usage: ./script/rekeyvacuum.sh sqlite3.c >rekeyvacuum.c
-
-INPUT="$([ "$#" -eq 1 ] && echo "$1" || echo "sqlite3.c")"
-if ! [ -f "$INPUT" ]; then
- echo "Usage: $0 " >&2
- echo " e.g.: $0 sqlite3.c" >&2
- exit 1
-fi
-
-die() {
- echo "[-]" "$@" >&2
- exit 2
-}
-
-VERSION="$(sed -n 's/^#define SQLITE_VERSION[^"]*"\([0-9]\+\.[0-9]\+\.[0-9]\+\)"$/\1/p' "$INPUT")"
-[ -z "$VERSION" ] && die "cannot find SQLite3 version (is '$INPUT' a valid amalgamation?)"
-
-cat <
-#include
-
-#ifndef SQLITE_OMIT_VIRTUALTABLE
-
-/*
-** Allowed datatypes
-*/
-#define CARRAY_INT32 0
-#define CARRAY_INT64 1
-#define CARRAY_DOUBLE 2
-#define CARRAY_TEXT 3
-
-/*
-** Names of types
-*/
-static const char *azType[] = { "int32", "int64", "double", "char*" };
-
-
-/* carray_cursor is a subclass of sqlite3_vtab_cursor which will
-** serve as the underlying representation of a cursor that scans
-** over rows of the result
-*/
-typedef struct carray_cursor carray_cursor;
-struct carray_cursor {
- sqlite3_vtab_cursor base; /* Base class - must be first */
- sqlite3_int64 iRowid; /* The rowid */
- void *pPtr; /* Pointer to the array of values */
- sqlite3_int64 iCnt; /* Number of integers in the array */
- unsigned char eType; /* One of the CARRAY_type values */
-};
-
-/*
-** The carrayConnect() method is invoked to create a new
-** carray_vtab that describes the carray virtual table.
-**
-** Think of this routine as the constructor for carray_vtab objects.
-**
-** All this routine needs to do is:
-**
-** (1) Allocate the carray_vtab object and initialize all fields.
-**
-** (2) Tell SQLite (via the sqlite3_declare_vtab() interface) what the
-** result set of queries against carray will look like.
-*/
-static int carrayConnect(
- sqlite3 *db,
- void *pAux,
- int argc, const char *const*argv,
- sqlite3_vtab **ppVtab,
- char **pzErr
-){
- sqlite3_vtab *pNew;
- int rc;
-
-/* Column numbers */
-#define CARRAY_COLUMN_VALUE 0
-#define CARRAY_COLUMN_POINTER 1
-#define CARRAY_COLUMN_COUNT 2
-#define CARRAY_COLUMN_CTYPE 3
-
- rc = sqlite3_declare_vtab(db,
- "CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)");
- if( rc==SQLITE_OK ){
- pNew = *ppVtab = sqlite3_malloc( sizeof(*pNew) );
- if( pNew==0 ) return SQLITE_NOMEM;
- memset(pNew, 0, sizeof(*pNew));
- }
- return rc;
-}
-
-/*
-** This method is the destructor for carray_cursor objects.
-*/
-static int carrayDisconnect(sqlite3_vtab *pVtab){
- sqlite3_free(pVtab);
- return SQLITE_OK;
-}
-
-/*
-** Constructor for a new carray_cursor object.
-*/
-static int carrayOpen(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){
- carray_cursor *pCur;
- pCur = sqlite3_malloc( sizeof(*pCur) );
- if( pCur==0 ) return SQLITE_NOMEM;
- memset(pCur, 0, sizeof(*pCur));
- *ppCursor = &pCur->base;
- return SQLITE_OK;
-}
-
-/*
-** Destructor for a carray_cursor.
-*/
-static int carrayClose(sqlite3_vtab_cursor *cur){
- sqlite3_free(cur);
- return SQLITE_OK;
-}
-
-
-/*
-** Advance a carray_cursor to its next row of output.
-*/
-static int carrayNext(sqlite3_vtab_cursor *cur){
- carray_cursor *pCur = (carray_cursor*)cur;
- pCur->iRowid++;
- return SQLITE_OK;
-}
-
-/*
-** Return values of columns for the row at which the carray_cursor
-** is currently pointing.
-*/
-static int carrayColumn(
- sqlite3_vtab_cursor *cur, /* The cursor */
- sqlite3_context *ctx, /* First argument to sqlite3_result_...() */
- int i /* Which column to return */
-){
- carray_cursor *pCur = (carray_cursor*)cur;
- sqlite3_int64 x = 0;
- switch( i ){
- case CARRAY_COLUMN_POINTER: return SQLITE_OK;
- case CARRAY_COLUMN_COUNT: x = pCur->iCnt; break;
- case CARRAY_COLUMN_CTYPE: {
- sqlite3_result_text(ctx, azType[pCur->eType], -1, SQLITE_STATIC);
- return SQLITE_OK;
- }
- default: {
- switch( pCur->eType ){
- case CARRAY_INT32: {
- int *p = (int*)pCur->pPtr;
- sqlite3_result_int(ctx, p[pCur->iRowid-1]);
- return SQLITE_OK;
- }
- case CARRAY_INT64: {
- sqlite3_int64 *p = (sqlite3_int64*)pCur->pPtr;
- sqlite3_result_int64(ctx, p[pCur->iRowid-1]);
- return SQLITE_OK;
- }
- case CARRAY_DOUBLE: {
- double *p = (double*)pCur->pPtr;
- sqlite3_result_double(ctx, p[pCur->iRowid-1]);
- return SQLITE_OK;
- }
- case CARRAY_TEXT: {
- const char **p = (const char**)pCur->pPtr;
- sqlite3_result_text(ctx, p[pCur->iRowid-1], -1, SQLITE_TRANSIENT);
- return SQLITE_OK;
- }
- }
- }
- }
- sqlite3_result_int64(ctx, x);
- return SQLITE_OK;
-}
-
-/*
-** Return the rowid for the current row. In this implementation, the
-** rowid is the same as the output value.
-*/
-static int carrayRowid(sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid){
- carray_cursor *pCur = (carray_cursor*)cur;
- *pRowid = pCur->iRowid;
- return SQLITE_OK;
-}
-
-/*
-** Return TRUE if the cursor has been moved off of the last
-** row of output.
-*/
-static int carrayEof(sqlite3_vtab_cursor *cur){
- carray_cursor *pCur = (carray_cursor*)cur;
- return pCur->iRowid>pCur->iCnt;
-}
-
-/*
-** This method is called to "rewind" the carray_cursor object back
-** to the first row of output.
-*/
-static int carrayFilter(
- sqlite3_vtab_cursor *pVtabCursor,
- int idxNum, const char *idxStr,
- int argc, sqlite3_value **argv
-){
- carray_cursor *pCur = (carray_cursor *)pVtabCursor;
- if( idxNum ){
- pCur->pPtr = sqlite3_value_pointer(argv[0], "carray");
- pCur->iCnt = pCur->pPtr ? sqlite3_value_int64(argv[1]) : 0;
- if( idxNum<3 ){
- pCur->eType = CARRAY_INT32;
- }else{
- unsigned char i;
- const char *zType = (const char*)sqlite3_value_text(argv[2]);
- for(i=0; i=sizeof(azType)/sizeof(azType[0]) ){
- pVtabCursor->pVtab->zErrMsg = sqlite3_mprintf(
- "unknown datatype: %Q", zType);
- return SQLITE_ERROR;
- }else{
- pCur->eType = i;
- }
- }
- }else{
- pCur->pPtr = 0;
- pCur->iCnt = 0;
- }
- pCur->iRowid = 1;
- return SQLITE_OK;
-}
-
-/*
-** SQLite will invoke this method one or more times while planning a query
-** that uses the carray virtual table. This routine needs to create
-** a query plan for each invocation and compute an estimated cost for that
-** plan.
-**
-** In this implementation idxNum is used to represent the
-** query plan. idxStr is unused.
-**
-** idxNum is 2 if the pointer= and count= constraints exist,
-** 3 if the ctype= constraint also exists, and is 0 otherwise.
-** If idxNum is 0, then carray becomes an empty table.
-*/
-static int carrayBestIndex(
- sqlite3_vtab *tab,
- sqlite3_index_info *pIdxInfo
-){
- int i; /* Loop over constraints */
- int ptrIdx = -1; /* Index of the pointer= constraint, or -1 if none */
- int cntIdx = -1; /* Index of the count= constraint, or -1 if none */
- int ctypeIdx = -1; /* Index of the ctype= constraint, or -1 if none */
-
- const struct sqlite3_index_constraint *pConstraint;
- pConstraint = pIdxInfo->aConstraint;
- for(i=0; inConstraint; i++, pConstraint++){
- if( pConstraint->usable==0 ) continue;
- if( pConstraint->op!=SQLITE_INDEX_CONSTRAINT_EQ ) continue;
- switch( pConstraint->iColumn ){
- case CARRAY_COLUMN_POINTER:
- ptrIdx = i;
- break;
- case CARRAY_COLUMN_COUNT:
- cntIdx = i;
- break;
- case CARRAY_COLUMN_CTYPE:
- ctypeIdx = i;
- break;
- }
- }
- if( ptrIdx>=0 && cntIdx>=0 ){
- pIdxInfo->aConstraintUsage[ptrIdx].argvIndex = 1;
- pIdxInfo->aConstraintUsage[ptrIdx].omit = 1;
- pIdxInfo->aConstraintUsage[cntIdx].argvIndex = 2;
- pIdxInfo->aConstraintUsage[cntIdx].omit = 1;
- pIdxInfo->estimatedCost = (double)1;
- pIdxInfo->estimatedRows = 100;
- pIdxInfo->idxNum = 2;
- if( ctypeIdx>=0 ){
- pIdxInfo->aConstraintUsage[ctypeIdx].argvIndex = 3;
- pIdxInfo->aConstraintUsage[ctypeIdx].omit = 1;
- pIdxInfo->idxNum = 3;
- }
- }else{
- pIdxInfo->estimatedCost = (double)2147483647;
- pIdxInfo->estimatedRows = 2147483647;
- pIdxInfo->idxNum = 0;
- }
- return SQLITE_OK;
-}
-
-/*
-** This following structure defines all the methods for the
-** carray virtual table.
-*/
-static sqlite3_module carrayModule = {
- 0, /* iVersion */
- 0, /* xCreate */
- carrayConnect, /* xConnect */
- carrayBestIndex, /* xBestIndex */
- carrayDisconnect, /* xDisconnect */
- 0, /* xDestroy */
- carrayOpen, /* xOpen - open a cursor */
- carrayClose, /* xClose - close a cursor */
- carrayFilter, /* xFilter - configure scan constraints */
- carrayNext, /* xNext - advance a cursor */
- carrayEof, /* xEof - check for end of scan */
- carrayColumn, /* xColumn - read data */
- carrayRowid, /* xRowid - read data */
- 0, /* xUpdate */
- 0, /* xBegin */
- 0, /* xSync */
- 0, /* xCommit */
- 0, /* xRollback */
- 0, /* xFindMethod */
- 0, /* xRename */
-};
-
-/*
-** For testing purpose in the TCL test harness, we need a method for
-** setting the pointer value. The inttoptr(X) SQL function accomplishes
-** this. Tcl script will bind an integer to X and the inttoptr() SQL
-** function will use sqlite3_result_pointer() to convert that integer into
-** a pointer.
-**
-** This is for testing on TCL only.
-*/
-#ifdef SQLITE_TEST
-static void inttoptrFunc(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- void *p;
- sqlite3_int64 i64;
- i64 = sqlite3_value_int64(argv[0]);
- if( sizeof(i64)==sizeof(p) ){
- memcpy(&p, &i64, sizeof(p));
- }else{
- int i32 = i64 & 0xffffffff;
- memcpy(&p, &i32, sizeof(p));
- }
- sqlite3_result_pointer(context, p, "carray", 0);
-}
-#endif /* SQLITE_TEST */
-
-#endif /* SQLITE_OMIT_VIRTUALTABLE */
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_carray_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
-#ifndef SQLITE_OMIT_VIRTUALTABLE
- rc = sqlite3_create_module(db, "carray", &carrayModule, 0);
-#ifdef SQLITE_TEST
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "inttoptr", 1, SQLITE_UTF8, 0,
- inttoptrFunc, 0, 0);
- }
-#endif /* SQLITE_TEST */
-#endif /* SQLITE_OMIT_VIRTUALTABLE */
- return rc;
-}
diff --git a/sqlite3secure/src/chacha20poly1305.c b/sqlite3secure/src/chacha20poly1305.c
deleted file mode 100644
index d180df89..00000000
--- a/sqlite3secure/src/chacha20poly1305.c
+++ /dev/null
@@ -1,385 +0,0 @@
-/*
-** This file contains the implementation for
-** - the ChaCha20 cipher
-** - the Poly1305 message digest
-**
-** The code was taken from the public domain implementation
-** of the sqleet project (https://github.com/resilar/sqleet)
-*/
-
-#include "mystdint.h"
-#include
-
-#define ROL32(x, c) (((x) << (c)) | ((x) >> (32-(c))))
-#define ROR32(x, c) (((x) >> (c)) | ((x) << (32-(c))))
-
-#define LOAD32_LE(p) \
- ( ((uint32_t)((p)[0]) << 0) \
- | ((uint32_t)((p)[1]) << 8) \
- | ((uint32_t)((p)[2]) << 16) \
- | ((uint32_t)((p)[3]) << 24) \
- )
-#define LOAD32_BE(p) \
- ( ((uint32_t)((p)[3]) << 0) \
- | ((uint32_t)((p)[2]) << 8) \
- | ((uint32_t)((p)[1]) << 16) \
- | ((uint32_t)((p)[0]) << 24) \
- )
-
-#define STORE32_LE(p, v) \
- (p)[0] = ((v) >> 0) & 0xFF; \
- (p)[1] = ((v) >> 8) & 0xFF; \
- (p)[2] = ((v) >> 16) & 0xFF; \
- (p)[3] = ((v) >> 24) & 0xFF;
-#define STORE32_BE(p, v) \
- (p)[3] = ((v) >> 0) & 0xFF; \
- (p)[2] = ((v) >> 8) & 0xFF; \
- (p)[1] = ((v) >> 16) & 0xFF; \
- (p)[0] = ((v) >> 24) & 0xFF;
-#define STORE64_BE(p, v) \
- (p)[7] = ((v) >> 0) & 0xFF; \
- (p)[6] = ((v) >> 8) & 0xFF; \
- (p)[5] = ((v) >> 16) & 0xFF; \
- (p)[4] = ((v) >> 24) & 0xFF; \
- (p)[3] = ((v) >> 32) & 0xFF; \
- (p)[2] = ((v) >> 40) & 0xFF; \
- (p)[1] = ((v) >> 48) & 0xFF; \
- (p)[0] = ((v) >> 56) & 0xFF;
-
-/*
- * ChaCha20 stream cipher
- */
-static void chacha20_block(uint32_t x[16])
-{
- int i;
- #define QR(x, a, b, c, d) \
- x[a] += x[b]; x[d] ^= x[a]; x[d] = ROL32(x[d], 16); \
- x[c] += x[d]; x[b] ^= x[c]; x[b] = ROL32(x[b], 12); \
- x[a] += x[b]; x[d] ^= x[a]; x[d] = ROL32(x[d], 8); \
- x[c] += x[d]; x[b] ^= x[c]; x[b] = ROL32(x[b], 7);
- for (i = 0; i < 10; i++)
- {
- /* Column round */
- QR(x, 0, 4, 8, 12)
- QR(x, 1, 5, 9, 13)
- QR(x, 2, 6, 10, 14)
- QR(x, 3, 7, 11, 15)
- /* Diagonal round */
- QR(x, 0, 5, 10, 15)
- QR(x, 1, 6, 11, 12)
- QR(x, 2, 7, 8, 13)
- QR(x, 3, 4, 9, 14)
- }
- #undef QR
-}
-
-void chacha20_xor(void* buffer, size_t n, const uint8_t key[32],
- const uint8_t nonce[12], uint32_t counter)
-{
- size_t i;
- union {
- uint8_t bytes[64];
- uint32_t words[16];
- } block;
- uint32_t state[16];
- uint8_t* buf = buffer;
-
- state[ 0] = 0x61707865; /* 'expa' */
- state[ 1] = 0x3320646e; /* 'nd 3' */
- state[ 2] = 0x79622d32; /* '2-by' */
- state[ 3] = 0x6b206574; /* 'te k' */
-
- state[ 4] = LOAD32_LE(key + 0);
- state[ 5] = LOAD32_LE(key + 4);
- state[ 6] = LOAD32_LE(key + 8);
- state[ 7] = LOAD32_LE(key + 12);
- state[ 8] = LOAD32_LE(key + 16);
- state[ 9] = LOAD32_LE(key + 20);
- state[10] = LOAD32_LE(key + 24);
- state[11] = LOAD32_LE(key + 28);
-
- state[12] = counter;
- state[13] = LOAD32_LE(nonce + 0);
- state[14] = LOAD32_LE(nonce + 4);
- state[15] = LOAD32_LE(nonce + 8);
-
- while (n > 64)
- {
- for (i = 0; i < 16; ++i)
- {
- block.words[i] = state[i];
- }
- chacha20_block(block.words);
- for (i = 0; i < 16; ++i)
- {
- block.words[i] += state[i];
- block.words[i] ^= LOAD32_LE(buf);
- STORE32_LE(buf, block.words[i]);
- buf += 4;
- }
- ++state[12];
- n -= 64;
- }
-
- for (i = 0; i < 16; ++i)
- {
- block.words[i] = state[i];
- }
- chacha20_block(state);
- for (i = 0; i < 16; ++i)
- {
- state[i] += block.words[i];
- STORE32_LE(&block.bytes[4*i], state[i]);
- }
- for (i = 0; i < n; i++)
- {
- buf[i] ^= block.bytes[i];
- }
-}
-
-/*
- * Poly1305 authentication tags
- */
-void poly1305(const uint8_t* msg, size_t n, const uint8_t key[32],
- uint8_t tag[16])
-{
- uint32_t hibit;
- uint64_t d0, d1, d2, d3, d4;
- uint32_t h0, h1, h2, h3, h4;
- uint32_t r0, r1, r2, r3, r4;
- uint32_t s1, s2, s3, s4;
-
- hibit = (uint32_t) 1 << 24;
- h0 = h1 = h2 = h3 = h4 = 0;
- r0 = (LOAD32_LE(key + 0) >> 0) & 0x03FFFFFF;
- r1 = (LOAD32_LE(key + 3) >> 2) & 0x03FFFF03; s1 = r1 * 5;
- r2 = (LOAD32_LE(key + 6) >> 4) & 0x03FFC0FF; s2 = r2 * 5;
- r3 = (LOAD32_LE(key + 9) >> 6) & 0x03F03FFF; s3 = r3 * 5;
- r4 = (LOAD32_LE(key + 12) >> 8) & 0x000FFFFF; s4 = r4 * 5;
- while (n >= 16)
- {
-process_block:
- h0 += (LOAD32_LE(msg + 0) >> 0) & 0x03FFFFFF;
- h1 += (LOAD32_LE(msg + 3) >> 2) & 0x03FFFFFF;
- h2 += (LOAD32_LE(msg + 6) >> 4) & 0x03FFFFFF;
- h3 += (LOAD32_LE(msg + 9) >> 6) & 0x03FFFFFF;
- h4 += (LOAD32_LE(msg + 12) >> 8) | hibit;
-
- #define MUL(a,b) ((uint64_t)(a) * (b))
- d0 = MUL(h0,r0) + MUL(h1,s4) + MUL(h2,s3) + MUL(h3,s2) + MUL(h4,s1);
- d1 = MUL(h0,r1) + MUL(h1,r0) + MUL(h2,s4) + MUL(h3,s3) + MUL(h4,s2);
- d2 = MUL(h0,r2) + MUL(h1,r1) + MUL(h2,r0) + MUL(h3,s4) + MUL(h4,s3);
- d3 = MUL(h0,r3) + MUL(h1,r2) + MUL(h2,r1) + MUL(h3,r0) + MUL(h4,s4);
- d4 = MUL(h0,r4) + MUL(h1,r3) + MUL(h2,r2) + MUL(h3,r1) + MUL(h4,r0);
- #undef MUL
-
- h0 = d0 & 0x03FFFFFF; d1 += (d0 >> 26);
- h1 = d1 & 0x03FFFFFF; d2 += (d1 >> 26);
- h2 = d2 & 0x03FFFFFF; d3 += (d2 >> 26);
- h3 = d3 & 0x03FFFFFF; d4 += (d3 >> 26);
- h4 = d4 & 0x03FFFFFF; h0 += (uint32_t)(d4 >> 26) * 5;
-
- msg += 16;
- n -= 16;
- }
- if (n)
- {
- size_t i;
- for (i = 0; i < n; tag[i] = msg[i], i++);
- for (tag[i++] = 1; i < 16; tag[i++] = 0);
- msg = tag;
- hibit = 0;
- n = 16;
- goto process_block;
- }
-
- r0 = h0 + 5;
- r1 = h1 + (r0 >> 26); *(volatile uint32_t *)&r0 = 0;
- r2 = h2 + (r1 >> 26); *(volatile uint32_t *)&r1 = 0;
- r3 = h3 + (r2 >> 26); *(volatile uint32_t *)&r2 = 0;
- r4 = h4 + (r3 >> 26); *(volatile uint32_t *)&r3 = 0;
- h0 = h0 + (r4 >> 26) * 5; *(volatile uint32_t *)&r4 = 0;
-
- d0 = (uint64_t)LOAD32_LE(key + 16) + (h0 >> 0) + (h1 << 26);
- d1 = (uint64_t)LOAD32_LE(key + 20) + (h1 >> 6) + (h2 << 20) + (d0 >> 32);
- d2 = (uint64_t)LOAD32_LE(key + 24) + (h2 >> 12) + (h3 << 14) + (d1 >> 32);
- d3 = (uint64_t)LOAD32_LE(key + 28) + (h3 >> 18) + (h4 << 8) + (d2 >> 32);
-
- STORE32_LE(tag + 0, d0); *(volatile uint32_t *)&s1 = 0;
- STORE32_LE(tag + 4, d1); *(volatile uint32_t *)&s2 = 0;
- STORE32_LE(tag + 8, d2); *(volatile uint32_t *)&s3 = 0;
- STORE32_LE(tag + 12, d3); *(volatile uint32_t *)&s4 = 0;
- *(volatile uint64_t *)&d0 = 0; *(volatile uint32_t *)&h0 = 0;
- *(volatile uint64_t *)&d1 = 0; *(volatile uint32_t *)&h1 = 0;
- *(volatile uint64_t *)&d2 = 0; *(volatile uint32_t *)&h2 = 0;
- *(volatile uint64_t *)&d3 = 0; *(volatile uint32_t *)&h3 = 0;
- *(volatile uint64_t *)&d4 = 0; *(volatile uint32_t *)&h4 = 0;
-}
-
-int poly1305_tagcmp(const uint8_t tag1[16], const uint8_t tag2[16])
-{
- uint8_t d = 0;
- d |= tag1[ 0] ^ tag2[ 0];
- d |= tag1[ 1] ^ tag2[ 1];
- d |= tag1[ 2] ^ tag2[ 2];
- d |= tag1[ 3] ^ tag2[ 3];
- d |= tag1[ 4] ^ tag2[ 4];
- d |= tag1[ 5] ^ tag2[ 5];
- d |= tag1[ 6] ^ tag2[ 6];
- d |= tag1[ 7] ^ tag2[ 7];
- d |= tag1[ 8] ^ tag2[ 8];
- d |= tag1[ 9] ^ tag2[ 9];
- d |= tag1[10] ^ tag2[10];
- d |= tag1[11] ^ tag2[11];
- d |= tag1[12] ^ tag2[12];
- d |= tag1[13] ^ tag2[13];
- d |= tag1[14] ^ tag2[14];
- d |= tag1[15] ^ tag2[15];
- return (int) d;
-}
-
-/*
- * Platform-specific entropy functions for seeding RNG
- */
-#if defined(_WIN32) || defined(__CYGWIN__)
-#include
-#define RtlGenRandom SystemFunction036
-BOOLEAN NTAPI RtlGenRandom(PVOID RandomBuffer, ULONG RandomBufferLength);
-#pragma comment(lib, "advapi32.lib")
-static size_t entropy(void* buf, size_t n)
-{
- return RtlGenRandom(buf, n) ? n : 0;
-}
-#elif defined(__linux__) || defined(__unix__) || defined(__APPLE__)
-#define _GNU_SOURCE
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#ifdef __linux__
-#include
-/* musl does not have so let's define RNDGETENTCNT here */
-#ifndef RNDGETENTCNT
-#define RNDGETENTCNT _IOR('R', 0x00, int)
-#endif
-#endif
-
-/* Returns the number of urandom bytes read (either 0 or n) */
-static size_t read_urandom(void* buf, size_t n)
-{
- size_t i;
- ssize_t ret;
- int fd, count;
- struct stat st;
- int errnold = errno;
-
- do
- {
- fd = open("/dev/urandom", O_RDONLY, 0);
- }
- while (fd == -1 && errno == EINTR);
- if (fd == -1)
- goto fail;
- fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC);
-
- /* Check the sanity of the device node */
- if (fstat(fd, &st) == -1 || !S_ISCHR(st.st_mode)
- #ifdef __linux__
- || ioctl(fd, RNDGETENTCNT, &count) == -1
- #endif
- )
- {
- close(fd);
- goto fail;
- }
-
- /* Read bytes */
- for (i = 0; i < n; i += ret)
- {
- while ((ret = read(fd, (char *)buf + i, n - i)) == -1)
- {
- if (errno != EAGAIN && errno != EINTR)
- {
- close(fd);
- goto fail;
- }
- }
- }
- close(fd);
-
- /* Verify that the random device returned non-zero data */
- for (i = 0; i < n; i++)
- {
- if (((uint8_t*) buf)[i] != 0)
- {
- errno = errnold;
- return n;
- }
- }
-
- /* Tiny n may unintentionally fall through! */
-fail:
- fprintf(stderr, "bad /dev/urandom RNG\n");
- abort(); /* PANIC! */
- return 0;
-}
-
-static size_t entropy(void* buf, size_t n)
-{
-#if defined(__linux__) && defined(SYS_getrandom)
- if (syscall(SYS_getrandom, buf, n, 0) == n)
- return n;
-#elif defined(SYS_getentropy)
- if (syscall(SYS_getentropy, buf, n) == 0)
- return n;
-#endif
- return read_urandom(buf, n);
-}
-#else
-# error "Secure pseudorandom number generator not implemented for this OS"
-#endif
-
-/*
- * ChaCha20 random number generator
- */
-void chacha20_rng(void* out, size_t n)
-{
- static uint8_t key[32], nonce[12], buffer[64] = { 0 };
- static uint32_t counter = 0;
- static size_t available = 0;
-
-#if SQLITE_THREADSAFE
- sqlite3_mutex* mutex = sqlite3_mutex_alloc(SQLITE_MUTEX_STATIC_PRNG);
- sqlite3_mutex_enter(mutex);
-#endif
-
- while (n > 0)
- {
- size_t m;
- if (available == 0)
- {
- if (counter == 0)
- {
- if (entropy(key, sizeof(key)) != sizeof(key))
- abort();
- if (entropy(nonce, sizeof(nonce)) != sizeof(nonce))
- abort();
- }
- chacha20_xor(buffer, sizeof(buffer), key, nonce, counter++);
- available = sizeof(buffer);
- }
- m = (available < n) ? available : n;
- memcpy(out, buffer + (sizeof(buffer) - available), m);
- out = (uint8_t*)out + m;
- available -= m;
- n -= m;
- }
-
-#if SQLITE_THREADSAFE
- sqlite3_mutex_leave(mutex);
-#endif
-}
diff --git a/sqlite3secure/src/codec.c b/sqlite3secure/src/codec.c
deleted file mode 100644
index 58256b00..00000000
--- a/sqlite3secure/src/codec.c
+++ /dev/null
@@ -1,3053 +0,0 @@
-/*
-** Name: codec.c
-** Purpose: Implementation of SQLite codecs
-** Author: Ulrich Telle
-** Created: 2006-12-06
-** Copyright: (c) 2006-2019 Ulrich Telle
-** License: LGPL-3.0+ WITH WxWindows-exception-3.1
-*/
-
-#include "codec.h"
-
-/*
-** RC4 implementation
-*/
-
-static void
-CodecRC4(unsigned char* key, int keylen,
- unsigned char* textin, int textlen,
- unsigned char* textout)
-{
- int i;
- int j;
- int t;
- unsigned char rc4[256];
-
- int a = 0;
- int b = 0;
- unsigned char k;
-
- for (i = 0; i < 256; i++)
- {
- rc4[i] = i;
- }
- j = 0;
- for (i = 0; i < 256; i++)
- {
- t = rc4[i];
- j = (j + t + key[i % keylen]) % 256;
- rc4[i] = rc4[j];
- rc4[j] = t;
- }
-
- for (i = 0; i < textlen; i++)
- {
- a = (a + 1) % 256;
- t = rc4[a];
- b = (b + t) % 256;
- rc4[a] = rc4[b];
- rc4[b] = t;
- k = rc4[(rc4[a] + rc4[b]) % 256];
- textout[i] = textin[i] ^ k;
- }
-}
-
-static void
-CodecGetMD5Binary(unsigned char* data, int length, unsigned char* digest)
-{
- MD5_CTX ctx;
- MD5_Init(&ctx);
- MD5_Update(&ctx, data, length);
- MD5_Final(digest,&ctx);
-}
-
-static void
-CodecGetSHABinary(unsigned char* data, int length, unsigned char* digest)
-{
- sha256(data, (unsigned int) length, digest);
-}
-
-#define MODMULT(a, b, c, m, s) q = s / a; s = b * (s - a * q) - c * q; if (s < 0) s += m
-
-static void
-CodecGenerateInitialVector(int seed, unsigned char iv[16])
-{
- unsigned char initkey[16];
- int j, q;
- int z = seed + 1;
- for (j = 0; j < 4; j++)
- {
- MODMULT(52774, 40692, 3791, 2147483399L, z);
- initkey[4*j+0] = 0xff & z;
- initkey[4*j+1] = 0xff & (z >> 8);
- initkey[4*j+2] = 0xff & (z >> 16);
- initkey[4*j+3] = 0xff & (z >> 24);
- }
- CodecGetMD5Binary((unsigned char*) initkey, 16, iv);
-}
-
-static int
-CodecAES128(Rijndael* aesCtx, int page, int encrypt, unsigned char encryptionKey[KEYLENGTH_AES128],
- unsigned char* datain, int datalen, unsigned char* dataout)
-{
- int rc = SQLITE_OK;
- unsigned char initial[16];
- unsigned char pagekey[KEYLENGTH_AES128];
- unsigned char nkey[KEYLENGTH_AES128+4+4];
- int keyLength = KEYLENGTH_AES128;
- int nkeylen = keyLength + 4 + 4;
- int j;
- int direction = (encrypt) ? RIJNDAEL_Direction_Encrypt : RIJNDAEL_Direction_Decrypt;
- int len = 0;
-
- for (j = 0; j < keyLength; j++)
- {
- nkey[j] = encryptionKey[j];
- }
- nkey[keyLength+0] = 0xff & page;
- nkey[keyLength+1] = 0xff & (page >> 8);
- nkey[keyLength+2] = 0xff & (page >> 16);
- nkey[keyLength+3] = 0xff & (page >> 24);
-
- /* AES encryption needs some 'salt' */
- nkey[keyLength+4] = 0x73;
- nkey[keyLength+5] = 0x41;
- nkey[keyLength+6] = 0x6c;
- nkey[keyLength+7] = 0x54;
-
- CodecGetMD5Binary(nkey, nkeylen, pagekey);
- CodecGenerateInitialVector(page, initial);
- RijndaelInit(aesCtx, RIJNDAEL_Direction_Mode_CBC, direction, pagekey, RIJNDAEL_Direction_KeyLength_Key16Bytes, initial);
- if (encrypt)
- {
- len = RijndaelBlockEncrypt(aesCtx, datain, datalen*8, dataout);
- }
- else
- {
- len = RijndaelBlockDecrypt(aesCtx, datain, datalen*8, dataout);
- }
-
- /* It is a good idea to check the error code */
- if (len < 0)
- {
- /* AES: Error on encrypting. */
- rc = SQLITE_ERROR;
- }
- return rc;
-}
-
-static int
-CodecAES256(Rijndael* aesCtx, int page, int encrypt, unsigned char encryptionKey[KEYLENGTH_AES256],
- unsigned char* datain, int datalen, unsigned char* dataout)
-{
- int rc = SQLITE_OK;
- unsigned char initial[16];
- unsigned char pagekey[KEYLENGTH_AES256];
- unsigned char nkey[KEYLENGTH_AES256+4+4];
- int keyLength = KEYLENGTH_AES256;
- int nkeylen = keyLength + 4 + 4;
- int j;
- int direction = (encrypt) ? RIJNDAEL_Direction_Encrypt : RIJNDAEL_Direction_Decrypt;
- int len = 0;
-
- for (j = 0; j < keyLength; j++)
- {
- nkey[j] = encryptionKey[j];
- }
- nkey[keyLength+0] = 0xff & page;
- nkey[keyLength+1] = 0xff & (page >> 8);
- nkey[keyLength+2] = 0xff & (page >> 16);
- nkey[keyLength+3] = 0xff & (page >> 24);
-
- /* AES encryption needs some 'salt' */
- nkey[keyLength+4] = 0x73;
- nkey[keyLength+5] = 0x41;
- nkey[keyLength+6] = 0x6c;
- nkey[keyLength+7] = 0x54;
-
- CodecGetSHABinary(nkey, nkeylen, pagekey);
- CodecGenerateInitialVector(page, initial);
- RijndaelInit(aesCtx, RIJNDAEL_Direction_Mode_CBC, direction, pagekey, RIJNDAEL_Direction_KeyLength_Key32Bytes, initial);
- if (encrypt)
- {
- len = RijndaelBlockEncrypt(aesCtx, datain, datalen*8, dataout);
- }
- else
- {
- len = RijndaelBlockDecrypt(aesCtx, datain, datalen*8, dataout);
- }
-
- /* It is a good idea to check the error code */
- if (len < 0)
- {
- /* AES: Error on encrypting. */
- rc = SQLITE_ERROR;
- }
- return rc;
-}
-
-/* Check hex encoding */
-static int
-IsHexKey(const unsigned char* hex, int len)
-{
- int j;
- for (j = 0; j < len; ++j)
- {
- unsigned char c = hex[j];
- if ((c < '0' || c > '9') && (c < 'A' || c > 'F') && (c < 'a' || c > 'f'))
- {
- return 0;
- }
- }
- return 1;
-}
-
-/* Convert single hex digit */
-static int
-ConvertHex2Int(char c)
-{
- return (c >= '0' && c <= '9') ? (c)-'0' :
- (c >= 'A' && c <= 'F') ? (c)-'A' + 10 :
- (c >= 'a' && c <= 'f') ? (c)-'a' + 10 : 0;
-}
-
-/* Convert hex encoded string to binary */
-static void
-ConvertHex2Bin(const unsigned char* hex, int len, unsigned char* bin)
-{
- int j;
- for (j = 0; j < len; j += 2)
- {
- bin[j / 2] = (ConvertHex2Int(hex[j]) << 4) | ConvertHex2Int(hex[j + 1]);
- }
-}
-
-static unsigned char padding[] =
- "\x28\xBF\x4E\x5E\x4E\x75\x8A\x41\x64\x00\x4E\x56\xFF\xFA\x01\x08\x2E\x2E\x00\xB6\xD0\x68\x3E\x80\x2F\x0C\xA9\xFE\x64\x53\x69\x7A";
-
-/* --- Codec Descriptor Table --- */
-
-#define CIPHER_PARAMS_SENTINEL { "", 0, 0, 0, 0 }
-#define CIPHER_PAGE1_OFFSET 24
-
-typedef struct _CipherParams
-{
- char* m_name;
- int m_value;
- int m_default;
- int m_minValue;
- int m_maxValue;
-} CipherParams;
-
-/*
-** Common configuration parameters
-**
-** - cipher : default cipher type
-** - hmac_check : flag whether page hmac should be verified on read
-*/
-
-static CipherParams commonParams[] =
-{
- { "cipher", CODEC_TYPE, CODEC_TYPE, 1, CODEC_TYPE_MAX },
- { "hmac_check", 1, 1, 0, 1 },
- CIPHER_PARAMS_SENTINEL
-};
-
-/*
-** Configuration parameters for "aes128cbc"
-**
-** - legacy mode : compatibility with first version (page 1 encrypted)
-** possible values: 1 = yes, 0 = no (default)
-*/
-
-#ifdef WXSQLITE3_USE_OLD_ENCRYPTION_SCHEME
-#define AES128_LEGACY_DEFAULT 1
-#else
-#define AES128_LEGACY_DEFAULT 0
-#endif
-
-static CipherParams aes128Params[] =
-{
- { "legacy", AES128_LEGACY_DEFAULT, AES128_LEGACY_DEFAULT, 0, 1 },
- { "legacy_page_size", 0, 0, 0, SQLITE_MAX_PAGE_SIZE },
- CIPHER_PARAMS_SENTINEL
-};
-
-/*
-** Configuration parameters for "aes256cbc"
-**
-** - legacy mode : compatibility with first version (page 1 encrypted)
-** possible values: 1 = yes, 0 = no (default)
-** - kdf_iter : number of iterations for key derivation
-*/
-
-#ifdef WXSQLITE3_USE_OLD_ENCRYPTION_SCHEME
-#define AES256_LEGACY_DEFAULT 1
-#else
-#define AES256_LEGACY_DEFAULT 0
-#endif
-
-static CipherParams aes256Params[] =
-{
- { "legacy", AES256_LEGACY_DEFAULT, AES256_LEGACY_DEFAULT, 0, 1 },
- { "legacy_page_size", 0, 0, 0, SQLITE_MAX_PAGE_SIZE },
- { "kdf_iter", CODEC_SHA_ITER, CODEC_SHA_ITER, 1, 0x7fffffff },
- CIPHER_PARAMS_SENTINEL
-};
-
-/*
-** Configuration parameters for "chacha20"
-**
-** - legacy mode : compatibility with original sqleet
-** (page 1 encrypted, kdf_iter = 12345)
-** possible values: 1 = yes, 0 = no
-** - kdf_iter : number of iterations for key derivation
-*/
-
-#ifdef WXSQLITE3_USE_SQLEET_LEGACY
-#define CHACHA20_LEGACY_DEFAULT 1
-#else
-#define CHACHA20_LEGACY_DEFAULT 0
-#endif
-
-#define CHACHA20_KDF_ITER_DEFAULT 64007
-#define SQLEET_KDF_ITER 12345
-#define CHACHA20_LEGACY_PAGE_SIZE 4096
-
-static CipherParams chacha20Params[] =
-{
- { "legacy", CHACHA20_LEGACY_DEFAULT, CHACHA20_LEGACY_DEFAULT, 0, 1 },
- { "legacy_page_size", CHACHA20_LEGACY_PAGE_SIZE, CHACHA20_LEGACY_PAGE_SIZE, 0, SQLITE_MAX_PAGE_SIZE },
- { "kdf_iter", CHACHA20_KDF_ITER_DEFAULT, CHACHA20_KDF_ITER_DEFAULT, 1, 0x7fffffff },
- CIPHER_PARAMS_SENTINEL
-};
-
-/*
-** Configuration parameters for "sqlcipher"
-**
-** - kdf_iter : number of iterations for key derivation
-** - fast_kdf_iter : number of iterations for hmac key
-** - hmac_use : flag whether to use hmac
-** - hmac_pgno : storage type for page number in hmac (native, le, be)
-** - hmac_salt_mask : mask byte for hmac salt
-*/
-
-#define SQLCIPHER_FAST_KDF_ITER 2
-#define SQLCIPHER_HMAC_USE 1
-#define SQLCIPHER_HMAC_PGNO_LE 1
-#define SQLCIPHER_HMAC_PGNO_BE 2
-#define SQLCIPHER_HMAC_PGNO_NATIVE 0
-#define SQLCIPHER_HMAC_SALT_MASK 0x3a
-
-#define SQLCIPHER_KDF_ALGORITHM_SHA1 0
-#define SQLCIPHER_KDF_ALGORITHM_SHA256 1
-#define SQLCIPHER_KDF_ALGORITHM_SHA512 2
-
-#define SQLCIPHER_HMAC_ALGORITHM_SHA1 0
-#define SQLCIPHER_HMAC_ALGORITHM_SHA256 1
-#define SQLCIPHER_HMAC_ALGORITHM_SHA512 2
-
-#define SQLCIPHER_VERSION_1 1
-#define SQLCIPHER_VERSION_2 2
-#define SQLCIPHER_VERSION_3 3
-#define SQLCIPHER_VERSION_4 4
-#define SQLCIPHER_VERSION_MAX SQLCIPHER_VERSION_4
-
-#ifndef SQLCIPHER_VERSION_DEFAULT
-#define SQLCIPHER_VERSION_DEFAULT SQLCIPHER_VERSION_4
-#endif
-
-#ifdef WXSQLITE3_USE_SQLCIPHER_LEGACY
-#define SQLCIPHER_LEGACY_DEFAULT SQLCIPHER_VERSION_DEFAULT
-#else
-#define SQLCIPHER_LEGACY_DEFAULT 0
-#endif
-
-#if SQLCIPHER_VERSION_DEFAULT < SQLCIPHER_VERSION_4
-#define SQLCIPHER_KDF_ITER 64000
-#define SQLCIPHER_LEGACY_PAGE_SIZE 1024
-#define SQLCIPHER_KDF_ALGORITHM SQLCIPHER_KDF_ALGORITHM_SHA1
-#define SQLCIPHER_HMAC_ALGORITHM SQLCIPHER_HMAC_ALGORITHM_SHA1
-#else
-#define SQLCIPHER_KDF_ITER 256000
-#define SQLCIPHER_LEGACY_PAGE_SIZE 4096
-#define SQLCIPHER_KDF_ALGORITHM SQLCIPHER_KDF_ALGORITHM_SHA512
-#define SQLCIPHER_HMAC_ALGORITHM SQLCIPHER_HMAC_ALGORITHM_SHA512
-#endif
-
-static CipherParams sqlCipherParams[] =
-{
- { "legacy", SQLCIPHER_LEGACY_DEFAULT, SQLCIPHER_LEGACY_DEFAULT, 0, SQLCIPHER_VERSION_MAX },
- { "legacy_page_size", SQLCIPHER_LEGACY_PAGE_SIZE, SQLCIPHER_LEGACY_PAGE_SIZE, 0, SQLITE_MAX_PAGE_SIZE },
- { "kdf_iter", SQLCIPHER_KDF_ITER, SQLCIPHER_KDF_ITER, 1, 0x7fffffff },
- { "fast_kdf_iter", SQLCIPHER_FAST_KDF_ITER, SQLCIPHER_FAST_KDF_ITER, 1, 0x7fffffff },
- { "hmac_use", SQLCIPHER_HMAC_USE, SQLCIPHER_HMAC_USE, 0, 1 },
- { "hmac_pgno", SQLCIPHER_HMAC_PGNO_LE, SQLCIPHER_HMAC_PGNO_LE, 0, 2 },
- { "hmac_salt_mask", SQLCIPHER_HMAC_SALT_MASK, SQLCIPHER_HMAC_SALT_MASK, 0x00, 0xff },
- { "kdf_algorithm", SQLCIPHER_KDF_ALGORITHM, SQLCIPHER_KDF_ALGORITHM, 0, 2 },
- { "hmac_algorithm", SQLCIPHER_HMAC_ALGORITHM, SQLCIPHER_HMAC_ALGORITHM, 0, 2 },
- { "plaintext_header_size", 0, 0, 0, 100 /* restrict to db header size */ },
- CIPHER_PARAMS_SENTINEL
-};
-
-/*
-** Configuration parameters for "rc4"
-**
-** - legacy mode : compatibility with System.Data.SQLite encryption
-** (page 1 fully encrypted)
-** only legacy mode is supported
-** possible value: 1 = yes
-*/
-
-#define RC4_LEGACY_DEFAULT 1
-
-static CipherParams rc4Params[] =
-{
- { "legacy", RC4_LEGACY_DEFAULT, RC4_LEGACY_DEFAULT, RC4_LEGACY_DEFAULT, RC4_LEGACY_DEFAULT },
- { "legacy_page_size", 0, 0, 0, SQLITE_MAX_PAGE_SIZE },
- CIPHER_PARAMS_SENTINEL
-};
-
-static int
-GetCipherParameter(CipherParams* cipherParams, const char* paramName)
-{
- int value = -1;
- for (; strlen(cipherParams->m_name) > 0; ++cipherParams)
- {
- if (sqlite3_stricmp(paramName, cipherParams->m_name) == 0) break;
- }
- if (strlen(cipherParams->m_name) > 0)
- {
- value = cipherParams->m_value;
- cipherParams->m_value = cipherParams->m_default;
- }
- return value;
-}
-
-/* --- AES 128-bit cipher (wxSQLite3) --- */
-#if HAVE_CIPHER_AES_128_CBC
-typedef struct _AES128Cipher
-{
- int m_legacy;
- int m_legacyPageSize;
- int m_keyLength;
- uint8_t m_key[KEYLENGTH_AES128];
- Rijndael* m_aes;
-} AES128Cipher;
-
-static void*
-AllocateAES128Cipher(sqlite3* db)
-{
- AES128Cipher* aesCipher = (AES128Cipher*) sqlite3_malloc(sizeof(AES128Cipher));
- if (aesCipher != NULL)
- {
- aesCipher->m_aes = (Rijndael*) sqlite3_malloc(sizeof(Rijndael));
- if (aesCipher->m_aes != NULL)
- {
- aesCipher->m_keyLength = KEYLENGTH_AES128;
- memset(aesCipher->m_key, 0, KEYLENGTH_AES128);
- RijndaelCreate(aesCipher->m_aes);
- }
- else
- {
- sqlite3_free(aesCipher);
- aesCipher = NULL;
- }
- }
- if (aesCipher != NULL)
- {
- CipherParams* cipherParams = (CipherParams*) GetCipherParams(db, CODEC_TYPE_AES128);
- aesCipher->m_legacy = GetCipherParameter(cipherParams, "legacy");
- aesCipher->m_legacyPageSize = GetCipherParameter(cipherParams, "legacy_page_size");
- }
- return aesCipher;
-}
-
-static void
-FreeAES128Cipher(void* cipher)
-{
- AES128Cipher* localCipher = (AES128Cipher*) cipher;
- memset(localCipher->m_aes, 0, sizeof(Rijndael));
- sqlite3_free(localCipher->m_aes);
- memset(localCipher, 0, sizeof(AES128Cipher));
- sqlite3_free(localCipher);
-}
-
-static void
-CloneAES128Cipher(void* cipherTo, void* cipherFrom)
-{
- AES128Cipher* aesCipherTo = (AES128Cipher*) cipherTo;
- AES128Cipher* aesCipherFrom = (AES128Cipher*) cipherFrom;
- aesCipherTo->m_legacy = aesCipherFrom->m_legacy;
- aesCipherTo->m_legacyPageSize = aesCipherFrom->m_legacyPageSize;
- aesCipherTo->m_keyLength = aesCipherFrom->m_keyLength;
- memcpy(aesCipherTo->m_key, aesCipherFrom->m_key, KEYLENGTH_AES128);
- RijndaelInvalidate(aesCipherTo->m_aes);
- RijndaelInvalidate(aesCipherFrom->m_aes);
-}
-
-static int
-GetLegacyAES128Cipher(void* cipher)
-{
- AES128Cipher* aesCipher = (AES128Cipher*)cipher;
- return aesCipher->m_legacy;
-}
-
-static int
-GetPageSizeAES128Cipher(void* cipher)
-{
- AES128Cipher* aesCipher = (AES128Cipher*) cipher;
- int pageSize = 0;
- if (aesCipher->m_legacy != 0)
- {
- pageSize = aesCipher->m_legacyPageSize;
- if ((pageSize < 512) || (pageSize > SQLITE_MAX_PAGE_SIZE) || (((pageSize - 1) & pageSize) != 0))
- {
- pageSize = 0;
- }
- }
- return pageSize;
-}
-
-static int
-GetReservedAES128Cipher(void* cipher)
-{
- return 0;
-}
-
-static unsigned char*
-GetSaltAES128Cipher(void* cipher)
-{
- return NULL;
-}
-
-static void
-GenerateKeyAES128Cipher(void* cipher, BtShared* pBt, char* userPassword, int passwordLength, int rekey, unsigned char* cipherSalt)
-{
- AES128Cipher* aesCipher = (AES128Cipher*) cipher;
- unsigned char userPad[32];
- unsigned char ownerPad[32];
- unsigned char ownerKey[32];
-
- unsigned char mkey[MD5_HASHBYTES];
- unsigned char digest[MD5_HASHBYTES];
- int keyLength = MD5_HASHBYTES;
- int i, j, k;
- MD5_CTX ctx;
-
- /* Pad passwords */
- CodecPadPassword(userPassword, passwordLength, userPad);
- CodecPadPassword("", 0, ownerPad);
-
- /* Compute owner key */
-
- MD5_Init(&ctx);
- MD5_Update(&ctx, ownerPad, 32);
- MD5_Final(digest, &ctx);
-
- /* only use for the input as many bit as the key consists of */
- for (k = 0; k < 50; ++k)
- {
- MD5_Init(&ctx);
- MD5_Update(&ctx, digest, keyLength);
- MD5_Final(digest, &ctx);
- }
- memcpy(ownerKey, userPad, 32);
- for (i = 0; i < 20; ++i)
- {
- for (j = 0; j < keyLength; ++j)
- {
- mkey[j] = (digest[j] ^ i);
- }
- CodecRC4(mkey, keyLength, ownerKey, 32, ownerKey);
- }
-
- /* Compute encryption key */
-
- MD5_Init(&ctx);
- MD5_Update(&ctx, userPad, 32);
- MD5_Update(&ctx, ownerKey, 32);
- MD5_Final(digest, &ctx);
-
- /* only use the really needed bits as input for the hash */
- for (k = 0; k < 50; ++k)
- {
- MD5_Init(&ctx);
- MD5_Update(&ctx, digest, keyLength);
- MD5_Final(digest, &ctx);
- }
- memcpy(aesCipher->m_key, digest, aesCipher->m_keyLength);
-}
-
-static int
-EncryptPageAES128Cipher(void* cipher, int page, unsigned char* data, int len, int reserved)
-{
- AES128Cipher* aesCipher = (AES128Cipher*) cipher;
- int rc = SQLITE_OK;
- if (aesCipher->m_legacy != 0)
- {
- /* Use the legacy encryption scheme */
- unsigned char* key = aesCipher->m_key;
- rc = CodecAES128(aesCipher->m_aes, page, 1, key, data, len, data);
- }
- else
- {
- unsigned char dbHeader[8];
- int offset = 0;
- unsigned char* key = aesCipher->m_key;
- if (page == 1)
- {
- /* Save the header bytes remaining unencrypted */
- memcpy(dbHeader, data + 16, 8);
- offset = 16;
- CodecAES128(aesCipher->m_aes, page, 1, key, data, 16, data);
- }
- rc = CodecAES128(aesCipher->m_aes, page, 1, key, data + offset, len - offset, data + offset);
- if (page == 1)
- {
- /* Move the encrypted header bytes 16..23 to a safe position */
- memcpy(data + 8, data + 16, 8);
- /* Restore the unencrypted header bytes 16..23 */
- memcpy(data + 16, dbHeader, 8);
- }
- }
- return rc;
-}
-
-static int
-DecryptPageAES128Cipher(void* cipher, int page, unsigned char* data, int len, int reserved, int hmacCheck)
-{
- AES128Cipher* aesCipher = (AES128Cipher*) cipher;
- int rc = SQLITE_OK;
- if (aesCipher->m_legacy != 0)
- {
- /* Use the legacy encryption scheme */
- rc = CodecAES128(aesCipher->m_aes, page, 0, aesCipher->m_key, data, len, data);
- }
- else
- {
- unsigned char dbHeader[8];
- int dbPageSize;
- int offset = 0;
- if (page == 1)
- {
- /* Save (unencrypted) header bytes 16..23 */
- memcpy(dbHeader, data + 16, 8);
- /* Determine page size */
- dbPageSize = (dbHeader[0] << 8) | (dbHeader[1] << 16);
- /* Check whether the database header is valid */
- /* If yes, the database follows the new encryption scheme, otherwise use the previous encryption scheme */
- if ((dbPageSize >= 512) && (dbPageSize <= SQLITE_MAX_PAGE_SIZE) && (((dbPageSize - 1) & dbPageSize) == 0) &&
- (dbHeader[5] == 0x40) && (dbHeader[6] == 0x20) && (dbHeader[7] == 0x20))
- {
- /* Restore encrypted bytes 16..23 for new encryption scheme */
- memcpy(data + 16, data + 8, 8);
- offset = 16;
- }
- }
- rc = CodecAES128(aesCipher->m_aes, page, 0, aesCipher->m_key, data + offset, len - offset, data + offset);
- if (page == 1 && offset != 0)
- {
- /* Verify the database header */
- if (memcmp(dbHeader, data + 16, 8) == 0)
- {
- memcpy(data, SQLITE_FILE_HEADER, 16);
- }
- }
- }
- return rc;
-}
-#endif
-
-/* --- AES 256-bit cipher (wxSQLite3) --- */
-#if HAVE_CIPHER_AES_256_CBC
-typedef struct _AES256Cipher
-{
- int m_legacy;
- int m_legacyPageSize;
- int m_kdfIter;
- int m_keyLength;
- uint8_t m_key[KEYLENGTH_AES256];
- Rijndael* m_aes;
-} AES256Cipher;
-
-static void*
-AllocateAES256Cipher(sqlite3* db)
-{
- AES256Cipher* aesCipher = (AES256Cipher*) sqlite3_malloc(sizeof(AES256Cipher));
- if (aesCipher != NULL)
- {
- aesCipher->m_aes = (Rijndael*) sqlite3_malloc(sizeof(Rijndael));
- if (aesCipher->m_aes != NULL)
- {
- aesCipher->m_keyLength = KEYLENGTH_AES256;
- memset(aesCipher->m_key, 0, KEYLENGTH_AES256);
- RijndaelCreate(aesCipher->m_aes);
- }
- else
- {
- sqlite3_free(aesCipher);
- aesCipher = NULL;
- }
- }
- if (aesCipher != NULL)
- {
- CipherParams* cipherParams = (CipherParams*) GetCipherParams(db, CODEC_TYPE_AES256);
- aesCipher->m_legacy = GetCipherParameter(cipherParams, "legacy");
- aesCipher->m_legacyPageSize = GetCipherParameter(cipherParams, "legacy_page_size");
- aesCipher->m_kdfIter = GetCipherParameter(cipherParams, "kdf_iter");
- }
- return aesCipher;
-}
-
-static void
-FreeAES256Cipher(void* cipher)
-{
- AES256Cipher* aesCipher = (AES256Cipher*) cipher;
- memset(aesCipher->m_aes, 0, sizeof(Rijndael));
- sqlite3_free(aesCipher->m_aes);
- memset(aesCipher, 0, sizeof(AES256Cipher));
- sqlite3_free(aesCipher);
-}
-
-static void
-CloneAES256Cipher(void* cipherTo, void* cipherFrom)
-{
- AES256Cipher* aesCipherTo = (AES256Cipher*) cipherTo;
- AES256Cipher* aesCipherFrom = (AES256Cipher*) cipherFrom;
- aesCipherTo->m_legacy = aesCipherFrom->m_legacy;
- aesCipherTo->m_legacyPageSize = aesCipherFrom->m_legacyPageSize;
- aesCipherTo->m_kdfIter = aesCipherFrom->m_kdfIter;
- aesCipherTo->m_keyLength = aesCipherFrom->m_keyLength;
- memcpy(aesCipherTo->m_key, aesCipherFrom->m_key, KEYLENGTH_AES256);
- RijndaelInvalidate(aesCipherTo->m_aes);
- RijndaelInvalidate(aesCipherFrom->m_aes);
-}
-
-static int
-GetLegacyAES256Cipher(void* cipher)
-{
- AES256Cipher* aesCipher = (AES256Cipher*)cipher;
- return aesCipher->m_legacy;
-}
-
-static int
-GetPageSizeAES256Cipher(void* cipher)
-{
- AES256Cipher* aesCipher = (AES256Cipher*) cipher;
- int pageSize = 0;
- if (aesCipher->m_legacy != 0)
- {
- pageSize = aesCipher->m_legacyPageSize;
- if ((pageSize < 512) || (pageSize > SQLITE_MAX_PAGE_SIZE) || (((pageSize - 1) & pageSize) != 0))
- {
- pageSize = 0;
- }
- }
- return pageSize;
-}
-
-static int
-GetReservedAES256Cipher(void* cipher)
-{
- return 0;
-}
-
-static unsigned char*
-GetSaltAES256Cipher(void* cipher)
-{
- return NULL;
-}
-
-static void
-GenerateKeyAES256Cipher(void* cipher, BtShared* pBt, char* userPassword, int passwordLength, int rekey, unsigned char* cipherSalt)
-{
- AES256Cipher* aesCipher = (AES256Cipher*) cipher;
- unsigned char userPad[32];
- unsigned char digest[KEYLENGTH_AES256];
- int keyLength = KEYLENGTH_AES256;
- int k;
-
- /* Pad password */
- CodecPadPassword(userPassword, passwordLength, userPad);
-
- sha256(userPad, 32, digest);
- for (k = 0; k < CODEC_SHA_ITER; ++k)
- {
- sha256(digest, KEYLENGTH_AES256, digest);
- }
- memcpy(aesCipher->m_key, digest, aesCipher->m_keyLength);
-}
-
-static int
-EncryptPageAES256Cipher(void* cipher, int page, unsigned char* data, int len, int reserved)
-{
- AES256Cipher* aesCipher = (AES256Cipher*) cipher;
- int rc = SQLITE_OK;
- if (aesCipher->m_legacy != 0)
- {
- /* Use the legacy encryption scheme */
- unsigned char* key = aesCipher->m_key;
- rc = CodecAES256(aesCipher->m_aes, page, 1, key, data, len, data);
- }
- else
- {
- unsigned char dbHeader[8];
- int offset = 0;
- unsigned char* key = aesCipher->m_key;
- if (page == 1)
- {
- /* Save the header bytes remaining unencrypted */
- memcpy(dbHeader, data + 16, 8);
- offset = 16;
- CodecAES256(aesCipher->m_aes, page, 1, key, data, 16, data);
- }
- rc = CodecAES256(aesCipher->m_aes, page, 1, key, data + offset, len - offset, data + offset);
- if (page == 1)
- {
- /* Move the encrypted header bytes 16..23 to a safe position */
- memcpy(data + 8, data + 16, 8);
- /* Restore the unencrypted header bytes 16..23 */
- memcpy(data + 16, dbHeader, 8);
- }
- }
- return rc;
-}
-
-static int
-DecryptPageAES256Cipher(void* cipher, int page, unsigned char* data, int len, int reserved, int hmacCheck)
-{
- AES256Cipher* aesCipher = (AES256Cipher*) cipher;
- int rc = SQLITE_OK;
- if (aesCipher->m_legacy != 0)
- {
- /* Use the legacy encryption scheme */
- rc = CodecAES256(aesCipher->m_aes, page, 0, aesCipher->m_key, data, len, data);
- }
- else
- {
- unsigned char dbHeader[8];
- int dbPageSize;
- int offset = 0;
- if (page == 1)
- {
- /* Save (unencrypted) header bytes 16..23 */
- memcpy(dbHeader, data + 16, 8);
- /* Determine page size */
- dbPageSize = (dbHeader[0] << 8) | (dbHeader[1] << 16);
- /* Check whether the database header is valid */
- /* If yes, the database follows the new encryption scheme, otherwise use the previous encryption scheme */
- if ((dbPageSize >= 512) && (dbPageSize <= SQLITE_MAX_PAGE_SIZE) && (((dbPageSize - 1) & dbPageSize) == 0) &&
- (dbHeader[5] == 0x40) && (dbHeader[6] == 0x20) && (dbHeader[7] == 0x20))
- {
- /* Restore encrypted bytes 16..23 for new encryption scheme */
- memcpy(data + 16, data + 8, 8);
- offset = 16;
- }
- }
- rc = CodecAES256(aesCipher->m_aes, page, 0, aesCipher->m_key, data + offset, len - offset, data + offset);
- if (page == 1 && offset != 0)
- {
- /* Verify the database header */
- if (memcmp(dbHeader, data + 16, 8) == 0)
- {
- memcpy(data, SQLITE_FILE_HEADER, 16);
- }
- }
- }
- return rc;
-}
-#endif
-
-/* --- ChaCha20-Poly1305 cipher (plus sqleet variant) --- */
-#if HAVE_CIPHER_CHACHA20 || HAVE_CIPHER_SQLCIPHER
-#define KEYLENGTH_CHACHA20 32
-#define SALTLENGTH_CHACHA20 16
-#define PAGE_NONCE_LEN_CHACHA20 16
-#define PAGE_TAG_LEN_CHACHA20 16
-#define PAGE_RESERVED_CHACHA20 (PAGE_NONCE_LEN_CHACHA20 + PAGE_TAG_LEN_CHACHA20)
-
-typedef struct _chacha20Cipher
-{
- int m_legacy;
- int m_legacyPageSize;
- int m_kdfIter;
- int m_keyLength;
- uint8_t m_key[KEYLENGTH_CHACHA20];
- uint8_t m_salt[SALTLENGTH_CHACHA20];
-} ChaCha20Cipher;
-
-static void*
-AllocateChaCha20Cipher(sqlite3* db)
-{
- ChaCha20Cipher* chacha20Cipher = (ChaCha20Cipher*) sqlite3_malloc(sizeof(ChaCha20Cipher));
- if (chacha20Cipher != NULL)
- {
- memset(chacha20Cipher, 0, sizeof(ChaCha20Cipher));
- chacha20Cipher->m_keyLength = KEYLENGTH_CHACHA20;
- memset(chacha20Cipher->m_key, 0, KEYLENGTH_CHACHA20);
- memset(chacha20Cipher->m_salt, 0, SALTLENGTH_CHACHA20);
- }
- if (chacha20Cipher != NULL)
- {
- CipherParams* cipherParams = (CipherParams*) GetCipherParams(db, CODEC_TYPE_CHACHA20);
- chacha20Cipher->m_legacy = GetCipherParameter(cipherParams, "legacy");
- chacha20Cipher->m_legacyPageSize = GetCipherParameter(cipherParams, "legacy_page_size");
- chacha20Cipher->m_kdfIter = GetCipherParameter(cipherParams, "kdf_iter");
- if (chacha20Cipher->m_legacy != 0)
- {
- chacha20Cipher->m_kdfIter = SQLEET_KDF_ITER;
- }
- }
- return chacha20Cipher;
-}
-
-static void
-FreeChaCha20Cipher(void* cipher)
-{
- ChaCha20Cipher* chacha20Cipher = (ChaCha20Cipher*) cipher;
- memset(chacha20Cipher, 0, sizeof(ChaCha20Cipher));
- sqlite3_free(chacha20Cipher);
-}
-
-static void
-CloneChaCha20Cipher(void* cipherTo, void* cipherFrom)
-{
- ChaCha20Cipher* chacha20CipherTo = (ChaCha20Cipher*) cipherTo;
- ChaCha20Cipher* chacha20CipherFrom = (ChaCha20Cipher*) cipherFrom;
- chacha20CipherTo->m_legacy = chacha20CipherFrom->m_legacy;
- chacha20CipherTo->m_legacyPageSize = chacha20CipherFrom->m_legacyPageSize;
- chacha20CipherTo->m_kdfIter = chacha20CipherFrom->m_kdfIter;
- chacha20CipherTo->m_keyLength = chacha20CipherFrom->m_keyLength;
- memcpy(chacha20CipherTo->m_key, chacha20CipherFrom->m_key, KEYLENGTH_CHACHA20);
- memcpy(chacha20CipherTo->m_salt, chacha20CipherFrom->m_salt, SALTLENGTH_CHACHA20);
-}
-
-static int
-GetLegacyChaCha20Cipher(void* cipher)
-{
- ChaCha20Cipher* chacha20Cipher = (ChaCha20Cipher*)cipher;
- return chacha20Cipher->m_legacy;
-}
-
-static int
-GetPageSizeChaCha20Cipher(void* cipher)
-{
- ChaCha20Cipher* chacha20Cipher = (ChaCha20Cipher*) cipher;
- int pageSize = 0;
- if (chacha20Cipher->m_legacy != 0)
- {
- pageSize = chacha20Cipher->m_legacyPageSize;
- if ((pageSize < 512) || (pageSize > SQLITE_MAX_PAGE_SIZE) || (((pageSize - 1) & pageSize) != 0))
- {
- pageSize = 0;
- }
- }
- return pageSize;
-}
-
-static int
-GetReservedChaCha20Cipher(void* cipher)
-{
- return PAGE_RESERVED_CHACHA20;
-}
-
-static unsigned char*
-GetSaltChaCha20Cipher(void* cipher)
-{
- ChaCha20Cipher* chacha20Cipher = (ChaCha20Cipher*) cipher;
- return chacha20Cipher->m_salt;
-}
-
-static void
-GenerateKeyChaCha20Cipher(void* cipher, BtShared* pBt, char* userPassword, int passwordLength, int rekey, unsigned char* cipherSalt)
-{
- ChaCha20Cipher* chacha20Cipher = (ChaCha20Cipher*) cipher;
- int bypass = 0;
-
- Pager *pPager = pBt->pPager;
- sqlite3_file* fd = (isOpen(pPager->fd)) ? pPager->fd : NULL;
-
- int keyOnly = 1;
- if (rekey || fd == NULL || sqlite3OsRead(fd, chacha20Cipher->m_salt, SALTLENGTH_CHACHA20, 0) != SQLITE_OK)
- {
- chacha20_rng(chacha20Cipher->m_salt, SALTLENGTH_CHACHA20);
- keyOnly = 0;
- }
-
- /* Bypass key derivation if the key string starts with "raw:" */
- if (passwordLength > 4 && !memcmp(userPassword, "raw:", 4))
- {
- const int nRaw = passwordLength - 4;
- const unsigned char* zRaw = (const unsigned char*) userPassword + 4;
- switch (nRaw)
- {
- /* Binary key (and salt) */
- case KEYLENGTH_CHACHA20 + SALTLENGTH_CHACHA20:
- if (!keyOnly)
- {
- memcpy(chacha20Cipher->m_salt, zRaw + KEYLENGTH_CHACHA20, SALTLENGTH_CHACHA20);
- }
- /* fall-through */
- case KEYLENGTH_CHACHA20:
- memcpy(chacha20Cipher->m_key, zRaw, KEYLENGTH_CHACHA20);
- bypass = 1;
- break;
-
- /* Hex-encoded key */
- case 2 * KEYLENGTH_CHACHA20:
- if (IsHexKey(zRaw, nRaw) != 0)
- {
- ConvertHex2Bin(zRaw, nRaw, chacha20Cipher->m_key);
- bypass = 1;
- }
- break;
-
- /* Hex-encoded key and salt */
- case 2 * (KEYLENGTH_CHACHA20 + SALTLENGTH_CHACHA20):
- if (IsHexKey(zRaw, nRaw) != 0)
- {
- ConvertHex2Bin(zRaw, 2 * KEYLENGTH_CHACHA20, chacha20Cipher->m_key);
- if (!keyOnly)
- {
- ConvertHex2Bin(zRaw + 2 * KEYLENGTH_CHACHA20, 2 * SALTLENGTH_CHACHA20, chacha20Cipher->m_salt);
- }
- bypass = 1;
- }
- break;
-
- default:
- break;
- }
- }
-
- if (!bypass)
- {
- fastpbkdf2_hmac_sha256((unsigned char*)userPassword, passwordLength,
- chacha20Cipher->m_salt, SALTLENGTH_CHACHA20,
- chacha20Cipher->m_kdfIter,
- chacha20Cipher->m_key, KEYLENGTH_CHACHA20);
- }
-}
-
-static int
-EncryptPageChaCha20Cipher(void* cipher, int page, unsigned char* data, int len, int reserved)
-{
- ChaCha20Cipher* chacha20Cipher = (ChaCha20Cipher*) cipher;
- int rc = SQLITE_OK;
- int legacy = chacha20Cipher->m_legacy;
- int nReserved = (reserved == 0 && legacy == 0) ? 0 : GetReservedChaCha20Cipher(cipher);
- int n = len - nReserved;
-
- /* Generate one-time keys */
- uint8_t otk[64];
- uint32_t counter;
- int offset;
-
- /* Check whether number of required reserved bytes and actually reserved bytes match */
- if ((legacy == 0 && nReserved > reserved) || ((legacy != 0 && nReserved != reserved)))
- {
- return SQLITE_CORRUPT;
- }
-
- if (nReserved > 0)
- {
- /* Encrypt and authenticate */
- memset(otk, 0, 64);
- chacha20_rng(data + n, PAGE_NONCE_LEN_CHACHA20);
- counter = LOAD32_LE(data + n + PAGE_NONCE_LEN_CHACHA20 - 4) ^ page;
- chacha20_xor(otk, 64, chacha20Cipher->m_key, data + n, counter);
-
- offset = (page == 1) ? (chacha20Cipher->m_legacy != 0) ? 0 : CIPHER_PAGE1_OFFSET : 0;
- chacha20_xor(data + offset, n - offset, otk + 32, data + n, counter + 1);
- if (page == 1)
- {
- memcpy(data, chacha20Cipher->m_salt, SALTLENGTH_CHACHA20);
- }
- poly1305(data, n + PAGE_NONCE_LEN_CHACHA20, otk, data + n + PAGE_NONCE_LEN_CHACHA20);
- }
- else
- {
- /* Encrypt only */
- uint8_t nonce[PAGE_NONCE_LEN_CHACHA20];
- memset(otk, 0, 64);
- CodecGenerateInitialVector(page, nonce);
- counter = LOAD32_LE(&nonce[PAGE_NONCE_LEN_CHACHA20 - 4]) ^ page;
- chacha20_xor(otk, 64, chacha20Cipher->m_key, nonce, counter);
-
- /* Encrypt */
- offset = (page == 1) ? (chacha20Cipher->m_legacy != 0) ? 0 : CIPHER_PAGE1_OFFSET : 0;
- chacha20_xor(data + offset, n - offset, otk + 32, nonce, counter + 1);
- if (page == 1)
- {
- memcpy(data, chacha20Cipher->m_salt, SALTLENGTH_CHACHA20);
- }
- }
-
- return rc;
-}
-
-static int
-DecryptPageChaCha20Cipher(void* cipher, int page, unsigned char* data, int len, int reserved, int hmacCheck)
-{
- ChaCha20Cipher* chacha20Cipher = (ChaCha20Cipher*) cipher;
- int rc = SQLITE_OK;
- int legacy = chacha20Cipher->m_legacy;
- int nReserved = (reserved == 0 && legacy == 0) ? 0 : GetReservedChaCha20Cipher(cipher);
- int n = len - nReserved;
-
- /* Generate one-time keys */
- uint8_t otk[64];
- uint32_t counter;
- uint8_t tag[16];
- int offset;
-
- /* Check whether number of required reserved bytes and actually reserved bytes match */
- if ((legacy == 0 && nReserved > reserved) || ((legacy != 0 && nReserved != reserved)))
- {
- return SQLITE_CORRUPT;
- }
-
- if (nReserved > 0)
- {
- /* Decrypt and verify MAC */
- memset(otk, 0, 64);
- counter = LOAD32_LE(data + n + PAGE_NONCE_LEN_CHACHA20 - 4) ^ page;
- chacha20_xor(otk, 64, chacha20Cipher->m_key, data + n, counter);
-
- /* Determine MAC and decrypt */
- poly1305(data, n + PAGE_NONCE_LEN_CHACHA20, otk, tag);
- offset = (page == 1) ? (chacha20Cipher->m_legacy != 0) ? 0 : CIPHER_PAGE1_OFFSET : 0;
- chacha20_xor(data + offset, n - offset, otk + 32, data + n, counter + 1);
-
- if (hmacCheck != 0)
- {
- /* Verify the MAC */
- if (poly1305_tagcmp(data + n + PAGE_NONCE_LEN_CHACHA20, tag))
- {
- /* Bad MAC */
- rc = SQLITE_CORRUPT;
- }
- }
- if (page == 1 && rc == SQLITE_OK)
- {
- memcpy(data, SQLITE_FILE_HEADER, 16);
- }
- }
- else
- {
- /* Decrypt only */
- uint8_t nonce[PAGE_NONCE_LEN_CHACHA20];
- memset(otk, 0, 64);
- CodecGenerateInitialVector(page, nonce);
- counter = LOAD32_LE(&nonce[PAGE_NONCE_LEN_CHACHA20 - 4]) ^ page;
- chacha20_xor(otk, 64, chacha20Cipher->m_key, nonce, counter);
-
- /* Decrypt */
- offset = (page == 1) ? (chacha20Cipher->m_legacy != 0) ? 0 : CIPHER_PAGE1_OFFSET : 0;
- chacha20_xor(data + offset, n - offset, otk + 32, nonce, counter + 1);
- if (page == 1)
- {
- memcpy(data, SQLITE_FILE_HEADER, 16);
- }
- }
-
- return rc;
-}
-#endif
-
-/* --- SQLCipher AES256CBC-HMAC cipher --- */
-#if HAVE_CIPHER_SQLCIPHER || HAVE_CIPHER_CHACHA20
-
-#define KEYLENGTH_SQLCIPHER 32
-#define SALTLENGTH_SQLCIPHER 16
-#define MAX_HMAC_LENGTH_SQLCIPHER SHA512_DIGEST_SIZE
-#define PAGE_NONCE_LEN_SQLCIPHER 16
-
-typedef struct _sqlCipherCipher
-{
- int m_legacy;
- int m_legacyPageSize;
- int m_kdfIter;
- int m_fastKdfIter;
- int m_hmacUse;
- int m_hmacPgno;
- int m_hmacSaltMask;
- int m_kdfAlgorithm;
- int m_hmacAlgorithm;
- int m_plaintextHeaderSize;
- int m_keyLength;
- uint8_t m_key[KEYLENGTH_SQLCIPHER];
- uint8_t m_salt[SALTLENGTH_SQLCIPHER];
- uint8_t m_hmacKey[KEYLENGTH_SQLCIPHER];
- Rijndael* m_aes;
-} SQLCipherCipher;
-
-static void*
-AllocateSQLCipherCipher(sqlite3* db)
-{
- SQLCipherCipher* sqlCipherCipher = (SQLCipherCipher*) sqlite3_malloc(sizeof(SQLCipherCipher));
- if (sqlCipherCipher != NULL)
- {
- sqlCipherCipher->m_aes = (Rijndael*)sqlite3_malloc(sizeof(Rijndael));
- if (sqlCipherCipher->m_aes != NULL)
- {
- sqlCipherCipher->m_keyLength = KEYLENGTH_SQLCIPHER;
- memset(sqlCipherCipher->m_key, 0, KEYLENGTH_SQLCIPHER);
- memset(sqlCipherCipher->m_salt, 0, SALTLENGTH_SQLCIPHER);
- memset(sqlCipherCipher->m_hmacKey, 0, KEYLENGTH_SQLCIPHER);
- RijndaelCreate(sqlCipherCipher->m_aes);
- }
- else
- {
- sqlite3_free(sqlCipherCipher);
- sqlCipherCipher = NULL;
- }
- }
- if (sqlCipherCipher != NULL)
- {
- CipherParams* cipherParams = (CipherParams*) GetCipherParams(db, CODEC_TYPE_SQLCIPHER);
- sqlCipherCipher->m_legacy = GetCipherParameter(cipherParams, "legacy");
- sqlCipherCipher->m_legacyPageSize = GetCipherParameter(cipherParams, "legacy_page_size");
- sqlCipherCipher->m_kdfIter = GetCipherParameter(cipherParams, "kdf_iter");
- sqlCipherCipher->m_fastKdfIter = GetCipherParameter(cipherParams, "fast_kdf_iter");
- sqlCipherCipher->m_hmacUse = GetCipherParameter(cipherParams, "hmac_use");
- sqlCipherCipher->m_hmacPgno = GetCipherParameter(cipherParams, "hmac_pgno");
- sqlCipherCipher->m_hmacSaltMask = GetCipherParameter(cipherParams, "hmac_salt_mask");
- sqlCipherCipher->m_kdfAlgorithm = GetCipherParameter(cipherParams, "kdf_algorithm");
- sqlCipherCipher->m_hmacAlgorithm = GetCipherParameter(cipherParams, "hmac_algorithm");
- if (sqlCipherCipher->m_legacy >= SQLCIPHER_VERSION_4)
- {
- int plaintextHeaderSize = GetCipherParameter(cipherParams, "plaintext_header_size");
- sqlCipherCipher->m_plaintextHeaderSize = (plaintextHeaderSize >=0 && plaintextHeaderSize <= 100 && plaintextHeaderSize % 16 == 0) ? plaintextHeaderSize : 0;
- }
- else
- {
- sqlCipherCipher->m_plaintextHeaderSize = 0;
- }
- }
- return sqlCipherCipher;
-}
-
-static void
-FreeSQLCipherCipher(void* cipher)
-{
- SQLCipherCipher* sqlCipherCipher = (SQLCipherCipher*) cipher;
- memset(sqlCipherCipher->m_aes, 0, sizeof(Rijndael));
- sqlite3_free(sqlCipherCipher->m_aes);
- memset(sqlCipherCipher, 0, sizeof(SQLCipherCipher));
- sqlite3_free(sqlCipherCipher);
-}
-
-static void
-CloneSQLCipherCipher(void* cipherTo, void* cipherFrom)
-{
- SQLCipherCipher* sqlCipherCipherTo = (SQLCipherCipher*) cipherTo;
- SQLCipherCipher* sqlCipherCipherFrom = (SQLCipherCipher*) cipherFrom;
- sqlCipherCipherTo->m_legacy = sqlCipherCipherFrom->m_legacy;
- sqlCipherCipherTo->m_legacyPageSize = sqlCipherCipherFrom->m_legacyPageSize;
- sqlCipherCipherTo->m_kdfIter = sqlCipherCipherFrom->m_kdfIter;
- sqlCipherCipherTo->m_fastKdfIter = sqlCipherCipherFrom->m_fastKdfIter;
- sqlCipherCipherTo->m_hmacUse = sqlCipherCipherFrom->m_hmacUse;
- sqlCipherCipherTo->m_hmacPgno = sqlCipherCipherFrom->m_hmacPgno;
- sqlCipherCipherTo->m_hmacSaltMask = sqlCipherCipherFrom->m_hmacSaltMask;
- sqlCipherCipherTo->m_kdfAlgorithm = sqlCipherCipherFrom->m_kdfAlgorithm;
- sqlCipherCipherTo->m_hmacAlgorithm = sqlCipherCipherFrom->m_hmacAlgorithm;
- sqlCipherCipherTo->m_plaintextHeaderSize = sqlCipherCipherFrom->m_plaintextHeaderSize;
- sqlCipherCipherTo->m_keyLength = sqlCipherCipherFrom->m_keyLength;
- memcpy(sqlCipherCipherTo->m_key, sqlCipherCipherFrom->m_key, KEYLENGTH_SQLCIPHER);
- memcpy(sqlCipherCipherTo->m_salt, sqlCipherCipherFrom->m_salt, SALTLENGTH_SQLCIPHER);
- memcpy(sqlCipherCipherTo->m_hmacKey, sqlCipherCipherFrom->m_hmacKey, KEYLENGTH_SQLCIPHER);
- RijndaelInvalidate(sqlCipherCipherTo->m_aes);
- RijndaelInvalidate(sqlCipherCipherFrom->m_aes);
-}
-
-static int
-GetLegacySQLCipherCipher(void* cipher)
-{
- SQLCipherCipher* sqlCipherCipher = (SQLCipherCipher*)cipher;
- return sqlCipherCipher->m_legacy;
-}
-
-static int
-GetPageSizeSQLCipherCipher(void* cipher)
-{
- SQLCipherCipher* sqlCipherCipher = (SQLCipherCipher*) cipher;
- int pageSize = 0;
- if (sqlCipherCipher->m_legacy != 0)
- {
- pageSize = sqlCipherCipher->m_legacyPageSize;
- if ((pageSize < 512) || (pageSize > SQLITE_MAX_PAGE_SIZE) || (((pageSize - 1) & pageSize) != 0))
- {
- pageSize = 0;
- }
- }
- return pageSize;
-}
-
-static int
-GetReservedSQLCipherCipher(void* cipher)
-{
- SQLCipherCipher* sqlCipherCipher = (SQLCipherCipher*) cipher;
- int reserved = SALTLENGTH_SQLCIPHER;
- if (sqlCipherCipher->m_hmacUse != 0)
- {
- switch (sqlCipherCipher->m_hmacAlgorithm)
- {
- case SQLCIPHER_HMAC_ALGORITHM_SHA1:
- case SQLCIPHER_HMAC_ALGORITHM_SHA256:
- reserved += SHA256_DIGEST_SIZE;
- break;
- case SQLCIPHER_HMAC_ALGORITHM_SHA512:
- default:
- reserved += SHA512_DIGEST_SIZE;
- break;
- }
- }
- return reserved;
-}
-
-static unsigned char*
-GetSaltSQLCipherCipher(void* cipher)
-{
- SQLCipherCipher* sqlCipherCipher = (SQLCipherCipher*) cipher;
- return sqlCipherCipher->m_salt;
-}
-
-static void
-GenerateKeySQLCipherCipher(void* cipher, BtShared* pBt, char* userPassword, int passwordLength, int rekey, unsigned char* cipherSalt)
-{
- SQLCipherCipher* sqlCipherCipher = (SQLCipherCipher*) cipher;
-
- Pager *pPager = pBt->pPager;
- sqlite3_file* fd = (isOpen(pPager->fd)) ? pPager->fd : NULL;
-
- if (rekey || fd == NULL || sqlite3OsRead(fd, sqlCipherCipher->m_salt, SALTLENGTH_SQLCIPHER, 0) != SQLITE_OK)
- {
- chacha20_rng(sqlCipherCipher->m_salt, SALTLENGTH_SQLCIPHER);
- }
- else if (cipherSalt != NULL)
- {
- memcpy(sqlCipherCipher->m_salt, cipherSalt, SALTLENGTH_SQLCIPHER);
- }
-
- if (passwordLength == ((KEYLENGTH_SQLCIPHER * 2) + 3) &&
- sqlite3_strnicmp(userPassword, "x'", 2) == 0 &&
- IsHexKey((unsigned char*) (userPassword + 2), KEYLENGTH_SQLCIPHER * 2) != 0)
- {
- ConvertHex2Bin((unsigned char*) (userPassword + 2), passwordLength - 3, sqlCipherCipher->m_key);
- }
- else if (passwordLength == (((KEYLENGTH_SQLCIPHER + SALTLENGTH_SQLCIPHER) * 2) + 3) &&
- sqlite3_strnicmp(userPassword, "x'", 2) == 0 &&
- IsHexKey((unsigned char*) (userPassword + 2), (KEYLENGTH_SQLCIPHER + SALTLENGTH_SQLCIPHER) * 2) != 0)
- {
- ConvertHex2Bin((unsigned char*) (userPassword + 2), KEYLENGTH_SQLCIPHER * 2, sqlCipherCipher->m_key);
- ConvertHex2Bin((unsigned char*) (userPassword + 2 + KEYLENGTH_SQLCIPHER * 2), SALTLENGTH_SQLCIPHER * 2, sqlCipherCipher->m_salt);
- }
- else
- {
- switch (sqlCipherCipher->m_kdfAlgorithm)
- {
- case SQLCIPHER_KDF_ALGORITHM_SHA1:
- fastpbkdf2_hmac_sha1((unsigned char*) userPassword, passwordLength,
- sqlCipherCipher->m_salt, SALTLENGTH_SQLCIPHER,
- sqlCipherCipher->m_kdfIter,
- sqlCipherCipher->m_key, KEYLENGTH_SQLCIPHER);
- break;
- case SQLCIPHER_KDF_ALGORITHM_SHA256:
- fastpbkdf2_hmac_sha256((unsigned char*) userPassword, passwordLength,
- sqlCipherCipher->m_salt, SALTLENGTH_SQLCIPHER,
- sqlCipherCipher->m_kdfIter,
- sqlCipherCipher->m_key, KEYLENGTH_SQLCIPHER);
- break;
- case SQLCIPHER_KDF_ALGORITHM_SHA512:
- default:
- fastpbkdf2_hmac_sha512((unsigned char*) userPassword, passwordLength,
- sqlCipherCipher->m_salt, SALTLENGTH_SQLCIPHER,
- sqlCipherCipher->m_kdfIter,
- sqlCipherCipher->m_key, KEYLENGTH_SQLCIPHER);
- break;
- }
- }
-
- if (sqlCipherCipher->m_hmacUse != 0)
- {
- int j;
- unsigned char hmacSaltMask = sqlCipherCipher->m_hmacSaltMask;
- unsigned char hmacSalt[SALTLENGTH_SQLCIPHER];
- memcpy(hmacSalt, sqlCipherCipher->m_salt, SALTLENGTH_SQLCIPHER);
- for (j = 0; j < SALTLENGTH_SQLCIPHER; ++j)
- {
- hmacSalt[j] ^= hmacSaltMask;
- }
- switch (sqlCipherCipher->m_hmacAlgorithm)
- {
- case SQLCIPHER_HMAC_ALGORITHM_SHA1:
- fastpbkdf2_hmac_sha1(sqlCipherCipher->m_key, KEYLENGTH_SQLCIPHER,
- hmacSalt, SALTLENGTH_SQLCIPHER,
- sqlCipherCipher->m_fastKdfIter,
- sqlCipherCipher->m_hmacKey, KEYLENGTH_SQLCIPHER);
- break;
- case SQLCIPHER_HMAC_ALGORITHM_SHA256:
- fastpbkdf2_hmac_sha256(sqlCipherCipher->m_key, KEYLENGTH_SQLCIPHER,
- hmacSalt, SALTLENGTH_SQLCIPHER,
- sqlCipherCipher->m_fastKdfIter,
- sqlCipherCipher->m_hmacKey, KEYLENGTH_SQLCIPHER);
- break;
- case SQLCIPHER_HMAC_ALGORITHM_SHA512:
- default:
- fastpbkdf2_hmac_sha512(sqlCipherCipher->m_key, KEYLENGTH_SQLCIPHER,
- hmacSalt, SALTLENGTH_SQLCIPHER,
- sqlCipherCipher->m_fastKdfIter,
- sqlCipherCipher->m_hmacKey, KEYLENGTH_SQLCIPHER);
- break;
- }
- }
-}
-
-static int
-GetHmacSizeSQLCipherCipher(int algorithm)
-{
- int hmacSize = SHA512_DIGEST_SIZE;
- switch (algorithm)
- {
- case SQLCIPHER_HMAC_ALGORITHM_SHA1:
- hmacSize = SHA1_DIGEST_SIZE;
- break;
- case SQLCIPHER_HMAC_ALGORITHM_SHA256:
- case SQLCIPHER_HMAC_ALGORITHM_SHA512:
- default:
- hmacSize = SHA512_DIGEST_SIZE;
- break;
- }
- return hmacSize;
-}
-
-static int
-EncryptPageSQLCipherCipher(void* cipher, int page, unsigned char* data, int len, int reserved)
-{
- SQLCipherCipher* sqlCipherCipher = (SQLCipherCipher*) cipher;
- int rc = SQLITE_OK;
- int legacy = sqlCipherCipher->m_legacy;
- int nReserved = (reserved == 0 && legacy == 0) ? 0 : GetReservedSQLCipherCipher(cipher);
- int n = len - nReserved;
- int offset = (page == 1) ? (sqlCipherCipher->m_legacy != 0) ? 16 : 24 : 0;
- int blen;
- unsigned char iv[64];
- int usePlaintextHeader = 0;
-
- /* Check whether a plaintext header should be used */
- if (page == 1 && sqlCipherCipher->m_legacy >= SQLCIPHER_VERSION_4 && sqlCipherCipher->m_plaintextHeaderSize > 0)
- {
- usePlaintextHeader = 1;
- offset = sqlCipherCipher->m_plaintextHeaderSize;
- }
-
- /* Check whether number of required reserved bytes and actually reserved bytes match */
- if ((legacy == 0 && nReserved > reserved) || ((legacy != 0 && nReserved != reserved)))
- {
- return SQLITE_CORRUPT;
- }
-
- /* Generate nonce (64 bytes) */
- memset(iv, 0, 64);
- if (nReserved > 0)
- {
- chacha20_rng(iv, 64);
- }
- else
- {
- CodecGenerateInitialVector(page, iv);
- }
-
- RijndaelInit(sqlCipherCipher->m_aes, RIJNDAEL_Direction_Mode_CBC, RIJNDAEL_Direction_Encrypt, sqlCipherCipher->m_key, RIJNDAEL_Direction_KeyLength_Key32Bytes, iv);
- blen = RijndaelBlockEncrypt(sqlCipherCipher->m_aes, data + offset, (n - offset) * 8, data + offset);
- if (nReserved > 0)
- {
- memcpy(data + n, iv, nReserved);
- }
- if (page == 1 && usePlaintextHeader == 0)
- {
- memcpy(data, sqlCipherCipher->m_salt, SALTLENGTH_SQLCIPHER);
- }
-
- /* hmac calculation */
- if (sqlCipherCipher->m_hmacUse == 1 && nReserved > 0)
- {
- unsigned char pgno_raw[4];
- unsigned char hmac_out[64];
- int hmac_size = GetHmacSizeSQLCipherCipher(sqlCipherCipher->m_hmacAlgorithm);
-
- if (sqlCipherCipher->m_hmacPgno == SQLCIPHER_HMAC_PGNO_LE)
- {
- STORE32_LE(pgno_raw, page);
- }
- else if (sqlCipherCipher->m_hmacPgno == SQLCIPHER_HMAC_PGNO_BE)
- {
- STORE32_BE(pgno_raw, page);
- }
- else
- {
- memcpy(pgno_raw, &page, 4);
- }
- sqlcipher_hmac(sqlCipherCipher->m_hmacAlgorithm, sqlCipherCipher->m_hmacKey, KEYLENGTH_SQLCIPHER, data + offset, n + PAGE_NONCE_LEN_SQLCIPHER - offset, pgno_raw, 4, hmac_out);
- memcpy(data + n + PAGE_NONCE_LEN_SQLCIPHER, hmac_out, hmac_size);
- }
-
- return rc;
-}
-
-static int
-DecryptPageSQLCipherCipher(void* cipher, int page, unsigned char* data, int len, int reserved, int hmacCheck)
-{
- SQLCipherCipher* sqlCipherCipher = (SQLCipherCipher*) cipher;
- int rc = SQLITE_OK;
- int legacy = sqlCipherCipher->m_legacy;
- int nReserved = (reserved == 0 && legacy == 0) ? 0 : GetReservedSQLCipherCipher(cipher);
- int n = len - nReserved;
- int offset = (page == 1) ? (sqlCipherCipher->m_legacy != 0) ? 16 : 24 : 0;
- int hmacOk = 1;
- int blen;
- unsigned char iv[128];
- int usePlaintextHeader = 0;
-
- /* Check whether a plaintext header should be used */
- if (page == 1 && sqlCipherCipher->m_legacy >= SQLCIPHER_VERSION_4 && sqlCipherCipher->m_plaintextHeaderSize > 0)
- {
- usePlaintextHeader = 1;
- offset = sqlCipherCipher->m_plaintextHeaderSize;
- }
-
- /* Check whether number of required reserved bytes and actually reserved bytes match */
- if ((legacy == 0 && nReserved > reserved) || ((legacy != 0 && nReserved != reserved)))
- {
- return SQLITE_CORRUPT;
- }
-
- /* Get nonce from buffer */
- if (nReserved > 0)
- {
- memcpy(iv, data + n, nReserved);
- }
- else
- {
- CodecGenerateInitialVector(page, iv);
- }
-
- /* hmac check */
- if (sqlCipherCipher->m_hmacUse == 1 && nReserved > 0 && hmacCheck != 0)
- {
- unsigned char pgno_raw[4];
- unsigned char hmac_out[64];
- int hmac_size = GetHmacSizeSQLCipherCipher(sqlCipherCipher->m_hmacAlgorithm);
- if (sqlCipherCipher->m_hmacPgno == SQLCIPHER_HMAC_PGNO_LE)
- {
- STORE32_LE(pgno_raw, page);
- }
- else if (sqlCipherCipher->m_hmacPgno == SQLCIPHER_HMAC_PGNO_BE)
- {
- STORE32_BE(pgno_raw, page);
- }
- else
- {
- memcpy(pgno_raw, &page, 4);
- }
- sqlcipher_hmac(sqlCipherCipher->m_hmacAlgorithm, sqlCipherCipher->m_hmacKey, KEYLENGTH_SQLCIPHER, data + offset, n + PAGE_NONCE_LEN_SQLCIPHER - offset, pgno_raw, 4, hmac_out);
- hmacOk = (memcmp(data + n + PAGE_NONCE_LEN_SQLCIPHER, hmac_out, hmac_size) == 0);
- }
-
- if (hmacOk != 0)
- {
- RijndaelInit(sqlCipherCipher->m_aes, RIJNDAEL_Direction_Mode_CBC, RIJNDAEL_Direction_Decrypt, sqlCipherCipher->m_key, RIJNDAEL_Direction_KeyLength_Key32Bytes, iv);
- blen = RijndaelBlockDecrypt(sqlCipherCipher->m_aes, data + offset, (n - offset) * 8, data + offset);
- if (nReserved > 0)
- {
- memcpy(data + n, iv, nReserved);
- }
- if (page == 1 && usePlaintextHeader == 0)
- {
- memcpy(data, SQLITE_FILE_HEADER, 16);
- }
- }
- else
- {
- /* Bad MAC */
- rc = SQLITE_CORRUPT;
- }
-
- return rc;
-}
-#endif
-
-/* --- RC4 cipher --- */
-#if HAVE_CIPHER_RC4
-
-#define KEYLENGTH_RC4 16
-
-typedef struct _RC4Cipher
-{
- int m_legacy;
- int m_legacyPageSize;
- int m_keyLength;
- uint8_t m_key[KEYLENGTH_RC4];
-} RC4Cipher;
-
-static void*
-AllocateRC4Cipher(sqlite3* db)
-{
- RC4Cipher* rc4Cipher = (RC4Cipher*) sqlite3_malloc(sizeof(RC4Cipher));
- if (rc4Cipher != NULL)
- {
- rc4Cipher->m_keyLength = KEYLENGTH_RC4;
- memset(rc4Cipher->m_key, 0, KEYLENGTH_RC4);
- }
- if (rc4Cipher != NULL)
- {
- CipherParams* cipherParams = (CipherParams*) GetCipherParams(db, CODEC_TYPE_RC4);
- rc4Cipher->m_legacy = GetCipherParameter(cipherParams, "legacy");
- rc4Cipher->m_legacyPageSize = GetCipherParameter(cipherParams, "legacy_page_size");
- }
- return rc4Cipher;
-}
-
-static void
-FreeRC4Cipher(void* cipher)
-{
- RC4Cipher* localCipher = (RC4Cipher*) cipher;
- memset(localCipher, 0, sizeof(RC4Cipher));
- sqlite3_free(localCipher);
-}
-
-static void
-CloneRC4Cipher(void* cipherTo, void* cipherFrom)
-{
- RC4Cipher* rc4CipherTo = (RC4Cipher*) cipherTo;
- RC4Cipher* rc4CipherFrom = (RC4Cipher*) cipherFrom;
- rc4CipherTo->m_legacy = rc4CipherFrom->m_legacy;
- rc4CipherTo->m_legacyPageSize = rc4CipherFrom->m_legacyPageSize;
- rc4CipherTo->m_keyLength = rc4CipherFrom->m_keyLength;
- memcpy(rc4CipherTo->m_key, rc4CipherFrom->m_key, KEYLENGTH_RC4);
-}
-
-static int
-GetLegacyRC4Cipher(void* cipher)
-{
- RC4Cipher* rc4Cipher = (RC4Cipher*)cipher;
- return rc4Cipher->m_legacy;
-}
-
-static int
-GetPageSizeRC4Cipher(void* cipher)
-{
- RC4Cipher* rc4Cipher = (RC4Cipher*) cipher;
- int pageSize = 0;
- if (rc4Cipher->m_legacy != 0)
- {
- pageSize = rc4Cipher->m_legacyPageSize;
- if ((pageSize < 512) || (pageSize > SQLITE_MAX_PAGE_SIZE) || (((pageSize - 1) & pageSize) != 0))
- {
- pageSize = 0;
- }
- }
- return pageSize;
-}
-
-static int
-GetReservedRC4Cipher(void* cipher)
-{
- return 0;
-}
-
-static unsigned char*
-GetSaltRC4Cipher(void* cipher)
-{
- return NULL;
-}
-
-static void
-GenerateKeyRC4Cipher(void* cipher, BtShared* pBt, char* userPassword, int passwordLength, int rekey, unsigned char* cipherSalt)
-{
- RC4Cipher* rc4Cipher = (RC4Cipher*) cipher;
- unsigned char digest[SHA1_DIGEST_SIZE];
- sha1_ctx ctx;
-
- sha1_init(&ctx);
- sha1_update(&ctx, userPassword, passwordLength);
- sha1_final(&ctx, digest);
-
- memcpy(rc4Cipher->m_key, digest, 16);
-/* memset(rc4Cipher->m_key+5, 0, rc4Cipher->m_keyLength-5);*/
-}
-
-static int
-EncryptPageRC4Cipher(void* cipher, int page, unsigned char* data, int len, int reserved)
-{
- RC4Cipher* rc4Cipher = (RC4Cipher*) cipher;
- int rc = SQLITE_OK;
-
- /* Use the legacy encryption scheme */
- unsigned char* key = rc4Cipher->m_key;
- CodecRC4(key, rc4Cipher->m_keyLength, data, len, data);
-
- return rc;
-}
-
-static int
-DecryptPageRC4Cipher(void* cipher, int page, unsigned char* data, int len, int reserved, int hmacCheck)
-{
- RC4Cipher* rc4Cipher = (RC4Cipher*) cipher;
- int rc = SQLITE_OK;
-
- /* Use the legacy encryption scheme */
- CodecRC4(rc4Cipher->m_key, rc4Cipher->m_keyLength, data, len, data);
-
- return rc;
-}
-#endif
-
-typedef struct _CodecParameter
-{
- char* m_name;
- CipherParams* m_params;
-} CodecParameter;
-
-static CodecParameter globalCodecParameterTable[] =
-{
- { "global", commonParams },
-#if HAVE_CIPHER_AES_128_CBC
- { "aes128cbc", aes128Params },
-#endif
-#if HAVE_CIPHER_AES_128_CBC
- { "aes256cbc", aes256Params },
-#endif
-#if HAVE_CIPHER_CHACHA20 || HAVE_CIPHER_SQLCIPHER
- { "chacha20", chacha20Params },
- { "sqlcipher", sqlCipherParams },
-#endif
-#if HAVE_CIPHER_RC4
- { "rc4", rc4Params },
-#endif
- { "", NULL }
-};
-
-static CodecParameter*
-CloneCodecParameterTable()
-{
- /* Count number of codecs and cipher parameters */
- int nTables = 0;
- int nParams = 0;
- int j, k, n;
- CipherParams* cloneCipherParams;
- CodecParameter* cloneCodecParams;
-
- for (j = 0; strlen(globalCodecParameterTable[j].m_name) > 0; ++j)
- {
- CipherParams* params = globalCodecParameterTable[j].m_params;
- for (k = 0; strlen(params[k].m_name) > 0; ++k);
- nParams += k;
- }
- nTables = j;
-
- /* Allocate memory for cloned codec parameter tables (including sentinel for each table) */
- cloneCipherParams = (CipherParams*) sqlite3_malloc((nParams + nTables) * sizeof(CipherParams));
- cloneCodecParams = (CodecParameter*) sqlite3_malloc((nTables + 1) * sizeof(CodecParameter));
-
- /* Create copy of tables */
- if (cloneCodecParams != NULL)
- {
- int offset = 0;
- for (j = 0; j < nTables; ++j)
- {
- CipherParams* params = globalCodecParameterTable[j].m_params;
- cloneCodecParams[j].m_name = globalCodecParameterTable[j].m_name;
- cloneCodecParams[j].m_params = &cloneCipherParams[offset];
- for (n = 0; strlen(params[n].m_name) > 0; ++n);
- /* Copy all parameters of the current table (including sentinel) */
- for (k = 0; k <= n; ++k)
- {
- cloneCipherParams[offset + k].m_name = params[k].m_name;
- cloneCipherParams[offset + k].m_value = params[k].m_value;
- cloneCipherParams[offset + k].m_default = params[k].m_default;
- cloneCipherParams[offset + k].m_minValue = params[k].m_minValue;
- cloneCipherParams[offset + k].m_maxValue = params[k].m_maxValue;
- }
- offset += (n + 1);
- }
- cloneCodecParams[nTables].m_name = globalCodecParameterTable[nTables].m_name;
- cloneCodecParams[nTables].m_params = NULL;
- }
- else
- {
- sqlite3_free(cloneCipherParams);
- }
- return cloneCodecParams;
-}
-
-static void
-FreeCodecParameterTable(CodecParameter* codecParams)
-{
- sqlite3_free(codecParams[0].m_params);
- sqlite3_free(codecParams);
-}
-
-typedef void* (*AllocateCipher_t)(sqlite3* db);
-typedef void (*FreeCipher_t)(void* cipher);
-typedef void (*CloneCipher_t)(void* cipherTo, void* cipherFrom);
-typedef int (*GetLegacy_t)(void* cipher);
-typedef int (*GetPageSize_t)(void* cipher);
-typedef int (*GetReserved_t)(void* cipher);
-typedef unsigned char* (*GetSalt_t)(void* cipher);
-typedef void (*GenerateKey_t)(void* cipher, BtShared* pBt, char* userPassword, int passwordLength, int rekey, unsigned char* cipherSalt);
-typedef int (*EncryptPage_t)(void* cipher, int page, unsigned char* data, int len, int reserved);
-typedef int (*DecryptPage_t)(void* cipher, int page, unsigned char* data, int len, int reserved, int hmacCheck);
-
-typedef struct _CodecDescriptor
-{
- char m_name[32];
- AllocateCipher_t m_allocateCipher;
- FreeCipher_t m_freeCipher;
- CloneCipher_t m_cloneCipher;
- GetLegacy_t m_getLegacy;
- GetPageSize_t m_getPageSize;
- GetReserved_t m_getReserved;
- GetSalt_t m_getSalt;
- GenerateKey_t m_generateKey;
- EncryptPage_t m_encryptPage;
- DecryptPage_t m_decryptPage;
-} CodecDescriptor;
-
-static CodecDescriptor codecDescriptorTable[] =
-{
-#if HAVE_CIPHER_AES_128_CBC
- /* wxSQLite3 AES 128 bit CBC */
- { "aes128cbc", AllocateAES128Cipher,
- FreeAES128Cipher,
- CloneAES128Cipher,
- GetLegacyAES128Cipher,
- GetPageSizeAES128Cipher,
- GetReservedAES128Cipher,
- GetSaltAES128Cipher,
- GenerateKeyAES128Cipher,
- EncryptPageAES128Cipher,
- DecryptPageAES128Cipher },
-#endif
-#if HAVE_CIPHER_AES_256_CBC
- /* wxSQLite3 AES 128 bit CBC */
- { "aes256cbc", AllocateAES256Cipher,
- FreeAES256Cipher,
- CloneAES256Cipher,
- GetLegacyAES256Cipher,
- GetPageSizeAES256Cipher,
- GetReservedAES256Cipher,
- GetSaltAES256Cipher,
- GenerateKeyAES256Cipher,
- EncryptPageAES256Cipher,
- DecryptPageAES256Cipher },
-#endif
-#if HAVE_CIPHER_CHACHA20 || HAVE_CIPHER_SQLCIPHER
- /* ChaCha20 - Poly1305 (including sqleet legacy */
- { "chacha20", AllocateChaCha20Cipher,
- FreeChaCha20Cipher,
- CloneChaCha20Cipher,
- GetLegacyChaCha20Cipher,
- GetPageSizeChaCha20Cipher,
- GetReservedChaCha20Cipher,
- GetSaltChaCha20Cipher,
- GenerateKeyChaCha20Cipher,
- EncryptPageChaCha20Cipher,
- DecryptPageChaCha20Cipher },
- /* ChaCha20 - Poly1305 (including sqleet legacy */
- { "sqlcipher", AllocateSQLCipherCipher,
- FreeSQLCipherCipher,
- CloneSQLCipherCipher,
- GetLegacySQLCipherCipher,
- GetPageSizeSQLCipherCipher,
- GetReservedSQLCipherCipher,
- GetSaltSQLCipherCipher,
- GenerateKeySQLCipherCipher,
- EncryptPageSQLCipherCipher,
- DecryptPageSQLCipherCipher },
-#endif
-#if HAVE_CIPHER_RC4
- /* RC4 */
- { "rc4", AllocateRC4Cipher,
- FreeRC4Cipher,
- CloneRC4Cipher,
- GetLegacyRC4Cipher,
- GetPageSizeRC4Cipher,
- GetReservedRC4Cipher,
- GetSaltRC4Cipher,
- GenerateKeyRC4Cipher,
- EncryptPageRC4Cipher,
- DecryptPageRC4Cipher },
-#endif
- { "", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
-};
-
-/* --- Codec --- */
-
-static void
-CodecConfigureSQLCipherVersion(sqlite3* db, int configDefault, int legacyVersion);
-
-static void
-wxsqlite3_config_table(sqlite3_context* context, int argc, sqlite3_value** argv)
-{
- CodecParameter* codecParams = (CodecParameter*) sqlite3_user_data(context);
- assert(argc == 0);
- sqlite3_result_pointer(context, codecParams, "wxsqlite3_codec_params", 0);
-}
-
-static void
-wxsqlite3_config_params(sqlite3_context* context, int argc, sqlite3_value** argv)
-{
- CodecParameter* codecParams;
- const char* nameParam1;
- int hasDefaultPrefix = 0;
- int hasMinPrefix = 0;
- int hasMaxPrefix = 0;
- CipherParams* param1;
- CipherParams* cipherParamTable = NULL;
- int isCommonParam1;
- int isCipherParam1 = 0;
-
- assert(argc == 1 || argc == 2 || argc == 3);
- /* NULL values are not allowed for the first 2 arguments */
- if (SQLITE_NULL == sqlite3_value_type(argv[0]) || (argc > 1 && SQLITE_NULL == sqlite3_value_type(argv[1])))
- {
- sqlite3_result_null(context);
- return;
- }
-
- codecParams = (CodecParameter*) sqlite3_user_data(context);
-
- /* Check first argument whether it is a common parameter */
- /* If the first argument is a common parameter, param1 will point to its parameter table entry */
- nameParam1 = (const char*) sqlite3_value_text(argv[0]);
- if (sqlite3_strnicmp(nameParam1, "default:", 8) == 0)
- {
- hasDefaultPrefix = 1;
- nameParam1 += 8;
- }
- if (sqlite3_strnicmp(nameParam1, "min:", 4) == 0)
- {
- hasMinPrefix = 1;
- nameParam1 += 4;
- }
- if (sqlite3_strnicmp(nameParam1, "max:", 4) == 0)
- {
- hasMaxPrefix = 1;
- nameParam1 += 4;
- }
-
- param1 = codecParams[0].m_params;
- cipherParamTable = NULL;
- for (; strlen(param1->m_name) > 0; ++param1)
- {
- if (sqlite3_stricmp(nameParam1, param1->m_name) == 0) break;
- }
- isCommonParam1 = strlen(param1->m_name) > 0;
-
- /* Check first argument whether it is a cipher name, if it wasn't a common parameter */
- /* If the first argument is a cipher name, cipherParamTable will point to the corresponding cipher parameter table */
- if (!isCommonParam1)
- {
- if (!hasDefaultPrefix && !hasMinPrefix && !hasMaxPrefix)
- {
- int j = 0;
- for (j = 0; strlen(codecParams[j].m_name) > 0; ++j)
- {
- if (sqlite3_stricmp(nameParam1, codecParams[j].m_name) == 0) break;
- }
- isCipherParam1 = strlen(codecParams[j].m_name) > 0;
- if (isCipherParam1)
- {
- cipherParamTable = codecParams[j].m_params;
- }
- }
- if (!isCipherParam1)
- {
- /* Prefix not allowed for cipher names or cipher name not found */
- sqlite3_result_null(context);
- return;
- }
- }
-
- if (argc == 1)
- {
- /* Return value of param1 */
- if (isCommonParam1)
- {
- int value = (hasDefaultPrefix) ? param1->m_default : (hasMinPrefix) ? param1->m_minValue : (hasMaxPrefix) ? param1->m_maxValue : param1->m_value;
- if (sqlite3_stricmp(nameParam1, "cipher") == 0)
- {
- sqlite3_result_text(context, codecDescriptorTable[value-1].m_name, -1, SQLITE_STATIC);
- }
- else
- {
- sqlite3_result_int(context, value);
- }
- }
- else if (isCipherParam1)
- {
- /* Return a list of available parameters for the requested cipher */
- int nParams = 0;
- int lenTotal = 0;
- int j;
- for (j = 0; strlen(cipherParamTable[j].m_name) > 0; ++j)
- {
- ++nParams;
- lenTotal += strlen(cipherParamTable[j].m_name);
- }
- if (nParams > 0)
- {
- char* paramList = (char*) sqlite3_malloc(lenTotal + nParams);
- if (paramList != NULL)
- {
- char* p = paramList;
- strcpy(paramList, cipherParamTable[0].m_name);
- for (j = 1; j < nParams; ++j)
- {
- strcat(paramList, ",");
- strcat(paramList, cipherParamTable[j].m_name);
- }
- sqlite3_result_text(context, paramList, -1, sqlite3_free);
- }
- else
- {
- /* Not enough memory to allocate the result */
- sqlite3_result_error_nomem(context);
- }
- }
- else
- {
- /* Cipher has no parameters */
- sqlite3_result_null(context);
- }
- }
- }
- else
- {
- /* 2 or more arguments */
- int arg2Type = sqlite3_value_type(argv[1]);
- if (argc == 2 && isCommonParam1)
- {
- /* Set value of common parameter */
- if (sqlite3_stricmp(nameParam1, "cipher") == 0)
- {
- /* 2nd argument is a cipher name */
- if (arg2Type == SQLITE_TEXT)
- {
- const char* nameCipher = (const char*) sqlite3_value_text(argv[1]);
- int j = 0;
- for (j = 0; strlen(codecDescriptorTable[j].m_name) > 0; ++j)
- {
- if (sqlite3_stricmp(nameCipher, codecDescriptorTable[j].m_name) == 0) break;
- }
- if (strlen(codecDescriptorTable[j].m_name) > 0)
- {
- if (hasDefaultPrefix)
- {
- param1->m_default = j + 1;
- }
- param1->m_value = j + 1;
- sqlite3_result_text(context, codecDescriptorTable[j].m_name, -1, SQLITE_STATIC);
- }
- else
- {
- /* No match for cipher name found */
- sqlite3_result_null(context);
- }
- }
- else
- {
- /* Invalid parameter type */
- sqlite3_result_null(context);
- }
- }
- else if (arg2Type == SQLITE_INTEGER)
- {
- /* Check that parameter value is within allowed range */
- int value = sqlite3_value_int(argv[1]);
- if (value >= param1->m_minValue && value <= param1->m_maxValue)
- {
- /* Do not allow to change the default value for parameter "hmac_check" */
- if (hasDefaultPrefix && (sqlite3_stricmp(nameParam1, "hmac_check") != 0))
- {
- param1->m_default = value;
- }
- param1->m_value = value;
- sqlite3_result_int(context, value);
- }
- else
- {
- /* Parameter value not within allowed range */
- sqlite3_result_null(context);
- }
- }
- else
- {
- sqlite3_result_null(context);
- }
- }
- else if (isCipherParam1 && arg2Type == SQLITE_TEXT)
- {
- /* get or set cipher parameter */
- const char* nameParam2 = (const char*) sqlite3_value_text(argv[1]);
- CipherParams* param2 = cipherParamTable;
- hasDefaultPrefix = 0;
- if (sqlite3_strnicmp(nameParam2, "default:", 8) == 0)
- {
- hasDefaultPrefix = 1;
- nameParam2 += 8;
- }
- hasMinPrefix = 0;
- if (sqlite3_strnicmp(nameParam2, "min:", 4) == 0)
- {
- hasMinPrefix = 1;
- nameParam2 += 4;
- }
- hasMaxPrefix = 0;
- if (sqlite3_strnicmp(nameParam2, "max:", 4) == 0)
- {
- hasMaxPrefix = 1;
- nameParam2 += 4;
- }
- for (; strlen(param2->m_name) > 0; ++param2)
- {
- if (sqlite3_stricmp(nameParam2, param2->m_name) == 0) break;
- }
-
- /* Special handling for SQLCipher legacy mode */
- if (argc == 3 &&
- sqlite3_stricmp(nameParam1, "sqlcipher") == 0 &&
- sqlite3_stricmp(nameParam2, "legacy") == 0)
- {
- if (!hasMinPrefix && !hasMaxPrefix && sqlite3_value_type(argv[2]) == SQLITE_INTEGER)
- {
- int legacy = sqlite3_value_int(argv[2]);
- if (legacy > 0 && legacy <= SQLCIPHER_VERSION_MAX)
- {
- sqlite3* db = sqlite3_context_db_handle(context);
- CodecConfigureSQLCipherVersion(db, hasDefaultPrefix, legacy);
- }
- }
- }
-
- if (strlen(param2->m_name) > 0)
- {
- if (argc == 2)
- {
- /* Return parameter value */
- int value = (hasDefaultPrefix) ? param2->m_default : (hasMinPrefix) ? param2->m_minValue : (hasMaxPrefix) ? param2->m_maxValue : param2->m_value;
- sqlite3_result_int(context, value);
- }
- else if (!hasMinPrefix && !hasMaxPrefix && sqlite3_value_type(argv[2]) == SQLITE_INTEGER)
- {
- /* Change cipher parameter value */
- int value = sqlite3_value_int(argv[2]);
- if (value >= param2->m_minValue && value <= param2->m_maxValue)
- {
- if (hasDefaultPrefix)
- {
- param2->m_default = value;
- }
- param2->m_value = value;
- sqlite3_result_int(context, value);
- }
- else
- {
- /* Cipher parameter value not within allowed range */
- sqlite3_result_null(context);
- }
- }
- else
- {
- /* Only current value and default value of a parameter can be changed */
- sqlite3_result_null(context);
- }
- }
- else
- {
- /* Cipher parameter not found */
- sqlite3_result_null(context);
- }
- }
- else
- {
- /* Cipher has no parameters */
- sqlite3_result_null(context);
- }
- }
-}
-
-static CodecParameter*
-GetCodecParams(sqlite3* db)
-{
-#if 0
- sqlite3_mutex_enter(db->mutex);
-#endif
- CodecParameter* codecParams = NULL;
- sqlite3_stmt* pStmt = 0;
- int rc = sqlite3_prepare_v2(db, "SELECT wxsqlite3_config_table();", -1, &pStmt, 0);
- if (rc == SQLITE_OK)
- {
- if (SQLITE_ROW == sqlite3_step(pStmt))
- {
- sqlite3_value* ptrValue = sqlite3_column_value(pStmt, 0);
- codecParams = (CodecParameter*) sqlite3_value_pointer(ptrValue, "wxsqlite3_codec_params");
- }
- sqlite3_finalize(pStmt);
- }
-#if 0
- sqlite3_mutex_leave(db->mutex);
-#endif
- return codecParams;
-}
-
-int
-wxsqlite3_config(sqlite3* db, const char* paramName, int newValue)
-{
- int value = -1;
- CodecParameter* codecParams;
- int hasDefaultPrefix = 0;
- int hasMinPrefix = 0;
- int hasMaxPrefix = 0;
- CipherParams* param;
-
- if (paramName == NULL || (db == NULL && newValue >= 0))
- {
- return value;
- }
-
- codecParams = (db != NULL) ? GetCodecParams(db) : globalCodecParameterTable;
- if (codecParams == NULL)
- {
- return value;
- }
-
- if (sqlite3_strnicmp(paramName, "default:", 8) == 0)
- {
- hasDefaultPrefix = 1;
- paramName += 8;
- }
- if (sqlite3_strnicmp(paramName, "min:", 4) == 0)
- {
- hasMinPrefix = 1;
- paramName += 4;
- }
- if (sqlite3_strnicmp(paramName, "max:", 4) == 0)
- {
- hasMaxPrefix = 1;
- paramName += 4;
- }
-
- param = codecParams[0].m_params;
- for (; strlen(param->m_name) > 0; ++param)
- {
- if (sqlite3_stricmp(paramName, param->m_name) == 0) break;
- }
- if (strlen(param->m_name) > 0)
- {
- if (db != NULL)
- {
- sqlite3_mutex_enter(db->mutex);
- }
- else
- {
- sqlite3_mutex_enter(sqlite3_mutex_alloc(SQLITE_MUTEX_STATIC_MASTER));
- }
- value = (hasDefaultPrefix) ? param->m_default : (hasMinPrefix) ? param->m_minValue : (hasMaxPrefix) ? param->m_maxValue : param->m_value;
- if (!hasMinPrefix && !hasMaxPrefix && newValue >= 0 && newValue >= param->m_minValue && newValue <= param->m_maxValue)
- {
- /* Do not allow to change the default value for parameter "hmac_check" */
- if (hasDefaultPrefix && (sqlite3_stricmp(paramName, "hmac_check") != 0))
- {
- param->m_default = newValue;
- }
- param->m_value = newValue;
- value = newValue;
- }
- if (db != NULL)
- {
- sqlite3_mutex_leave(db->mutex);
- }
- else
- {
- sqlite3_mutex_leave(sqlite3_mutex_alloc(SQLITE_MUTEX_STATIC_MASTER));
- }
- }
- return value;
-}
-
-int
-wxsqlite3_config_cipher(sqlite3* db, const char* cipherName, const char* paramName, int newValue)
-{
- int value = -1;
- CodecParameter* codecParams;
- CipherParams* cipherParamTable = NULL;
- int j = 0;
-
- if (cipherName == NULL || paramName == NULL)
- {
- sqlite3_log(SQLITE_WARNING,
- "wxsqlite3_config_cipher: cipher name ('%s*) or parameter ('%s*) missing",
- (cipherName == NULL) ? "" : cipherName, (paramName == NULL) ? "" : paramName);
- return value;
- }
- else if (db == NULL && newValue >= 0)
- {
- sqlite3_log(SQLITE_WARNING,
- "wxsqlite3_config_cipher: global change of parameter '%s' for cipher '%s' not supported",
- paramName, cipherName);
- return value;
- }
-
- codecParams = (db != NULL) ? GetCodecParams(db) : globalCodecParameterTable;
- if (codecParams == NULL)
- {
- sqlite3_log(SQLITE_WARNING,
- "wxsqlite3_config_cipher: codec parameter table not found");
- return value;
- }
-
- for (j = 0; strlen(codecParams[j].m_name) > 0; ++j)
- {
- if (sqlite3_stricmp(cipherName, codecParams[j].m_name) == 0) break;
- }
- if (strlen(codecParams[j].m_name) > 0)
- {
- cipherParamTable = codecParams[j].m_params;
- }
-
- if (cipherParamTable != NULL)
- {
- int hasDefaultPrefix = 0;
- int hasMinPrefix = 0;
- int hasMaxPrefix = 0;
- CipherParams* param = cipherParamTable;
-
- if (sqlite3_strnicmp(paramName, "default:", 8) == 0)
- {
- hasDefaultPrefix = 1;
- paramName += 8;
- }
- if (sqlite3_strnicmp(paramName, "min:", 4) == 0)
- {
- hasMinPrefix = 1;
- paramName += 4;
- }
- if (sqlite3_strnicmp(paramName, "max:", 4) == 0)
- {
- hasMaxPrefix = 1;
- paramName += 4;
- }
-
- /* Special handling for SQLCipher legacy mode */
- if (db != NULL &&
- sqlite3_stricmp(cipherName, "sqlcipher") == 0 &&
- sqlite3_stricmp(paramName, "legacy") == 0)
- {
- if (!hasMinPrefix && !hasMaxPrefix)
- {
- if (newValue > 0 && newValue <= SQLCIPHER_VERSION_MAX)
- {
- CodecConfigureSQLCipherVersion(db, hasDefaultPrefix, newValue);
- }
- else
- {
- sqlite3_log(SQLITE_WARNING,
- "wxsqlite3_config_cipher: SQLCipher legacy version %d out of range [%d..%d]",
- newValue, 1, SQLCIPHER_VERSION_MAX);
- }
- }
- }
-
- for (; strlen(param->m_name) > 0; ++param)
- {
- if (sqlite3_stricmp(paramName, param->m_name) == 0) break;
- }
- if (strlen(param->m_name) > 0)
- {
- if (db != NULL)
- {
- sqlite3_mutex_enter(db->mutex);
- }
- else
- {
- sqlite3_mutex_enter(sqlite3_mutex_alloc(SQLITE_MUTEX_STATIC_MASTER));
- }
- value = (hasDefaultPrefix) ? param->m_default : (hasMinPrefix) ? param->m_minValue : (hasMaxPrefix) ? param->m_maxValue : param->m_value;
- if (!hasMinPrefix && !hasMaxPrefix)
- {
- if (newValue >= 0 && newValue >= param->m_minValue && newValue <= param->m_maxValue)
- {
- if (hasDefaultPrefix)
- {
- param->m_default = newValue;
- }
- param->m_value = newValue;
- value = newValue;
- }
- else
- {
- sqlite3_log(SQLITE_WARNING,
- "wxsqlite3_config_cipher: Value %d for parameter '%s' of cipher '%s' out of range [%d..%d]",
- newValue, paramName, cipherName, param->m_minValue, param->m_maxValue);
- }
- }
- if (db != NULL)
- {
- sqlite3_mutex_leave(db->mutex);
- }
- else
- {
- sqlite3_mutex_leave(sqlite3_mutex_alloc(SQLITE_MUTEX_STATIC_MASTER));
- }
- }
- }
- return value;
-}
-
-/* Forward declaration */
-static unsigned char* CodecGetSaltWriteCipher(Codec* codec);
-
-unsigned char*
-wxsqlite3_codec_data(sqlite3* db, const char* zDbName, const char* paramName)
-{
- unsigned char* result = NULL;
- if (db != NULL && paramName != NULL)
- {
- int iDb = (zDbName != NULL) ? sqlite3FindDbName(db, zDbName) : 0;
- int toRaw = 0;
- if (sqlite3_strnicmp(paramName, "raw:", 4) == 0)
- {
- toRaw = 1;
- paramName += 4;
- }
- if ((sqlite3_stricmp(paramName, "cipher_salt") == 0) && (iDb >= 0))
- {
- /* Check whether database is encrypted */
- Codec* codec = (Codec*) mySqlite3PagerGetCodec(sqlite3BtreePager(db->aDb[iDb].pBt));
- if (codec != NULL && CodecIsEncrypted(codec) && CodecHasWriteCipher(codec))
- {
- unsigned char* salt = CodecGetSaltWriteCipher(codec);
- if (salt != NULL)
- {
- if (!toRaw)
- {
- int j;
- result = sqlite3_malloc(32 + 1);
- for (j = 0; j < 16; ++j)
- {
- result[j * 2] = hexdigits[(salt[j] >> 4) & 0x0F];
- result[j * 2 + 1] = hexdigits[(salt[j]) & 0x0F];
- }
- result[32] = '\0';
- }
- else
- {
- result = sqlite3_malloc(16 + 1);
- memcpy(result, salt, 16);
- result[16] = '\0';
- }
- }
- }
- }
- }
- return result;
-}
-
-static void
-wxsqlite3_codec_data_sql(sqlite3_context* context, int argc, sqlite3_value** argv)
-{
- const char* nameParam1 = NULL;
- const char* nameParam2 = NULL;
-
- assert(argc == 1 || argc == 2);
- /* NULL values are not allowed for the first 2 arguments */
- if (SQLITE_NULL == sqlite3_value_type(argv[0]) || (argc > 1 && SQLITE_NULL == sqlite3_value_type(argv[1])))
- {
- sqlite3_result_null(context);
- return;
- }
-
- /* Determine parameter name */
- nameParam1 = (const char*) sqlite3_value_text(argv[0]);
-
- /* Determine schema name if given */
- if (argc == 2)
- {
- nameParam2 = (const char*) sqlite3_value_text(argv[1]);
- }
-
- /* Check for known parameter name(s) */
- if (sqlite3_stricmp(nameParam1, "cipher_salt") == 0)
- {
- /* Determine key salt */
- sqlite3* db = sqlite3_context_db_handle(context);
- const char* salt = (const char*)wxsqlite3_codec_data(db, nameParam2, "cipher_salt");
- if (salt != NULL)
- {
- sqlite3_result_text(context, salt, -1, sqlite3_free);
- }
- else
- {
- sqlite3_result_null(context);
- }
- }
- else
- {
- sqlite3_result_null(context);
- }
-}
-
-static int
-GetCipherType(sqlite3* db)
-{
- CodecParameter* codecParams = (db != NULL) ? GetCodecParams(db) : globalCodecParameterTable;
- CipherParams* cipherParamTable = (codecParams != NULL) ? codecParams[0].m_params : commonParams;
- int cipherType = CODEC_TYPE;
- CipherParams* cipher = cipherParamTable;
- for (; strlen(cipher->m_name) > 0; ++cipher)
- {
- if (sqlite3_stricmp("cipher", cipher->m_name) == 0) break;
- }
- if (strlen(cipher->m_name) > 0)
- {
- cipherType = cipher->m_value;
- cipher->m_value = cipher->m_default;
- }
- return cipherType;
-}
-
-static void*
-GetCipherParams(sqlite3* db, int cypherType)
-{
- CodecParameter* codecParams = (db != NULL) ? GetCodecParams(db) : globalCodecParameterTable;
- CipherParams* cipherParamTable = (codecParams != NULL) ? codecParams[cypherType].m_params : globalCodecParameterTable[cypherType].m_params;
- return cipherParamTable;
-}
-
-static int
-CodecInit(Codec* codec)
-{
- int rc = SQLITE_OK;
- if (codec != NULL)
- {
- codec->m_isEncrypted = 0;
- codec->m_hmacCheck = 1;
-
- codec->m_hasReadCipher = 0;
- codec->m_readCipherType = CODEC_TYPE_UNKNOWN;
- codec->m_readCipher = NULL;
- codec->m_readReserved = -1;
-
- codec->m_hasWriteCipher = 0;
- codec->m_writeCipherType = CODEC_TYPE_UNKNOWN;
- codec->m_writeCipher = NULL;
- codec->m_writeReserved = -1;
-
- codec->m_db = NULL;
- codec->m_bt = NULL;
- codec->m_btShared = NULL;
- memset(codec->m_page, 0, sizeof(codec->m_page));
- codec->m_pageSize = 0;
- codec->m_reserved = 0;
- codec->m_hasKeySalt = 0;
- memset(codec->m_keySalt, 0, sizeof(codec->m_keySalt));
- }
- else
- {
- rc = SQLITE_NOMEM;
- }
- return rc;
-}
-
-static void
-CodecTerm(Codec* codec)
-{
-#ifndef TEST_CODEC_NOFREE
- if (codec->m_readCipher != NULL)
- {
- codecDescriptorTable[codec->m_readCipherType - 1].m_freeCipher(codec->m_readCipher);
- codec->m_readCipher = NULL;
- }
- if (codec->m_writeCipher != NULL)
- {
- codecDescriptorTable[codec->m_writeCipherType - 1].m_freeCipher(codec->m_writeCipher);
- codec->m_writeCipher = NULL;
- }
- memset(codec, 0, sizeof(Codec));
-#endif
-}
-
-static void
-CodecClearKeySalt(Codec* codec)
-{
- codec->m_hasKeySalt = 0;
- memset(codec->m_keySalt, 0, sizeof(codec->m_keySalt));
-}
-
-static int
-CodecSetup(Codec* codec, int cipherType, char* userPassword, int passwordLength)
-{
- int rc = SQLITE_OK;
- CipherParams* globalParams = (CipherParams*) GetCipherParams(codec->m_db, 0);
- codec->m_isEncrypted = 1;
- codec->m_hmacCheck = GetCipherParameter(globalParams, "hmac_check");
- codec->m_hasReadCipher = 1;
- codec->m_hasWriteCipher = 1;
- codec->m_readCipherType = cipherType;
- codec->m_readCipher = codecDescriptorTable[codec->m_readCipherType-1].m_allocateCipher(codec->m_db);
- if (codec->m_readCipher != NULL)
- {
- unsigned char* keySalt = (codec->m_hasKeySalt != 0) ? codec->m_keySalt : NULL;
- CodecGenerateReadKey(codec, userPassword, passwordLength, keySalt);
- rc = CodecCopyCipher(codec, 1);
- }
- else
- {
- rc = SQLITE_NOMEM;
- }
- return rc;
-}
-
-static int
-CodecSetupWriteCipher(Codec* codec, int cipherType, char* userPassword, int passwordLength)
-{
- int rc = SQLITE_OK;
- CipherParams* globalParams = (CipherParams*) GetCipherParams(codec->m_db, 0);
- if (codec->m_writeCipher != NULL)
- {
- codecDescriptorTable[codec->m_writeCipherType-1].m_freeCipher(codec->m_writeCipher);
- }
- codec->m_isEncrypted = 1;
- codec->m_hmacCheck = GetCipherParameter(globalParams, "hmac_check");
- codec->m_hasWriteCipher = 1;
- codec->m_writeCipherType = cipherType;
- codec->m_writeCipher = codecDescriptorTable[codec->m_writeCipherType-1].m_allocateCipher(codec->m_db);
- if (codec->m_writeCipher != NULL)
- {
- unsigned char* keySalt = (codec->m_hasKeySalt != 0) ? codec->m_keySalt : NULL;
- CodecGenerateWriteKey(codec, userPassword, passwordLength, keySalt);
- }
- else
- {
- rc = SQLITE_NOMEM;
- }
- return rc;
-}
-
-static void
-CodecSetIsEncrypted(Codec* codec, int isEncrypted)
-{
- codec->m_isEncrypted = isEncrypted;
-}
-
-static void
-CodecSetReadCipherType(Codec* codec, int cipherType)
-{
- codec->m_readCipherType = cipherType;
-}
-
-static void
-CodecSetWriteCipherType(Codec* codec, int cipherType)
-{
- codec->m_writeCipherType = cipherType;
-}
-
-static void
-CodecSetHasReadCipher(Codec* codec, int hasReadCipher)
-{
- codec->m_hasReadCipher = hasReadCipher;
-}
-
-static void
-CodecSetHasWriteCipher(Codec* codec, int hasWriteCipher)
-{
- codec->m_hasWriteCipher = hasWriteCipher;
-}
-
-static void
-CodecSetDb(Codec* codec, sqlite3* db)
-{
- codec->m_db = db;
-}
-
-static void
-CodecSetBtree(Codec* codec, Btree* bt)
-{
- codec->m_bt = bt;
- codec->m_btShared = bt->pBt;
-}
-
-static void
-CodecSetReadReserved(Codec* codec, int reserved)
-{
- codec->m_readReserved = reserved;
-}
-
-static void
-CodecSetWriteReserved(Codec* codec, int reserved)
-{
- codec->m_writeReserved = reserved;
-}
-
-static int
-CodecIsEncrypted(Codec* codec)
-{
- return codec->m_isEncrypted;
-}
-
-static int
-CodecHasReadCipher(Codec* codec)
-{
- return codec->m_hasReadCipher;
-}
-
-static int
-CodecHasWriteCipher(Codec* codec)
-{
- return codec->m_hasWriteCipher;
-}
-
-static Btree*
-CodecGetBtree(Codec* codec)
-{
- return codec->m_bt;
-}
-
-static BtShared*
-CodecGetBtShared(Codec* codec)
-{
- return codec->m_btShared;
-}
-
-static int
-CodecGetPageSize(Codec* codec)
-{
- return codec->m_btShared->pageSize;
-}
-
-static int
-CodecGetReadReserved(Codec* codec)
-{
- return codec->m_readReserved;
-}
-
-static int
-CodecGetWriteReserved(Codec* codec)
-{
- return codec->m_writeReserved;
-}
-
-static unsigned char*
-CodecGetPageBuffer(Codec* codec)
-{
- return &codec->m_page[4];
-}
-
-static int
-CodecGetLegacyReadCipher(Codec* codec)
-{
- int legacy = (codec->m_hasReadCipher && codec->m_readCipher != NULL) ? codecDescriptorTable[codec->m_readCipherType - 1].m_getLegacy(codec->m_readCipher) : 0;
- return legacy;
-}
-
-static int
-CodecGetLegacyWriteCipher(Codec* codec)
-{
- int legacy = (codec->m_hasWriteCipher && codec->m_writeCipher != NULL) ? codecDescriptorTable[codec->m_writeCipherType - 1].m_getLegacy(codec->m_writeCipher) : -1;
- return legacy;
-}
-
-static int
-CodecGetPageSizeReadCipher(Codec* codec)
-{
- int pageSize = (codec->m_hasReadCipher && codec->m_readCipher != NULL) ? codecDescriptorTable[codec->m_readCipherType - 1].m_getPageSize(codec->m_readCipher) : 0;
- return pageSize;
-}
-
-static int
-CodecGetPageSizeWriteCipher(Codec* codec)
-{
- int pageSize = (codec->m_hasWriteCipher && codec->m_writeCipher != NULL) ? codecDescriptorTable[codec->m_writeCipherType - 1].m_getPageSize(codec->m_writeCipher) : -1;
- return pageSize;
-}
-
-static int
-CodecGetReservedReadCipher(Codec* codec)
-{
- int reserved = (codec->m_hasReadCipher && codec->m_readCipher != NULL) ? codecDescriptorTable[codec->m_readCipherType-1].m_getReserved(codec->m_readCipher) : -1;
- return reserved;
-}
-
-int
-CodecGetReservedWriteCipher(Codec* codec)
-{
- int reserved = (codec->m_hasWriteCipher && codec->m_writeCipher != NULL) ? codecDescriptorTable[codec->m_writeCipherType-1].m_getReserved(codec->m_writeCipher) : -1;
- return reserved;
-}
-
-static int
-CodecReservedEqual(Codec* codec)
-{
- int readReserved = (codec->m_hasReadCipher && codec->m_readCipher != NULL) ? codecDescriptorTable[codec->m_readCipherType-1].m_getReserved(codec->m_readCipher) : -1;
- int writeReserved = (codec->m_hasWriteCipher && codec->m_writeCipher != NULL) ? codecDescriptorTable[codec->m_writeCipherType-1].m_getReserved(codec->m_writeCipher) : -1;
- return (readReserved == writeReserved);
-}
-
-static unsigned char*
-CodecGetSaltWriteCipher(Codec* codec)
-{
- unsigned char* salt = (codec->m_hasWriteCipher && codec->m_writeCipher != NULL) ? codecDescriptorTable[codec->m_writeCipherType - 1].m_getSalt(codec->m_writeCipher) : NULL;
- return salt;
-}
-
-static int
-CodecCopy(Codec* codec, Codec* other)
-{
- int rc = SQLITE_OK;
- codec->m_isEncrypted = other->m_isEncrypted;
- codec->m_hmacCheck = other->m_hmacCheck;
- codec->m_hasReadCipher = other->m_hasReadCipher;
- codec->m_hasWriteCipher = other->m_hasWriteCipher;
- codec->m_readCipherType = other->m_readCipherType;
- codec->m_writeCipherType = other->m_writeCipherType;
- codec->m_readCipher = NULL;
- codec->m_writeCipher = NULL;
- codec->m_readReserved = other->m_readReserved;
- codec->m_writeReserved = other->m_writeReserved;
-
- if (codec->m_hasReadCipher)
- {
- codec->m_readCipher = codecDescriptorTable[codec->m_readCipherType - 1].m_allocateCipher(codec->m_db);
- if (codec->m_readCipher != NULL)
- {
- codecDescriptorTable[codec->m_readCipherType - 1].m_cloneCipher(codec->m_readCipher, other->m_readCipher);
- }
- else
- {
- rc = SQLITE_NOMEM;
- }
- }
-
- if (codec->m_hasWriteCipher)
- {
- codec->m_writeCipher = codecDescriptorTable[codec->m_writeCipherType - 1].m_allocateCipher(codec->m_db);
- if (codec->m_writeCipher != NULL)
- {
- codecDescriptorTable[codec->m_writeCipherType - 1].m_cloneCipher(codec->m_writeCipher, other->m_writeCipher);
- }
- else
- {
- rc = SQLITE_NOMEM;
- }
- }
- codec->m_db = other->m_db;
- codec->m_bt = other->m_bt;
- codec->m_btShared = other->m_btShared;
- return rc;
-}
-
-static int
-CodecCopyCipher(Codec* codec, int read2write)
-{
- int rc = SQLITE_OK;
- if (read2write)
- {
- if (codec->m_writeCipher != NULL && codec->m_writeCipherType != codec->m_readCipherType)
- {
- codecDescriptorTable[codec->m_writeCipherType-1].m_freeCipher(codec->m_writeCipher);
- codec->m_writeCipher = NULL;
- }
- if (codec->m_writeCipher == NULL)
- {
- codec->m_writeCipherType = codec->m_readCipherType;
- codec->m_writeCipher = codecDescriptorTable[codec->m_writeCipherType-1].m_allocateCipher(codec->m_db);
- }
- if (codec->m_writeCipher != NULL)
- {
- codecDescriptorTable[codec->m_writeCipherType-1].m_cloneCipher(codec->m_writeCipher, codec->m_readCipher);
- }
- else
- {
- rc = SQLITE_NOMEM;
- }
- }
- else
- {
- if (codec->m_readCipher != NULL && codec->m_readCipherType != codec->m_writeCipherType)
- {
- codecDescriptorTable[codec->m_readCipherType-1].m_freeCipher(codec->m_readCipher);
- codec->m_readCipher = NULL;
- }
- if (codec->m_readCipher == NULL)
- {
- codec->m_readCipherType = codec->m_writeCipherType;
- codec->m_readCipher = codecDescriptorTable[codec->m_readCipherType-1].m_allocateCipher(codec->m_db);
- }
- if (codec->m_readCipher != NULL)
- {
- codecDescriptorTable[codec->m_readCipherType-1].m_cloneCipher(codec->m_readCipher, codec->m_writeCipher);
- }
- else
- {
- rc = SQLITE_NOMEM;
- }
- }
- return rc;
-}
-
-static void
-CodecPadPassword(char* password, int pswdlen, unsigned char pswd[32])
-{
- int j;
- int p = 0;
- int m = pswdlen;
- if (m > 32) m = 32;
-
- for (j = 0; j < m; j++)
- {
- pswd[p++] = (unsigned char) password[j];
- }
- for (j = 0; p < 32 && j < 32; j++)
- {
- pswd[p++] = padding[j];
- }
-}
-
-static void
-CodecGenerateReadKey(Codec* codec, char* userPassword, int passwordLength, unsigned char* cipherSalt)
-{
- codecDescriptorTable[codec->m_readCipherType-1].m_generateKey(codec->m_readCipher, codec->m_btShared, userPassword, passwordLength, 0, cipherSalt);
-}
-
-static void
-CodecGenerateWriteKey(Codec* codec, char* userPassword, int passwordLength, unsigned char* cipherSalt)
-{
- codecDescriptorTable[codec->m_writeCipherType-1].m_generateKey(codec->m_writeCipher, codec->m_btShared, userPassword, passwordLength, 1, cipherSalt);
-}
-
-static int
-CodecEncrypt(Codec* codec, int page, unsigned char* data, int len, int useWriteKey)
-{
- int cipherType = (useWriteKey) ? codec->m_writeCipherType : codec->m_readCipherType;
- void* cipher = (useWriteKey) ? codec->m_writeCipher : codec->m_readCipher;
- int reserved = (useWriteKey) ? (codec->m_writeReserved >= 0) ? codec->m_writeReserved : codec->m_reserved
- : (codec->m_readReserved >= 0) ? codec->m_readReserved : codec->m_reserved;
- return codecDescriptorTable[cipherType-1].m_encryptPage(cipher, page, data, len, reserved);
-}
-
-static int
-CodecDecrypt(Codec* codec, int page, unsigned char* data, int len)
-{
- int cipherType = codec->m_readCipherType;
- void* cipher = codec->m_readCipher;
- int reserved = (codec->m_readReserved >= 0) ? codec->m_readReserved : codec->m_reserved;
- return codecDescriptorTable[cipherType-1].m_decryptPage(cipher, page, data, len, reserved, codec->m_hmacCheck);
-}
-
-static void
-CodecConfigureSQLCipherVersion(sqlite3* db, int configDefault, int legacyVersion)
-{
- static char* stdNames[] = { "legacy_page_size", "kdf_iter", "hmac_use", "kdf_algorithm", "hmac_algorithm", NULL };
- static char* defNames[] = { "default:legacy_page_size", "default:kdf_iter", "default:hmac_use", "default:kdf_algorithm", "default:hmac_algorithm", NULL };
- static int versionParams[SQLCIPHER_VERSION_MAX][5] =
- {
- { 1024, 4000, 0, SQLCIPHER_KDF_ALGORITHM_SHA1, SQLCIPHER_HMAC_ALGORITHM_SHA1 },
- { 1024, 4000, 1, SQLCIPHER_KDF_ALGORITHM_SHA1, SQLCIPHER_HMAC_ALGORITHM_SHA1 },
- { 1024, 64000, 1, SQLCIPHER_KDF_ALGORITHM_SHA1, SQLCIPHER_HMAC_ALGORITHM_SHA1 },
- { 4096, 256000, 1, SQLCIPHER_KDF_ALGORITHM_SHA512, SQLCIPHER_HMAC_ALGORITHM_SHA512 }
- };
- if (legacyVersion > 0 && legacyVersion <= SQLCIPHER_VERSION_MAX)
- {
- char** names = (configDefault != 0) ? defNames : stdNames;
- int* values = &versionParams[legacyVersion - 1][0];
- int j;
- for (j = 0; names[j] != NULL; ++j)
- {
- wxsqlite3_config_cipher(db, "sqlcipher", names[j], values[j]);
- }
- }
-}
-
-static int
-CodecConfigureFromUri(sqlite3* db, const char *zDbName, int configDefault)
-{
- /* Register codec extensions if necessary */
- int rc = registerCodecExtensions(db, NULL, NULL);
- if (rc == SQLITE_OK)
- {
- /* Check URI parameters if database filename is available */
- const char* dbFileName = sqlite3_db_filename(db, zDbName);
- if (dbFileName != NULL)
- {
- /* Check whether cipher is specified */
- const char* cipherName = sqlite3_uri_parameter(dbFileName, "cipher");
- if (cipherName != NULL)
- {
- int j = 0;
- CipherParams* cipherParams = NULL;
-
- /* Try to locate the cipher name */
- for (j = 1; strlen(globalCodecParameterTable[j].m_name) > 0; ++j)
- {
- if (sqlite3_stricmp(cipherName, globalCodecParameterTable[j].m_name) == 0) break;
- }
-
- /* j is the index of the cipher name, if found */
- cipherParams = (strlen(globalCodecParameterTable[j].m_name) > 0) ? globalCodecParameterTable[j].m_params : NULL;
- if (cipherParams != NULL)
- {
- /* Set global parameters (cipher and hmac_check) */
- int hmacCheck = sqlite3_uri_boolean(dbFileName, "hmac_check", 1);
- if (configDefault)
- {
- wxsqlite3_config(db, "default:cipher", j);
- }
- else
- {
- wxsqlite3_config(db, "cipher", j);
- }
- if (!hmacCheck)
- {
- wxsqlite3_config(db, "hmac_check", hmacCheck);
- }
-
- /* Special handling for SQLCipher */
- if (sqlite3_stricmp(cipherName, "sqlcipher") == 0)
- {
- int legacy = (int) sqlite3_uri_int64(dbFileName, "legacy", 0);
- if (legacy > 0 && legacy <= SQLCIPHER_VERSION_MAX)
- {
- CodecConfigureSQLCipherVersion(db, configDefault, legacy);
- }
- }
-
- /* Check all cipher specific parameters */
- for (j = 0; strlen(cipherParams[j].m_name) > 0; ++j)
- {
- int value = (int) sqlite3_uri_int64(dbFileName, cipherParams[j].m_name, -1);
- if (value >= 0)
- {
- /* Configure cipher parameter if it was given in the URI */
- char* param = (configDefault) ? sqlite3_mprintf("default:%s", cipherParams[j].m_name) : cipherParams[j].m_name;
- wxsqlite3_config_cipher(db, cipherName, param, value);
- if (configDefault)
- {
- sqlite3_free(param);
- }
- }
- }
- }
- else
- {
- rc = SQLITE_ERROR;
- sqlite3ErrorWithMsg(db, rc, "unknown cipher '%s'", cipherName);
- }
- }
- }
- }
- return rc;
-}
diff --git a/sqlite3secure/src/codec.h b/sqlite3secure/src/codec.h
deleted file mode 100644
index 56884107..00000000
--- a/sqlite3secure/src/codec.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
-** Name: codec.h
-** Purpose: Header file for SQLite codecs
-** Author: Ulrich Telle
-** Created: 2006-12-06
-** Copyright: (c) 2006-2018 Ulrich Telle
-** License: LGPL-3.0+ WITH WxWindows-exception-3.1
-*/
-
-#ifndef _CODEC_H_
-#define _CODEC_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if defined(__BORLANDC__)
-#define __STDC__ 1
-#endif
-
-#if defined(__BORLANDC__)
-#undef __STDC__
-#endif
-
-/*
-// ATTENTION: Macro similar to that in pager.c
-// TODO: Check in case of new version of SQLite
-*/
-#define WX_PAGER_MJ_PGNO(x) ((PENDING_BYTE/(x))+1)
-
-#ifdef __cplusplus
-} /* End of the 'extern "C"' block */
-#endif
-
-#include "rijndael.h"
-
-#include "sqlite3secure.h"
-
-#define CODEC_TYPE_DEFAULT CODEC_TYPE_CHACHA20
-
-#ifndef CODEC_TYPE
-#define CODEC_TYPE CODEC_TYPE_DEFAULT
-#endif
-
-#if CODEC_TYPE < 1 || CODEC_TYPE > CODEC_TYPE_MAX
-#error "Invalid codec type selected"
-#endif
-
-#define MAXKEYLENGTH 32
-#define KEYLENGTH_AES128 16
-#define KEYLENGTH_AES256 32
-#define KEYSALT_LENGTH 16
-
-#define CODEC_SHA_ITER 4001
-
-typedef struct _Codec
-{
- int m_isEncrypted;
- int m_hmacCheck;
- /* Read cipher */
- int m_hasReadCipher;
- int m_readCipherType;
- void* m_readCipher;
- int m_readReserved;
- /* Write cipher */
- int m_hasWriteCipher;
- int m_writeCipherType;
- void* m_writeCipher;
- int m_writeReserved;
-
- sqlite3* m_db; /* Pointer to DB */
- Btree* m_bt; /* Pointer to B-tree used by DB */
- BtShared* m_btShared; /* Pointer to shared B-tree used by DB */
- unsigned char m_page[SQLITE_MAX_PAGE_SIZE+24];
- int m_pageSize;
- int m_reserved;
- int m_hasKeySalt;
- unsigned char m_keySalt[KEYSALT_LENGTH];
-} Codec;
-
-static void wxsqlite3_config_table(sqlite3_context* context, int argc, sqlite3_value** argv);
-static void wxsqlite3_config_params(sqlite3_context* context, int argc, sqlite3_value** argv);
-
-int wxsqlite3_config(sqlite3* db, const char* paramName, int newValue);
-int wxsqlite3_config_cipher(sqlite3* db, const char* cipherName, const char* paramName, int newValue);
-
-static int GetCipherType(sqlite3* db);
-static void* GetCipherParams(sqlite3* db, int cypherType);
-static int CodecInit(Codec* codec);
-static void CodecTerm(Codec* codec);
-static void CodecClearKeySalt(Codec* codec);
-
-static int CodecCopy(Codec* codec, Codec* other);
-
-static void CodecGenerateReadKey(Codec* codec, char* userPassword, int passwordLength, unsigned char* cipherSalt);
-
-static void CodecGenerateWriteKey(Codec* codec, char* userPassword, int passwordLength, unsigned char* cipherSalt);
-
-static int CodecEncrypt(Codec* codec, int page, unsigned char* data, int len, int useWriteKey);
-
-static int CodecDecrypt(Codec* codec, int page, unsigned char* data, int len);
-
-static int CodecCopyCipher(Codec* codec, int read2write);
-
-static int CodecSetup(Codec* codec, int cipherType, char* userPassword, int passwordLength);
-static int CodecSetupWriteCipher(Codec* codec, int cipherType, char* userPassword, int passwordLength);
-
-static void CodecSetIsEncrypted(Codec* codec, int isEncrypted);
-static void CodecSetReadCipherType(Codec* codec, int cipherType);
-static void CodecSetWriteCipherType(Codec* codec, int cipherType);
-static void CodecSetHasReadCipher(Codec* codec, int hasReadCipher);
-static void CodecSetHasWriteCipher(Codec* codec, int hasWriteCipher);
-static void CodecSetDb(Codec* codec, sqlite3* db);
-static void CodecSetBtree(Codec* codec, Btree* bt);
-static void CodecSetReadReserved(Codec* codec, int reserved);
-static void CodecSetWriteReserved(Codec* codec, int reserved);
-
-static int CodecIsEncrypted(Codec* codec);
-static int CodecHasReadCipher(Codec* codec);
-static int CodecHasWriteCipher(Codec* codec);
-static Btree* CodecGetBtree(Codec* codec);
-static BtShared* CodecGetBtShared(Codec* codec);
-static int CodecGetPageSize(Codec* codec);
-static int CodecGetReadReserved(Codec* codec);
-static int CodecGetWriteReserved(Codec* codec);
-static unsigned char* CodecGetPageBuffer(Codec* codec);
-static int CodecGetLegacyReadCipher(Codec* codec);
-static int CodecGetLegacyWriteCipher(Codec* codec);
-static int CodecGetPageSizeReadCipher(Codec* codec);
-static int CodecGetPageSizeWriteCipher(Codec* codec);
-static int CodecGetReservedReadCipher(Codec* codec);
-static int CodecGetReservedWriteCipher(Codec* codec);
-static int CodecReservedEqual(Codec* codec);
-
-static void CodecPadPassword(char* password, int pswdlen, unsigned char pswd[32]);
-static void CodecRC4(unsigned char* key, int keylen,
- unsigned char* textin, int textlen,
- unsigned char* textout);
-static void CodecGetMD5Binary(unsigned char* data, int length, unsigned char* digest);
-static void CodecGetSHABinary(unsigned char* data, int length, unsigned char* digest);
-static void CodecGenerateInitialVector(int seed, unsigned char iv[16]);
-
-#endif
diff --git a/sqlite3secure/src/codecext.c b/sqlite3secure/src/codecext.c
deleted file mode 100644
index bf3fd6fb..00000000
--- a/sqlite3secure/src/codecext.c
+++ /dev/null
@@ -1,639 +0,0 @@
-/*
-** Name: codecext.c
-** Purpose: Implementation of SQLite codec API
-** Author: Ulrich Telle
-** Created: 2006-12-06
-** Copyright: (c) 2006-2019 Ulrich Telle
-** License: LGPL-3.0+ WITH WxWindows-exception-3.1
-*/
-
-#ifndef SQLITE_OMIT_DISKIO
-#ifdef SQLITE_HAS_CODEC
-
-/*
-** Prototypes for codec functions
-*/
-int sqlite3CodecAttach(sqlite3* db, int nDb, const void* zKey, int nKey);
-void sqlite3CodecGetKey(sqlite3* db, int nDb, void** zKey, int* nKey);
-
-/*
-** Include a "special" version of the VACUUM command
-*/
-#include "rekeyvacuum.c"
-
-#include "codec.h"
-
-void
-sqlite3_activate_see(const char *info)
-{
-}
-
-/*
-** Free the encryption data structure associated with a pager instance.
-** (called from the modified code in pager.c)
-*/
-static void
-sqlite3CodecFree(void *pCodecArg)
-{
-#ifndef TEST_CODEC_NOFREE
- if (pCodecArg)
- {
- CodecTerm(pCodecArg);
- sqlite3_free(pCodecArg);
- pCodecArg = NULL;
- }
-#endif
-}
-
-static void
-sqlite3CodecSizeChange(void *pArg, int pageSize, int reservedSize)
-{
- Codec* pCodec = (Codec*) pArg;
- pCodec->m_pageSize = pageSize;
- pCodec->m_reserved = reservedSize;
-}
-
-static void
-reportCodecError(BtShared* pBt, int error)
-{
- pBt->pPager->errCode = error;
- setGetterMethod(pBt->pPager);
- pBt->db->errCode = error;
-}
-
-/*
-// Encrypt/Decrypt functionality, called by pager.c
-*/
-static void*
-sqlite3Codec(void* pCodecArg, void* data, Pgno nPageNum, int nMode)
-{
- int rc = SQLITE_OK;
- Codec* codec = NULL;
- int pageSize;
- if (pCodecArg == NULL)
- {
- return data;
- }
- codec = (Codec*) pCodecArg;
- if (!CodecIsEncrypted(codec))
- {
- return data;
- }
-
- pageSize = CodecGetPageSize(codec);
-
- switch(nMode)
- {
- case 0: /* Undo a "case 7" journal file encryption */
- case 2: /* Reload a page */
- case 3: /* Load a page */
- if (CodecHasReadCipher(codec))
- {
- rc = CodecDecrypt(codec, nPageNum, (unsigned char*) data, pageSize);
- if (rc != SQLITE_OK) reportCodecError(CodecGetBtShared(codec), rc);
- }
- break;
-
- case 6: /* Encrypt a page for the main database file */
- if (CodecHasWriteCipher(codec))
- {
- unsigned char* pageBuffer = CodecGetPageBuffer(codec);
- memcpy(pageBuffer, data, pageSize);
- data = pageBuffer;
- rc = CodecEncrypt(codec, nPageNum, (unsigned char*) data, pageSize, 1);
- if (rc != SQLITE_OK) reportCodecError(CodecGetBtShared(codec), rc);
- }
- break;
-
- case 7: /* Encrypt a page for the journal file */
- /* Under normal circumstances, the readkey is the same as the writekey. However,
- when the database is being rekeyed, the readkey is not the same as the writekey.
- The rollback journal must be written using the original key for the
- database file because it is, by nature, a rollback journal.
- Therefore, for case 7, when the rollback is being written, always encrypt using
- the database's readkey, which is guaranteed to be the same key that was used to
- read the original data.
- */
- if (CodecHasReadCipher(codec))
- {
- unsigned char* pageBuffer = CodecGetPageBuffer(codec);
- memcpy(pageBuffer, data, pageSize);
- data = pageBuffer;
- rc = CodecEncrypt(codec, nPageNum, (unsigned char*) data, pageSize, 0);
- if (rc != SQLITE_OK) reportCodecError(CodecGetBtShared(codec), rc);
- }
- break;
- }
- return data;
-}
-
-static void*
-mySqlite3PagerGetCodec(
- Pager *pPager
-);
-
-static void
-mySqlite3PagerSetCodec(
- Pager *pPager,
- void *(*xCodec)(void*,void*,Pgno,int),
- void (*xCodecSizeChng)(void*,int,int),
- void (*xCodecFree)(void*),
- void *pCodec
-);
-
-static int
-mySqlite3AdjustBtree(Btree* pBt, int nPageSize, int nReserved, int isLegacy)
-{
- int rc = SQLITE_OK;
- Pager* pager = sqlite3BtreePager(pBt);
- int pagesize = sqlite3BtreeGetPageSize(pBt);
- sqlite3BtreeSecureDelete(pBt, 1);
- if (nPageSize > 0)
- {
- pagesize = nPageSize;
- }
-
- /* Adjust the page size and the reserved area */
- if (pager->nReserve != nReserved)
- {
- if (isLegacy != 0)
- {
- pBt->pBt->btsFlags &= ~BTS_PAGESIZE_FIXED;
- }
- rc = sqlite3BtreeSetPageSize(pBt, pagesize, nReserved, 0);
- }
- return rc;
-}
-
-int
-sqlite3CodecAttach(sqlite3* db, int nDb, const void* zKey, int nKey)
-{
- /* Attach a key to a database. */
- Codec* codec = (Codec*) sqlite3_malloc(sizeof(Codec));
- int rc = (codec != NULL) ? CodecInit(codec) : SQLITE_NOMEM;
- if (rc != SQLITE_OK)
- {
- /* Unable to allocate memory for the codec base structure */
- return rc;
- }
-
- sqlite3_mutex_enter(db->mutex);
- CodecSetDb(codec, db);
-
- /* No key specified, could mean either use the main db's encryption or no encryption */
- if (zKey == NULL || nKey <= 0)
- {
- /* No key specified */
- if (nDb != 0 && nKey > 0)
- {
- /* Main database possibly encrypted, no key explicitly given for attached database */
- Codec* mainCodec = (Codec*) mySqlite3PagerGetCodec(sqlite3BtreePager(db->aDb[0].pBt));
- /* Attached database, therefore use the key of main database, if main database is encrypted */
- if (mainCodec != NULL && CodecIsEncrypted(mainCodec))
- {
- rc = CodecCopy(codec, mainCodec);
- if (rc == SQLITE_OK)
- {
- CodecSetBtree(codec, db->aDb[nDb].pBt);
- mySqlite3AdjustBtree(db->aDb[nDb].pBt, CodecGetPageSizeWriteCipher(codec), CodecGetReservedWriteCipher(codec), CodecGetLegacyWriteCipher(codec));
-#if (SQLITE_VERSION_NUMBER >= 3006016)
- mySqlite3PagerSetCodec(sqlite3BtreePager(db->aDb[nDb].pBt), sqlite3Codec, sqlite3CodecSizeChange, sqlite3CodecFree, codec);
-#else
-#if (SQLITE_VERSION_NUMBER >= 3003014)
- sqlite3PagerSetCodec(sqlite3BtreePager(db->aDb[nDb].pBt), sqlite3Codec, codec);
-#else
- sqlite3pager_set_codec(sqlite3BtreePager(db->aDb[nDb].pBt), sqlite3Codec, codec);
-#endif
- db->aDb[nDb].pAux = codec;
- db->aDb[nDb].xFreeAux = sqlite3CodecFree;
-#endif
- }
- else
- {
- /* Replicating main codec failed, do not attach incomplete codec */
- sqlite3CodecFree(codec);
- }
- }
- else
- {
- /* Main database not encrypted */
- sqlite3CodecFree(codec);
- }
- }
- else
- {
- /* Main database not encrypted, no key given for attached database */
- sqlite3CodecFree(codec);
- }
- }
- else
- {
-#if (SQLITE_VERSION_NUMBER >= 3015000)
- const char* zDbName = db->aDb[nDb].zDbSName;
-#else
- const char* zDbName = db->aDb[nDb].zName;
-#endif
- const char* dbFileName = sqlite3_db_filename(db, zDbName);
- if (dbFileName != NULL)
- {
- /* Check whether key salt is provided in URI */
- const unsigned char* cipherSalt = (const unsigned char*)sqlite3_uri_parameter(dbFileName, "cipher_salt");
- if ((cipherSalt != NULL) && (strlen((const char*)cipherSalt) >= 2 * KEYSALT_LENGTH) && IsHexKey(cipherSalt, 2 * KEYSALT_LENGTH))
- {
- codec->m_hasKeySalt = 1;
- ConvertHex2Bin(cipherSalt, 2 * KEYSALT_LENGTH, codec->m_keySalt);
- }
- }
-
- /* Configure cipher from URI in case of attached database */
- if (nDb > 0)
- {
- rc = CodecConfigureFromUri(db, zDbName, 0);
- }
- if (rc == SQLITE_OK)
- {
- /* Key specified, setup encryption key for database */
- CodecSetBtree(codec, db->aDb[nDb].pBt);
- rc = CodecSetup(codec, GetCipherType(db), (char*) zKey, nKey);
- CodecClearKeySalt(codec);
- }
- if (rc == SQLITE_OK)
- {
- mySqlite3AdjustBtree(db->aDb[nDb].pBt, CodecGetPageSizeWriteCipher(codec), CodecGetReservedWriteCipher(codec), CodecGetLegacyWriteCipher(codec));
-#if (SQLITE_VERSION_NUMBER >= 3006016)
- mySqlite3PagerSetCodec(sqlite3BtreePager(db->aDb[nDb].pBt), sqlite3Codec, sqlite3CodecSizeChange, sqlite3CodecFree, codec);
-#else
-#if (SQLITE_VERSION_NUMBER >= 3003014)
- sqlite3PagerSetCodec(sqlite3BtreePager(db->aDb[nDb].pBt), sqlite3Codec, codec);
-#else
- sqlite3pager_set_codec(sqlite3BtreePager(db->aDb[nDb].pBt), sqlite3Codec, codec);
-#endif
- db->aDb[nDb].pAux = codec;
- db->aDb[nDb].xFreeAux = sqlite3CodecFree;
-#endif
- }
- else
- {
- /* Setting up codec failed, do not attach incomplete codec */
- sqlite3CodecFree(codec);
- }
- }
-
- sqlite3_mutex_leave(db->mutex);
-
- return rc;
-}
-
-void
-sqlite3CodecGetKey(sqlite3* db, int nDb, void** zKey, int* nKey)
-{
- /*
- // The unencrypted password is not stored for security reasons
- // therefore always return NULL
- // If the main database is encrypted a key length of 1 is returned.
- // In that case an attached database will get the same encryption key
- // as the main database if no key was explicitly given for the attached database.
- */
- Codec* mainCodec = (Codec*) mySqlite3PagerGetCodec(sqlite3BtreePager(db->aDb[0].pBt));
- int keylen = (mainCodec != NULL && CodecIsEncrypted(mainCodec)) ? 1 : 0;
- *zKey = NULL;
- *nKey = keylen;
-}
-
-static int
-dbFindIndex(sqlite3* db, const char* zDb)
-{
- int dbIndex = 0;
- if (zDb != NULL)
- {
- int found = 0;
- int index;
- for (index = 0; found == 0 && index < db->nDb; ++index)
- {
- struct Db* pDb = &db->aDb[index];
-#if (SQLITE_VERSION_NUMBER >= 3015000)
- if (sqlite3_stricmp(pDb->zDbSName, zDb) == 0)
-#else
- if (sqlite3_stricmp(pDb->zName, zDb) == 0)
-#endif
- {
- found = 1;
- dbIndex = index;
- }
- }
- if (found == 0) dbIndex = 0;
- }
- return dbIndex;
-}
-
-int
-sqlite3_key(sqlite3 *db, const void *zKey, int nKey)
-{
- /* The key is only set for the main database, not the temp database */
- return sqlite3_key_v2(db, "main", zKey, nKey);
-}
-
-int
-sqlite3_key_v2(sqlite3 *db, const char *zDbName, const void *zKey, int nKey)
-{
- int rc = SQLITE_ERROR;
- if ((db != NULL) && (zKey != NULL) && (nKey > 0))
- {
- int dbIndex;
- /* Configure cipher from URI parameters if requested */
- if (sqlite3FindFunction(db, "wxsqlite3_config_table", 0, SQLITE_UTF8, 0) == NULL)
- {
- /*
- ** Encryption extension of database connection not yet initialized;
- ** that is, sqlite3_key_v2 was called from the internal open function.
- ** Therefore the URI should be checked for encryption configuration parameters.
- */
- rc = CodecConfigureFromUri(db, zDbName, 0);
- }
-
- /* The key is only set for the main database, not the temp database */
- dbIndex = dbFindIndex(db, zDbName);
- rc = sqlite3CodecAttach(db, dbIndex, zKey, nKey);
- }
- return rc;
-}
-
-int
-sqlite3_rekey_v2(sqlite3 *db, const char *zDbName, const void *zKey, int nKey)
-{
- /* Changes the encryption key for an existing database. */
- int dbIndex = dbFindIndex(db, zDbName);
- int rc = SQLITE_ERROR;
- Btree* pBt = db->aDb[dbIndex].pBt;
- int nPagesize = sqlite3BtreeGetPageSize(pBt);
- int nReserved;
- Pager* pPager;
- Codec* codec;
-
- sqlite3BtreeEnter(pBt);
- nReserved = sqlite3BtreeGetReserveNoMutex(pBt);
- sqlite3BtreeLeave(pBt);
-
- pPager = sqlite3BtreePager(pBt);
- codec = (Codec*) mySqlite3PagerGetCodec(pPager);
-
- if ((zKey == NULL || nKey == 0) && (codec == NULL || !CodecIsEncrypted(codec)))
- {
- /* Database not encrypted and key not specified, therefore do nothing */
- return SQLITE_OK;
- }
-
- sqlite3_mutex_enter(db->mutex);
-
- if (codec == NULL || !CodecIsEncrypted(codec))
- {
- /* Database not encrypted, but key specified, therefore encrypt database */
- if (codec == NULL)
- {
- codec = (Codec*) sqlite3_malloc(sizeof(Codec));
- rc = (codec != NULL) ? CodecInit(codec) : SQLITE_NOMEM;
- }
- if (rc == SQLITE_OK)
- {
- CodecSetDb(codec, db);
- CodecSetBtree(codec, pBt);
- rc = CodecSetupWriteCipher(codec, GetCipherType(db), (char*) zKey, nKey);
- }
- if (rc == SQLITE_OK)
- {
- int nPagesizeWriteCipher = CodecGetPageSizeWriteCipher(codec);
- if (nPagesizeWriteCipher <= 0 || nPagesize == nPagesizeWriteCipher)
- {
- int nReservedWriteCipher;
- CodecSetHasReadCipher(codec, 0); /* Original database is not encrypted */
- mySqlite3AdjustBtree(pBt, CodecGetPageSizeWriteCipher(codec), CodecGetReservedWriteCipher(codec), CodecGetLegacyWriteCipher(codec));
-#if (SQLITE_VERSION_NUMBER >= 3006016)
- mySqlite3PagerSetCodec(pPager, sqlite3Codec, sqlite3CodecSizeChange, sqlite3CodecFree, codec);
-#else
-#if (SQLITE_VERSION_NUMBER >= 3003014)
- sqlite3PagerSetCodec(pPager, sqlite3Codec, codec);
-#else
- sqlite3pager_set_codec(pPager, sqlite3Codec, codec);
-#endif
- db->aDb[dbIndex].pAux = codec;
- db->aDb[dbIndex].xFreeAux = sqlite3CodecFree;
-#endif
- nReservedWriteCipher = CodecGetReservedWriteCipher(codec);
- if (nReserved != nReservedWriteCipher)
- {
- /* Use VACUUM to change the number of reserved bytes */
- char* err = NULL;
- CodecSetReadReserved(codec, nReserved);
- CodecSetWriteReserved(codec, nReservedWriteCipher);
-#if (SQLITE_VERSION_NUMBER >= 3027000)
- rc = sqlite3RunVacuumForRekey(&err, db, dbIndex, NULL, nReservedWriteCipher);
-#else
- rc = sqlite3RunVacuumForRekey(&err, db, dbIndex, nReservedWriteCipher);
-#endif
- goto leave_rekey;
- }
- }
- else
- {
- /* Pagesize cannot be changed for an encrypted database */
- rc = SQLITE_ERROR;
- goto leave_rekey;
- }
- }
- else
- {
- return rc;
- }
- }
- else if (zKey == NULL || nKey == 0)
- {
- /* Database encrypted, but key not specified, therefore decrypt database */
- /* Keep read key, drop write key */
- CodecSetHasWriteCipher(codec, 0);
- if (nReserved > 0)
- {
- /* Use VACUUM to change the number of reserved bytes */
- char* err = NULL;
- CodecSetReadReserved(codec, nReserved);
- CodecSetWriteReserved(codec, 0);
-#if (SQLITE_VERSION_NUMBER >= 3027000)
- rc = sqlite3RunVacuumForRekey(&err, db, dbIndex, NULL, 0);
-#else
- rc = sqlite3RunVacuumForRekey(&err, db, dbIndex, 0);
-#endif
- goto leave_rekey;
- }
- }
- else
- {
- /* Database encrypted and key specified, therefore re-encrypt database with new key */
- /* Keep read key, change write key to new key */
- rc = CodecSetupWriteCipher(codec, GetCipherType(db), (char*) zKey, nKey);
- if (rc == SQLITE_OK)
- {
- int nPagesizeWriteCipher = CodecGetPageSizeWriteCipher(codec);
- if (nPagesizeWriteCipher <= 0 || nPagesize == nPagesizeWriteCipher)
- {
- int nReservedWriteCipher = CodecGetReservedWriteCipher(codec);
- if (nReserved != nReservedWriteCipher)
- {
- /* Use VACUUM to change the number of reserved bytes */
- char* err = NULL;
- CodecSetReadReserved(codec, nReserved);
- CodecSetWriteReserved(codec, nReservedWriteCipher);
-#if (SQLITE_VERSION_NUMBER >= 3027000)
- rc = sqlite3RunVacuumForRekey(&err, db, dbIndex, NULL, nReservedWriteCipher);
-#else
- rc = sqlite3RunVacuumForRekey(&err, db, dbIndex, nReservedWriteCipher);
-#endif
- goto leave_rekey;
- }
- }
- else
- {
- /* Pagesize cannot be changed for an encrypted database */
- rc = SQLITE_ERROR;
- goto leave_rekey;
- }
- }
- else
- {
- /* Setup of write cipher failed */
- goto leave_rekey;
- }
- }
-
- /* Start transaction */
-#if (SQLITE_VERSION_NUMBER >= 3025000)
- rc = sqlite3BtreeBeginTrans(pBt, 1, 0);
-#else
- rc = sqlite3BtreeBeginTrans(pBt, 1);
-#endif
- if (!rc)
- {
- int pageSize = sqlite3BtreeGetPageSize(pBt);
- Pgno nSkip = WX_PAGER_MJ_PGNO(pageSize);
-#if (SQLITE_VERSION_NUMBER >= 3003014)
- DbPage *pPage;
-#else
- void *pPage;
-#endif
- Pgno n;
- /* Rewrite all pages using the new encryption key (if specified) */
-#if (SQLITE_VERSION_NUMBER >= 3007001)
- Pgno nPage;
- int nPageCount = -1;
- sqlite3PagerPagecount(pPager, &nPageCount);
- nPage = nPageCount;
-#elif (SQLITE_VERSION_NUMBER >= 3006000)
- int nPageCount = -1;
- int rc = sqlite3PagerPagecount(pPager, &nPageCount);
- Pgno nPage = (Pgno) nPageCount;
-#elif (SQLITE_VERSION_NUMBER >= 3003014)
- Pgno nPage = sqlite3PagerPagecount(pPager);
-#else
- Pgno nPage = sqlite3pager_pagecount(pPager);
-#endif
-
- for (n = 1; rc == SQLITE_OK && n <= nPage; n++)
- {
- if (n == nSkip) continue;
-#if (SQLITE_VERSION_NUMBER >= 3010000)
- rc = sqlite3PagerGet(pPager, n, &pPage, 0);
-#elif (SQLITE_VERSION_NUMBER >= 3003014)
- rc = sqlite3PagerGet(pPager, n, &pPage);
-#else
- rc = sqlite3pager_get(pPager, n, &pPage);
-#endif
- if (!rc)
- {
-#if (SQLITE_VERSION_NUMBER >= 3003014)
- rc = sqlite3PagerWrite(pPage);
- sqlite3PagerUnref(pPage);
-#else
- rc = sqlite3pager_write(pPage);
- sqlite3pager_unref(pPage);
-#endif
- }
- }
- }
-
- if (rc == SQLITE_OK)
- {
- /* Commit transaction if all pages could be rewritten */
- rc = sqlite3BtreeCommit(pBt);
- }
- if (rc != SQLITE_OK)
- {
- /* Rollback in case of error */
-#if (SQLITE_VERSION_NUMBER >= 3008007)
- /* Unfortunately this change was introduced in version 3.8.7.2 which cannot be detected using the SQLITE_VERSION_NUMBER */
- /* That is, compilation will fail for version 3.8.7 or 3.8.7.1 ==> Please change manually ... or upgrade to 3.8.7.2 or higher */
- sqlite3BtreeRollback(pBt, SQLITE_OK, 0);
-#elif (SQLITE_VERSION_NUMBER >= 3007011)
- sqlite3BtreeRollback(pbt, SQLITE_OK);
-#else
- sqlite3BtreeRollback(pbt);
-#endif
- }
-
-leave_rekey:
- sqlite3_mutex_leave(db->mutex);
-
-/*leave_final:*/
- if (rc == SQLITE_OK)
- {
- /* Set read key equal to write key if necessary */
- if (CodecHasWriteCipher(codec))
- {
- CodecCopyCipher(codec, 0);
- CodecSetHasReadCipher(codec, 1);
- }
- else
- {
- CodecSetIsEncrypted(codec, 0);
- }
- }
- else
- {
- /* Restore write key if necessary */
- if (CodecHasReadCipher(codec))
- {
- CodecCopyCipher(codec, 1);
- }
- else
- {
- CodecSetIsEncrypted(codec, 0);
- }
- }
- /* Reset reserved for read and write key */
- CodecSetReadReserved(codec, -1);
- CodecSetWriteReserved(codec, -1);
-
- if (!CodecIsEncrypted(codec))
- {
- /* Remove codec for unencrypted database */
-#if (SQLITE_VERSION_NUMBER >= 3006016)
- mySqlite3PagerSetCodec(pPager, NULL, NULL, NULL, NULL);
-#else
-#if (SQLITE_VERSION_NUMBER >= 3003014)
- sqlite3PagerSetCodec(pPager, NULL, NULL);
-#else
- sqlite3pager_set_codec(pPager, NULL, NULL);
-#endif
- db->aDb[dbIndex].pAux = NULL;
- db->aDb[dbIndex].xFreeAux = NULL;
- sqlite3CodecFree(codec);
-#endif
- }
- return rc;
-}
-
-int sqlite3_rekey(sqlite3 *db, const void *zKey, int nKey)
-{
- return sqlite3_rekey_v2(db, "main", zKey, nKey);
-}
-
-#endif /* SQLITE_HAS_CODEC */
-
-#endif /* SQLITE_OMIT_DISKIO */
diff --git a/sqlite3secure/src/csv.c b/sqlite3secure/src/csv.c
deleted file mode 100644
index 0fe944ae..00000000
--- a/sqlite3secure/src/csv.c
+++ /dev/null
@@ -1,957 +0,0 @@
-/*
-** 2016-05-28
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This file contains the implementation of an SQLite virtual table for
-** reading CSV files.
-**
-** Usage:
-**
-** .load ./csv
-** CREATE VIRTUAL TABLE temp.csv USING csv(filename=FILENAME);
-** SELECT * FROM csv;
-**
-** The columns are named "c1", "c2", "c3", ... by default. Or the
-** application can define its own CREATE TABLE statement using the
-** schema= parameter, like this:
-**
-** CREATE VIRTUAL TABLE temp.csv2 USING csv(
-** filename = "../http.log",
-** schema = "CREATE TABLE x(date,ipaddr,url,referrer,userAgent)"
-** );
-**
-** Instead of specifying a file, the text of the CSV can be loaded using
-** the data= parameter.
-**
-** If the columns=N parameter is supplied, then the CSV file is assumed to have
-** N columns. If both the columns= and schema= parameters are omitted, then
-** the number and names of the columns is determined by the first line of
-** the CSV input.
-**
-** Some extra debugging features (used for testing virtual tables) are available
-** if this module is compiled with -DSQLITE_TEST.
-*/
-#include "sqlite3ext.h"
-SQLITE_EXTENSION_INIT1
-#include
-#include
-#include
-#include
-#include
-#include
-
-#ifndef SQLITE_OMIT_VIRTUALTABLE
-
-/*
-** A macro to hint to the compiler that a function should not be
-** inlined.
-*/
-#if defined(__GNUC__)
-# define CSV_NOINLINE __attribute__((noinline))
-#elif defined(_MSC_VER) && _MSC_VER>=1310
-# define CSV_NOINLINE __declspec(noinline)
-#else
-# define CSV_NOINLINE
-#endif
-
-
-/* Max size of the error message in a CsvReader */
-#define CSV_MXERR 200
-
-/* Size of the CsvReader input buffer */
-#define CSV_INBUFSZ 1024
-
-/* A context object used when read a CSV file. */
-typedef struct CsvReader CsvReader;
-struct CsvReader {
- FILE *in; /* Read the CSV text from this input stream */
- char *z; /* Accumulated text for a field */
- int n; /* Number of bytes in z */
- int nAlloc; /* Space allocated for z[] */
- int nLine; /* Current line number */
- int bNotFirst; /* True if prior text has been seen */
- int cTerm; /* Character that terminated the most recent field */
- size_t iIn; /* Next unread character in the input buffer */
- size_t nIn; /* Number of characters in the input buffer */
- char *zIn; /* The input buffer */
- char zErr[CSV_MXERR]; /* Error message */
-};
-
-/* Initialize a CsvReader object */
-static void csv_reader_init(CsvReader *p){
- p->in = 0;
- p->z = 0;
- p->n = 0;
- p->nAlloc = 0;
- p->nLine = 0;
- p->bNotFirst = 0;
- p->nIn = 0;
- p->zIn = 0;
- p->zErr[0] = 0;
-}
-
-/* Close and reset a CsvReader object */
-static void csv_reader_reset(CsvReader *p){
- if( p->in ){
- fclose(p->in);
- sqlite3_free(p->zIn);
- }
- sqlite3_free(p->z);
- csv_reader_init(p);
-}
-
-/* Report an error on a CsvReader */
-static void csv_errmsg(CsvReader *p, const char *zFormat, ...){
- va_list ap;
- va_start(ap, zFormat);
- sqlite3_vsnprintf(CSV_MXERR, p->zErr, zFormat, ap);
- va_end(ap);
-}
-
-/* Open the file associated with a CsvReader
-** Return the number of errors.
-*/
-static int csv_reader_open(
- CsvReader *p, /* The reader to open */
- const char *zFilename, /* Read from this filename */
- const char *zData /* ... or use this data */
-){
- if( zFilename ){
- p->zIn = sqlite3_malloc( CSV_INBUFSZ );
- if( p->zIn==0 ){
- csv_errmsg(p, "out of memory");
- return 1;
- }
- p->in = fopen(zFilename, "rb");
- if( p->in==0 ){
- sqlite3_free(p->zIn);
- csv_reader_reset(p);
- csv_errmsg(p, "cannot open '%s' for reading", zFilename);
- return 1;
- }
- }else{
- assert( p->in==0 );
- p->zIn = (char*)zData;
- p->nIn = strlen(zData);
- }
- return 0;
-}
-
-/* The input buffer has overflowed. Refill the input buffer, then
-** return the next character
-*/
-static CSV_NOINLINE int csv_getc_refill(CsvReader *p){
- size_t got;
-
- assert( p->iIn>=p->nIn ); /* Only called on an empty input buffer */
- assert( p->in!=0 ); /* Only called if reading froma file */
-
- got = fread(p->zIn, 1, CSV_INBUFSZ, p->in);
- if( got==0 ) return EOF;
- p->nIn = got;
- p->iIn = 1;
- return p->zIn[0];
-}
-
-/* Return the next character of input. Return EOF at end of input. */
-static int csv_getc(CsvReader *p){
- if( p->iIn >= p->nIn ){
- if( p->in!=0 ) return csv_getc_refill(p);
- return EOF;
- }
- return ((unsigned char*)p->zIn)[p->iIn++];
-}
-
-/* Increase the size of p->z and append character c to the end.
-** Return 0 on success and non-zero if there is an OOM error */
-static CSV_NOINLINE int csv_resize_and_append(CsvReader *p, char c){
- char *zNew;
- int nNew = p->nAlloc*2 + 100;
- zNew = sqlite3_realloc64(p->z, nNew);
- if( zNew ){
- p->z = zNew;
- p->nAlloc = nNew;
- p->z[p->n++] = c;
- return 0;
- }else{
- csv_errmsg(p, "out of memory");
- return 1;
- }
-}
-
-/* Append a single character to the CsvReader.z[] array.
-** Return 0 on success and non-zero if there is an OOM error */
-static int csv_append(CsvReader *p, char c){
- if( p->n>=p->nAlloc-1 ) return csv_resize_and_append(p, c);
- p->z[p->n++] = c;
- return 0;
-}
-
-/* Read a single field of CSV text. Compatible with rfc4180 and extended
-** with the option of having a separator other than ",".
-**
-** + Input comes from p->in.
-** + Store results in p->z of length p->n. Space to hold p->z comes
-** from sqlite3_malloc64().
-** + Keep track of the line number in p->nLine.
-** + Store the character that terminates the field in p->cTerm. Store
-** EOF on end-of-file.
-**
-** Return 0 at EOF or on OOM. On EOF, the p->cTerm character will have
-** been set to EOF.
-*/
-static char *csv_read_one_field(CsvReader *p){
- int c;
- p->n = 0;
- c = csv_getc(p);
- if( c==EOF ){
- p->cTerm = EOF;
- return 0;
- }
- if( c=='"' ){
- int pc, ppc;
- int startLine = p->nLine;
- pc = ppc = 0;
- while( 1 ){
- c = csv_getc(p);
- if( c<='"' || pc=='"' ){
- if( c=='\n' ) p->nLine++;
- if( c=='"' ){
- if( pc=='"' ){
- pc = 0;
- continue;
- }
- }
- if( (c==',' && pc=='"')
- || (c=='\n' && pc=='"')
- || (c=='\n' && pc=='\r' && ppc=='"')
- || (c==EOF && pc=='"')
- ){
- do{ p->n--; }while( p->z[p->n]!='"' );
- p->cTerm = (char)c;
- break;
- }
- if( pc=='"' && c!='\r' ){
- csv_errmsg(p, "line %d: unescaped %c character", p->nLine, '"');
- break;
- }
- if( c==EOF ){
- csv_errmsg(p, "line %d: unterminated %c-quoted field\n",
- startLine, '"');
- p->cTerm = (char)c;
- break;
- }
- }
- if( csv_append(p, (char)c) ) return 0;
- ppc = pc;
- pc = c;
- }
- }else{
- /* If this is the first field being parsed and it begins with the
- ** UTF-8 BOM (0xEF BB BF) then skip the BOM */
- if( (c&0xff)==0xef && p->bNotFirst==0 ){
- csv_append(p, (char)c);
- c = csv_getc(p);
- if( (c&0xff)==0xbb ){
- csv_append(p, (char)c);
- c = csv_getc(p);
- if( (c&0xff)==0xbf ){
- p->bNotFirst = 1;
- p->n = 0;
- return csv_read_one_field(p);
- }
- }
- }
- while( c>',' || (c!=EOF && c!=',' && c!='\n') ){
- if( csv_append(p, (char)c) ) return 0;
- c = csv_getc(p);
- }
- if( c=='\n' ){
- p->nLine++;
- if( p->n>0 && p->z[p->n-1]=='\r' ) p->n--;
- }
- p->cTerm = (char)c;
- }
- if( p->z ) p->z[p->n] = 0;
- p->bNotFirst = 1;
- return p->z;
-}
-
-
-/* Forward references to the various virtual table methods implemented
-** in this file. */
-static int csvtabCreate(sqlite3*, void*, int, const char*const*,
- sqlite3_vtab**,char**);
-static int csvtabConnect(sqlite3*, void*, int, const char*const*,
- sqlite3_vtab**,char**);
-static int csvtabBestIndex(sqlite3_vtab*,sqlite3_index_info*);
-static int csvtabDisconnect(sqlite3_vtab*);
-static int csvtabOpen(sqlite3_vtab*, sqlite3_vtab_cursor**);
-static int csvtabClose(sqlite3_vtab_cursor*);
-static int csvtabFilter(sqlite3_vtab_cursor*, int idxNum, const char *idxStr,
- int argc, sqlite3_value **argv);
-static int csvtabNext(sqlite3_vtab_cursor*);
-static int csvtabEof(sqlite3_vtab_cursor*);
-static int csvtabColumn(sqlite3_vtab_cursor*,sqlite3_context*,int);
-static int csvtabRowid(sqlite3_vtab_cursor*,sqlite3_int64*);
-
-/* An instance of the CSV virtual table */
-typedef struct CsvTable {
- sqlite3_vtab base; /* Base class. Must be first */
- char *zFilename; /* Name of the CSV file */
- char *zData; /* Raw CSV data in lieu of zFilename */
- long iStart; /* Offset to start of data in zFilename */
- int nCol; /* Number of columns in the CSV file */
- unsigned int tstFlags; /* Bit values used for testing */
-} CsvTable;
-
-/* Allowed values for tstFlags */
-#define CSVTEST_FIDX 0x0001 /* Pretend that constrained searchs cost less*/
-
-/* A cursor for the CSV virtual table */
-typedef struct CsvCursor {
- sqlite3_vtab_cursor base; /* Base class. Must be first */
- CsvReader rdr; /* The CsvReader object */
- char **azVal; /* Value of the current row */
- int *aLen; /* Length of each entry */
- sqlite3_int64 iRowid; /* The current rowid. Negative for EOF */
-} CsvCursor;
-
-/* Transfer error message text from a reader into a CsvTable */
-static void csv_xfer_error(CsvTable *pTab, CsvReader *pRdr){
- sqlite3_free(pTab->base.zErrMsg);
- pTab->base.zErrMsg = sqlite3_mprintf("%s", pRdr->zErr);
-}
-
-/*
-** This method is the destructor fo a CsvTable object.
-*/
-static int csvtabDisconnect(sqlite3_vtab *pVtab){
- CsvTable *p = (CsvTable*)pVtab;
- sqlite3_free(p->zFilename);
- sqlite3_free(p->zData);
- sqlite3_free(p);
- return SQLITE_OK;
-}
-
-/* Skip leading whitespace. Return a pointer to the first non-whitespace
-** character, or to the zero terminator if the string has only whitespace */
-static const char *csv_skip_whitespace(const char *z){
- while( isspace((unsigned char)z[0]) ) z++;
- return z;
-}
-
-/* Remove trailing whitespace from the end of string z[] */
-static void csv_trim_whitespace(char *z){
- size_t n = strlen(z);
- while( n>0 && isspace((unsigned char)z[n]) ) n--;
- z[n] = 0;
-}
-
-/* Dequote the string */
-static void csv_dequote(char *z){
- int j;
- char cQuote = z[0];
- size_t i, n;
-
- if( cQuote!='\'' && cQuote!='"' ) return;
- n = strlen(z);
- if( n<2 || z[n-1]!=z[0] ) return;
- for(i=1, j=0; izErr. If there are no errors, p->zErr[0]==0.
-*/
-static int csv_string_parameter(
- CsvReader *p, /* Leave the error message here, if there is one */
- const char *zParam, /* Parameter we are checking for */
- const char *zArg, /* Raw text of the virtual table argment */
- char **pzVal /* Write the dequoted string value here */
-){
- const char *zValue;
- zValue = csv_parameter(zParam,(int)strlen(zParam),zArg);
- if( zValue==0 ) return 0;
- p->zErr[0] = 0;
- if( *pzVal ){
- csv_errmsg(p, "more than one '%s' parameter", zParam);
- return 1;
- }
- *pzVal = sqlite3_mprintf("%s", zValue);
- if( *pzVal==0 ){
- csv_errmsg(p, "out of memory");
- return 1;
- }
- csv_trim_whitespace(*pzVal);
- csv_dequote(*pzVal);
- return 1;
-}
-
-
-/* Return 0 if the argument is false and 1 if it is true. Return -1 if
-** we cannot really tell.
-*/
-static int csv_boolean(const char *z){
- if( sqlite3_stricmp("yes",z)==0
- || sqlite3_stricmp("on",z)==0
- || sqlite3_stricmp("true",z)==0
- || (z[0]=='1' && z[1]==0)
- ){
- return 1;
- }
- if( sqlite3_stricmp("no",z)==0
- || sqlite3_stricmp("off",z)==0
- || sqlite3_stricmp("false",z)==0
- || (z[0]=='0' && z[1]==0)
- ){
- return 0;
- }
- return -1;
-}
-
-/* Check to see if the string is of the form: "TAG = BOOLEAN" or just "TAG".
-** If it is, set *pValue to be the value of the boolean ("true" if there is
-** not "= BOOLEAN" component) and return non-zero. If the input string
-** does not begin with TAG, return zero.
-*/
-static int csv_boolean_parameter(
- const char *zTag, /* Tag we are looking for */
- int nTag, /* Size of the tag in bytes */
- const char *z, /* Input parameter */
- int *pValue /* Write boolean value here */
-){
- int b;
- z = csv_skip_whitespace(z);
- if( strncmp(zTag, z, nTag)!=0 ) return 0;
- z = csv_skip_whitespace(z + nTag);
- if( z[0]==0 ){
- *pValue = 1;
- return 1;
- }
- if( z[0]!='=' ) return 0;
- z = csv_skip_whitespace(z+1);
- b = csv_boolean(z);
- if( b>=0 ){
- *pValue = b;
- return 1;
- }
- return 0;
-}
-
-/*
-** Parameters:
-** filename=FILENAME Name of file containing CSV content
-** data=TEXT Direct CSV content.
-** schema=SCHEMA Alternative CSV schema.
-** header=YES|NO First row of CSV defines the names of
-** columns if "yes". Default "no".
-** columns=N Assume the CSV file contains N columns.
-**
-** Only available if compiled with SQLITE_TEST:
-**
-** testflags=N Bitmask of test flags. Optional
-**
-** If schema= is omitted, then the columns are named "c0", "c1", "c2",
-** and so forth. If columns=N is omitted, then the file is opened and
-** the number of columns in the first row is counted to determine the
-** column count. If header=YES, then the first row is skipped.
-*/
-static int csvtabConnect(
- sqlite3 *db,
- void *pAux,
- int argc, const char *const*argv,
- sqlite3_vtab **ppVtab,
- char **pzErr
-){
- CsvTable *pNew = 0; /* The CsvTable object to construct */
- int bHeader = -1; /* header= flags. -1 means not seen yet */
- int rc = SQLITE_OK; /* Result code from this routine */
- int i, j; /* Loop counters */
-#ifdef SQLITE_TEST
- int tstFlags = 0; /* Value for testflags=N parameter */
-#endif
- int b; /* Value of a boolean parameter */
- int nCol = -99; /* Value of the columns= parameter */
- CsvReader sRdr; /* A CSV file reader used to store an error
- ** message and/or to count the number of columns */
- static const char *azParam[] = {
- "filename", "data", "schema",
- };
- char *azPValue[3]; /* Parameter values */
-# define CSV_FILENAME (azPValue[0])
-# define CSV_DATA (azPValue[1])
-# define CSV_SCHEMA (azPValue[2])
-
-
- assert( sizeof(azPValue)==sizeof(azParam) );
- memset(&sRdr, 0, sizeof(sRdr));
- memset(azPValue, 0, sizeof(azPValue));
- for(i=3; i=0 ){
- csv_errmsg(&sRdr, "more than one 'header' parameter");
- goto csvtab_connect_error;
- }
- bHeader = b;
- }else
-#ifdef SQLITE_TEST
- if( (zValue = csv_parameter("testflags",9,z))!=0 ){
- tstFlags = (unsigned int)atoi(zValue);
- }else
-#endif
- if( (zValue = csv_parameter("columns",7,z))!=0 ){
- if( nCol>0 ){
- csv_errmsg(&sRdr, "more than one 'columns' parameter");
- goto csvtab_connect_error;
- }
- nCol = atoi(zValue);
- if( nCol<=0 ){
- csv_errmsg(&sRdr, "column= value must be positive");
- goto csvtab_connect_error;
- }
- }else
- {
- csv_errmsg(&sRdr, "bad parameter: '%s'", z);
- goto csvtab_connect_error;
- }
- }
- if( (CSV_FILENAME==0)==(CSV_DATA==0) ){
- csv_errmsg(&sRdr, "must specify either filename= or data= but not both");
- goto csvtab_connect_error;
- }
-
- if( (nCol<=0 || bHeader==1)
- && csv_reader_open(&sRdr, CSV_FILENAME, CSV_DATA)
- ){
- goto csvtab_connect_error;
- }
- pNew = sqlite3_malloc( sizeof(*pNew) );
- *ppVtab = (sqlite3_vtab*)pNew;
- if( pNew==0 ) goto csvtab_connect_oom;
- memset(pNew, 0, sizeof(*pNew));
- if( CSV_SCHEMA==0 ){
- sqlite3_str *pStr = sqlite3_str_new(0);
- char *zSep = "";
- int iCol = 0;
- sqlite3_str_appendf(pStr, "CREATE TABLE x(");
- if( nCol<0 && bHeader<1 ){
- nCol = 0;
- do{
- csv_read_one_field(&sRdr);
- nCol++;
- }while( sRdr.cTerm==',' );
- }
- if( nCol>0 && bHeader<1 ){
- for(iCol=0; iCol0 && iColnCol = nCol;
- sqlite3_str_appendf(pStr, ")");
- CSV_SCHEMA = sqlite3_str_finish(pStr);
- if( CSV_SCHEMA==0 ) goto csvtab_connect_oom;
- }else if( nCol<0 ){
- do{
- csv_read_one_field(&sRdr);
- pNew->nCol++;
- }while( sRdr.cTerm==',' );
- }else{
- pNew->nCol = nCol;
- }
- pNew->zFilename = CSV_FILENAME; CSV_FILENAME = 0;
- pNew->zData = CSV_DATA; CSV_DATA = 0;
-#ifdef SQLITE_TEST
- pNew->tstFlags = tstFlags;
-#endif
- if( bHeader!=1 ){
- pNew->iStart = 0;
- }else if( pNew->zData ){
- pNew->iStart = (int)sRdr.iIn;
- }else{
- pNew->iStart = (int)(ftell(sRdr.in) - sRdr.nIn + sRdr.iIn);
- }
- csv_reader_reset(&sRdr);
- rc = sqlite3_declare_vtab(db, CSV_SCHEMA);
- if( rc ){
- csv_errmsg(&sRdr, "bad schema: '%s' - %s", CSV_SCHEMA, sqlite3_errmsg(db));
- goto csvtab_connect_error;
- }
- for(i=0; ibase);
- for(i=0; ibase.pVtab;
- int i;
- for(i=0; inCol; i++){
- sqlite3_free(pCur->azVal[i]);
- pCur->azVal[i] = 0;
- pCur->aLen[i] = 0;
- }
-}
-
-/*
-** The xConnect and xCreate methods do the same thing, but they must be
-** different so that the virtual table is not an eponymous virtual table.
-*/
-static int csvtabCreate(
- sqlite3 *db,
- void *pAux,
- int argc, const char *const*argv,
- sqlite3_vtab **ppVtab,
- char **pzErr
-){
- return csvtabConnect(db, pAux, argc, argv, ppVtab, pzErr);
-}
-
-/*
-** Destructor for a CsvCursor.
-*/
-static int csvtabClose(sqlite3_vtab_cursor *cur){
- CsvCursor *pCur = (CsvCursor*)cur;
- csvtabCursorRowReset(pCur);
- csv_reader_reset(&pCur->rdr);
- sqlite3_free(cur);
- return SQLITE_OK;
-}
-
-/*
-** Constructor for a new CsvTable cursor object.
-*/
-static int csvtabOpen(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){
- CsvTable *pTab = (CsvTable*)p;
- CsvCursor *pCur;
- size_t nByte;
- nByte = sizeof(*pCur) + (sizeof(char*)+sizeof(int))*pTab->nCol;
- pCur = sqlite3_malloc64( nByte );
- if( pCur==0 ) return SQLITE_NOMEM;
- memset(pCur, 0, nByte);
- pCur->azVal = (char**)&pCur[1];
- pCur->aLen = (int*)&pCur->azVal[pTab->nCol];
- *ppCursor = &pCur->base;
- if( csv_reader_open(&pCur->rdr, pTab->zFilename, pTab->zData) ){
- csv_xfer_error(pTab, &pCur->rdr);
- return SQLITE_ERROR;
- }
- return SQLITE_OK;
-}
-
-
-/*
-** Advance a CsvCursor to its next row of input.
-** Set the EOF marker if we reach the end of input.
-*/
-static int csvtabNext(sqlite3_vtab_cursor *cur){
- CsvCursor *pCur = (CsvCursor*)cur;
- CsvTable *pTab = (CsvTable*)cur->pVtab;
- int i = 0;
- char *z;
- do{
- z = csv_read_one_field(&pCur->rdr);
- if( z==0 ){
- break;
- }
- if( inCol ){
- if( pCur->aLen[i] < pCur->rdr.n+1 ){
- char *zNew = sqlite3_realloc64(pCur->azVal[i], pCur->rdr.n+1);
- if( zNew==0 ){
- csv_errmsg(&pCur->rdr, "out of memory");
- csv_xfer_error(pTab, &pCur->rdr);
- break;
- }
- pCur->azVal[i] = zNew;
- pCur->aLen[i] = pCur->rdr.n+1;
- }
- memcpy(pCur->azVal[i], z, pCur->rdr.n+1);
- i++;
- }
- }while( pCur->rdr.cTerm==',' );
- if( z==0 || (pCur->rdr.cTerm==EOF && inCol) ){
- pCur->iRowid = -1;
- }else{
- pCur->iRowid++;
- while( inCol ){
- sqlite3_free(pCur->azVal[i]);
- pCur->azVal[i] = 0;
- pCur->aLen[i] = 0;
- i++;
- }
- }
- return SQLITE_OK;
-}
-
-/*
-** Return values of columns for the row at which the CsvCursor
-** is currently pointing.
-*/
-static int csvtabColumn(
- sqlite3_vtab_cursor *cur, /* The cursor */
- sqlite3_context *ctx, /* First argument to sqlite3_result_...() */
- int i /* Which column to return */
-){
- CsvCursor *pCur = (CsvCursor*)cur;
- CsvTable *pTab = (CsvTable*)cur->pVtab;
- if( i>=0 && inCol && pCur->azVal[i]!=0 ){
- sqlite3_result_text(ctx, pCur->azVal[i], -1, SQLITE_STATIC);
- }
- return SQLITE_OK;
-}
-
-/*
-** Return the rowid for the current row.
-*/
-static int csvtabRowid(sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid){
- CsvCursor *pCur = (CsvCursor*)cur;
- *pRowid = pCur->iRowid;
- return SQLITE_OK;
-}
-
-/*
-** Return TRUE if the cursor has been moved off of the last
-** row of output.
-*/
-static int csvtabEof(sqlite3_vtab_cursor *cur){
- CsvCursor *pCur = (CsvCursor*)cur;
- return pCur->iRowid<0;
-}
-
-/*
-** Only a full table scan is supported. So xFilter simply rewinds to
-** the beginning.
-*/
-static int csvtabFilter(
- sqlite3_vtab_cursor *pVtabCursor,
- int idxNum, const char *idxStr,
- int argc, sqlite3_value **argv
-){
- CsvCursor *pCur = (CsvCursor*)pVtabCursor;
- CsvTable *pTab = (CsvTable*)pVtabCursor->pVtab;
- pCur->iRowid = 0;
- if( pCur->rdr.in==0 ){
- assert( pCur->rdr.zIn==pTab->zData );
- assert( pTab->iStart>=0 );
- assert( (size_t)pTab->iStart<=pCur->rdr.nIn );
- pCur->rdr.iIn = pTab->iStart;
- }else{
- fseek(pCur->rdr.in, pTab->iStart, SEEK_SET);
- pCur->rdr.iIn = 0;
- pCur->rdr.nIn = 0;
- }
- return csvtabNext(pVtabCursor);
-}
-
-/*
-** Only a forward full table scan is supported. xBestIndex is mostly
-** a no-op. If CSVTEST_FIDX is set, then the presence of equality
-** constraints lowers the estimated cost, which is fiction, but is useful
-** for testing certain kinds of virtual table behavior.
-*/
-static int csvtabBestIndex(
- sqlite3_vtab *tab,
- sqlite3_index_info *pIdxInfo
-){
- pIdxInfo->estimatedCost = 1000000;
-#ifdef SQLITE_TEST
- if( (((CsvTable*)tab)->tstFlags & CSVTEST_FIDX)!=0 ){
- /* The usual (and sensible) case is to always do a full table scan.
- ** The code in this branch only runs when testflags=1. This code
- ** generates an artifical and unrealistic plan which is useful
- ** for testing virtual table logic but is not helpful to real applications.
- **
- ** Any ==, LIKE, or GLOB constraint is marked as usable by the virtual
- ** table (even though it is not) and the cost of running the virtual table
- ** is reduced from 1 million to just 10. The constraints are *not* marked
- ** as omittable, however, so the query planner should still generate a
- ** plan that gives a correct answer, even if they plan is not optimal.
- */
- int i;
- int nConst = 0;
- for(i=0; inConstraint; i++){
- unsigned char op;
- if( pIdxInfo->aConstraint[i].usable==0 ) continue;
- op = pIdxInfo->aConstraint[i].op;
- if( op==SQLITE_INDEX_CONSTRAINT_EQ
- || op==SQLITE_INDEX_CONSTRAINT_LIKE
- || op==SQLITE_INDEX_CONSTRAINT_GLOB
- ){
- pIdxInfo->estimatedCost = 10;
- pIdxInfo->aConstraintUsage[nConst].argvIndex = nConst+1;
- nConst++;
- }
- }
- }
-#endif
- return SQLITE_OK;
-}
-
-
-static sqlite3_module CsvModule = {
- 0, /* iVersion */
- csvtabCreate, /* xCreate */
- csvtabConnect, /* xConnect */
- csvtabBestIndex, /* xBestIndex */
- csvtabDisconnect, /* xDisconnect */
- csvtabDisconnect, /* xDestroy */
- csvtabOpen, /* xOpen - open a cursor */
- csvtabClose, /* xClose - close a cursor */
- csvtabFilter, /* xFilter - configure scan constraints */
- csvtabNext, /* xNext - advance a cursor */
- csvtabEof, /* xEof - check for end of scan */
- csvtabColumn, /* xColumn - read data */
- csvtabRowid, /* xRowid - read data */
- 0, /* xUpdate */
- 0, /* xBegin */
- 0, /* xSync */
- 0, /* xCommit */
- 0, /* xRollback */
- 0, /* xFindMethod */
- 0, /* xRename */
-};
-
-#ifdef SQLITE_TEST
-/*
-** For virtual table testing, make a version of the CSV virtual table
-** available that has an xUpdate function. But the xUpdate always returns
-** SQLITE_READONLY since the CSV file is not really writable.
-*/
-static int csvtabUpdate(sqlite3_vtab *p,int n,sqlite3_value**v,sqlite3_int64*x){
- return SQLITE_READONLY;
-}
-static sqlite3_module CsvModuleFauxWrite = {
- 0, /* iVersion */
- csvtabCreate, /* xCreate */
- csvtabConnect, /* xConnect */
- csvtabBestIndex, /* xBestIndex */
- csvtabDisconnect, /* xDisconnect */
- csvtabDisconnect, /* xDestroy */
- csvtabOpen, /* xOpen - open a cursor */
- csvtabClose, /* xClose - close a cursor */
- csvtabFilter, /* xFilter - configure scan constraints */
- csvtabNext, /* xNext - advance a cursor */
- csvtabEof, /* xEof - check for end of scan */
- csvtabColumn, /* xColumn - read data */
- csvtabRowid, /* xRowid - read data */
- csvtabUpdate, /* xUpdate */
- 0, /* xBegin */
- 0, /* xSync */
- 0, /* xCommit */
- 0, /* xRollback */
- 0, /* xFindMethod */
- 0, /* xRename */
-};
-#endif /* SQLITE_TEST */
-
-#endif /* !defined(SQLITE_OMIT_VIRTUALTABLE) */
-
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-/*
-** This routine is called when the extension is loaded. The new
-** CSV virtual table module is registered with the calling database
-** connection.
-*/
-int sqlite3_csv_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
-#ifndef SQLITE_OMIT_VIRTUALTABLE
- int rc;
- SQLITE_EXTENSION_INIT2(pApi);
- rc = sqlite3_create_module(db, "csv", &CsvModule, 0);
-#ifdef SQLITE_TEST
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0);
- }
-#endif
- return rc;
-#else
- return SQLITE_OK;
-#endif
-}
diff --git a/sqlite3secure/src/extensionfunctions.c b/sqlite3secure/src/extensionfunctions.c
deleted file mode 100644
index 693b1a1a..00000000
--- a/sqlite3secure/src/extensionfunctions.c
+++ /dev/null
@@ -1,1980 +0,0 @@
-/*
-This library will provide common mathematical and string functions in
-SQL queries using the operating system libraries or provided
-definitions. It includes the following functions:
-
-Math: acos, asin, atan, atn2, atan2, acosh, asinh, atanh, difference,
-degrees, radians, cos, sin, tan, cot, cosh, sinh, tanh, coth, exp,
-log, log10, power, sign, sqrt, square, ceil, floor, pi.
-
-String: replicate, charindex, leftstr, rightstr, ltrim, rtrim, trim,
-replace, reverse, proper, padl, padr, padc, strfilter.
-
-Aggregate: stdev, variance, mode, median, lower_quartile,
-upper_quartile.
-
-The string functions ltrim, rtrim, trim, replace are included in
-recent versions of SQLite and so by default do not build.
-
-Compilation instructions:
- Compile this C source file into a dynamic library as follows:
- * Linux:
- gcc -fPIC -lm -shared extension-functions.c -o libsqlitefunctions.so
- * Mac OS X:
- gcc -fno-common -dynamiclib extension-functions.c -o libsqlitefunctions.dylib
- (You may need to add flags
- -I /opt/local/include/ -L/opt/local/lib -lsqlite3
- if your sqlite3 is installed from Mac ports, or
- -I /sw/include/ -L/sw/lib -lsqlite3
- if installed with Fink.)
- * Windows:
- 1. Install MinGW (http://www.mingw.org/) and you will get the gcc
- (gnu compiler collection)
- 2. add the path to your path variable (isn't done during the
- installation!)
- 3. compile:
- gcc -shared -I "path" -o libsqlitefunctions.so extension-functions.c
- (path = path of sqlite3ext.h; i.e. C:\programs\sqlite)
-
-Usage instructions for applications calling the sqlite3 API functions:
- In your application, call sqlite3_enable_load_extension(db,1) to
- allow loading external libraries. Then load the library libsqlitefunctions
- using sqlite3_load_extension; the third argument should be 0.
- See http://www.sqlite.org/cvstrac/wiki?p=LoadableExtensions.
- Select statements may now use these functions, as in
- SELECT cos(radians(inclination)) FROM satsum WHERE satnum = 25544;
-
-Usage instructions for the sqlite3 program:
- If the program is built so that loading extensions is permitted,
- the following will work:
- sqlite> SELECT load_extension('./libsqlitefunctions.so');
- sqlite> select cos(radians(45));
- 0.707106781186548
- Note: Loading extensions is by default prohibited as a
- security measure; see "Security Considerations" in
- http://www.sqlite.org/cvstrac/wiki?p=LoadableExtensions.
- If the sqlite3 program and library are built this
- way, you cannot use these functions from the program, you
- must write your own program using the sqlite3 API, and call
- sqlite3_enable_load_extension as described above, or else
- rebuilt the sqlite3 program to allow loadable extensions.
-
-Alterations:
-The instructions are for Linux, Mac OS X, and Windows; users of other
-OSes may need to modify this procedure. In particular, if your math
-library lacks one or more of the needed trig or log functions, comment
-out the appropriate HAVE_ #define at the top of file. If you do not
-wish to make a loadable module, comment out the define for
-COMPILE_SQLITE_EXTENSIONS_AS_LOADABLE_MODULE. If you are using a
-version of SQLite without the trim functions and replace, comment out
-the HAVE_TRIM #define.
-
-Liam Healy
-
-History:
-2010-01-06 Correct check for argc in squareFunc, and add Windows
-compilation instructions.
-2009-06-24 Correct check for argc in properFunc.
-2008-09-14 Add check that memory was actually allocated after
-sqlite3_malloc or sqlite3StrDup, call sqlite3_result_error_nomem if
-not. Thanks to Robert Simpson.
-2008-06-13 Change to instructions to indicate use of the math library
-and that program might work.
-2007-10-01 Minor clarification to instructions.
-2007-09-29 Compilation as loadable module is optional with
-COMPILE_SQLITE_EXTENSIONS_AS_LOADABLE_MODULE.
-2007-09-28 Use sqlite3_extension_init and macros
-SQLITE_EXTENSION_INIT1, SQLITE_EXTENSION_INIT2, so that it works with
-sqlite3_load_extension. Thanks to Eric Higashino and Joe Wilson.
-New instructions for Mac compilation.
-2007-09-17 With help from Joe Wilson and Nuno Luca, made use of
-external interfaces so that compilation is no longer dependent on
-SQLite source code. Merged source, header, and README into a single
-file. Added casts so that Mac will compile without warnings (unsigned
-and signed char).
-2007-09-05 Included some definitions from sqlite 3.3.13 so that this
-will continue to work in newer versions of sqlite. Completed
-description of functions available.
-2007-03-27 Revised description.
-2007-03-23 Small cleanup and a bug fix on the code. This was mainly
-letting errno flag errors encountered in the math library and checking
-the result, rather than pre-checking. This fixes a bug in power that
-would cause an error if any non-positive number was raised to any
-power.
-2007-02-07 posted by Mikey C to sqlite mailing list.
-Original code 2006 June 05 by relicoder.
-
-*/
-
-/* #include "config.h" */
-
-/* #define COMPILE_SQLITE_EXTENSIONS_AS_LOADABLE_MODULE 1 */
-#if defined(_MSC_VER) && _MSC_VER <= 1700
-#else
-#define HAVE_ACOSH 1
-#define HAVE_ASINH 1
-#define HAVE_ATANH 1
-#endif
-#define HAVE_SINH 1
-#define HAVE_COSH 1
-#define HAVE_TANH 1
-#define HAVE_LOG10 1
-#if defined(_MSC_VER) && _MSC_VER <= 1700
-#else
-#define HAVE_ISBLANK 1
-#endif
-#define SQLITE_SOUNDEX 1
-#define HAVE_TRIM 1 /* LMH 2007-03-25 if sqlite has trim functions */
-
-#ifdef COMPILE_SQLITE_EXTENSIONS_AS_LOADABLE_MODULE
-#include "sqlite3ext.h"
-SQLITE_EXTENSION_INIT1
-#else
-#include "sqlite3.h"
-#endif
-
-#include
-/* relicoder */
-#include
-#include
-#include
-#include /* LMH 2007-03-25 */
-
-#include
-#include
-
-#ifndef _MAP_H_
-#define _MAP_H_
-
-#if 0
-#if !defined(SQLITE_OS_WIN) || !defined(_MSC_VER)
-#include
-#else
-typedef signed char int8_t;
-typedef unsigned char uint8_t;
-typedef signed int int16_t;
-typedef unsigned int uint16_t;
-typedef signed long int int32_t;
-typedef unsigned long int uint32_t;
-typedef signed __int64 int64_t;
-typedef unsigned __int64 uint64_t;
-#endif
-#endif
-
-/*
-** Simple binary tree implementation to use in median, mode and quartile calculations
-** Tree is not necessarily balanced. That would require something like red&black trees of AVL
-*/
-
-typedef int(*cmp_func)(const void *, const void *);
-typedef void(*map_iterator)(void*, i64, void*);
-
-typedef struct node{
- struct node *l;
- struct node *r;
- void* data;
- i64 count;
-} node;
-
-typedef struct map{
- node *base;
- cmp_func cmp;
- short free;
-} map;
-
-/*
-** creates a map given a comparison function
-*/
-map map_make(cmp_func cmp);
-
-/*
-** inserts the element e into map m
-*/
-void map_insert(map *m, void *e);
-
-/*
-** executes function iter over all elements in the map, in key increasing order
-*/
-void map_iterate(map *m, map_iterator iter, void* p);
-
-/*
-** frees all memory used by a map
-*/
-void map_destroy(map *m);
-
-/*
-** compares 2 integers
-** to use with map_make
-*/
-int int_cmp(const void *a, const void *b);
-
-/*
-** compares 2 doubles
-** to use with map_make
-*/
-int double_cmp(const void *a, const void *b);
-
-#endif /* _MAP_H_ */
-
-static char *sqlite3StrDup( const char *z ) {
- char *res = sqlite3_malloc( strlen(z)+1 );
- return strcpy( res, z );
-}
-
-/*
-** These are copied verbatim from fun.c so as to not have the names exported
-*/
-
-/* LMH from sqlite3 3.3.13 */
-/*
-** This table maps from the first byte of a UTF-8 character to the number
-** of trailing bytes expected. A value '4' indicates that the table key
-** is not a legal first byte for a UTF-8 character.
-*/
-static const u8 xtra_utf8_bytes[256] = {
-/* 0xxxxxxx */
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-/* 10wwwwww */
-4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-
-/* 110yyyyy */
-1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-
-/* 1110zzzz */
-2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-
-/* 11110yyy */
-3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,
-};
-
-
-/*
-** This table maps from the number of trailing bytes in a UTF-8 character
-** to an integer constant that is effectively calculated for each character
-** read by a naive implementation of a UTF-8 character reader. The code
-** in the READ_UTF8 macro explains things best.
-*/
-static const int xtra_utf8_bits[] = {
- 0,
- 12416, /* (0xC0 << 6) + (0x80) */
- 925824, /* (0xE0 << 12) + (0x80 << 6) + (0x80) */
- 63447168 /* (0xF0 << 18) + (0x80 << 12) + (0x80 << 6) + 0x80 */
-};
-
-/*
-** If a UTF-8 character contains N bytes extra bytes (N bytes follow
-** the initial byte so that the total character length is N+1) then
-** masking the character with utf8_mask[N] must produce a non-zero
-** result. Otherwise, we have an (illegal) overlong encoding.
-*/
-static const int utf_mask[] = {
- 0x00000000,
- 0xffffff80,
- 0xfffff800,
- 0xffff0000,
-};
-
-/* LMH salvaged from sqlite3 3.3.13 source code src/utf.c */
-#define EXTFUNC_READ_UTF8(zIn, c) { \
- int xtra; \
- c = *(zIn)++; \
- xtra = xtra_utf8_bytes[c]; \
- switch( xtra ){ \
- case 4: c = (int)0xFFFD; break; \
- case 3: c = (c<<6) + *(zIn)++; \
- case 2: c = (c<<6) + *(zIn)++; \
- case 1: c = (c<<6) + *(zIn)++; \
- c -= xtra_utf8_bits[xtra]; \
- if( (utf_mask[xtra]&c)==0 \
- || (c&0xFFFFF800)==0xD800 \
- || (c&0xFFFFFFFE)==0xFFFE ){ c = 0xFFFD; } \
- } \
-}
-
-static int sqlite3ReadUtf8(const unsigned char *z){
- int c;
- EXTFUNC_READ_UTF8(z, c);
- return c;
-}
-
-#define SKIP_UTF8(zIn) { \
- zIn += (xtra_utf8_bytes[*(u8 *)zIn] + 1); \
-}
-
-#if 0
-/*
-** pZ is a UTF-8 encoded unicode string. If nByte is less than zero,
-** return the number of unicode characters in pZ up to (but not including)
-** the first 0x00 byte. If nByte is not less than zero, return the
-** number of unicode characters in the first nByte of pZ (or up to
-** the first 0x00, whichever comes first).
-*/
-static int sqlite3Utf8CharLen(const char *z, int nByte){
- int r = 0;
- const char *zTerm;
- if( nByte>=0 ){
- zTerm = &z[nByte];
- }else{
- zTerm = (const char *)(-1);
- }
- assert( z<=zTerm );
- while( *z!=0 && z 0) ? 1: ( iVal < 0 ) ? -1: 0;
- sqlite3_result_int64(context, iVal);
- break;
- }
- case SQLITE_NULL: {
- sqlite3_result_null(context);
- break;
- }
- default: {
- /* 2nd change below. Line for abs was: if( rVal<0 ) rVal = rVal * -1.0; */
-
- rVal = sqlite3_value_double(argv[0]);
- rVal = ( rVal > 0) ? 1: ( rVal < 0 ) ? -1: 0;
- sqlite3_result_double(context, rVal);
- break;
- }
- }
-}
-
-
-/*
-** smallest integer value not less than argument
-*/
-static void ceilFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- double rVal=0.0;
- i64 iVal=0;
- assert( argc==1 );
- switch( sqlite3_value_type(argv[0]) ){
- case SQLITE_INTEGER: {
- iVal = sqlite3_value_int64(argv[0]);
- sqlite3_result_int64(context, iVal);
- break;
- }
- case SQLITE_NULL: {
- sqlite3_result_null(context);
- break;
- }
- default: {
- rVal = sqlite3_value_double(argv[0]);
- sqlite3_result_int64(context, (i64) ceil(rVal));
- break;
- }
- }
-}
-
-/*
-** largest integer value not greater than argument
-*/
-static void floorFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- double rVal=0.0;
- i64 iVal=0;
- assert( argc==1 );
- switch( sqlite3_value_type(argv[0]) ){
- case SQLITE_INTEGER: {
- iVal = sqlite3_value_int64(argv[0]);
- sqlite3_result_int64(context, iVal);
- break;
- }
- case SQLITE_NULL: {
- sqlite3_result_null(context);
- break;
- }
- default: {
- rVal = sqlite3_value_double(argv[0]);
- sqlite3_result_int64(context, (i64) floor(rVal));
- break;
- }
- }
-}
-
-/*
-** Given a string (s) in the first argument and an integer (n) in the second returns the
-** string that constains s contatenated n times
-*/
-static void replicateFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- unsigned char *z; /* input string */
- unsigned char *zo; /* result string */
- i64 iCount; /* times to repeat */
- i64 nLen; /* length of the input string (no multibyte considerations) */
- i64 nTLen; /* length of the result string (no multibyte considerations) */
- i64 i=0;
-
- if( argc!=2 || SQLITE_NULL==sqlite3_value_type(argv[0]) )
- return;
-
- iCount = sqlite3_value_int64(argv[1]);
-
- if( iCount<0 ){
- sqlite3_result_error(context, "domain error", -1);
- }else{
-
- nLen = sqlite3_value_bytes(argv[0]);
- nTLen = nLen*iCount;
- z=sqlite3_malloc(nTLen+1);
- zo=sqlite3_malloc(nLen+1);
- if (!z || !zo){
- sqlite3_result_error_nomem(context);
- if (z) sqlite3_free(z);
- if (zo) sqlite3_free(zo);
- return;
- }
- strcpy((char*)zo, (char*)sqlite3_value_text(argv[0]));
-
- for(i=0; i=n it's a NOP
-** padl(NULL) = NULL
-*/
-static void padlFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- i64 ilen; /* length to pad to */
- i64 zl; /* length of the input string (UTF-8 chars) */
- int i = 0;
- const char *zi; /* input string */
- char *zo; /* output string */
- char *zt;
-
- assert( argc==2 );
-
- if( sqlite3_value_type(argv[0]) == SQLITE_NULL ){
- sqlite3_result_null(context);
- }else{
- zi = (char *)sqlite3_value_text(argv[0]);
- ilen = sqlite3_value_int64(argv[1]);
- /* check domain */
- if(ilen<0){
- sqlite3_result_error(context, "domain error", -1);
- return;
- }
- zl = sqlite3Utf8CharLen(zi, -1);
- if( zl>=ilen ){
- /* string is longer than the requested pad length, return the same string (dup it) */
- zo = sqlite3StrDup(zi);
- if (!zo){
- sqlite3_result_error_nomem(context);
- return;
- }
- sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT);
- }else{
- zo = sqlite3_malloc(strlen(zi)+ilen-zl+1);
- if (!zo){
- sqlite3_result_error_nomem(context);
- return;
- }
- zt = zo;
- for(i=1; i+zl<=ilen; ++i){
- *(zt++)=' ';
- }
- /* no need to take UTF-8 into consideration here */
- strcpy(zt,zi);
- }
- sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT);
- sqlite3_free(zo);
- }
-}
-
-/*
-** given an input string (s) and an integer (n) appends spaces at the end of s
-** until it has a length of n characters.
-** When s has a length >=n it's a NOP
-** padl(NULL) = NULL
-*/
-static void padrFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- i64 ilen; /* length to pad to */
- i64 zl; /* length of the input string (UTF-8 chars) */
- i64 zll; /* length of the input string (bytes) */
- int i = 0;
- const char *zi; /* input string */
- char *zo; /* output string */
- char *zt;
-
- assert( argc==2 );
-
- if( sqlite3_value_type(argv[0]) == SQLITE_NULL ){
- sqlite3_result_null(context);
- }else{
- zi = (char *)sqlite3_value_text(argv[0]);
- ilen = sqlite3_value_int64(argv[1]);
- /* check domain */
- if(ilen<0){
- sqlite3_result_error(context, "domain error", -1);
- return;
- }
- zl = sqlite3Utf8CharLen(zi, -1);
- if( zl>=ilen ){
- /* string is longer than the requested pad length, return the same string (dup it) */
- zo = sqlite3StrDup(zi);
- if (!zo){
- sqlite3_result_error_nomem(context);
- return;
- }
- sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT);
- }else{
- zll = strlen(zi);
- zo = sqlite3_malloc(zll+ilen-zl+1);
- if (!zo){
- sqlite3_result_error_nomem(context);
- return;
- }
- zt = strcpy(zo,zi)+zll;
- for(i=1; i+zl<=ilen; ++i){
- *(zt++) = ' ';
- }
- *zt = '\0';
- }
- sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT);
- sqlite3_free(zo);
- }
-}
-
-/*
-** given an input string (s) and an integer (n) appends spaces at the end of s
-** and adds spaces at the begining of s until it has a length of n characters.
-** Tries to add has many characters at the left as at the right.
-** When s has a length >=n it's a NOP
-** padl(NULL) = NULL
-*/
-static void padcFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- i64 ilen; /* length to pad to */
- i64 zl; /* length of the input string (UTF-8 chars) */
- i64 zll; /* length of the input string (bytes) */
- int i = 0;
- const char *zi; /* input string */
- char *zo; /* output string */
- char *zt;
-
- assert( argc==2 );
-
- if( sqlite3_value_type(argv[0]) == SQLITE_NULL ){
- sqlite3_result_null(context);
- }else{
- zi = (char *)sqlite3_value_text(argv[0]);
- ilen = sqlite3_value_int64(argv[1]);
- /* check domain */
- if(ilen<0){
- sqlite3_result_error(context, "domain error", -1);
- return;
- }
- zl = sqlite3Utf8CharLen(zi, -1);
- if( zl>=ilen ){
- /* string is longer than the requested pad length, return the same string (dup it) */
- zo = sqlite3StrDup(zi);
- if (!zo){
- sqlite3_result_error_nomem(context);
- return;
- }
- sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT);
- }else{
- zll = strlen(zi);
- zo = sqlite3_malloc(zll+ilen-zl+1);
- if (!zo){
- sqlite3_result_error_nomem(context);
- return;
- }
- zt = zo;
- for(i=1; 2*i+zl<=ilen; ++i){
- *(zt++) = ' ';
- }
- strcpy(zt, zi);
- zt+=zll;
- for(; i+zl<=ilen; ++i){
- *(zt++) = ' ';
- }
- *zt = '\0';
- }
- sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT);
- sqlite3_free(zo);
- }
-}
-
-/*
-** given 2 string (s1,s2) returns the string s1 with the characters NOT in s2 removed
-** assumes strings are UTF-8 encoded
-*/
-static void strfilterFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- const char *zi1; /* first parameter string (searched string) */
- const char *zi2; /* second parameter string (vcontains valid characters) */
- const char *z1;
- const char *z21;
- const char *z22;
- char *zo; /* output string */
- char *zot;
- int c1 = 0;
- int c2 = 0;
-
- assert( argc==2 );
-
- if( sqlite3_value_type(argv[0]) == SQLITE_NULL || sqlite3_value_type(argv[1]) == SQLITE_NULL ){
- sqlite3_result_null(context);
- }else{
- zi1 = (char *)sqlite3_value_text(argv[0]);
- zi2 = (char *)sqlite3_value_text(argv[1]);
- /*
- ** maybe I could allocate less, but that would imply 2 passes, rather waste
- ** (possibly) some memory
- */
- zo = sqlite3_malloc(strlen(zi1)+1);
- if (!zo){
- sqlite3_result_error_nomem(context);
- return;
- }
- zot = zo;
- z1 = zi1;
- while( (c1=sqliteCharVal((unsigned char *)z1))!=0 ){
- z21=zi2;
- while( (c2=sqliteCharVal((unsigned char *)z21))!=0 && c2!=c1 ){
- sqliteNextChar(z21);
- }
- if( c2!=0){
- z22=z21;
- sqliteNextChar(z22);
- strncpy(zot, z21, z22-z21);
- zot+=z22-z21;
- }
- sqliteNextChar(z1);
- }
- *zot = '\0';
-
- sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT);
- sqlite3_free(zo);
- }
-}
-
-/*
-** Given a string z1, retutns the (0 based) index of it's first occurence
-** in z2 after the first s characters.
-** Returns -1 when there isn't a match.
-** updates p to point to the character where the match occured.
-** This is an auxiliary function.
-*/
-static int _substr(const char* z1, const char* z2, int s, const char** p){
- int c = 0;
- int rVal=-1;
- const char* zt1;
- const char* zt2;
- int c1,c2;
-
- if( '\0'==*z1 ){
- return -1;
- }
-
- while( (sqliteCharVal((unsigned char *)z2) != 0) && (c++)=0 ? rVal+s : rVal;
-}
-
-/*
-** given 2 input strings (s1,s2) and an integer (n) searches from the nth character
-** for the string s1. Returns the position where the match occured.
-** Characters are counted from 1.
-** 0 is returned when no match occurs.
-*/
-
-static void charindexFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- const u8 *z1; /* s1 string */
- u8 *z2; /* s2 string */
- int s=0;
- int rVal=0;
-
- assert( argc==3 ||argc==2);
-
- if( SQLITE_NULL==sqlite3_value_type(argv[0]) || SQLITE_NULL==sqlite3_value_type(argv[1])){
- sqlite3_result_null(context);
- return;
- }
-
- z1 = sqlite3_value_text(argv[0]);
- if( z1==0 ) return;
- z2 = (u8*) sqlite3_value_text(argv[1]);
- if(argc==3){
- s = sqlite3_value_int(argv[2])-1;
- if(s<0){
- s=0;
- }
- }else{
- s = 0;
- }
-
- rVal = _substr((char *)z1,(char *)z2,s,NULL);
- sqlite3_result_int(context, rVal+1);
-}
-
-/*
-** given a string (s) and an integer (n) returns the n leftmost (UTF-8) characters
-** if the string has a length<=n or is NULL this function is NOP
-*/
-static void leftFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- int c=0;
- int cc=0;
- int l=0;
- const unsigned char *z; /* input string */
- const unsigned char *zt;
- unsigned char *rz; /* output string */
-
- assert( argc==2);
-
- if( SQLITE_NULL==sqlite3_value_type(argv[0]) || SQLITE_NULL==sqlite3_value_type(argv[1])){
- sqlite3_result_null(context);
- return;
- }
-
- z = sqlite3_value_text(argv[0]);
- l = sqlite3_value_int(argv[1]);
- zt = z;
-
- while( sqliteCharVal(zt) && c++ 0 ){
- sqliteNextChar(zt);
- }
-
- rz = sqlite3_malloc(ze-zt+1);
- if (!rz){
- sqlite3_result_error_nomem(context);
- return;
- }
- strcpy((char*) rz, (char*) (zt));
- sqlite3_result_text(context, (char*)rz, -1, SQLITE_TRANSIENT);
- sqlite3_free(rz);
-}
-
-#ifndef HAVE_TRIM
-/*
-** removes the whitespaces at the begining of a string.
-*/
-const char* ltrim(const char* s){
- while( *s==' ' )
- ++s;
- return s;
-}
-
-/*
-** removes the whitespaces at the end of a string.
-** !mutates the input string!
-*/
-void rtrim(char* s){
- char* ss = s+strlen(s)-1;
- while( ss>=s && *ss==' ' )
- --ss;
- *(ss+1)='\0';
-}
-
-/*
-** Removes the whitespace at the begining of a string
-*/
-static void ltrimFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- const char *z;
-
- assert( argc==1);
-
- if( SQLITE_NULL==sqlite3_value_type(argv[0]) ){
- sqlite3_result_null(context);
- return;
- }
- z = sqlite3_value_text(argv[0]);
- sqlite3_result_text(context, ltrim(z), -1, SQLITE_TRANSIENT);
-}
-
-/*
-** Removes the whitespace at the end of a string
-*/
-static void rtrimFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- const char *z;
- char *rz;
- /* try not to change data in argv */
-
- assert( argc==1);
-
- if( SQLITE_NULL==sqlite3_value_type(argv[0]) ){
- sqlite3_result_null(context);
- return;
- }
- z = sqlite3_value_text(argv[0]);
- rz = sqlite3StrDup(z);
- rtrim(rz);
- sqlite3_result_text(context, rz, -1, SQLITE_TRANSIENT);
- sqlite3_free(rz);
-}
-
-/*
-** Removes the whitespace at the begining and end of a string
-*/
-static void trimFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- const char *z;
- char *rz;
- /* try not to change data in argv */
-
- assert( argc==1);
-
- if( SQLITE_NULL==sqlite3_value_type(argv[0]) ){
- sqlite3_result_null(context);
- return;
- }
- z = sqlite3_value_text(argv[0]);
- rz = sqlite3StrDup(z);
- rtrim(rz);
- sqlite3_result_text(context, ltrim(rz), -1, SQLITE_TRANSIENT);
- sqlite3_free(rz);
-}
-#endif
-
-/*
-** given a pointer to a string s1, the length of that string (l1), a new string (s2)
-** and it's length (l2) appends s2 to s1.
-** All lengths in bytes.
-** This is just an auxiliary function
-*/
-#if 0
-static void _append(char **s1, int l1, const char *s2, int l2){
- *s1 = realloc(*s1, (l1+l2+1)*sizeof(char));
- strncpy((*s1)+l1, s2, l2);
- *(*(s1)+l1+l2) = '\0';
-}
-#endif
-
-#ifndef HAVE_TRIM
-
-/*
-** given strings s, s1 and s2 replaces occurrences of s1 in s by s2
-*/
-static void replaceFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- const char *z1; /* string s (first parameter) */
- const char *z2; /* string s1 (second parameter) string to look for */
- const char *z3; /* string s2 (third parameter) string to replace occurrences of s1 with */
- int lz1;
- int lz2;
- int lz3;
- int lzo=0;
- char *zo=0;
- int ret=0;
- const char *zt1;
- const char *zt2;
-
- assert( 3==argc );
-
- if( SQLITE_NULL==sqlite3_value_type(argv[0]) ){
- sqlite3_result_null(context);
- return;
- }
-
- z1 = sqlite3_value_text(argv[0]);
- z2 = sqlite3_value_text(argv[1]);
- z3 = sqlite3_value_text(argv[2]);
- /* handle possible null values */
- if( 0==z2 ){
- z2="";
- }
- if( 0==z3 ){
- z3="";
- }
-
- lz1 = strlen(z1);
- lz2 = strlen(z2);
- lz3 = strlen(z3);
-
-#if 0
- /* special case when z2 is empty (or null) nothing will be changed */
- if( 0==lz2 ){
- sqlite3_result_text(context, z1, -1, SQLITE_TRANSIENT);
- return;
- }
-#endif
-
- zt1=z1;
- zt2=z1;
-
- while(1){
- ret=_substr(z2,zt1 , 0, &zt2);
-
- if( ret<0 )
- break;
-
- _append(&zo, lzo, zt1, zt2-zt1);
- lzo+=zt2-zt1;
- _append(&zo, lzo, z3, lz3);
- lzo+=lz3;
-
- zt1=zt2+lz2;
- }
- _append(&zo, lzo, zt1, lz1-(zt1-z1));
- sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT);
- sqlite3_free(zo);
-}
-#endif
-
-/*
-** given a string returns the same string but with the characters in reverse order
-*/
-static void reverseFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- const char *z;
- const char *zt;
- char *rz;
- char *rzt;
- int l = 0;
- int i = 0;
-
- assert( 1==argc );
-
- if( SQLITE_NULL==sqlite3_value_type(argv[0]) ){
- sqlite3_result_null(context);
- return;
- }
- z = (char *)sqlite3_value_text(argv[0]);
- l = strlen(z);
- rz = sqlite3_malloc(l+1);
- if (!rz){
- sqlite3_result_error_nomem(context);
- return;
- }
- rzt = rz+l;
- *(rzt--) = '\0';
-
- zt=z;
- while( sqliteCharVal((unsigned char *)zt)!=0 ){
- z=zt;
- sqliteNextChar(zt);
- for(i=1; zt-i>=z; ++i){
- *(rzt--)=*(zt-i);
- }
- }
-
- sqlite3_result_text(context, rz, -1, SQLITE_TRANSIENT);
- sqlite3_free(rz);
-}
-
-/*
-** An instance of the following structure holds the context of a
-** stdev() or variance() aggregate computation.
-** implementaion of http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Algorithm_II
-** less prone to rounding errors
-*/
-typedef struct StdevCtx StdevCtx;
-struct StdevCtx {
- double rM;
- double rS;
- i64 cnt; /* number of elements */
-};
-
-/*
-** An instance of the following structure holds the context of a
-** mode() or median() aggregate computation.
-** Depends on structures defined in map.c (see map & map)
-** These aggregate functions only work for integers and floats although
-** they could be made to work for strings. This is usually considered meaningless.
-** Only usuall order (for median), no use of collation functions (would this even make sense?)
-*/
-typedef struct ModeCtx ModeCtx;
-struct ModeCtx {
- i64 riM; /* integer value found so far */
- double rdM; /* double value found so far */
- i64 cnt; /* number of elements so far */
- double pcnt; /* number of elements smaller than a percentile */
- i64 mcnt; /* maximum number of occurrences (for mode) */
- i64 mn; /* number of occurrences (for mode and percentiles) */
- i64 is_double; /* whether the computation is being done for doubles (>0) or integers (=0) */
- map* m; /* map structure used for the computation */
- int done; /* whether the answer has been found */
-};
-
-/*
-** called for each value received during a calculation of stdev or variance
-*/
-static void varianceStep(sqlite3_context *context, int argc, sqlite3_value **argv){
- StdevCtx *p;
-
- double delta;
- double x;
-
- assert( argc==1 );
- p = sqlite3_aggregate_context(context, sizeof(*p));
- /* only consider non-null values */
- if( SQLITE_NULL != sqlite3_value_numeric_type(argv[0]) ){
- p->cnt++;
- x = sqlite3_value_double(argv[0]);
- delta = (x-p->rM);
- p->rM += delta/p->cnt;
- p->rS += delta*(x-p->rM);
- }
-}
-
-/*
-** called for each value received during a calculation of mode of median
-*/
-static void modeStep(sqlite3_context *context, int argc, sqlite3_value **argv){
- ModeCtx *p;
- i64 xi=0;
- double xd=0.0;
- i64 *iptr;
- double *dptr;
- int type;
-
- assert( argc==1 );
- type = sqlite3_value_numeric_type(argv[0]);
-
- if( type == SQLITE_NULL)
- return;
-
- p = sqlite3_aggregate_context(context, sizeof(*p));
-
- if( 0==(p->m) ){
- p->m = calloc(1, sizeof(map));
- if( type==SQLITE_INTEGER ){
- /* map will be used for integers */
- *(p->m) = map_make(int_cmp);
- p->is_double = 0;
- }else{
- p->is_double = 1;
- /* map will be used for doubles */
- *(p->m) = map_make(double_cmp);
- }
- }
-
- ++(p->cnt);
-
- if( 0==p->is_double ){
- xi = sqlite3_value_int64(argv[0]);
- iptr = (i64*)calloc(1,sizeof(i64));
- *iptr = xi;
- map_insert(p->m, iptr);
- }else{
- xd = sqlite3_value_double(argv[0]);
- dptr = (double*)calloc(1,sizeof(double));
- *dptr = xd;
- map_insert(p->m, dptr);
- }
-}
-
-/*
-** Auxiliary function that iterates all elements in a map and finds the mode
-** (most frequent value)
-*/
-static void modeIterate(void* e, i64 c, void* pp){
- i64 ei;
- double ed;
- ModeCtx *p = (ModeCtx*)pp;
-
- if( 0==p->is_double ){
- ei = *(int*)(e);
-
- if( p->mcnt==c ){
- ++p->mn;
- }else if( p->mcntriM = ei;
- p->mcnt = c;
- p->mn=1;
- }
- }else{
- ed = *(double*)(e);
-
- if( p->mcnt==c ){
- ++p->mn;
- }else if(p->mcntrdM = ed;
- p->mcnt = c;
- p->mn=1;
- }
- }
-}
-
-/*
-** Auxiliary function that iterates all elements in a map and finds the median
-** (the value such that the number of elements smaller is equal the the number of
-** elements larger)
-*/
-static void medianIterate(void* e, i64 c, void* pp){
- i64 ei;
- double ed;
- double iL;
- double iR;
- int il;
- int ir;
- ModeCtx *p = (ModeCtx*)pp;
-
- if(p->done>0)
- return;
-
- iL = p->pcnt;
- iR = p->cnt - p->pcnt;
- il = p->mcnt + c;
- ir = p->cnt - p->mcnt;
-
- if( il >= iL ){
- if( ir >= iR ){
- ++p->mn;
- if( 0==p->is_double ){
- ei = *(int*)(e);
- p->riM += ei;
- }else{
- ed = *(double*)(e);
- p->rdM += ed;
- }
- }else{
- p->done=1;
- }
- }
- p->mcnt+=c;
-}
-
-/*
-** Returns the mode value
-*/
-static void modeFinalize(sqlite3_context *context){
- ModeCtx *p;
- p = sqlite3_aggregate_context(context, 0);
- if( p && p->m ){
- map_iterate(p->m, modeIterate, p);
- map_destroy(p->m);
- free(p->m);
-
- if( 1==p->mn ){
- if( 0==p->is_double )
- sqlite3_result_int64(context, p->riM);
- else
- sqlite3_result_double(context, p->rdM);
- }
- }
-}
-
-/*
-** auxiliary function for percentiles
-*/
-static void _medianFinalize(sqlite3_context *context){
- ModeCtx *p;
- p = (ModeCtx*) sqlite3_aggregate_context(context, 0);
- if( p && p->m ){
- p->done=0;
- map_iterate(p->m, medianIterate, p);
- map_destroy(p->m);
- free(p->m);
-
- if( 0==p->is_double )
- if( 1==p->mn )
- sqlite3_result_int64(context, p->riM);
- else
- sqlite3_result_double(context, p->riM*1.0/p->mn);
- else
- sqlite3_result_double(context, p->rdM/p->mn);
- }
-}
-
-/*
-** Returns the median value
-*/
-static void medianFinalize(sqlite3_context *context){
- ModeCtx *p;
- p = (ModeCtx*) sqlite3_aggregate_context(context, 0);
- if( p!=0 ){
- p->pcnt = (p->cnt)/2.0;
- _medianFinalize(context);
- }
-}
-
-/*
-** Returns the lower_quartile value
-*/
-static void lower_quartileFinalize(sqlite3_context *context){
- ModeCtx *p;
- p = (ModeCtx*) sqlite3_aggregate_context(context, 0);
- if( p!=0 ){
- p->pcnt = (p->cnt)/4.0;
- _medianFinalize(context);
- }
-}
-
-/*
-** Returns the upper_quartile value
-*/
-static void upper_quartileFinalize(sqlite3_context *context){
- ModeCtx *p;
- p = (ModeCtx*) sqlite3_aggregate_context(context, 0);
- if( p!=0 ){
- p->pcnt = (p->cnt)*3/4.0;
- _medianFinalize(context);
- }
-}
-
-/*
-** Returns the stdev value
-*/
-static void stdevFinalize(sqlite3_context *context){
- StdevCtx *p;
- p = sqlite3_aggregate_context(context, 0);
- if( p && p->cnt>1 ){
- sqlite3_result_double(context, sqrt(p->rS/(p->cnt-1)));
- }else{
- sqlite3_result_double(context, 0.0);
- }
-}
-
-/*
-** Returns the variance value
-*/
-static void varianceFinalize(sqlite3_context *context){
- StdevCtx *p;
- p = sqlite3_aggregate_context(context, 0);
- if( p && p->cnt>1 ){
- sqlite3_result_double(context, p->rS/(p->cnt-1));
- }else{
- sqlite3_result_double(context, 0.0);
- }
-}
-
-#ifdef SQLITE_SOUNDEX
-
-/* relicoder factored code */
-/*
-** Calculates the soundex value of a string
-*/
-
-static void soundex(const u8 *zIn, char *zResult){
- int i, j;
- static const unsigned char iCode[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 2, 3, 0, 1, 2, 0, 0, 2, 2, 4, 5, 5, 0,
- 1, 2, 6, 2, 3, 0, 1, 0, 2, 0, 2, 0, 0, 0, 0, 0,
- 0, 0, 1, 2, 3, 0, 1, 2, 0, 0, 2, 2, 4, 5, 5, 0,
- 1, 2, 6, 2, 3, 0, 1, 0, 2, 0, 2, 0, 0, 0, 0, 0,
- };
-
- for(i=0; zIn[i] && !isalpha(zIn[i]); i++){}
- if( zIn[i] ){
- zResult[0] = toupper(zIn[i]);
- for(j=1; j<4 && zIn[i]; i++){
- int code = iCode[zIn[i]&0x7f];
- if( code>0 ){
- zResult[j++] = code + '0';
- }
- }
- while( j<4 ){
- zResult[j++] = '0';
- }
- zResult[j] = 0;
- }else{
- strcpy(zResult, "?000");
- }
-}
-
-/*
-** computes the number of different characters between the soundex value fo 2 strings
-*/
-static void differenceFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- char zResult1[8];
- char zResult2[8];
- char *zR1 = zResult1;
- char *zR2 = zResult2;
- int rVal = 0;
- int i = 0;
- const u8 *zIn1;
- const u8 *zIn2;
-
- assert( argc==2 );
-
- if( sqlite3_value_type(argv[0])==SQLITE_NULL || sqlite3_value_type(argv[1])==SQLITE_NULL ){
- sqlite3_result_null(context);
- return;
- }
-
- zIn1 = (u8*)sqlite3_value_text(argv[0]);
- zIn2 = (u8*)sqlite3_value_text(argv[1]);
-
- soundex(zIn1, zR1);
- soundex(zIn2, zR2);
-
- for(i=0; i<4; ++i){
- if( sqliteCharVal((unsigned char *)zR1)==sqliteCharVal((unsigned char *)zR2) )
- ++rVal;
- sqliteNextChar(zR1);
- sqliteNextChar(zR2);
- }
- sqlite3_result_int(context, rVal);
-}
-#endif
-
-static void lastRowsFunc(sqlite3_context *context, int argc, sqlite3_value **argv){
- sqlite3 *db = sqlite3_context_db_handle(context);
- sqlite3_result_int64(context, sqlite3_changes(db));
-}
-
-/*
-** This function registered all of the above C functions as SQL
-** functions. This should be the only routine in this file with
-** external linkage.
-*/
-int RegisterExtensionFunctions(sqlite3 *db){
- static const struct FuncDef {
- char *zName;
- signed char nArg;
- u8 argType; /* 0: none. 1: db 2: (-1) */
- u8 eTextRep; /* 1: UTF-16. 0: UTF-8 */
- u8 needCollSeq;
- void (*xFunc)(sqlite3_context*,int,sqlite3_value **);
- } aFuncs[] = {
- /* math.h */
- { "acos", 1, 0, SQLITE_UTF8, 0, acosFunc },
- { "asin", 1, 0, SQLITE_UTF8, 0, asinFunc },
- { "atan", 1, 0, SQLITE_UTF8, 0, atanFunc },
- { "atn2", 2, 0, SQLITE_UTF8, 0, atn2Func },
- /* XXX alias */
- { "atan2", 2, 0, SQLITE_UTF8, 0, atn2Func },
- { "acosh", 1, 0, SQLITE_UTF8, 0, acoshFunc },
- { "asinh", 1, 0, SQLITE_UTF8, 0, asinhFunc },
- { "atanh", 1, 0, SQLITE_UTF8, 0, atanhFunc },
-
- { "difference", 2, 0, SQLITE_UTF8, 0, differenceFunc},
- { "degrees", 1, 0, SQLITE_UTF8, 0, rad2degFunc },
- { "radians", 1, 0, SQLITE_UTF8, 0, deg2radFunc },
-
- { "cos", 1, 0, SQLITE_UTF8, 0, cosFunc },
- { "sin", 1, 0, SQLITE_UTF8, 0, sinFunc },
- { "tan", 1, 0, SQLITE_UTF8, 0, tanFunc },
- { "cot", 1, 0, SQLITE_UTF8, 0, cotFunc },
- { "cosh", 1, 0, SQLITE_UTF8, 0, coshFunc },
- { "sinh", 1, 0, SQLITE_UTF8, 0, sinhFunc },
- { "tanh", 1, 0, SQLITE_UTF8, 0, tanhFunc },
- { "coth", 1, 0, SQLITE_UTF8, 0, cothFunc },
-
- { "exp", 1, 0, SQLITE_UTF8, 0, expFunc },
- { "log", 1, 0, SQLITE_UTF8, 0, logFunc },
- { "ln", 1, 0, SQLITE_UTF8, 0, logFunc },
- { "log10", 1, 0, SQLITE_UTF8, 0, log10Func },
- { "power", 2, 0, SQLITE_UTF8, 0, powerFunc },
- { "sign", 1, 0, SQLITE_UTF8, 0, signFunc },
- { "sqrt", 1, 0, SQLITE_UTF8, 0, sqrtFunc },
- { "square", 1, 0, SQLITE_UTF8, 0, squareFunc },
-
- { "ceil", 1, 0, SQLITE_UTF8, 0, ceilFunc },
- { "ceiling", 1, 0, SQLITE_UTF8, 0, ceilFunc },
- { "floor", 1, 0, SQLITE_UTF8, 0, floorFunc },
-
- { "pi", 0, 0, SQLITE_UTF8, 1, piFunc },
-
- { "last_rows_affected", 0, 0, SQLITE_UTF8, 0, lastRowsFunc },
-
- /* string */
- { "replicate", 2, 0, SQLITE_UTF8, 0, replicateFunc },
- { "charindex", 2, 0, SQLITE_UTF8, 0, charindexFunc },
- { "charindex", 3, 0, SQLITE_UTF8, 0, charindexFunc },
- { "leftstr", 2, 0, SQLITE_UTF8, 0, leftFunc },
- { "rightstr", 2, 0, SQLITE_UTF8, 0, rightFunc },
-#ifndef HAVE_TRIM
- { "ltrim", 1, 0, SQLITE_UTF8, 0, ltrimFunc },
- { "rtrim", 1, 0, SQLITE_UTF8, 0, rtrimFunc },
- { "trim", 1, 0, SQLITE_UTF8, 0, trimFunc },
- { "replace", 3, 0, SQLITE_UTF8, 0, replaceFunc },
-#endif
- { "reverse", 1, 0, SQLITE_UTF8, 0, reverseFunc },
- { "proper", 1, 0, SQLITE_UTF8, 0, properFunc },
- { "padl", 2, 0, SQLITE_UTF8, 0, padlFunc },
- { "padr", 2, 0, SQLITE_UTF8, 0, padrFunc },
- { "padc", 2, 0, SQLITE_UTF8, 0, padcFunc },
- { "strfilter", 2, 0, SQLITE_UTF8, 0, strfilterFunc },
-
- };
- /* Aggregate functions */
- static const struct FuncDefAgg {
- char *zName;
- signed char nArg;
- u8 argType;
- u8 needCollSeq;
- void (*xStep)(sqlite3_context*,int,sqlite3_value**);
- void (*xFinalize)(sqlite3_context*);
- } aAggs[] = {
- { "stdev", 1, 0, 0, varianceStep, stdevFinalize },
- { "variance", 1, 0, 0, varianceStep, varianceFinalize },
- { "mode", 1, 0, 0, modeStep, modeFinalize },
- { "median", 1, 0, 0, modeStep, medianFinalize },
- { "lower_quartile", 1, 0, 0, modeStep, lower_quartileFinalize },
- { "upper_quartile", 1, 0, 0, modeStep, upper_quartileFinalize },
- };
- int i;
-
- for(i=0; ineedCollSeq = 1;
- }
- }
-#endif
- }
-
- for(i=0; ineedCollSeq = 1;
- }
- }
-#endif
- }
- return 0;
-}
-
-#ifdef COMPILE_SQLITE_EXTENSIONS_AS_LOADABLE_MODULE
-int sqlite3_extension_init(
- sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi){
- SQLITE_EXTENSION_INIT2(pApi);
- RegisterExtensionFunctions(db);
- return 0;
-}
-#endif /* COMPILE_SQLITE_EXTENSIONS_AS_LOADABLE_MODULE */
-
-map map_make(cmp_func cmp){
- map r;
- r.cmp=cmp;
- r.base = 0;
-
- return r;
-}
-
-static
-void* xcalloc(size_t nmemb, size_t size, char* s){
- void* ret = calloc(nmemb, size);
- return ret;
-}
-
-static
-void xfree(void* p){
- free(p);
-}
-
-static
-void node_insert(node** n, cmp_func cmp, void *e){
- int c;
- node* nn;
- if(*n==0){
- nn = (node*)xcalloc(1,sizeof(node), "for node");
- nn->data = e;
- nn->count = 1;
- *n=nn;
- }else{
- c=cmp((*n)->data,e);
- if(0==c){
- ++((*n)->count);
- xfree(e);
- }else if(c>0){
- /* put it right here */
- node_insert(&((*n)->l), cmp, e);
- }else{
- node_insert(&((*n)->r), cmp, e);
- }
- }
-}
-
-void map_insert(map *m, void *e){
- node_insert(&(m->base), m->cmp, e);
-}
-
-static
-void node_iterate(node *n, map_iterator iter, void* p){
- if(n){
- if(n->l)
- node_iterate(n->l, iter, p);
- iter(n->data, n->count, p);
- if(n->r)
- node_iterate(n->r, iter, p);
- }
-}
-
-void map_iterate(map *m, map_iterator iter, void* p){
- node_iterate(m->base, iter, p);
-}
-
-static
-void node_destroy(node *n){
- if(0!=n){
- xfree(n->data);
- if(n->l)
- node_destroy(n->l);
- if(n->r)
- node_destroy(n->r);
-
- xfree(n);
- }
-}
-
-void map_destroy(map *m){
- node_destroy(m->base);
-}
-
-int int_cmp(const void *a, const void *b){
- i64 aa = *(i64 *)(a);
- i64 bb = *(i64 *)(b);
- /* printf("cmp %d <=> %d\n",aa,bb); */
- if(aa==bb)
- return 0;
- else if(aa %d\n",aa,bb); */
- if(aa==bb)
- return 0;
- else if(aa %lld\n", ee,c);
-}
-#endif
diff --git a/sqlite3secure/src/fastpbkdf2.c b/sqlite3secure/src/fastpbkdf2.c
deleted file mode 100644
index b386b6cd..00000000
--- a/sqlite3secure/src/fastpbkdf2.c
+++ /dev/null
@@ -1,465 +0,0 @@
-/*
- * fast-pbkdf2 - Optimal PBKDF2-HMAC calculation
- * Written in 2015 by Joseph Birr-Pixton
- *
- * To the extent possible under law, the author(s) have dedicated all
- * copyright and related and neighboring rights to this software to the
- * public domain worldwide. This software is distributed without any
- * warranty.
- *
- * You should have received a copy of the CC0 Public Domain Dedication
- * along with this software. If not, see
- * .
- */
-
-#include "fastpbkdf2.h"
-
-#include
-#include
-#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__clang__)
-#include
-#endif
-
-#include "sha1.h"
-#include "sha2.h"
-
-/* --- MSVC doesn't support C99 --- */
-#ifdef _MSC_VER
-#define restrict
-#define inline __inline
-#define _Pragma __pragma
-#endif
-
-/* --- Common useful things --- */
-#ifndef MIN
-#define MIN(a, b) ((a) > (b)) ? (b) : (a)
-#endif
-
-static inline void write32_be(uint32_t n, uint8_t out[4])
-{
-#if defined(__GNUC__) && __GNUC__ >= 4 && __BYTE_ORDER == __LITTLE_ENDIAN
- *(uint32_t *)(out) = __builtin_bswap32(n);
-#else
- out[0] = (n >> 24) & 0xff;
- out[1] = (n >> 16) & 0xff;
- out[2] = (n >> 8) & 0xff;
- out[3] = n & 0xff;
-#endif
-}
-
-static inline void write64_be(uint64_t n, uint8_t out[8])
-{
-#if defined(__GNUC__) && __GNUC__ >= 4 && __BYTE_ORDER == __LITTLE_ENDIAN
- *(uint64_t *)(out) = __builtin_bswap64(n);
-#else
- write32_be((n >> 32) & 0xffffffff, out);
- write32_be(n & 0xffffffff, out + 4);
-#endif
-}
-
-/* --- Optional OpenMP parallelisation of consecutive blocks --- */
-#ifdef WITH_OPENMP
-# define OPENMP_PARALLEL_FOR _Pragma("omp parallel for")
-#else
-# define OPENMP_PARALLEL_FOR
-#endif
-
-/* Prepare block (of blocksz bytes) to contain md padding denoting a msg-size
- * message (in bytes). block has a prefix of used bytes.
- *
- * Message length is expressed in 32 bits (so suitable for sha1, sha256, sha512). */
-static inline void md_pad(uint8_t *block, size_t blocksz, size_t used, size_t msg)
-{
- memset(block + used, 0, blocksz - used - 4);
- block[used] = 0x80;
- block += blocksz - 4;
- write32_be((uint32_t) (msg * 8), block);
-}
-
-/* Internal function/type names for hash-specific things. */
-#define HMAC_CTX(_name) HMAC_ ## _name ## _ctx
-#define HMAC_INIT(_name) HMAC_ ## _name ## _init
-#define HMAC_UPDATE(_name) HMAC_ ## _name ## _update
-#define HMAC_FINAL(_name) HMAC_ ## _name ## _final
-
-#define PBKDF2_F(_name) pbkdf2_f_ ## _name
-#define PBKDF2(_name) pbkdf2_ ## _name
-
-/* This macro expands to decls for the whole implementation for a given
- * hash function. Arguments are:
- *
- * _name like 'sha1', added to symbol names
- * _blocksz block size, in bytes
- * _hashsz digest output, in bytes
- * _ctx hash context type
- * _init hash context initialisation function
- * args: (_ctx *c)
- * _update hash context update function
- * args: (_ctx *c, const void *data, size_t ndata)
- * _final hash context finish function
- * args: (void *out, _ctx *c)
- * _xform hash context raw block update function
- * args: (_ctx *c, const void *data)
- * _xcpy hash context raw copy function (only need copy hash state)
- * args: (_ctx * restrict out, const _ctx *restrict in)
- * _xtract hash context state extraction
- * args: args (_ctx *restrict c, uint8_t *restrict out)
- * _xxor hash context xor function (only need xor hash state)
- * args: (_ctx *restrict out, const _ctx *restrict in)
- *
- * The resulting function is named PBKDF2(_name).
- */
-#define DECL_PBKDF2(_name, _blocksz, _hashsz, _ctx, \
- _init, _update, _xform, _final, _xcpy, _xtract, _xxor) \
- typedef struct { \
- _ctx inner; \
- _ctx outer; \
- } HMAC_CTX(_name); \
- \
- static inline void HMAC_INIT(_name)(HMAC_CTX(_name) *ctx, \
- const uint8_t *key, size_t nkey) \
- { \
- /* Prepare key: */ \
- uint8_t k[_blocksz]; \
- \
- /* Shorten long keys. */ \
- if (nkey > _blocksz) \
- { \
- _init(&ctx->inner); \
- _update(&ctx->inner, key, nkey); \
- _final(&ctx->inner, k); \
- \
- key = k; \
- nkey = _hashsz; \
- } \
- \
- /* Standard doesn't cover case where blocksz < hashsz. */ \
- assert(nkey <= _blocksz); \
- \
- /* Right zero-pad short keys. */ \
- if (k != key) \
- memcpy(k, key, nkey); \
- if (_blocksz > nkey) \
- memset(k + nkey, 0, _blocksz - nkey); \
- \
- { \
- /* Start inner hash computation */ \
- uint8_t blk_inner[_blocksz]; \
- uint8_t blk_outer[_blocksz]; \
- size_t i; \
- \
- for (i = 0; i < _blocksz; i++) \
- { \
- blk_inner[i] = 0x36 ^ k[i]; \
- blk_outer[i] = 0x5c ^ k[i]; \
- } \
- \
- _init(&ctx->inner); \
- _update(&ctx->inner, blk_inner, sizeof blk_inner); \
- \
- /* And outer. */ \
- _init(&ctx->outer); \
- _update(&ctx->outer, blk_outer, sizeof blk_outer); \
- } \
- } \
- \
- static inline void HMAC_UPDATE(_name)(HMAC_CTX(_name) *ctx, \
- const void *data, size_t ndata) \
- { \
- _update(&ctx->inner, data, ndata); \
- } \
- \
- static inline void HMAC_FINAL(_name)(HMAC_CTX(_name) *ctx, \
- uint8_t out[_hashsz]) \
- { \
- _final(&ctx->inner, out); \
- _update(&ctx->outer, out, _hashsz); \
- _final(&ctx->outer, out); \
- } \
- \
- \
- /* --- PBKDF2 --- */ \
- static inline void PBKDF2_F(_name)(const HMAC_CTX(_name) *startctx, \
- uint32_t counter, \
- const uint8_t *salt, size_t nsalt, \
- uint32_t iterations, \
- uint8_t *out) \
- { \
- uint8_t countbuf[4]; \
- uint8_t Ublock[_blocksz]; \
- HMAC_CTX(_name) ctx; \
- uint32_t i; \
- _ctx result; \
- \
- write32_be(counter, countbuf); \
- \
- /* Prepare loop-invariant padding block. */ \
- md_pad(Ublock, _blocksz, _hashsz, _blocksz + _hashsz); \
- \
- /* First iteration: \
- * U_1 = PRF(P, S || INT_32_BE(i)) \
- */ \
- ctx = *startctx; \
- HMAC_UPDATE(_name)(&ctx, salt, nsalt); \
- HMAC_UPDATE(_name)(&ctx, countbuf, sizeof countbuf); \
- HMAC_FINAL(_name)(&ctx, Ublock); \
- result = ctx.outer; \
- \
- /* Subsequent iterations: \
- * U_c = PRF(P, U_{c-1}) \
- */ \
- for (i = 1; i < iterations; i++) \
- { \
- /* Complete inner hash with previous U */ \
- _xcpy(&ctx.inner, &startctx->inner); \
- _xform(&ctx.inner, Ublock); \
- _xtract(&ctx.inner, Ublock); \
- /* Complete outer hash with inner output */ \
- _xcpy(&ctx.outer, &startctx->outer); \
- _xform(&ctx.outer, Ublock); \
- _xtract(&ctx.outer, Ublock); \
- _xxor(&result, &ctx.outer); \
- } \
- \
- /* Reform result into output buffer. */ \
- _xtract(&result, out); \
- } \
- \
- static inline void PBKDF2(_name)(const uint8_t *pw, size_t npw, \
- const uint8_t *salt, size_t nsalt, \
- uint32_t iterations, \
- uint8_t *out, size_t nout) \
- { \
- HMAC_CTX(_name) ctx; \
- uint32_t blocks_needed; \
- uint32_t counter; \
- assert(iterations); \
- assert(out && nout); \
- \
- /* Starting point for inner loop. */ \
- HMAC_INIT(_name)(&ctx, pw, npw); \
- \
- /* How many blocks do we need? */ \
- blocks_needed = (uint32_t)(nout + _hashsz - 1) / _hashsz; \
- \
- OPENMP_PARALLEL_FOR \
- for (counter = 1; counter <= blocks_needed; counter++) \
- { \
- uint8_t block[_hashsz]; \
- size_t offset; \
- size_t taken; \
- PBKDF2_F(_name)(&ctx, counter, salt, nsalt, iterations, block); \
- \
- offset = (counter - 1) * _hashsz; \
- taken = MIN(nout - offset, _hashsz); \
- memcpy(out + offset, block, taken); \
- } \
- }
-
-static inline void sha1_extract(sha1_ctx *restrict ctx, uint8_t *restrict out)
-{
- write32_be(ctx->h[0], out);
- write32_be(ctx->h[1], out + 4);
- write32_be(ctx->h[2], out + 8);
- write32_be(ctx->h[3], out + 12);
- write32_be(ctx->h[4], out + 16);
-}
-
-static inline void sha1_cpy(sha1_ctx *restrict out, const sha1_ctx *restrict in)
-{
- out->h[0] = in->h[0];
- out->h[1] = in->h[1];
- out->h[2] = in->h[2];
- out->h[3] = in->h[3];
- out->h[4] = in->h[4];
-}
-
-static inline void sha1_xor(sha1_ctx *restrict out, const sha1_ctx *restrict in)
-{
- out->h[0] ^= in->h[0];
- out->h[1] ^= in->h[1];
- out->h[2] ^= in->h[2];
- out->h[3] ^= in->h[3];
- out->h[4] ^= in->h[4];
-}
-
-DECL_PBKDF2(sha1,
- SHA1_BLOCK_SIZE,
- SHA1_DIGEST_SIZE,
- sha1_ctx,
- sha1_init,
- sha1_update,
- sha1_transform,
- sha1_final,
- sha1_cpy,
- sha1_extract,
- sha1_xor)
-
-static inline void sha256_extract(sha256_ctx *restrict ctx, uint8_t *restrict out)
-{
- write32_be(ctx->h[0], out);
- write32_be(ctx->h[1], out + 4);
- write32_be(ctx->h[2], out + 8);
- write32_be(ctx->h[3], out + 12);
- write32_be(ctx->h[4], out + 16);
- write32_be(ctx->h[5], out + 20);
- write32_be(ctx->h[6], out + 24);
- write32_be(ctx->h[7], out + 28);
-}
-
-static inline void sha256_cpy(sha256_ctx *restrict out, const sha256_ctx *restrict in)
-{
- out->h[0] = in->h[0];
- out->h[1] = in->h[1];
- out->h[2] = in->h[2];
- out->h[3] = in->h[3];
- out->h[4] = in->h[4];
- out->h[5] = in->h[5];
- out->h[6] = in->h[6];
- out->h[7] = in->h[7];
-}
-
-static inline void sha256_xor(sha256_ctx *restrict out, const sha256_ctx *restrict in)
-{
- out->h[0] ^= in->h[0];
- out->h[1] ^= in->h[1];
- out->h[2] ^= in->h[2];
- out->h[3] ^= in->h[3];
- out->h[4] ^= in->h[4];
- out->h[5] ^= in->h[5];
- out->h[6] ^= in->h[6];
- out->h[7] ^= in->h[7];
-}
-
-DECL_PBKDF2(sha256,
- SHA256_BLOCK_SIZE,
- SHA256_DIGEST_SIZE,
- sha256_ctx,
- sha256_init,
- sha256_update,
- sha256_transform,
- sha256_final,
- sha256_cpy,
- sha256_extract,
- sha256_xor)
-
-static inline void sha512_extract(sha512_ctx *restrict ctx, uint8_t *restrict out)
-{
- write64_be(ctx->h[0], out);
- write64_be(ctx->h[1], out + 8);
- write64_be(ctx->h[2], out + 16);
- write64_be(ctx->h[3], out + 24);
- write64_be(ctx->h[4], out + 32);
- write64_be(ctx->h[5], out + 40);
- write64_be(ctx->h[6], out + 48);
- write64_be(ctx->h[7], out + 56);
-}
-
-static inline void sha512_cpy(sha512_ctx *restrict out, const sha512_ctx *restrict in)
-{
- out->h[0] = in->h[0];
- out->h[1] = in->h[1];
- out->h[2] = in->h[2];
- out->h[3] = in->h[3];
- out->h[4] = in->h[4];
- out->h[5] = in->h[5];
- out->h[6] = in->h[6];
- out->h[7] = in->h[7];
-}
-
-static inline void sha512_xor(sha512_ctx *restrict out, const sha512_ctx *restrict in)
-{
- out->h[0] ^= in->h[0];
- out->h[1] ^= in->h[1];
- out->h[2] ^= in->h[2];
- out->h[3] ^= in->h[3];
- out->h[4] ^= in->h[4];
- out->h[5] ^= in->h[5];
- out->h[6] ^= in->h[6];
- out->h[7] ^= in->h[7];
-}
-
-DECL_PBKDF2(sha512,
- SHA512_BLOCK_SIZE,
- SHA512_DIGEST_SIZE,
- sha512_ctx,
- sha512_init,
- sha512_update,
- sha512_transform,
- sha512_final,
- sha512_cpy,
- sha512_extract,
- sha512_xor)
-
-void fastpbkdf2_hmac_sha1(const uint8_t *pw, size_t npw,
- const uint8_t *salt, size_t nsalt,
- uint32_t iterations,
- uint8_t *out, size_t nout)
-{
- PBKDF2(sha1)(pw, npw, salt, nsalt, iterations, out, nout);
-#if 0
- pbkdf2_sha1(pw, npw, salt, nsalt, iterations, out, nout);
-#endif
-}
-
-void fastpbkdf2_hmac_sha256(const uint8_t *pw, size_t npw,
- const uint8_t *salt, size_t nsalt,
- uint32_t iterations,
- uint8_t *out, size_t nout)
-{
- PBKDF2(sha256)(pw, npw, salt, nsalt, iterations, out, nout);
-}
-
-void fastpbkdf2_hmac_sha512(const uint8_t *pw, size_t npw,
- const uint8_t *salt, size_t nsalt,
- uint32_t iterations,
- uint8_t *out, size_t nout)
-{
- PBKDF2(sha512)(pw, npw, salt, nsalt, iterations, out, nout);
-}
-
-void sqlcipher_hmac(int algorithm, unsigned char* key, int nkey, unsigned char* in, int in_sz, unsigned char* in2, int in2_sz, unsigned char* out)
-{
- switch (algorithm)
- {
- case 0:
- {
- HMAC_sha1_ctx hctx;
- HMAC_sha1_init(&hctx, key, nkey);
- HMAC_sha1_update(&hctx, in, in_sz);
- if (in2 != NULL)
- {
- HMAC_sha1_update(&hctx, in2, in2_sz);
- }
- HMAC_sha1_final(&hctx, out);
- }
- break;
-
- case 1:
- {
- HMAC_sha256_ctx hctx;
- HMAC_sha256_init(&hctx, key, nkey);
- HMAC_sha256_update(&hctx, in, in_sz);
- if (in2 != NULL)
- {
- HMAC_sha256_update(&hctx, in2, in2_sz);
- }
- HMAC_sha256_final(&hctx, out);
- }
- break;
-
- case 2:
- default:
- {
- HMAC_sha512_ctx hctx;
- HMAC_sha512_init(&hctx, key, nkey);
- HMAC_sha512_update(&hctx, in, in_sz);
- if (in2 != NULL)
- {
- HMAC_sha512_update(&hctx, in2, in2_sz);
- }
- HMAC_sha512_final(&hctx, out);
- }
- break;
- }
-}
diff --git a/sqlite3secure/src/fastpbkdf2.h b/sqlite3secure/src/fastpbkdf2.h
deleted file mode 100644
index 75f7e2c7..00000000
--- a/sqlite3secure/src/fastpbkdf2.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * fastpbkdf2 - Faster PBKDF2-HMAC calculation
- * Written in 2015 by Joseph Birr-Pixton
- *
- * To the extent possible under law, the author(s) have dedicated all
- * copyright and related and neighboring rights to this software to the
- * public domain worldwide. This software is distributed without any
- * warranty.
- *
- * You should have received a copy of the CC0 Public Domain Dedication
- * along with this software. If not, see
- * .
- */
-
-#ifndef FASTPBKDF2_H
-#define FASTPBKDF2_H
-
-#include
-#include "mystdint.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** Calculates PBKDF2-HMAC-SHA1.
- *
- * @p npw bytes at @p pw are the password input.
- * @p nsalt bytes at @p salt are the salt input.
- * @p iterations is the PBKDF2 iteration count and must be non-zero.
- * @p nout bytes of output are written to @p out. @p nout must be non-zero.
- *
- * This function cannot fail; it does not report errors.
- */
-void fastpbkdf2_hmac_sha1(const uint8_t *pw, size_t npw,
- const uint8_t *salt, size_t nsalt,
- uint32_t iterations,
- uint8_t *out, size_t nout);
-
-/** Calculates PBKDF2-HMAC-SHA256.
- *
- * @p npw bytes at @p pw are the password input.
- * @p nsalt bytes at @p salt are the salt input.
- * @p iterations is the PBKDF2 iteration count and must be non-zero.
- * @p nout bytes of output are written to @p out. @p nout must be non-zero.
- *
- * This function cannot fail; it does not report errors.
- */
-void fastpbkdf2_hmac_sha256(const uint8_t *pw, size_t npw,
- const uint8_t *salt, size_t nsalt,
- uint32_t iterations,
- uint8_t *out, size_t nout);
-
-/** Calculates PBKDF2-HMAC-SHA512.
- *
- * @p npw bytes at @p pw are the password input.
- * @p nsalt bytes at @p salt are the salt input.
- * @p iterations is the PBKDF2 iteration count and must be non-zero.
- * @p nout bytes of output are written to @p out. @p nout must be non-zero.
- *
- * This function cannot fail; it does not report errors.
- */
-void fastpbkdf2_hmac_sha512(const uint8_t *pw, size_t npw,
- const uint8_t *salt, size_t nsalt,
- uint32_t iterations,
- uint8_t *out, size_t nout);
-
-/** Calculates SQLCipher HMAC.
- *
- * This function cannot fail; it does not report errors.
- */
-void sqlcipher_hmac(int algorithm,
- unsigned char* key, int nkey,
- unsigned char* in, int in_sz,
- unsigned char* in2, int in2_sz,
- unsigned char* out);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/sqlite3secure/src/fileio.c b/sqlite3secure/src/fileio.c
deleted file mode 100644
index 1335229f..00000000
--- a/sqlite3secure/src/fileio.c
+++ /dev/null
@@ -1,998 +0,0 @@
-/*
-** 2014-06-13
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This SQLite extension implements SQL functions readfile() and
-** writefile(), and eponymous virtual type "fsdir".
-**
-** WRITEFILE(FILE, DATA [, MODE [, MTIME]]):
-**
-** If neither of the optional arguments is present, then this UDF
-** function writes blob DATA to file FILE. If successful, the number
-** of bytes written is returned. If an error occurs, NULL is returned.
-**
-** If the first option argument - MODE - is present, then it must
-** be passed an integer value that corresponds to a POSIX mode
-** value (file type + permissions, as returned in the stat.st_mode
-** field by the stat() system call). Three types of files may
-** be written/created:
-**
-** regular files: (mode & 0170000)==0100000
-** symbolic links: (mode & 0170000)==0120000
-** directories: (mode & 0170000)==0040000
-**
-** For a directory, the DATA is ignored. For a symbolic link, it is
-** interpreted as text and used as the target of the link. For a
-** regular file, it is interpreted as a blob and written into the
-** named file. Regardless of the type of file, its permissions are
-** set to (mode & 0777) before returning.
-**
-** If the optional MTIME argument is present, then it is interpreted
-** as an integer - the number of seconds since the unix epoch. The
-** modification-time of the target file is set to this value before
-** returning.
-**
-** If three or more arguments are passed to this function and an
-** error is encountered, an exception is raised.
-**
-** READFILE(FILE):
-**
-** Read and return the contents of file FILE (type blob) from disk.
-**
-** FSDIR:
-**
-** Used as follows:
-**
-** SELECT * FROM fsdir($path [, $dir]);
-**
-** Parameter $path is an absolute or relative pathname. If the file that it
-** refers to does not exist, it is an error. If the path refers to a regular
-** file or symbolic link, it returns a single row. Or, if the path refers
-** to a directory, it returns one row for the directory, and one row for each
-** file within the hierarchy rooted at $path.
-**
-** Each row has the following columns:
-**
-** name: Path to file or directory (text value).
-** mode: Value of stat.st_mode for directory entry (an integer).
-** mtime: Value of stat.st_mtime for directory entry (an integer).
-** data: For a regular file, a blob containing the file data. For a
-** symlink, a text value containing the text of the link. For a
-** directory, NULL.
-**
-** If a non-NULL value is specified for the optional $dir parameter and
-** $path is a relative path, then $path is interpreted relative to $dir.
-** And the paths returned in the "name" column of the table are also
-** relative to directory $dir.
-*/
-#include "sqlite3ext.h"
-SQLITE_EXTENSION_INIT1
-#include
-#include
-#include
-
-#include
-#include
-#include
-#if !defined(_WIN32) && !defined(WIN32)
-# include
-# include
-# include
-# include
-#else
-# include "windows.h"
-# include
-# include
-# include "test_windirent.h"
-# define dirent DIRENT
-# ifndef chmod
-# define chmod _chmod
-# endif
-# ifndef stat
-# define stat _stat
-# endif
-# define mkdir(path,mode) _mkdir(path)
-# define lstat(path,buf) stat(path,buf)
-#endif
-#include
-#include
-
-
-/*
-** Structure of the fsdir() table-valued function
-*/
- /* 0 1 2 3 4 5 */
-#define FSDIR_SCHEMA "(name,mode,mtime,data,path HIDDEN,dir HIDDEN)"
-#define FSDIR_COLUMN_NAME 0 /* Name of the file */
-#define FSDIR_COLUMN_MODE 1 /* Access mode */
-#define FSDIR_COLUMN_MTIME 2 /* Last modification time */
-#define FSDIR_COLUMN_DATA 3 /* File content */
-#define FSDIR_COLUMN_PATH 4 /* Path to top of search */
-#define FSDIR_COLUMN_DIR 5 /* Path is relative to this directory */
-
-
-/*
-** Set the result stored by context ctx to a blob containing the
-** contents of file zName. Or, leave the result unchanged (NULL)
-** if the file does not exist or is unreadable.
-**
-** If the file exceeds the SQLite blob size limit, through an
-** SQLITE_TOOBIG error.
-**
-** Throw an SQLITE_IOERR if there are difficulties pulling the file
-** off of disk.
-*/
-static void readFileContents(sqlite3_context *ctx, const char *zName){
- FILE *in;
- sqlite3_int64 nIn;
- void *pBuf;
- sqlite3 *db;
- int mxBlob;
-
- in = fopen(zName, "rb");
- if( in==0 ){
- /* File does not exist or is unreadable. Leave the result set to NULL. */
- return;
- }
- fseek(in, 0, SEEK_END);
- nIn = ftell(in);
- rewind(in);
- db = sqlite3_context_db_handle(ctx);
- mxBlob = sqlite3_limit(db, SQLITE_LIMIT_LENGTH, -1);
- if( nIn>mxBlob ){
- sqlite3_result_error_code(ctx, SQLITE_TOOBIG);
- fclose(in);
- return;
- }
- pBuf = sqlite3_malloc64( nIn ? nIn : 1 );
- if( pBuf==0 ){
- sqlite3_result_error_nomem(ctx);
- fclose(in);
- return;
- }
- if( nIn==(sqlite3_int64)fread(pBuf, 1, (size_t)nIn, in) ){
- sqlite3_result_blob64(ctx, pBuf, nIn, sqlite3_free);
- }else{
- sqlite3_result_error_code(ctx, SQLITE_IOERR);
- sqlite3_free(pBuf);
- }
- fclose(in);
-}
-
-/*
-** Implementation of the "readfile(X)" SQL function. The entire content
-** of the file named X is read and returned as a BLOB. NULL is returned
-** if the file does not exist or is unreadable.
-*/
-static void readfileFunc(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- const char *zName;
- (void)(argc); /* Unused parameter */
- zName = (const char*)sqlite3_value_text(argv[0]);
- if( zName==0 ) return;
- readFileContents(context, zName);
-}
-
-/*
-** Set the error message contained in context ctx to the results of
-** vprintf(zFmt, ...).
-*/
-static void ctxErrorMsg(sqlite3_context *ctx, const char *zFmt, ...){
- char *zMsg = 0;
- va_list ap;
- va_start(ap, zFmt);
- zMsg = sqlite3_vmprintf(zFmt, ap);
- sqlite3_result_error(ctx, zMsg, -1);
- sqlite3_free(zMsg);
- va_end(ap);
-}
-
-#if defined(_WIN32)
-/*
-** This function is designed to convert a Win32 FILETIME structure into the
-** number of seconds since the Unix Epoch (1970-01-01 00:00:00 UTC).
-*/
-static sqlite3_uint64 fileTimeToUnixTime(
- LPFILETIME pFileTime
-){
- SYSTEMTIME epochSystemTime;
- ULARGE_INTEGER epochIntervals;
- FILETIME epochFileTime;
- ULARGE_INTEGER fileIntervals;
-
- memset(&epochSystemTime, 0, sizeof(SYSTEMTIME));
- epochSystemTime.wYear = 1970;
- epochSystemTime.wMonth = 1;
- epochSystemTime.wDay = 1;
- SystemTimeToFileTime(&epochSystemTime, &epochFileTime);
- epochIntervals.LowPart = epochFileTime.dwLowDateTime;
- epochIntervals.HighPart = epochFileTime.dwHighDateTime;
-
- fileIntervals.LowPart = pFileTime->dwLowDateTime;
- fileIntervals.HighPart = pFileTime->dwHighDateTime;
-
- return (fileIntervals.QuadPart - epochIntervals.QuadPart) / 10000000;
-}
-
-/*
-** This function attempts to normalize the time values found in the stat()
-** buffer to UTC. This is necessary on Win32, where the runtime library
-** appears to return these values as local times.
-*/
-static void statTimesToUtc(
- const char *zPath,
- struct stat *pStatBuf
-){
- HANDLE hFindFile;
- WIN32_FIND_DATAW fd;
- LPWSTR zUnicodeName;
- extern LPWSTR sqlite3_win32_utf8_to_unicode(const char*);
- zUnicodeName = sqlite3_win32_utf8_to_unicode(zPath);
- if( zUnicodeName ){
- memset(&fd, 0, sizeof(WIN32_FIND_DATAW));
- hFindFile = FindFirstFileW(zUnicodeName, &fd);
- if( hFindFile!=NULL ){
- pStatBuf->st_ctime = (time_t)fileTimeToUnixTime(&fd.ftCreationTime);
- pStatBuf->st_atime = (time_t)fileTimeToUnixTime(&fd.ftLastAccessTime);
- pStatBuf->st_mtime = (time_t)fileTimeToUnixTime(&fd.ftLastWriteTime);
- FindClose(hFindFile);
- }
- sqlite3_free(zUnicodeName);
- }
-}
-#endif
-
-/*
-** This function is used in place of stat(). On Windows, special handling
-** is required in order for the included time to be returned as UTC. On all
-** other systems, this function simply calls stat().
-*/
-static int fileStat(
- const char *zPath,
- struct stat *pStatBuf
-){
-#if defined(_WIN32)
- int rc = stat(zPath, pStatBuf);
- if( rc==0 ) statTimesToUtc(zPath, pStatBuf);
- return rc;
-#else
- return stat(zPath, pStatBuf);
-#endif
-}
-
-/*
-** This function is used in place of lstat(). On Windows, special handling
-** is required in order for the included time to be returned as UTC. On all
-** other systems, this function simply calls lstat().
-*/
-static int fileLinkStat(
- const char *zPath,
- struct stat *pStatBuf
-){
-#if defined(_WIN32)
- int rc = lstat(zPath, pStatBuf);
- if( rc==0 ) statTimesToUtc(zPath, pStatBuf);
- return rc;
-#else
- return lstat(zPath, pStatBuf);
-#endif
-}
-
-/*
-** Argument zFile is the name of a file that will be created and/or written
-** by SQL function writefile(). This function ensures that the directory
-** zFile will be written to exists, creating it if required. The permissions
-** for any path components created by this function are set in accordance
-** with the current umask.
-**
-** If an OOM condition is encountered, SQLITE_NOMEM is returned. Otherwise,
-** SQLITE_OK is returned if the directory is successfully created, or
-** SQLITE_ERROR otherwise.
-*/
-static int makeDirectory(
- const char *zFile
-){
- char *zCopy = sqlite3_mprintf("%s", zFile);
- int rc = SQLITE_OK;
-
- if( zCopy==0 ){
- rc = SQLITE_NOMEM;
- }else{
- int nCopy = (int)strlen(zCopy);
- int i = 1;
-
- while( rc==SQLITE_OK ){
- struct stat sStat;
- int rc2;
-
- for(; zCopy[i]!='/' && i=0 ){
-#if defined(_WIN32)
- /* Windows */
- FILETIME lastAccess;
- FILETIME lastWrite;
- SYSTEMTIME currentTime;
- LONGLONG intervals;
- HANDLE hFile;
- LPWSTR zUnicodeName;
- extern LPWSTR sqlite3_win32_utf8_to_unicode(const char*);
-
- GetSystemTime(¤tTime);
- SystemTimeToFileTime(¤tTime, &lastAccess);
- intervals = Int32x32To64(mtime, 10000000) + 116444736000000000;
- lastWrite.dwLowDateTime = (DWORD)intervals;
- lastWrite.dwHighDateTime = intervals >> 32;
- zUnicodeName = sqlite3_win32_utf8_to_unicode(zFile);
- if( zUnicodeName==0 ){
- return 1;
- }
- hFile = CreateFileW(
- zUnicodeName, FILE_WRITE_ATTRIBUTES, 0, NULL, OPEN_EXISTING,
- FILE_FLAG_BACKUP_SEMANTICS, NULL
- );
- sqlite3_free(zUnicodeName);
- if( hFile!=INVALID_HANDLE_VALUE ){
- BOOL bResult = SetFileTime(hFile, NULL, &lastAccess, &lastWrite);
- CloseHandle(hFile);
- return !bResult;
- }else{
- return 1;
- }
-#elif defined(AT_FDCWD) && 0 /* utimensat() is not universally available */
- /* Recent unix */
- struct timespec times[2];
- times[0].tv_nsec = times[1].tv_nsec = 0;
- times[0].tv_sec = time(0);
- times[1].tv_sec = mtime;
- if( utimensat(AT_FDCWD, zFile, times, AT_SYMLINK_NOFOLLOW) ){
- return 1;
- }
-#else
- /* Legacy unix */
- struct timeval times[2];
- times[0].tv_usec = times[1].tv_usec = 0;
- times[0].tv_sec = time(0);
- times[1].tv_sec = mtime;
- if( utimes(zFile, times) ){
- return 1;
- }
-#endif
- }
-
- return 0;
-}
-
-/*
-** Implementation of the "writefile(W,X[,Y[,Z]]])" SQL function.
-** Refer to header comments at the top of this file for details.
-*/
-static void writefileFunc(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- const char *zFile;
- mode_t mode = 0;
- int res;
- sqlite3_int64 mtime = -1;
-
- if( argc<2 || argc>4 ){
- sqlite3_result_error(context,
- "wrong number of arguments to function writefile()", -1
- );
- return;
- }
-
- zFile = (const char*)sqlite3_value_text(argv[0]);
- if( zFile==0 ) return;
- if( argc>=3 ){
- mode = (mode_t)sqlite3_value_int(argv[2]);
- }
- if( argc==4 ){
- mtime = sqlite3_value_int64(argv[3]);
- }
-
- res = writeFile(context, zFile, argv[1], mode, mtime);
- if( res==1 && errno==ENOENT ){
- if( makeDirectory(zFile)==SQLITE_OK ){
- res = writeFile(context, zFile, argv[1], mode, mtime);
- }
- }
-
- if( argc>2 && res!=0 ){
- if( S_ISLNK(mode) ){
- ctxErrorMsg(context, "failed to create symlink: %s", zFile);
- }else if( S_ISDIR(mode) ){
- ctxErrorMsg(context, "failed to create directory: %s", zFile);
- }else{
- ctxErrorMsg(context, "failed to write file: %s", zFile);
- }
- }
-}
-
-/*
-** SQL function: lsmode(MODE)
-**
-** Given a numberic st_mode from stat(), convert it into a human-readable
-** text string in the style of "ls -l".
-*/
-static void lsModeFunc(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- int i;
- int iMode = sqlite3_value_int(argv[0]);
- char z[16];
- (void)argc;
- if( S_ISLNK(iMode) ){
- z[0] = 'l';
- }else if( S_ISREG(iMode) ){
- z[0] = '-';
- }else if( S_ISDIR(iMode) ){
- z[0] = 'd';
- }else{
- z[0] = '?';
- }
- for(i=0; i<3; i++){
- int m = (iMode >> ((2-i)*3));
- char *a = &z[1 + i*3];
- a[0] = (m & 0x4) ? 'r' : '-';
- a[1] = (m & 0x2) ? 'w' : '-';
- a[2] = (m & 0x1) ? 'x' : '-';
- }
- z[10] = '\0';
- sqlite3_result_text(context, z, -1, SQLITE_TRANSIENT);
-}
-
-#ifndef SQLITE_OMIT_VIRTUALTABLE
-
-/*
-** Cursor type for recursively iterating through a directory structure.
-*/
-typedef struct fsdir_cursor fsdir_cursor;
-typedef struct FsdirLevel FsdirLevel;
-
-struct FsdirLevel {
- DIR *pDir; /* From opendir() */
- char *zDir; /* Name of directory (nul-terminated) */
-};
-
-struct fsdir_cursor {
- sqlite3_vtab_cursor base; /* Base class - must be first */
-
- int nLvl; /* Number of entries in aLvl[] array */
- int iLvl; /* Index of current entry */
- FsdirLevel *aLvl; /* Hierarchy of directories being traversed */
-
- const char *zBase;
- int nBase;
-
- struct stat sStat; /* Current lstat() results */
- char *zPath; /* Path to current entry */
- sqlite3_int64 iRowid; /* Current rowid */
-};
-
-typedef struct fsdir_tab fsdir_tab;
-struct fsdir_tab {
- sqlite3_vtab base; /* Base class - must be first */
-};
-
-/*
-** Construct a new fsdir virtual table object.
-*/
-static int fsdirConnect(
- sqlite3 *db,
- void *pAux,
- int argc, const char *const*argv,
- sqlite3_vtab **ppVtab,
- char **pzErr
-){
- fsdir_tab *pNew = 0;
- int rc;
- (void)pAux;
- (void)argc;
- (void)argv;
- (void)pzErr;
- rc = sqlite3_declare_vtab(db, "CREATE TABLE x" FSDIR_SCHEMA);
- if( rc==SQLITE_OK ){
- pNew = (fsdir_tab*)sqlite3_malloc( sizeof(*pNew) );
- if( pNew==0 ) return SQLITE_NOMEM;
- memset(pNew, 0, sizeof(*pNew));
- sqlite3_vtab_config(db, SQLITE_VTAB_DIRECTONLY);
- }
- *ppVtab = (sqlite3_vtab*)pNew;
- return rc;
-}
-
-/*
-** This method is the destructor for fsdir vtab objects.
-*/
-static int fsdirDisconnect(sqlite3_vtab *pVtab){
- sqlite3_free(pVtab);
- return SQLITE_OK;
-}
-
-/*
-** Constructor for a new fsdir_cursor object.
-*/
-static int fsdirOpen(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){
- fsdir_cursor *pCur;
- (void)p;
- pCur = sqlite3_malloc( sizeof(*pCur) );
- if( pCur==0 ) return SQLITE_NOMEM;
- memset(pCur, 0, sizeof(*pCur));
- pCur->iLvl = -1;
- *ppCursor = &pCur->base;
- return SQLITE_OK;
-}
-
-/*
-** Reset a cursor back to the state it was in when first returned
-** by fsdirOpen().
-*/
-static void fsdirResetCursor(fsdir_cursor *pCur){
- int i;
- for(i=0; i<=pCur->iLvl; i++){
- FsdirLevel *pLvl = &pCur->aLvl[i];
- if( pLvl->pDir ) closedir(pLvl->pDir);
- sqlite3_free(pLvl->zDir);
- }
- sqlite3_free(pCur->zPath);
- sqlite3_free(pCur->aLvl);
- pCur->aLvl = 0;
- pCur->zPath = 0;
- pCur->zBase = 0;
- pCur->nBase = 0;
- pCur->nLvl = 0;
- pCur->iLvl = -1;
- pCur->iRowid = 1;
-}
-
-/*
-** Destructor for an fsdir_cursor.
-*/
-static int fsdirClose(sqlite3_vtab_cursor *cur){
- fsdir_cursor *pCur = (fsdir_cursor*)cur;
-
- fsdirResetCursor(pCur);
- sqlite3_free(pCur);
- return SQLITE_OK;
-}
-
-/*
-** Set the error message for the virtual table associated with cursor
-** pCur to the results of vprintf(zFmt, ...).
-*/
-static void fsdirSetErrmsg(fsdir_cursor *pCur, const char *zFmt, ...){
- va_list ap;
- va_start(ap, zFmt);
- pCur->base.pVtab->zErrMsg = sqlite3_vmprintf(zFmt, ap);
- va_end(ap);
-}
-
-
-/*
-** Advance an fsdir_cursor to its next row of output.
-*/
-static int fsdirNext(sqlite3_vtab_cursor *cur){
- fsdir_cursor *pCur = (fsdir_cursor*)cur;
- mode_t m = pCur->sStat.st_mode;
-
- pCur->iRowid++;
- if( S_ISDIR(m) ){
- /* Descend into this directory */
- int iNew = pCur->iLvl + 1;
- FsdirLevel *pLvl;
- if( iNew>=pCur->nLvl ){
- int nNew = iNew+1;
- sqlite3_int64 nByte = nNew*sizeof(FsdirLevel);
- FsdirLevel *aNew = (FsdirLevel*)sqlite3_realloc64(pCur->aLvl, nByte);
- if( aNew==0 ) return SQLITE_NOMEM;
- memset(&aNew[pCur->nLvl], 0, sizeof(FsdirLevel)*(nNew-pCur->nLvl));
- pCur->aLvl = aNew;
- pCur->nLvl = nNew;
- }
- pCur->iLvl = iNew;
- pLvl = &pCur->aLvl[iNew];
-
- pLvl->zDir = pCur->zPath;
- pCur->zPath = 0;
- pLvl->pDir = opendir(pLvl->zDir);
- if( pLvl->pDir==0 ){
- fsdirSetErrmsg(pCur, "cannot read directory: %s", pCur->zPath);
- return SQLITE_ERROR;
- }
- }
-
- while( pCur->iLvl>=0 ){
- FsdirLevel *pLvl = &pCur->aLvl[pCur->iLvl];
- struct dirent *pEntry = readdir(pLvl->pDir);
- if( pEntry ){
- if( pEntry->d_name[0]=='.' ){
- if( pEntry->d_name[1]=='.' && pEntry->d_name[2]=='\0' ) continue;
- if( pEntry->d_name[1]=='\0' ) continue;
- }
- sqlite3_free(pCur->zPath);
- pCur->zPath = sqlite3_mprintf("%s/%s", pLvl->zDir, pEntry->d_name);
- if( pCur->zPath==0 ) return SQLITE_NOMEM;
- if( fileLinkStat(pCur->zPath, &pCur->sStat) ){
- fsdirSetErrmsg(pCur, "cannot stat file: %s", pCur->zPath);
- return SQLITE_ERROR;
- }
- return SQLITE_OK;
- }
- closedir(pLvl->pDir);
- sqlite3_free(pLvl->zDir);
- pLvl->pDir = 0;
- pLvl->zDir = 0;
- pCur->iLvl--;
- }
-
- /* EOF */
- sqlite3_free(pCur->zPath);
- pCur->zPath = 0;
- return SQLITE_OK;
-}
-
-/*
-** Return values of columns for the row at which the series_cursor
-** is currently pointing.
-*/
-static int fsdirColumn(
- sqlite3_vtab_cursor *cur, /* The cursor */
- sqlite3_context *ctx, /* First argument to sqlite3_result_...() */
- int i /* Which column to return */
-){
- fsdir_cursor *pCur = (fsdir_cursor*)cur;
- switch( i ){
- case FSDIR_COLUMN_NAME: {
- sqlite3_result_text(ctx, &pCur->zPath[pCur->nBase], -1, SQLITE_TRANSIENT);
- break;
- }
-
- case FSDIR_COLUMN_MODE:
- sqlite3_result_int64(ctx, pCur->sStat.st_mode);
- break;
-
- case FSDIR_COLUMN_MTIME:
- sqlite3_result_int64(ctx, pCur->sStat.st_mtime);
- break;
-
- case FSDIR_COLUMN_DATA: {
- mode_t m = pCur->sStat.st_mode;
- if( S_ISDIR(m) ){
- sqlite3_result_null(ctx);
-#if !defined(_WIN32) && !defined(WIN32)
- }else if( S_ISLNK(m) ){
- char aStatic[64];
- char *aBuf = aStatic;
- sqlite3_int64 nBuf = 64;
- int n;
-
- while( 1 ){
- n = readlink(pCur->zPath, aBuf, nBuf);
- if( nzPath);
- }
- }
- case FSDIR_COLUMN_PATH:
- default: {
- /* The FSDIR_COLUMN_PATH and FSDIR_COLUMN_DIR are input parameters.
- ** always return their values as NULL */
- break;
- }
- }
- return SQLITE_OK;
-}
-
-/*
-** Return the rowid for the current row. In this implementation, the
-** first row returned is assigned rowid value 1, and each subsequent
-** row a value 1 more than that of the previous.
-*/
-static int fsdirRowid(sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid){
- fsdir_cursor *pCur = (fsdir_cursor*)cur;
- *pRowid = pCur->iRowid;
- return SQLITE_OK;
-}
-
-/*
-** Return TRUE if the cursor has been moved off of the last
-** row of output.
-*/
-static int fsdirEof(sqlite3_vtab_cursor *cur){
- fsdir_cursor *pCur = (fsdir_cursor*)cur;
- return (pCur->zPath==0);
-}
-
-/*
-** xFilter callback.
-**
-** idxNum==1 PATH parameter only
-** idxNum==2 Both PATH and DIR supplied
-*/
-static int fsdirFilter(
- sqlite3_vtab_cursor *cur,
- int idxNum, const char *idxStr,
- int argc, sqlite3_value **argv
-){
- const char *zDir = 0;
- fsdir_cursor *pCur = (fsdir_cursor*)cur;
- (void)idxStr;
- fsdirResetCursor(pCur);
-
- if( idxNum==0 ){
- fsdirSetErrmsg(pCur, "table function fsdir requires an argument");
- return SQLITE_ERROR;
- }
-
- assert( argc==idxNum && (argc==1 || argc==2) );
- zDir = (const char*)sqlite3_value_text(argv[0]);
- if( zDir==0 ){
- fsdirSetErrmsg(pCur, "table function fsdir requires a non-NULL argument");
- return SQLITE_ERROR;
- }
- if( argc==2 ){
- pCur->zBase = (const char*)sqlite3_value_text(argv[1]);
- }
- if( pCur->zBase ){
- pCur->nBase = (int)strlen(pCur->zBase)+1;
- pCur->zPath = sqlite3_mprintf("%s/%s", pCur->zBase, zDir);
- }else{
- pCur->zPath = sqlite3_mprintf("%s", zDir);
- }
-
- if( pCur->zPath==0 ){
- return SQLITE_NOMEM;
- }
- if( fileLinkStat(pCur->zPath, &pCur->sStat) ){
- fsdirSetErrmsg(pCur, "cannot stat file: %s", pCur->zPath);
- return SQLITE_ERROR;
- }
-
- return SQLITE_OK;
-}
-
-/*
-** SQLite will invoke this method one or more times while planning a query
-** that uses the generate_series virtual table. This routine needs to create
-** a query plan for each invocation and compute an estimated cost for that
-** plan.
-**
-** In this implementation idxNum is used to represent the
-** query plan. idxStr is unused.
-**
-** The query plan is represented by values of idxNum:
-**
-** (1) The path value is supplied by argv[0]
-** (2) Path is in argv[0] and dir is in argv[1]
-*/
-static int fsdirBestIndex(
- sqlite3_vtab *tab,
- sqlite3_index_info *pIdxInfo
-){
- int i; /* Loop over constraints */
- int idxPath = -1; /* Index in pIdxInfo->aConstraint of PATH= */
- int idxDir = -1; /* Index in pIdxInfo->aConstraint of DIR= */
- int seenPath = 0; /* True if an unusable PATH= constraint is seen */
- int seenDir = 0; /* True if an unusable DIR= constraint is seen */
- const struct sqlite3_index_constraint *pConstraint;
-
- (void)tab;
- pConstraint = pIdxInfo->aConstraint;
- for(i=0; inConstraint; i++, pConstraint++){
- if( pConstraint->op!=SQLITE_INDEX_CONSTRAINT_EQ ) continue;
- switch( pConstraint->iColumn ){
- case FSDIR_COLUMN_PATH: {
- if( pConstraint->usable ){
- idxPath = i;
- seenPath = 0;
- }else if( idxPath<0 ){
- seenPath = 1;
- }
- break;
- }
- case FSDIR_COLUMN_DIR: {
- if( pConstraint->usable ){
- idxDir = i;
- seenDir = 0;
- }else if( idxDir<0 ){
- seenDir = 1;
- }
- break;
- }
- }
- }
- if( seenPath || seenDir ){
- /* If input parameters are unusable, disallow this plan */
- return SQLITE_CONSTRAINT;
- }
-
- if( idxPath<0 ){
- pIdxInfo->idxNum = 0;
- /* The pIdxInfo->estimatedCost should have been initialized to a huge
- ** number. Leave it unchanged. */
- pIdxInfo->estimatedRows = 0x7fffffff;
- }else{
- pIdxInfo->aConstraintUsage[idxPath].omit = 1;
- pIdxInfo->aConstraintUsage[idxPath].argvIndex = 1;
- if( idxDir>=0 ){
- pIdxInfo->aConstraintUsage[idxDir].omit = 1;
- pIdxInfo->aConstraintUsage[idxDir].argvIndex = 2;
- pIdxInfo->idxNum = 2;
- pIdxInfo->estimatedCost = 10.0;
- }else{
- pIdxInfo->idxNum = 1;
- pIdxInfo->estimatedCost = 100.0;
- }
- }
-
- return SQLITE_OK;
-}
-
-/*
-** Register the "fsdir" virtual table.
-*/
-static int fsdirRegister(sqlite3 *db){
- static sqlite3_module fsdirModule = {
- 0, /* iVersion */
- 0, /* xCreate */
- fsdirConnect, /* xConnect */
- fsdirBestIndex, /* xBestIndex */
- fsdirDisconnect, /* xDisconnect */
- 0, /* xDestroy */
- fsdirOpen, /* xOpen - open a cursor */
- fsdirClose, /* xClose - close a cursor */
- fsdirFilter, /* xFilter - configure scan constraints */
- fsdirNext, /* xNext - advance a cursor */
- fsdirEof, /* xEof - check for end of scan */
- fsdirColumn, /* xColumn - read data */
- fsdirRowid, /* xRowid - read data */
- 0, /* xUpdate */
- 0, /* xBegin */
- 0, /* xSync */
- 0, /* xCommit */
- 0, /* xRollback */
- 0, /* xFindMethod */
- 0, /* xRename */
- 0, /* xSavepoint */
- 0, /* xRelease */
- 0, /* xRollbackTo */
- 0, /* xShadowName */
- };
-
- int rc = sqlite3_create_module(db, "fsdir", &fsdirModule, 0);
- return rc;
-}
-#else /* SQLITE_OMIT_VIRTUALTABLE */
-# define fsdirRegister(x) SQLITE_OK
-#endif
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_fileio_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "readfile", 1,
- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
- readfileFunc, 0, 0);
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "writefile", -1,
- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
- writefileFunc, 0, 0);
- }
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "lsmode", 1, SQLITE_UTF8, 0,
- lsModeFunc, 0, 0);
- }
- if( rc==SQLITE_OK ){
- rc = fsdirRegister(db);
- }
- return rc;
-}
diff --git a/sqlite3secure/src/filelist.md b/sqlite3secure/src/filelist.md
deleted file mode 100644
index 4433db9f..00000000
--- a/sqlite3secure/src/filelist.md
+++ /dev/null
@@ -1,97 +0,0 @@
-# Source files of the wxSQLite3 encryption extension
-
-The following document gives a short overview of all source files of which the wxSQLite3 encryption extension consists.
-
-## Kernel of the wxSQLite3 encryption extension
-
-The following files constitute the kernel of the **wxSQLite3** encryption extension:
-
-| Filename | Description |
-| :--- | :--- |
-| codec.c | Implementation of the **wxSQLite3** encryption extension |
-| codec.h | Header for the **wxSQLite3** encryption extension |
-| codecext.c | Implementation of the **SQLite3** codec API |
-| rekeyvacuum.c | Adjusted VACUUM function for use on rekeying a database file |
-| sqlite3secure.c | _Amalgamation_ of the complete **wxSQLite3** encryption extension |
-| sqlite3secure.h | Header for the additional API functions of the **wxSQLite3** encryption extension |
-
-All files, except `rekeyvacuum.c`, are licensed under `LGPL-3.0+ WITH WxWindows-exception-3.1`.
-
-`rekeyvacuum.c` contains a slightly modified implementation of the function `sqlite3RunVacuum` from the **SQLite3** and stays in the public domain.
-
-## Cryptograhic algorithms
-
-The following files contain the implementations of cryptographic algorithms used by the **wxSQLite3** encryption extension:
-
-| Filename | Description |
-| :--- | :--- |
-| chacha20poly1305.c | Implementation of ChaCha20 cipher and Poly1305 message authentication |
-| fastpbkdf2.c | Implementation of PBKDF2 functions |
-| fastpbkdf2.h | Header for PBKDF2 functions |
-| md5.c | Implementation of MD5 hash functions |
-| rijndael.c | Implementation of AES block cipher |
-| rijndael.h | Header for AES block cipher |
-| sha1.c | Implementation of SHA1 hash functions |
-| sha1.h | Header for SHA1 hash functions |
-| sha2.c | Implementation of SHA2 hash functions |
-| sha2.h | Header for SHA2 hash functions |
-
-The files `chacha20poly1305.c`, `fastpbkdf2.*`, `md5.c`, and `sha1.*` are in the public domain.
-
-The files `rijndael.*`, are licensed under `LGPL-3.0+ WITH WxWindows-exception-3.1`.
-
-The files `sha2.*` are licensed under `BSD-3-Clause`.
-
-## Windows-specific files
-
-The following files are only used under Windows platforms for creating binaries:
-
-| Filename | Description |
-| :--- | :--- |
-| sqlite3.def | Module definition specifying exported functions |
-| sqlite3.rc | Resource file specifying version information for the SQLite3 library |
-| sqlite3shell.rc | Resource file specifying version information for the SQLite3 shell |
-
-All files are licensed under `LGPL-3.0+ WITH WxWindows-exception-3.1`.
-
-## SQLite3 core
-
-The following files belong to the **SQLite3** core:
-
-| Filename | Description |
-| :--- | :--- |
-| shell.c | SQLite3 shell application |
-| sqlite3.c | SQLite3 source amalgamation |
-| sqlite3.h | SQLite3 header |
-| sqlite3ext.h | SQLite3 header for extensions |
-| test_windirent.c | Source for directory access under Windows used by `fileio` extension |
-| test_windirent.h | Header for directory access under Windows used by `fileio` extension |
-
-All files are in the public domain.
-
-## SQLite3 extensions
-
-The following files belong to **SQLite3** extensions contained in the official **SQLite3** distribution:
-
-| Filename | Description |
-| :--- | :--- |
-| carray.c | Table-valued function that returns the values in a C-language array |
-| csv.c | Virtual table for reading CSV files |
-| fileio.c | Functions `readfile` and `writefile`, and eponymous virtual table `fsdir` |
-| series.c | Table-valued-function implementing the function `generate_series` |
-| shathree.c | Functions computing SHA3 hashes |
-| sqlite3userauth.h | Header for user-authentication extension feature |
-| userauth.c | User-authentication extension feature (modified password hash function) |
-| uuid.c | Functions handling RFC-4122 UUIDs |
-
-All files are in the public domain.
-
-## External SQLite3 extensions
-
-The following file was posted to the SQLite mailing list:
-
-| Filename | Description |
-| :--- | :--- |
-| extensionfunctions.c | The extension provides common mathematical and string functions |
-
-The file `extensionfunctions.c` does not contain any specific license information. Since it was posted to the SQLite mailing list, it is assumed that the file is in the public domain like SQLite3 itself.
diff --git a/sqlite3secure/src/md5.c b/sqlite3secure/src/md5.c
deleted file mode 100644
index 2c7c6a13..00000000
--- a/sqlite3secure/src/md5.c
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
- * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc.
- * MD5 Message-Digest Algorithm (RFC 1321).
- *
- * Homepage:
- * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
- *
- * Author:
- * Alexander Peslyak, better known as Solar Designer
- *
- * This software was written by Alexander Peslyak in 2001. No copyright is
- * claimed, and the software is hereby placed in the public domain.
- * In case this attempt to disclaim copyright and place the software in the
- * public domain is deemed null and void, then the software is
- * Copyright (c) 2001 Alexander Peslyak and it is hereby released to the
- * general public under the following terms:
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted.
- *
- * There's ABSOLUTELY NO WARRANTY, express or implied.
- *
- * (This is a heavily cut-down "BSD license".)
- *
- * This differs from Colin Plumb's older public domain implementation in that
- * no exactly 32-bit integer data type is required (any 32-bit or wider
- * unsigned integer data type will do), there's no compile-time endianness
- * configuration, and the function prototypes match OpenSSL's. No code from
- * Colin Plumb's implementation has been reused; this comment merely compares
- * the properties of the two independent implementations.
- *
- * The primary goals of this implementation are portability and ease of use.
- * It is meant to be fast, but not as fast as possible. Some known
- * optimizations are not included to reduce source code size and avoid
- * compile-time configuration.
- */
-
-#define MD5_HASHBYTES 16
-
-#include
-
- /* Any 32-bit or wider unsigned integer data type will do */
-typedef unsigned int MD5_u32plus;
-
-typedef struct {
- MD5_u32plus lo, hi;
- MD5_u32plus a, b, c, d;
- unsigned char buffer[64];
- MD5_u32plus block[16];
-} MD5_CTX;
-
-static void MD5_Init(MD5_CTX *ctx);
-static void MD5_Update(MD5_CTX *ctx, const void *data, unsigned long size);
-static void MD5_Final(unsigned char *result, MD5_CTX *ctx);
-
-/*
-* The basic MD5 functions.
-*
-* F and G are optimized compared to their RFC 1321 definitions for
-* architectures that lack an AND-NOT instruction, just like in Colin Plumb's
-* implementation.
-*/
-#define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z))))
-#define G(x, y, z) ((y) ^ ((z) & ((x) ^ (y))))
-#define H(x, y, z) (((x) ^ (y)) ^ (z))
-#define H2(x, y, z) ((x) ^ ((y) ^ (z)))
-#define I(x, y, z) ((y) ^ ((x) | ~(z)))
-
-/*
-* The MD5 transformation for all four rounds.
-*/
-#define STEP(f, a, b, c, d, x, t, s) \
- (a) += f((b), (c), (d)) + (x) + (t); \
- (a) = (((a) << (s)) | (((a) & 0xffffffff) >> (32 - (s)))); \
- (a) += (b);
-
-/*
-* SET reads 4 input bytes in little-endian byte order and stores them
-* in a properly aligned word in host byte order.
-*
-* The check for little-endian architectures that tolerate unaligned
-* memory accesses is just an optimization. Nothing will break if it
-* doesn't work.
-*/
-#if defined(__i386__) || defined(__x86_64__) || defined(__vax__)
-#define SET(n) \
- (*(MD5_u32plus *)&ptr[(n) * 4])
-#define GET(n) \
- SET(n)
-#else
-#define SET(n) \
- (ctx->block[(n)] = \
- (MD5_u32plus)ptr[(n) * 4] | \
- ((MD5_u32plus)ptr[(n) * 4 + 1] << 8) | \
- ((MD5_u32plus)ptr[(n) * 4 + 2] << 16) | \
- ((MD5_u32plus)ptr[(n) * 4 + 3] << 24))
-#define GET(n) \
- (ctx->block[(n)])
-#endif
-
-/*
-* This processes one or more 64-byte data blocks, but does NOT update
-* the bit counters. There are no alignment requirements.
-*/
-static const void *body(MD5_CTX *ctx, const void *data, unsigned long size)
-{
- const unsigned char *ptr;
- MD5_u32plus a, b, c, d;
- MD5_u32plus saved_a, saved_b, saved_c, saved_d;
-
- ptr = (const unsigned char *)data;
-
- a = ctx->a;
- b = ctx->b;
- c = ctx->c;
- d = ctx->d;
-
- do {
- saved_a = a;
- saved_b = b;
- saved_c = c;
- saved_d = d;
-
- /* Round 1 */
- STEP(F, a, b, c, d, SET(0), 0xd76aa478, 7)
- STEP(F, d, a, b, c, SET(1), 0xe8c7b756, 12)
- STEP(F, c, d, a, b, SET(2), 0x242070db, 17)
- STEP(F, b, c, d, a, SET(3), 0xc1bdceee, 22)
- STEP(F, a, b, c, d, SET(4), 0xf57c0faf, 7)
- STEP(F, d, a, b, c, SET(5), 0x4787c62a, 12)
- STEP(F, c, d, a, b, SET(6), 0xa8304613, 17)
- STEP(F, b, c, d, a, SET(7), 0xfd469501, 22)
- STEP(F, a, b, c, d, SET(8), 0x698098d8, 7)
- STEP(F, d, a, b, c, SET(9), 0x8b44f7af, 12)
- STEP(F, c, d, a, b, SET(10), 0xffff5bb1, 17)
- STEP(F, b, c, d, a, SET(11), 0x895cd7be, 22)
- STEP(F, a, b, c, d, SET(12), 0x6b901122, 7)
- STEP(F, d, a, b, c, SET(13), 0xfd987193, 12)
- STEP(F, c, d, a, b, SET(14), 0xa679438e, 17)
- STEP(F, b, c, d, a, SET(15), 0x49b40821, 22)
-
- /* Round 2 */
- STEP(G, a, b, c, d, GET(1), 0xf61e2562, 5)
- STEP(G, d, a, b, c, GET(6), 0xc040b340, 9)
- STEP(G, c, d, a, b, GET(11), 0x265e5a51, 14)
- STEP(G, b, c, d, a, GET(0), 0xe9b6c7aa, 20)
- STEP(G, a, b, c, d, GET(5), 0xd62f105d, 5)
- STEP(G, d, a, b, c, GET(10), 0x02441453, 9)
- STEP(G, c, d, a, b, GET(15), 0xd8a1e681, 14)
- STEP(G, b, c, d, a, GET(4), 0xe7d3fbc8, 20)
- STEP(G, a, b, c, d, GET(9), 0x21e1cde6, 5)
- STEP(G, d, a, b, c, GET(14), 0xc33707d6, 9)
- STEP(G, c, d, a, b, GET(3), 0xf4d50d87, 14)
- STEP(G, b, c, d, a, GET(8), 0x455a14ed, 20)
- STEP(G, a, b, c, d, GET(13), 0xa9e3e905, 5)
- STEP(G, d, a, b, c, GET(2), 0xfcefa3f8, 9)
- STEP(G, c, d, a, b, GET(7), 0x676f02d9, 14)
- STEP(G, b, c, d, a, GET(12), 0x8d2a4c8a, 20)
-
- /* Round 3 */
- STEP(H, a, b, c, d, GET(5), 0xfffa3942, 4)
- STEP(H2, d, a, b, c, GET(8), 0x8771f681, 11)
- STEP(H, c, d, a, b, GET(11), 0x6d9d6122, 16)
- STEP(H2, b, c, d, a, GET(14), 0xfde5380c, 23)
- STEP(H, a, b, c, d, GET(1), 0xa4beea44, 4)
- STEP(H2, d, a, b, c, GET(4), 0x4bdecfa9, 11)
- STEP(H, c, d, a, b, GET(7), 0xf6bb4b60, 16)
- STEP(H2, b, c, d, a, GET(10), 0xbebfbc70, 23)
- STEP(H, a, b, c, d, GET(13), 0x289b7ec6, 4)
- STEP(H2, d, a, b, c, GET(0), 0xeaa127fa, 11)
- STEP(H, c, d, a, b, GET(3), 0xd4ef3085, 16)
- STEP(H2, b, c, d, a, GET(6), 0x04881d05, 23)
- STEP(H, a, b, c, d, GET(9), 0xd9d4d039, 4)
- STEP(H2, d, a, b, c, GET(12), 0xe6db99e5, 11)
- STEP(H, c, d, a, b, GET(15), 0x1fa27cf8, 16)
- STEP(H2, b, c, d, a, GET(2), 0xc4ac5665, 23)
-
- /* Round 4 */
- STEP(I, a, b, c, d, GET(0), 0xf4292244, 6)
- STEP(I, d, a, b, c, GET(7), 0x432aff97, 10)
- STEP(I, c, d, a, b, GET(14), 0xab9423a7, 15)
- STEP(I, b, c, d, a, GET(5), 0xfc93a039, 21)
- STEP(I, a, b, c, d, GET(12), 0x655b59c3, 6)
- STEP(I, d, a, b, c, GET(3), 0x8f0ccc92, 10)
- STEP(I, c, d, a, b, GET(10), 0xffeff47d, 15)
- STEP(I, b, c, d, a, GET(1), 0x85845dd1, 21)
- STEP(I, a, b, c, d, GET(8), 0x6fa87e4f, 6)
- STEP(I, d, a, b, c, GET(15), 0xfe2ce6e0, 10)
- STEP(I, c, d, a, b, GET(6), 0xa3014314, 15)
- STEP(I, b, c, d, a, GET(13), 0x4e0811a1, 21)
- STEP(I, a, b, c, d, GET(4), 0xf7537e82, 6)
- STEP(I, d, a, b, c, GET(11), 0xbd3af235, 10)
- STEP(I, c, d, a, b, GET(2), 0x2ad7d2bb, 15)
- STEP(I, b, c, d, a, GET(9), 0xeb86d391, 21)
-
- a += saved_a;
- b += saved_b;
- c += saved_c;
- d += saved_d;
-
- ptr += 64;
- } while (size -= 64);
-
- ctx->a = a;
- ctx->b = b;
- ctx->c = c;
- ctx->d = d;
-
- return ptr;
-}
-
-void MD5_Init(MD5_CTX *ctx)
-{
- ctx->a = 0x67452301;
- ctx->b = 0xefcdab89;
- ctx->c = 0x98badcfe;
- ctx->d = 0x10325476;
-
- ctx->lo = 0;
- ctx->hi = 0;
-}
-
-void MD5_Update(MD5_CTX *ctx, const void *data, unsigned long size)
-{
- MD5_u32plus saved_lo;
- unsigned long used, available;
-
- saved_lo = ctx->lo;
- if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo)
- ctx->hi++;
- ctx->hi += size >> 29;
-
- used = saved_lo & 0x3f;
-
- if (used) {
- available = 64 - used;
-
- if (size < available) {
- memcpy(&ctx->buffer[used], data, size);
- return;
- }
-
- memcpy(&ctx->buffer[used], data, available);
- data = (const unsigned char *)data + available;
- size -= available;
- body(ctx, ctx->buffer, 64);
- }
-
- if (size >= 64) {
- data = body(ctx, data, size & ~(unsigned long)0x3f);
- size &= 0x3f;
- }
-
- memcpy(ctx->buffer, data, size);
-}
-
-void MD5_Final(unsigned char *result, MD5_CTX *ctx)
-{
- unsigned long used, available;
-
- used = ctx->lo & 0x3f;
-
- ctx->buffer[used++] = 0x80;
-
- available = 64 - used;
-
- if (available < 8) {
- memset(&ctx->buffer[used], 0, available);
- body(ctx, ctx->buffer, 64);
- used = 0;
- available = 64;
- }
-
- memset(&ctx->buffer[used], 0, available - 8);
-
- ctx->lo <<= 3;
- ctx->buffer[56] = ctx->lo;
- ctx->buffer[57] = ctx->lo >> 8;
- ctx->buffer[58] = ctx->lo >> 16;
- ctx->buffer[59] = ctx->lo >> 24;
- ctx->buffer[60] = ctx->hi;
- ctx->buffer[61] = ctx->hi >> 8;
- ctx->buffer[62] = ctx->hi >> 16;
- ctx->buffer[63] = ctx->hi >> 24;
-
- body(ctx, ctx->buffer, 64);
-
- result[0] = ctx->a;
- result[1] = ctx->a >> 8;
- result[2] = ctx->a >> 16;
- result[3] = ctx->a >> 24;
- result[4] = ctx->b;
- result[5] = ctx->b >> 8;
- result[6] = ctx->b >> 16;
- result[7] = ctx->b >> 24;
- result[8] = ctx->c;
- result[9] = ctx->c >> 8;
- result[10] = ctx->c >> 16;
- result[11] = ctx->c >> 24;
- result[12] = ctx->d;
- result[13] = ctx->d >> 8;
- result[14] = ctx->d >> 16;
- result[15] = ctx->d >> 24;
-
- memset(ctx, 0, sizeof(*ctx));
-}
diff --git a/sqlite3secure/src/mystdint.h b/sqlite3secure/src/mystdint.h
deleted file mode 100644
index 3648a1fe..00000000
--- a/sqlite3secure/src/mystdint.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef MY_STDINT_H_
-#define MY_STDINT_H_
-
-/*
-** MS Visual C++ 2008 and below do not provide the header file
-** That is, we need to define the necessary types ourselves
-*/
-
-#if defined(_MSC_VER) && (_MSC_VER < 1600)
-typedef signed char int8_t;
-typedef short int16_t;
-typedef int int32_t;
-typedef long long int64_t;
-typedef unsigned char uint8_t;
-typedef unsigned short uint16_t;
-typedef unsigned int uint32_t;
-typedef unsigned long long uint64_t;
-
-#define UINT8_MAX 255
-#define UINT16_MAX 65535
-#define UINT32_MAX 0xffffffffU /* 4294967295U */
-#define UINT64_MAX 0xffffffffffffffffULL /* 18446744073709551615ULL */
-#else
-#include
-#endif
-
-#endif /* MY_STDINT_H_ */
diff --git a/sqlite3secure/src/regexp.c b/sqlite3secure/src/regexp.c
deleted file mode 100644
index 03bbeb97..00000000
--- a/sqlite3secure/src/regexp.c
+++ /dev/null
@@ -1,760 +0,0 @@
-/*
-** 2012-11-13
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** The code in this file implements a compact but reasonably
-** efficient regular-expression matcher for posix extended regular
-** expressions against UTF8 text.
-**
-** This file is an SQLite extension. It registers a single function
-** named "regexp(A,B)" where A is the regular expression and B is the
-** string to be matched. By registering this function, SQLite will also
-** then implement the "B regexp A" operator. Note that with the function
-** the regular expression comes first, but with the operator it comes
-** second.
-**
-** The following regular expression syntax is supported:
-**
-** X* zero or more occurrences of X
-** X+ one or more occurrences of X
-** X? zero or one occurrences of X
-** X{p,q} between p and q occurrences of X
-** (X) match X
-** X|Y X or Y
-** ^X X occurring at the beginning of the string
-** X$ X occurring at the end of the string
-** . Match any single character
-** \c Character c where c is one of \{}()[]|*+?.
-** \c C-language escapes for c in afnrtv. ex: \t or \n
-** \uXXXX Where XXXX is exactly 4 hex digits, unicode value XXXX
-** \xXX Where XX is exactly 2 hex digits, unicode value XX
-** [abc] Any single character from the set abc
-** [^abc] Any single character not in the set abc
-** [a-z] Any single character in the range a-z
-** [^a-z] Any single character not in the range a-z
-** \b Word boundary
-** \w Word character. [A-Za-z0-9_]
-** \W Non-word character
-** \d Digit
-** \D Non-digit
-** \s Whitespace character
-** \S Non-whitespace character
-**
-** A nondeterministic finite automaton (NFA) is used for matching, so the
-** performance is bounded by O(N*M) where N is the size of the regular
-** expression and M is the size of the input string. The matcher never
-** exhibits exponential behavior. Note that the X{p,q} operator expands
-** to p copies of X following by q-p copies of X? and that the size of the
-** regular expression in the O(N*M) performance bound is computed after
-** this expansion.
-*/
-#include
-#include
-#include "sqlite3ext.h"
-SQLITE_EXTENSION_INIT1
-
-/*
-** The following #defines change the names of some functions implemented in
-** this file to prevent name collisions with C-library functions of the
-** same name.
-*/
-#define re_match sqlite3re_match
-#define re_compile sqlite3re_compile
-#define re_free sqlite3re_free
-
-/* The end-of-input character */
-#define RE_EOF 0 /* End of input */
-
-/* The NFA is implemented as sequence of opcodes taken from the following
-** set. Each opcode has a single integer argument.
-*/
-#define RE_OP_MATCH 1 /* Match the one character in the argument */
-#define RE_OP_ANY 2 /* Match any one character. (Implements ".") */
-#define RE_OP_ANYSTAR 3 /* Special optimized version of .* */
-#define RE_OP_FORK 4 /* Continue to both next and opcode at iArg */
-#define RE_OP_GOTO 5 /* Jump to opcode at iArg */
-#define RE_OP_ACCEPT 6 /* Halt and indicate a successful match */
-#define RE_OP_CC_INC 7 /* Beginning of a [...] character class */
-#define RE_OP_CC_EXC 8 /* Beginning of a [^...] character class */
-#define RE_OP_CC_VALUE 9 /* Single value in a character class */
-#define RE_OP_CC_RANGE 10 /* Range of values in a character class */
-#define RE_OP_WORD 11 /* Perl word character [A-Za-z0-9_] */
-#define RE_OP_NOTWORD 12 /* Not a perl word character */
-#define RE_OP_DIGIT 13 /* digit: [0-9] */
-#define RE_OP_NOTDIGIT 14 /* Not a digit */
-#define RE_OP_SPACE 15 /* space: [ \t\n\r\v\f] */
-#define RE_OP_NOTSPACE 16 /* Not a digit */
-#define RE_OP_BOUNDARY 17 /* Boundary between word and non-word */
-
-/* Each opcode is a "state" in the NFA */
-typedef unsigned short ReStateNumber;
-
-/* Because this is an NFA and not a DFA, multiple states can be active at
-** once. An instance of the following object records all active states in
-** the NFA. The implementation is optimized for the common case where the
-** number of actives states is small.
-*/
-typedef struct ReStateSet {
- unsigned nState; /* Number of current states */
- ReStateNumber *aState; /* Current states */
-} ReStateSet;
-
-/* An input string read one character at a time.
-*/
-typedef struct ReInput ReInput;
-struct ReInput {
- const unsigned char *z; /* All text */
- int i; /* Next byte to read */
- int mx; /* EOF when i>=mx */
-};
-
-/* A compiled NFA (or an NFA that is in the process of being compiled) is
-** an instance of the following object.
-*/
-typedef struct ReCompiled ReCompiled;
-struct ReCompiled {
- ReInput sIn; /* Regular expression text */
- const char *zErr; /* Error message to return */
- char *aOp; /* Operators for the virtual machine */
- int *aArg; /* Arguments to each operator */
- unsigned (*xNextChar)(ReInput*); /* Next character function */
- unsigned char zInit[12]; /* Initial text to match */
- int nInit; /* Number of characters in zInit */
- unsigned nState; /* Number of entries in aOp[] and aArg[] */
- unsigned nAlloc; /* Slots allocated for aOp[] and aArg[] */
-};
-
-/* Add a state to the given state set if it is not already there */
-static void re_add_state(ReStateSet *pSet, int newState){
- unsigned i;
- for(i=0; inState; i++) if( pSet->aState[i]==newState ) return;
- pSet->aState[pSet->nState++] = (ReStateNumber)newState;
-}
-
-/* Extract the next unicode character from *pzIn and return it. Advance
-** *pzIn to the first byte past the end of the character returned. To
-** be clear: this routine converts utf8 to unicode. This routine is
-** optimized for the common case where the next character is a single byte.
-*/
-static unsigned re_next_char(ReInput *p){
- unsigned c;
- if( p->i>=p->mx ) return 0;
- c = p->z[p->i++];
- if( c>=0x80 ){
- if( (c&0xe0)==0xc0 && p->imx && (p->z[p->i]&0xc0)==0x80 ){
- c = (c&0x1f)<<6 | (p->z[p->i++]&0x3f);
- if( c<0x80 ) c = 0xfffd;
- }else if( (c&0xf0)==0xe0 && p->i+1mx && (p->z[p->i]&0xc0)==0x80
- && (p->z[p->i+1]&0xc0)==0x80 ){
- c = (c&0x0f)<<12 | ((p->z[p->i]&0x3f)<<6) | (p->z[p->i+1]&0x3f);
- p->i += 2;
- if( c<=0x7ff || (c>=0xd800 && c<=0xdfff) ) c = 0xfffd;
- }else if( (c&0xf8)==0xf0 && p->i+3mx && (p->z[p->i]&0xc0)==0x80
- && (p->z[p->i+1]&0xc0)==0x80 && (p->z[p->i+2]&0xc0)==0x80 ){
- c = (c&0x07)<<18 | ((p->z[p->i]&0x3f)<<12) | ((p->z[p->i+1]&0x3f)<<6)
- | (p->z[p->i+2]&0x3f);
- p->i += 3;
- if( c<=0xffff || c>0x10ffff ) c = 0xfffd;
- }else{
- c = 0xfffd;
- }
- }
- return c;
-}
-static unsigned re_next_char_nocase(ReInput *p){
- unsigned c = re_next_char(p);
- if( c>='A' && c<='Z' ) c += 'a' - 'A';
- return c;
-}
-
-/* Return true if c is a perl "word" character: [A-Za-z0-9_] */
-static int re_word_char(int c){
- return (c>='0' && c<='9') || (c>='a' && c<='z')
- || (c>='A' && c<='Z') || c=='_';
-}
-
-/* Return true if c is a "digit" character: [0-9] */
-static int re_digit_char(int c){
- return (c>='0' && c<='9');
-}
-
-/* Return true if c is a perl "space" character: [ \t\r\n\v\f] */
-static int re_space_char(int c){
- return c==' ' || c=='\t' || c=='\n' || c=='\r' || c=='\v' || c=='\f';
-}
-
-/* Run a compiled regular expression on the zero-terminated input
-** string zIn[]. Return true on a match and false if there is no match.
-*/
-static int re_match(ReCompiled *pRe, const unsigned char *zIn, int nIn){
- ReStateSet aStateSet[2], *pThis, *pNext;
- ReStateNumber aSpace[100];
- ReStateNumber *pToFree;
- unsigned int i = 0;
- unsigned int iSwap = 0;
- int c = RE_EOF+1;
- int cPrev = 0;
- int rc = 0;
- ReInput in;
-
- in.z = zIn;
- in.i = 0;
- in.mx = nIn>=0 ? nIn : (int)strlen((char const*)zIn);
-
- /* Look for the initial prefix match, if there is one. */
- if( pRe->nInit ){
- unsigned char x = pRe->zInit[0];
- while( in.i+pRe->nInit<=in.mx
- && (zIn[in.i]!=x ||
- strncmp((const char*)zIn+in.i, (const char*)pRe->zInit, pRe->nInit)!=0)
- ){
- in.i++;
- }
- if( in.i+pRe->nInit>in.mx ) return 0;
- }
-
- if( pRe->nState<=(sizeof(aSpace)/(sizeof(aSpace[0])*2)) ){
- pToFree = 0;
- aStateSet[0].aState = aSpace;
- }else{
- pToFree = sqlite3_malloc64( sizeof(ReStateNumber)*2*pRe->nState );
- if( pToFree==0 ) return -1;
- aStateSet[0].aState = pToFree;
- }
- aStateSet[1].aState = &aStateSet[0].aState[pRe->nState];
- pNext = &aStateSet[1];
- pNext->nState = 0;
- re_add_state(pNext, 0);
- while( c!=RE_EOF && pNext->nState>0 ){
- cPrev = c;
- c = pRe->xNextChar(&in);
- pThis = pNext;
- pNext = &aStateSet[iSwap];
- iSwap = 1 - iSwap;
- pNext->nState = 0;
- for(i=0; inState; i++){
- int x = pThis->aState[i];
- switch( pRe->aOp[x] ){
- case RE_OP_MATCH: {
- if( pRe->aArg[x]==c ) re_add_state(pNext, x+1);
- break;
- }
- case RE_OP_ANY: {
- re_add_state(pNext, x+1);
- break;
- }
- case RE_OP_WORD: {
- if( re_word_char(c) ) re_add_state(pNext, x+1);
- break;
- }
- case RE_OP_NOTWORD: {
- if( !re_word_char(c) ) re_add_state(pNext, x+1);
- break;
- }
- case RE_OP_DIGIT: {
- if( re_digit_char(c) ) re_add_state(pNext, x+1);
- break;
- }
- case RE_OP_NOTDIGIT: {
- if( !re_digit_char(c) ) re_add_state(pNext, x+1);
- break;
- }
- case RE_OP_SPACE: {
- if( re_space_char(c) ) re_add_state(pNext, x+1);
- break;
- }
- case RE_OP_NOTSPACE: {
- if( !re_space_char(c) ) re_add_state(pNext, x+1);
- break;
- }
- case RE_OP_BOUNDARY: {
- if( re_word_char(c)!=re_word_char(cPrev) ) re_add_state(pThis, x+1);
- break;
- }
- case RE_OP_ANYSTAR: {
- re_add_state(pNext, x);
- re_add_state(pThis, x+1);
- break;
- }
- case RE_OP_FORK: {
- re_add_state(pThis, x+pRe->aArg[x]);
- re_add_state(pThis, x+1);
- break;
- }
- case RE_OP_GOTO: {
- re_add_state(pThis, x+pRe->aArg[x]);
- break;
- }
- case RE_OP_ACCEPT: {
- rc = 1;
- goto re_match_end;
- }
- case RE_OP_CC_INC:
- case RE_OP_CC_EXC: {
- int j = 1;
- int n = pRe->aArg[x];
- int hit = 0;
- for(j=1; j>0 && jaOp[x+j]==RE_OP_CC_VALUE ){
- if( pRe->aArg[x+j]==c ){
- hit = 1;
- j = -1;
- }
- }else{
- if( pRe->aArg[x+j]<=c && pRe->aArg[x+j+1]>=c ){
- hit = 1;
- j = -1;
- }else{
- j++;
- }
- }
- }
- if( pRe->aOp[x]==RE_OP_CC_EXC ) hit = !hit;
- if( hit ) re_add_state(pNext, x+n);
- break;
- }
- }
- }
- }
- for(i=0; inState; i++){
- if( pRe->aOp[pNext->aState[i]]==RE_OP_ACCEPT ){ rc = 1; break; }
- }
-re_match_end:
- sqlite3_free(pToFree);
- return rc;
-}
-
-/* Resize the opcode and argument arrays for an RE under construction.
-*/
-static int re_resize(ReCompiled *p, int N){
- char *aOp;
- int *aArg;
- aOp = sqlite3_realloc64(p->aOp, N*sizeof(p->aOp[0]));
- if( aOp==0 ) return 1;
- p->aOp = aOp;
- aArg = sqlite3_realloc64(p->aArg, N*sizeof(p->aArg[0]));
- if( aArg==0 ) return 1;
- p->aArg = aArg;
- p->nAlloc = N;
- return 0;
-}
-
-/* Insert a new opcode and argument into an RE under construction. The
-** insertion point is just prior to existing opcode iBefore.
-*/
-static int re_insert(ReCompiled *p, int iBefore, int op, int arg){
- int i;
- if( p->nAlloc<=p->nState && re_resize(p, p->nAlloc*2) ) return 0;
- for(i=p->nState; i>iBefore; i--){
- p->aOp[i] = p->aOp[i-1];
- p->aArg[i] = p->aArg[i-1];
- }
- p->nState++;
- p->aOp[iBefore] = (char)op;
- p->aArg[iBefore] = arg;
- return iBefore;
-}
-
-/* Append a new opcode and argument to the end of the RE under construction.
-*/
-static int re_append(ReCompiled *p, int op, int arg){
- return re_insert(p, p->nState, op, arg);
-}
-
-/* Make a copy of N opcodes starting at iStart onto the end of the RE
-** under construction.
-*/
-static void re_copy(ReCompiled *p, int iStart, int N){
- if( p->nState+N>=p->nAlloc && re_resize(p, p->nAlloc*2+N) ) return;
- memcpy(&p->aOp[p->nState], &p->aOp[iStart], N*sizeof(p->aOp[0]));
- memcpy(&p->aArg[p->nState], &p->aArg[iStart], N*sizeof(p->aArg[0]));
- p->nState += N;
-}
-
-/* Return true if c is a hexadecimal digit character: [0-9a-fA-F]
-** If c is a hex digit, also set *pV = (*pV)*16 + valueof(c). If
-** c is not a hex digit *pV is unchanged.
-*/
-static int re_hex(int c, int *pV){
- if( c>='0' && c<='9' ){
- c -= '0';
- }else if( c>='a' && c<='f' ){
- c -= 'a' - 10;
- }else if( c>='A' && c<='F' ){
- c -= 'A' - 10;
- }else{
- return 0;
- }
- *pV = (*pV)*16 + (c & 0xff);
- return 1;
-}
-
-/* A backslash character has been seen, read the next character and
-** return its interpretation.
-*/
-static unsigned re_esc_char(ReCompiled *p){
- static const char zEsc[] = "afnrtv\\()*.+?[$^{|}]";
- static const char zTrans[] = "\a\f\n\r\t\v";
- int i, v = 0;
- char c;
- if( p->sIn.i>=p->sIn.mx ) return 0;
- c = p->sIn.z[p->sIn.i];
- if( c=='u' && p->sIn.i+4sIn.mx ){
- const unsigned char *zIn = p->sIn.z + p->sIn.i;
- if( re_hex(zIn[1],&v)
- && re_hex(zIn[2],&v)
- && re_hex(zIn[3],&v)
- && re_hex(zIn[4],&v)
- ){
- p->sIn.i += 5;
- return v;
- }
- }
- if( c=='x' && p->sIn.i+2sIn.mx ){
- const unsigned char *zIn = p->sIn.z + p->sIn.i;
- if( re_hex(zIn[1],&v)
- && re_hex(zIn[2],&v)
- ){
- p->sIn.i += 3;
- return v;
- }
- }
- for(i=0; zEsc[i] && zEsc[i]!=c; i++){}
- if( zEsc[i] ){
- if( i<6 ) c = zTrans[i];
- p->sIn.i++;
- }else{
- p->zErr = "unknown \\ escape";
- }
- return c;
-}
-
-/* Forward declaration */
-static const char *re_subcompile_string(ReCompiled*);
-
-/* Peek at the next byte of input */
-static unsigned char rePeek(ReCompiled *p){
- return p->sIn.isIn.mx ? p->sIn.z[p->sIn.i] : 0;
-}
-
-/* Compile RE text into a sequence of opcodes. Continue up to the
-** first unmatched ")" character, then return. If an error is found,
-** return a pointer to the error message string.
-*/
-static const char *re_subcompile_re(ReCompiled *p){
- const char *zErr;
- int iStart, iEnd, iGoto;
- iStart = p->nState;
- zErr = re_subcompile_string(p);
- if( zErr ) return zErr;
- while( rePeek(p)=='|' ){
- iEnd = p->nState;
- re_insert(p, iStart, RE_OP_FORK, iEnd + 2 - iStart);
- iGoto = re_append(p, RE_OP_GOTO, 0);
- p->sIn.i++;
- zErr = re_subcompile_string(p);
- if( zErr ) return zErr;
- p->aArg[iGoto] = p->nState - iGoto;
- }
- return 0;
-}
-
-/* Compile an element of regular expression text (anything that can be
-** an operand to the "|" operator). Return NULL on success or a pointer
-** to the error message if there is a problem.
-*/
-static const char *re_subcompile_string(ReCompiled *p){
- int iPrev = -1;
- int iStart;
- unsigned c;
- const char *zErr;
- while( (c = p->xNextChar(&p->sIn))!=0 ){
- iStart = p->nState;
- switch( c ){
- case '|':
- case '$':
- case ')': {
- p->sIn.i--;
- return 0;
- }
- case '(': {
- zErr = re_subcompile_re(p);
- if( zErr ) return zErr;
- if( rePeek(p)!=')' ) return "unmatched '('";
- p->sIn.i++;
- break;
- }
- case '.': {
- if( rePeek(p)=='*' ){
- re_append(p, RE_OP_ANYSTAR, 0);
- p->sIn.i++;
- }else{
- re_append(p, RE_OP_ANY, 0);
- }
- break;
- }
- case '*': {
- if( iPrev<0 ) return "'*' without operand";
- re_insert(p, iPrev, RE_OP_GOTO, p->nState - iPrev + 1);
- re_append(p, RE_OP_FORK, iPrev - p->nState + 1);
- break;
- }
- case '+': {
- if( iPrev<0 ) return "'+' without operand";
- re_append(p, RE_OP_FORK, iPrev - p->nState);
- break;
- }
- case '?': {
- if( iPrev<0 ) return "'?' without operand";
- re_insert(p, iPrev, RE_OP_FORK, p->nState - iPrev+1);
- break;
- }
- case '{': {
- int m = 0, n = 0;
- int sz, j;
- if( iPrev<0 ) return "'{m,n}' without operand";
- while( (c=rePeek(p))>='0' && c<='9' ){ m = m*10 + c - '0'; p->sIn.i++; }
- n = m;
- if( c==',' ){
- p->sIn.i++;
- n = 0;
- while( (c=rePeek(p))>='0' && c<='9' ){ n = n*10 + c-'0'; p->sIn.i++; }
- }
- if( c!='}' ) return "unmatched '{'";
- if( n>0 && nsIn.i++;
- sz = p->nState - iPrev;
- if( m==0 ){
- if( n==0 ) return "both m and n are zero in '{m,n}'";
- re_insert(p, iPrev, RE_OP_FORK, sz+1);
- n--;
- }else{
- for(j=1; j0 ){
- re_append(p, RE_OP_FORK, -sz);
- }
- break;
- }
- case '[': {
- int iFirst = p->nState;
- if( rePeek(p)=='^' ){
- re_append(p, RE_OP_CC_EXC, 0);
- p->sIn.i++;
- }else{
- re_append(p, RE_OP_CC_INC, 0);
- }
- while( (c = p->xNextChar(&p->sIn))!=0 ){
- if( c=='[' && rePeek(p)==':' ){
- return "POSIX character classes not supported";
- }
- if( c=='\\' ) c = re_esc_char(p);
- if( rePeek(p)=='-' ){
- re_append(p, RE_OP_CC_RANGE, c);
- p->sIn.i++;
- c = p->xNextChar(&p->sIn);
- if( c=='\\' ) c = re_esc_char(p);
- re_append(p, RE_OP_CC_RANGE, c);
- }else{
- re_append(p, RE_OP_CC_VALUE, c);
- }
- if( rePeek(p)==']' ){ p->sIn.i++; break; }
- }
- if( c==0 ) return "unclosed '['";
- p->aArg[iFirst] = p->nState - iFirst;
- break;
- }
- case '\\': {
- int specialOp = 0;
- switch( rePeek(p) ){
- case 'b': specialOp = RE_OP_BOUNDARY; break;
- case 'd': specialOp = RE_OP_DIGIT; break;
- case 'D': specialOp = RE_OP_NOTDIGIT; break;
- case 's': specialOp = RE_OP_SPACE; break;
- case 'S': specialOp = RE_OP_NOTSPACE; break;
- case 'w': specialOp = RE_OP_WORD; break;
- case 'W': specialOp = RE_OP_NOTWORD; break;
- }
- if( specialOp ){
- p->sIn.i++;
- re_append(p, specialOp, 0);
- }else{
- c = re_esc_char(p);
- re_append(p, RE_OP_MATCH, c);
- }
- break;
- }
- default: {
- re_append(p, RE_OP_MATCH, c);
- break;
- }
- }
- iPrev = iStart;
- }
- return 0;
-}
-
-/* Free and reclaim all the memory used by a previously compiled
-** regular expression. Applications should invoke this routine once
-** for every call to re_compile() to avoid memory leaks.
-*/
-static void re_free(ReCompiled *pRe){
- if( pRe ){
- sqlite3_free(pRe->aOp);
- sqlite3_free(pRe->aArg);
- sqlite3_free(pRe);
- }
-}
-
-/*
-** Compile a textual regular expression in zIn[] into a compiled regular
-** expression suitable for us by re_match() and return a pointer to the
-** compiled regular expression in *ppRe. Return NULL on success or an
-** error message if something goes wrong.
-*/
-static const char *re_compile(ReCompiled **ppRe, const char *zIn, int noCase){
- ReCompiled *pRe;
- const char *zErr;
- int i, j;
-
- *ppRe = 0;
- pRe = sqlite3_malloc( sizeof(*pRe) );
- if( pRe==0 ){
- return "out of memory";
- }
- memset(pRe, 0, sizeof(*pRe));
- pRe->xNextChar = noCase ? re_next_char_nocase : re_next_char;
- if( re_resize(pRe, 30) ){
- re_free(pRe);
- return "out of memory";
- }
- if( zIn[0]=='^' ){
- zIn++;
- }else{
- re_append(pRe, RE_OP_ANYSTAR, 0);
- }
- pRe->sIn.z = (unsigned char*)zIn;
- pRe->sIn.i = 0;
- pRe->sIn.mx = (int)strlen(zIn);
- zErr = re_subcompile_re(pRe);
- if( zErr ){
- re_free(pRe);
- return zErr;
- }
- if( rePeek(pRe)=='$' && pRe->sIn.i+1>=pRe->sIn.mx ){
- re_append(pRe, RE_OP_MATCH, RE_EOF);
- re_append(pRe, RE_OP_ACCEPT, 0);
- *ppRe = pRe;
- }else if( pRe->sIn.i>=pRe->sIn.mx ){
- re_append(pRe, RE_OP_ACCEPT, 0);
- *ppRe = pRe;
- }else{
- re_free(pRe);
- return "unrecognized character";
- }
-
- /* The following is a performance optimization. If the regex begins with
- ** ".*" (if the input regex lacks an initial "^") and afterwards there are
- ** one or more matching characters, enter those matching characters into
- ** zInit[]. The re_match() routine can then search ahead in the input
- ** string looking for the initial match without having to run the whole
- ** regex engine over the string. Do not worry able trying to match
- ** unicode characters beyond plane 0 - those are very rare and this is
- ** just an optimization. */
- if( pRe->aOp[0]==RE_OP_ANYSTAR ){
- for(j=0, i=1; jzInit)-2 && pRe->aOp[i]==RE_OP_MATCH; i++){
- unsigned x = pRe->aArg[i];
- if( x<=127 ){
- pRe->zInit[j++] = (unsigned char)x;
- }else if( x<=0xfff ){
- pRe->zInit[j++] = (unsigned char)(0xc0 | (x>>6));
- pRe->zInit[j++] = 0x80 | (x&0x3f);
- }else if( x<=0xffff ){
- pRe->zInit[j++] = (unsigned char)(0xd0 | (x>>12));
- pRe->zInit[j++] = 0x80 | ((x>>6)&0x3f);
- pRe->zInit[j++] = 0x80 | (x&0x3f);
- }else{
- break;
- }
- }
- if( j>0 && pRe->zInit[j-1]==0 ) j--;
- pRe->nInit = j;
- }
- return pRe->zErr;
-}
-
-/*
-** Implementation of the regexp() SQL function. This function implements
-** the build-in REGEXP operator. The first argument to the function is the
-** pattern and the second argument is the string. So, the SQL statements:
-**
-** A REGEXP B
-**
-** is implemented as regexp(B,A).
-*/
-static void re_sql_func(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- ReCompiled *pRe; /* Compiled regular expression */
- const char *zPattern; /* The regular expression */
- const unsigned char *zStr;/* String being searched */
- const char *zErr; /* Compile error message */
- int setAux = 0; /* True to invoke sqlite3_set_auxdata() */
-
- pRe = sqlite3_get_auxdata(context, 0);
- if( pRe==0 ){
- zPattern = (const char*)sqlite3_value_text(argv[0]);
- if( zPattern==0 ) return;
- zErr = re_compile(&pRe, zPattern, 0);
- if( zErr ){
- re_free(pRe);
- sqlite3_result_error(context, zErr, -1);
- return;
- }
- if( pRe==0 ){
- sqlite3_result_error_nomem(context);
- return;
- }
- setAux = 1;
- }
- zStr = (const unsigned char*)sqlite3_value_text(argv[1]);
- if( zStr!=0 ){
- sqlite3_result_int(context, re_match(pRe, zStr, -1));
- }
- if( setAux ){
- sqlite3_set_auxdata(context, 0, pRe, (void(*)(void*))re_free);
- }
-}
-
-/*
-** Invoke this routine to register the regexp() function with the
-** SQLite database connection.
-*/
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_regexp_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS,
- 0, re_sql_func, 0, 0);
- return rc;
-}
diff --git a/sqlite3secure/src/rekeyvacuum.c b/sqlite3secure/src/rekeyvacuum.c
deleted file mode 100644
index f02860a9..00000000
--- a/sqlite3secure/src/rekeyvacuum.c
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
-** 2018-02-24
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-************************************************************************
-**
-** This file contains an adjusted version of function sqlite3RunVacuum
-** to allow reducing or removing reserved page space.
-** For this purpose the number of reserved bytes per page for the target
-** database is passed as an extra parameter to the adjusted function.
-**
-** NOTE: When upgrading to a new version of SQLite3 it is strongly
-** recommended to check the original function sqlite3RunVacuum of the
-** new version for relevant changes, and to incorporate them in the
-** adjusted function below.
-**
-** Change 0: Rename function to sqlite3RunVacuumForRekey()
-** Change 1: Add parameter 'int nRes'
-** Change 2: Remove local variable 'int nRes'
-** Change 3: Remove initialization 'nRes = sqlite3BtreeGetOptimalReserve(pMain)'
-**
-** This code is generated by the script rekeyvacuum.sh from SQLite version 3.31.1 amalgamation.
-*/
-SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3RunVacuumForRekey(
- char **pzErrMsg, /* Write error message here */
- sqlite3 *db, /* Database connection */
- int iDb, /* Which attached DB to vacuum */
- sqlite3_value *pOut /* Write results here, if not NULL. VACUUM INTO */
-, int nRes){
- int rc = SQLITE_OK; /* Return code from service routines */
- Btree *pMain; /* The database being vacuumed */
- Btree *pTemp; /* The temporary database we vacuum into */
- u32 saved_mDbFlags; /* Saved value of db->mDbFlags */
- u64 saved_flags; /* Saved value of db->flags */
- int saved_nChange; /* Saved value of db->nChange */
- int saved_nTotalChange; /* Saved value of db->nTotalChange */
- u32 saved_openFlags; /* Saved value of db->openFlags */
- u8 saved_mTrace; /* Saved trace settings */
- Db *pDb = 0; /* Database to detach at end of vacuum */
- int isMemDb; /* True if vacuuming a :memory: database */
- int nDb; /* Number of attached databases */
- const char *zDbMain; /* Schema name of database to vacuum */
- const char *zOut; /* Name of output file */
-
- if( !db->autoCommit ){
- sqlite3SetString(pzErrMsg, db, "cannot VACUUM from within a transaction");
- return SQLITE_ERROR; /* IMP: R-12218-18073 */
- }
- if( db->nVdbeActive>1 ){
- sqlite3SetString(pzErrMsg, db,"cannot VACUUM - SQL statements in progress");
- return SQLITE_ERROR; /* IMP: R-15610-35227 */
- }
- saved_openFlags = db->openFlags;
- if( pOut ){
- if( sqlite3_value_type(pOut)!=SQLITE_TEXT ){
- sqlite3SetString(pzErrMsg, db, "non-text filename");
- return SQLITE_ERROR;
- }
- zOut = (const char*)sqlite3_value_text(pOut);
- db->openFlags &= ~SQLITE_OPEN_READONLY;
- db->openFlags |= SQLITE_OPEN_CREATE|SQLITE_OPEN_READWRITE;
- }else{
- zOut = "";
- }
-
- /* Save the current value of the database flags so that it can be
- ** restored before returning. Then set the writable-schema flag, and
- ** disable CHECK and foreign key constraints. */
- saved_flags = db->flags;
- saved_mDbFlags = db->mDbFlags;
- saved_nChange = db->nChange;
- saved_nTotalChange = db->nTotalChange;
- saved_mTrace = db->mTrace;
- db->flags |= SQLITE_WriteSchema | SQLITE_IgnoreChecks;
- db->mDbFlags |= DBFLAG_PreferBuiltin | DBFLAG_Vacuum;
- db->flags &= ~(u64)(SQLITE_ForeignKeys | SQLITE_ReverseOrder
- | SQLITE_Defensive | SQLITE_CountRows);
- db->mTrace = 0;
-
- zDbMain = db->aDb[iDb].zDbSName;
- pMain = db->aDb[iDb].pBt;
- isMemDb = sqlite3PagerIsMemdb(sqlite3BtreePager(pMain));
-
- /* Attach the temporary database as 'vacuum_db'. The synchronous pragma
- ** can be set to 'off' for this file, as it is not recovered if a crash
- ** occurs anyway. The integrity of the database is maintained by a
- ** (possibly synchronous) transaction opened on the main database before
- ** sqlite3BtreeCopyFile() is called.
- **
- ** An optimisation would be to use a non-journaled pager.
- ** (Later:) I tried setting "PRAGMA vacuum_db.journal_mode=OFF" but
- ** that actually made the VACUUM run slower. Very little journalling
- ** actually occurs when doing a vacuum since the vacuum_db is initially
- ** empty. Only the journal header is written. Apparently it takes more
- ** time to parse and run the PRAGMA to turn journalling off than it does
- ** to write the journal header file.
- */
- nDb = db->nDb;
- rc = execSqlF(db, pzErrMsg, "ATTACH %Q AS vacuum_db", zOut);
- db->openFlags = saved_openFlags;
- if( rc!=SQLITE_OK ) goto end_of_vacuum;
- assert( (db->nDb-1)==nDb );
- pDb = &db->aDb[nDb];
- assert( strcmp(pDb->zDbSName,"vacuum_db")==0 );
- pTemp = pDb->pBt;
- if( pOut ){
- sqlite3_file *id = sqlite3PagerFile(sqlite3BtreePager(pTemp));
- i64 sz = 0;
- if( id->pMethods!=0 && (sqlite3OsFileSize(id, &sz)!=SQLITE_OK || sz>0) ){
- rc = SQLITE_ERROR;
- sqlite3SetString(pzErrMsg, db, "output file already exists");
- goto end_of_vacuum;
- }
- db->mDbFlags |= DBFLAG_VacuumInto;
- }
-
- /* A VACUUM cannot change the pagesize of an encrypted database. */
-#ifdef SQLITE_HAS_CODEC
- if( db->nextPagesize ){
- extern void sqlite3CodecGetKey(sqlite3*, int, void**, int*);
- int nKey;
- char *zKey;
- sqlite3CodecGetKey(db, iDb, (void**)&zKey, &nKey);
- if( nKey ) db->nextPagesize = 0;
- }
-#endif
-
- sqlite3BtreeSetCacheSize(pTemp, db->aDb[iDb].pSchema->cache_size);
- sqlite3BtreeSetSpillSize(pTemp, sqlite3BtreeSetSpillSize(pMain,0));
- sqlite3BtreeSetPagerFlags(pTemp, PAGER_SYNCHRONOUS_OFF|PAGER_CACHESPILL);
-
- /* Begin a transaction and take an exclusive lock on the main database
- ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below,
- ** to ensure that we do not try to change the page-size on a WAL database.
- */
- rc = execSql(db, pzErrMsg, "BEGIN");
- if( rc!=SQLITE_OK ) goto end_of_vacuum;
- rc = sqlite3BtreeBeginTrans(pMain, pOut==0 ? 2 : 0, 0);
- if( rc!=SQLITE_OK ) goto end_of_vacuum;
-
- /* Do not attempt to change the page size for a WAL database */
- if( sqlite3PagerGetJournalMode(sqlite3BtreePager(pMain))
- ==PAGER_JOURNALMODE_WAL ){
- db->nextPagesize = 0;
- }
-
- if( sqlite3BtreeSetPageSize(pTemp, sqlite3BtreeGetPageSize(pMain), nRes, 0)
- || (!isMemDb && sqlite3BtreeSetPageSize(pTemp, db->nextPagesize, nRes, 0))
- || NEVER(db->mallocFailed)
- ){
- rc = SQLITE_NOMEM_BKPT;
- goto end_of_vacuum;
- }
-
-#ifndef SQLITE_OMIT_AUTOVACUUM
- sqlite3BtreeSetAutoVacuum(pTemp, db->nextAutovac>=0 ? db->nextAutovac :
- sqlite3BtreeGetAutoVacuum(pMain));
-#endif
-
- /* Query the schema of the main database. Create a mirror schema
- ** in the temporary database.
- */
- db->init.iDb = nDb; /* force new CREATE statements into vacuum_db */
- rc = execSqlF(db, pzErrMsg,
- "SELECT sql FROM \"%w\".sqlite_master"
- " WHERE type='table'AND name<>'sqlite_sequence'"
- " AND coalesce(rootpage,1)>0",
- zDbMain
- );
- if( rc!=SQLITE_OK ) goto end_of_vacuum;
- rc = execSqlF(db, pzErrMsg,
- "SELECT sql FROM \"%w\".sqlite_master"
- " WHERE type='index'",
- zDbMain
- );
- if( rc!=SQLITE_OK ) goto end_of_vacuum;
- db->init.iDb = 0;
-
- /* Loop through the tables in the main database. For each, do
- ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy
- ** the contents to the temporary database.
- */
- rc = execSqlF(db, pzErrMsg,
- "SELECT'INSERT INTO vacuum_db.'||quote(name)"
- "||' SELECT*FROM\"%w\".'||quote(name)"
- "FROM vacuum_db.sqlite_master "
- "WHERE type='table'AND coalesce(rootpage,1)>0",
- zDbMain
- );
- assert( (db->mDbFlags & DBFLAG_Vacuum)!=0 );
- db->mDbFlags &= ~DBFLAG_Vacuum;
- if( rc!=SQLITE_OK ) goto end_of_vacuum;
-
- /* Copy the triggers, views, and virtual tables from the main database
- ** over to the temporary database. None of these objects has any
- ** associated storage, so all we have to do is copy their entries
- ** from the SQLITE_MASTER table.
- */
- rc = execSqlF(db, pzErrMsg,
- "INSERT INTO vacuum_db.sqlite_master"
- " SELECT*FROM \"%w\".sqlite_master"
- " WHERE type IN('view','trigger')"
- " OR(type='table'AND rootpage=0)",
- zDbMain
- );
- if( rc ) goto end_of_vacuum;
-
- /* At this point, there is a write transaction open on both the
- ** vacuum database and the main database. Assuming no error occurs,
- ** both transactions are closed by this block - the main database
- ** transaction by sqlite3BtreeCopyFile() and the other by an explicit
- ** call to sqlite3BtreeCommit().
- */
- {
- u32 meta;
- int i;
-
- /* This array determines which meta meta values are preserved in the
- ** vacuum. Even entries are the meta value number and odd entries
- ** are an increment to apply to the meta value after the vacuum.
- ** The increment is used to increase the schema cookie so that other
- ** connections to the same database will know to reread the schema.
- */
- static const unsigned char aCopy[] = {
- BTREE_SCHEMA_VERSION, 1, /* Add one to the old schema cookie */
- BTREE_DEFAULT_CACHE_SIZE, 0, /* Preserve the default page cache size */
- BTREE_TEXT_ENCODING, 0, /* Preserve the text encoding */
- BTREE_USER_VERSION, 0, /* Preserve the user version */
- BTREE_APPLICATION_ID, 0, /* Preserve the application id */
- };
-
- assert( 1==sqlite3BtreeIsInTrans(pTemp) );
- assert( pOut!=0 || 1==sqlite3BtreeIsInTrans(pMain) );
-
- /* Copy Btree meta values */
- for(i=0; iflags */
- db->init.iDb = 0;
- db->mDbFlags = saved_mDbFlags;
- db->flags = saved_flags;
- db->nChange = saved_nChange;
- db->nTotalChange = saved_nTotalChange;
- db->mTrace = saved_mTrace;
- sqlite3BtreeSetPageSize(pMain, -1, -1, 1);
-
- /* Currently there is an SQL level transaction open on the vacuum
- ** database. No locks are held on any other files (since the main file
- ** was committed at the btree level). So it safe to end the transaction
- ** by manually setting the autoCommit flag to true and detaching the
- ** vacuum database. The vacuum_db journal file is deleted when the pager
- ** is closed by the DETACH.
- */
- db->autoCommit = 1;
-
- if( pDb ){
- sqlite3BtreeClose(pDb->pBt);
- pDb->pBt = 0;
- pDb->pSchema = 0;
- }
-
- /* This both clears the schemas and reduces the size of the db->aDb[]
- ** array. */
- sqlite3ResetAllSchemasOfConnection(db);
-
- return rc;
-}
diff --git a/sqlite3secure/src/rijndael.c b/sqlite3secure/src/rijndael.c
deleted file mode 100644
index 1ff86683..00000000
--- a/sqlite3secure/src/rijndael.c
+++ /dev/null
@@ -1,1676 +0,0 @@
-/*
-** Name: rijndael.c
-** Purpose: Implementation of the Rijndael cipher
-** Author: Ulrich Telle
-** Created: 2006-12-06
-** Copyright: (c) 2006-2018 Ulrich Telle
-** License: LGPL-3.0+ WITH WxWindows-exception-3.1
-**
-** Adjustments were made to make this code work with the wxSQLite3's
-** SQLite encryption extension.
-** The original code is public domain (see comments below).
-*/
-
-/*
-/// \file rijndael.cpp Implementation of the Rijndael cipher
-//
-// File : rijndael.cpp
-// Creation date : Sun Nov 5 2000 03:22:10 CEST
-// Author : Szymon Stefanek (stefanek@tin.it)
-//
-// Another implementation of the Rijndael cipher.
-// This is intended to be an easily usable library file.
-// This code is public domain.
-// Based on the Vincent Rijmen and K.U.Leuven implementation 2.4.
-//
-// Original Copyright notice:
-//
-// rijndael-alg-fst.c v2.4 April '2000
-// rijndael-alg-fst.h
-// rijndael-api-fst.c
-// rijndael-api-fst.h
-//
-// Optimised ANSI C code
-//
-// authors: v1.0: Antoon Bosselaers
-// v2.0: Vincent Rijmen, K.U.Leuven
-// v2.3: Paulo Barreto
-// v2.4: Vincent Rijmen, K.U.Leuven
-//
-// This code is placed in the public domain.
-//
-// This implementation works on 128 , 192 , 256 bit keys
-// and on 128 bit blocks
-*/
-
-#define _RIJNDAEL_CPP_
-
-#include "rijndael.h"
-
-#include
-#include
-#include
-
-
-static UINT8 S[256]=
-{
- 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118,
- 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192,
- 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21,
- 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117,
- 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132,
- 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207,
- 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168,
- 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210,
- 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115,
- 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219,
- 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121,
- 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8,
- 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138,
- 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158,
- 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223,
- 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22
-};
-
-
-static UINT8 T1[256][4]=
-{
- {0xc6,0x63,0x63,0xa5}, {0xf8,0x7c,0x7c,0x84}, {0xee,0x77,0x77,0x99}, {0xf6,0x7b,0x7b,0x8d},
- {0xff,0xf2,0xf2,0x0d}, {0xd6,0x6b,0x6b,0xbd}, {0xde,0x6f,0x6f,0xb1}, {0x91,0xc5,0xc5,0x54},
- {0x60,0x30,0x30,0x50}, {0x02,0x01,0x01,0x03}, {0xce,0x67,0x67,0xa9}, {0x56,0x2b,0x2b,0x7d},
- {0xe7,0xfe,0xfe,0x19}, {0xb5,0xd7,0xd7,0x62}, {0x4d,0xab,0xab,0xe6}, {0xec,0x76,0x76,0x9a},
- {0x8f,0xca,0xca,0x45}, {0x1f,0x82,0x82,0x9d}, {0x89,0xc9,0xc9,0x40}, {0xfa,0x7d,0x7d,0x87},
- {0xef,0xfa,0xfa,0x15}, {0xb2,0x59,0x59,0xeb}, {0x8e,0x47,0x47,0xc9}, {0xfb,0xf0,0xf0,0x0b},
- {0x41,0xad,0xad,0xec}, {0xb3,0xd4,0xd4,0x67}, {0x5f,0xa2,0xa2,0xfd}, {0x45,0xaf,0xaf,0xea},
- {0x23,0x9c,0x9c,0xbf}, {0x53,0xa4,0xa4,0xf7}, {0xe4,0x72,0x72,0x96}, {0x9b,0xc0,0xc0,0x5b},
- {0x75,0xb7,0xb7,0xc2}, {0xe1,0xfd,0xfd,0x1c}, {0x3d,0x93,0x93,0xae}, {0x4c,0x26,0x26,0x6a},
- {0x6c,0x36,0x36,0x5a}, {0x7e,0x3f,0x3f,0x41}, {0xf5,0xf7,0xf7,0x02}, {0x83,0xcc,0xcc,0x4f},
- {0x68,0x34,0x34,0x5c}, {0x51,0xa5,0xa5,0xf4}, {0xd1,0xe5,0xe5,0x34}, {0xf9,0xf1,0xf1,0x08},
- {0xe2,0x71,0x71,0x93}, {0xab,0xd8,0xd8,0x73}, {0x62,0x31,0x31,0x53}, {0x2a,0x15,0x15,0x3f},
- {0x08,0x04,0x04,0x0c}, {0x95,0xc7,0xc7,0x52}, {0x46,0x23,0x23,0x65}, {0x9d,0xc3,0xc3,0x5e},
- {0x30,0x18,0x18,0x28}, {0x37,0x96,0x96,0xa1}, {0x0a,0x05,0x05,0x0f}, {0x2f,0x9a,0x9a,0xb5},
- {0x0e,0x07,0x07,0x09}, {0x24,0x12,0x12,0x36}, {0x1b,0x80,0x80,0x9b}, {0xdf,0xe2,0xe2,0x3d},
- {0xcd,0xeb,0xeb,0x26}, {0x4e,0x27,0x27,0x69}, {0x7f,0xb2,0xb2,0xcd}, {0xea,0x75,0x75,0x9f},
- {0x12,0x09,0x09,0x1b}, {0x1d,0x83,0x83,0x9e}, {0x58,0x2c,0x2c,0x74}, {0x34,0x1a,0x1a,0x2e},
- {0x36,0x1b,0x1b,0x2d}, {0xdc,0x6e,0x6e,0xb2}, {0xb4,0x5a,0x5a,0xee}, {0x5b,0xa0,0xa0,0xfb},
- {0xa4,0x52,0x52,0xf6}, {0x76,0x3b,0x3b,0x4d}, {0xb7,0xd6,0xd6,0x61}, {0x7d,0xb3,0xb3,0xce},
- {0x52,0x29,0x29,0x7b}, {0xdd,0xe3,0xe3,0x3e}, {0x5e,0x2f,0x2f,0x71}, {0x13,0x84,0x84,0x97},
- {0xa6,0x53,0x53,0xf5}, {0xb9,0xd1,0xd1,0x68}, {0x00,0x00,0x00,0x00}, {0xc1,0xed,0xed,0x2c},
- {0x40,0x20,0x20,0x60}, {0xe3,0xfc,0xfc,0x1f}, {0x79,0xb1,0xb1,0xc8}, {0xb6,0x5b,0x5b,0xed},
- {0xd4,0x6a,0x6a,0xbe}, {0x8d,0xcb,0xcb,0x46}, {0x67,0xbe,0xbe,0xd9}, {0x72,0x39,0x39,0x4b},
- {0x94,0x4a,0x4a,0xde}, {0x98,0x4c,0x4c,0xd4}, {0xb0,0x58,0x58,0xe8}, {0x85,0xcf,0xcf,0x4a},
- {0xbb,0xd0,0xd0,0x6b}, {0xc5,0xef,0xef,0x2a}, {0x4f,0xaa,0xaa,0xe5}, {0xed,0xfb,0xfb,0x16},
- {0x86,0x43,0x43,0xc5}, {0x9a,0x4d,0x4d,0xd7}, {0x66,0x33,0x33,0x55}, {0x11,0x85,0x85,0x94},
- {0x8a,0x45,0x45,0xcf}, {0xe9,0xf9,0xf9,0x10}, {0x04,0x02,0x02,0x06}, {0xfe,0x7f,0x7f,0x81},
- {0xa0,0x50,0x50,0xf0}, {0x78,0x3c,0x3c,0x44}, {0x25,0x9f,0x9f,0xba}, {0x4b,0xa8,0xa8,0xe3},
- {0xa2,0x51,0x51,0xf3}, {0x5d,0xa3,0xa3,0xfe}, {0x80,0x40,0x40,0xc0}, {0x05,0x8f,0x8f,0x8a},
- {0x3f,0x92,0x92,0xad}, {0x21,0x9d,0x9d,0xbc}, {0x70,0x38,0x38,0x48}, {0xf1,0xf5,0xf5,0x04},
- {0x63,0xbc,0xbc,0xdf}, {0x77,0xb6,0xb6,0xc1}, {0xaf,0xda,0xda,0x75}, {0x42,0x21,0x21,0x63},
- {0x20,0x10,0x10,0x30}, {0xe5,0xff,0xff,0x1a}, {0xfd,0xf3,0xf3,0x0e}, {0xbf,0xd2,0xd2,0x6d},
- {0x81,0xcd,0xcd,0x4c}, {0x18,0x0c,0x0c,0x14}, {0x26,0x13,0x13,0x35}, {0xc3,0xec,0xec,0x2f},
- {0xbe,0x5f,0x5f,0xe1}, {0x35,0x97,0x97,0xa2}, {0x88,0x44,0x44,0xcc}, {0x2e,0x17,0x17,0x39},
- {0x93,0xc4,0xc4,0x57}, {0x55,0xa7,0xa7,0xf2}, {0xfc,0x7e,0x7e,0x82}, {0x7a,0x3d,0x3d,0x47},
- {0xc8,0x64,0x64,0xac}, {0xba,0x5d,0x5d,0xe7}, {0x32,0x19,0x19,0x2b}, {0xe6,0x73,0x73,0x95},
- {0xc0,0x60,0x60,0xa0}, {0x19,0x81,0x81,0x98}, {0x9e,0x4f,0x4f,0xd1}, {0xa3,0xdc,0xdc,0x7f},
- {0x44,0x22,0x22,0x66}, {0x54,0x2a,0x2a,0x7e}, {0x3b,0x90,0x90,0xab}, {0x0b,0x88,0x88,0x83},
- {0x8c,0x46,0x46,0xca}, {0xc7,0xee,0xee,0x29}, {0x6b,0xb8,0xb8,0xd3}, {0x28,0x14,0x14,0x3c},
- {0xa7,0xde,0xde,0x79}, {0xbc,0x5e,0x5e,0xe2}, {0x16,0x0b,0x0b,0x1d}, {0xad,0xdb,0xdb,0x76},
- {0xdb,0xe0,0xe0,0x3b}, {0x64,0x32,0x32,0x56}, {0x74,0x3a,0x3a,0x4e}, {0x14,0x0a,0x0a,0x1e},
- {0x92,0x49,0x49,0xdb}, {0x0c,0x06,0x06,0x0a}, {0x48,0x24,0x24,0x6c}, {0xb8,0x5c,0x5c,0xe4},
- {0x9f,0xc2,0xc2,0x5d}, {0xbd,0xd3,0xd3,0x6e}, {0x43,0xac,0xac,0xef}, {0xc4,0x62,0x62,0xa6},
- {0x39,0x91,0x91,0xa8}, {0x31,0x95,0x95,0xa4}, {0xd3,0xe4,0xe4,0x37}, {0xf2,0x79,0x79,0x8b},
- {0xd5,0xe7,0xe7,0x32}, {0x8b,0xc8,0xc8,0x43}, {0x6e,0x37,0x37,0x59}, {0xda,0x6d,0x6d,0xb7},
- {0x01,0x8d,0x8d,0x8c}, {0xb1,0xd5,0xd5,0x64}, {0x9c,0x4e,0x4e,0xd2}, {0x49,0xa9,0xa9,0xe0},
- {0xd8,0x6c,0x6c,0xb4}, {0xac,0x56,0x56,0xfa}, {0xf3,0xf4,0xf4,0x07}, {0xcf,0xea,0xea,0x25},
- {0xca,0x65,0x65,0xaf}, {0xf4,0x7a,0x7a,0x8e}, {0x47,0xae,0xae,0xe9}, {0x10,0x08,0x08,0x18},
- {0x6f,0xba,0xba,0xd5}, {0xf0,0x78,0x78,0x88}, {0x4a,0x25,0x25,0x6f}, {0x5c,0x2e,0x2e,0x72},
- {0x38,0x1c,0x1c,0x24}, {0x57,0xa6,0xa6,0xf1}, {0x73,0xb4,0xb4,0xc7}, {0x97,0xc6,0xc6,0x51},
- {0xcb,0xe8,0xe8,0x23}, {0xa1,0xdd,0xdd,0x7c}, {0xe8,0x74,0x74,0x9c}, {0x3e,0x1f,0x1f,0x21},
- {0x96,0x4b,0x4b,0xdd}, {0x61,0xbd,0xbd,0xdc}, {0x0d,0x8b,0x8b,0x86}, {0x0f,0x8a,0x8a,0x85},
- {0xe0,0x70,0x70,0x90}, {0x7c,0x3e,0x3e,0x42}, {0x71,0xb5,0xb5,0xc4}, {0xcc,0x66,0x66,0xaa},
- {0x90,0x48,0x48,0xd8}, {0x06,0x03,0x03,0x05}, {0xf7,0xf6,0xf6,0x01}, {0x1c,0x0e,0x0e,0x12},
- {0xc2,0x61,0x61,0xa3}, {0x6a,0x35,0x35,0x5f}, {0xae,0x57,0x57,0xf9}, {0x69,0xb9,0xb9,0xd0},
- {0x17,0x86,0x86,0x91}, {0x99,0xc1,0xc1,0x58}, {0x3a,0x1d,0x1d,0x27}, {0x27,0x9e,0x9e,0xb9},
- {0xd9,0xe1,0xe1,0x38}, {0xeb,0xf8,0xf8,0x13}, {0x2b,0x98,0x98,0xb3}, {0x22,0x11,0x11,0x33},
- {0xd2,0x69,0x69,0xbb}, {0xa9,0xd9,0xd9,0x70}, {0x07,0x8e,0x8e,0x89}, {0x33,0x94,0x94,0xa7},
- {0x2d,0x9b,0x9b,0xb6}, {0x3c,0x1e,0x1e,0x22}, {0x15,0x87,0x87,0x92}, {0xc9,0xe9,0xe9,0x20},
- {0x87,0xce,0xce,0x49}, {0xaa,0x55,0x55,0xff}, {0x50,0x28,0x28,0x78}, {0xa5,0xdf,0xdf,0x7a},
- {0x03,0x8c,0x8c,0x8f}, {0x59,0xa1,0xa1,0xf8}, {0x09,0x89,0x89,0x80}, {0x1a,0x0d,0x0d,0x17},
- {0x65,0xbf,0xbf,0xda}, {0xd7,0xe6,0xe6,0x31}, {0x84,0x42,0x42,0xc6}, {0xd0,0x68,0x68,0xb8},
- {0x82,0x41,0x41,0xc3}, {0x29,0x99,0x99,0xb0}, {0x5a,0x2d,0x2d,0x77}, {0x1e,0x0f,0x0f,0x11},
- {0x7b,0xb0,0xb0,0xcb}, {0xa8,0x54,0x54,0xfc}, {0x6d,0xbb,0xbb,0xd6}, {0x2c,0x16,0x16,0x3a}
-};
-
-static UINT8 T2[256][4]=
-{
- {0xa5,0xc6,0x63,0x63}, {0x84,0xf8,0x7c,0x7c}, {0x99,0xee,0x77,0x77}, {0x8d,0xf6,0x7b,0x7b},
- {0x0d,0xff,0xf2,0xf2}, {0xbd,0xd6,0x6b,0x6b}, {0xb1,0xde,0x6f,0x6f}, {0x54,0x91,0xc5,0xc5},
- {0x50,0x60,0x30,0x30}, {0x03,0x02,0x01,0x01}, {0xa9,0xce,0x67,0x67}, {0x7d,0x56,0x2b,0x2b},
- {0x19,0xe7,0xfe,0xfe}, {0x62,0xb5,0xd7,0xd7}, {0xe6,0x4d,0xab,0xab}, {0x9a,0xec,0x76,0x76},
- {0x45,0x8f,0xca,0xca}, {0x9d,0x1f,0x82,0x82}, {0x40,0x89,0xc9,0xc9}, {0x87,0xfa,0x7d,0x7d},
- {0x15,0xef,0xfa,0xfa}, {0xeb,0xb2,0x59,0x59}, {0xc9,0x8e,0x47,0x47}, {0x0b,0xfb,0xf0,0xf0},
- {0xec,0x41,0xad,0xad}, {0x67,0xb3,0xd4,0xd4}, {0xfd,0x5f,0xa2,0xa2}, {0xea,0x45,0xaf,0xaf},
- {0xbf,0x23,0x9c,0x9c}, {0xf7,0x53,0xa4,0xa4}, {0x96,0xe4,0x72,0x72}, {0x5b,0x9b,0xc0,0xc0},
- {0xc2,0x75,0xb7,0xb7}, {0x1c,0xe1,0xfd,0xfd}, {0xae,0x3d,0x93,0x93}, {0x6a,0x4c,0x26,0x26},
- {0x5a,0x6c,0x36,0x36}, {0x41,0x7e,0x3f,0x3f}, {0x02,0xf5,0xf7,0xf7}, {0x4f,0x83,0xcc,0xcc},
- {0x5c,0x68,0x34,0x34}, {0xf4,0x51,0xa5,0xa5}, {0x34,0xd1,0xe5,0xe5}, {0x08,0xf9,0xf1,0xf1},
- {0x93,0xe2,0x71,0x71}, {0x73,0xab,0xd8,0xd8}, {0x53,0x62,0x31,0x31}, {0x3f,0x2a,0x15,0x15},
- {0x0c,0x08,0x04,0x04}, {0x52,0x95,0xc7,0xc7}, {0x65,0x46,0x23,0x23}, {0x5e,0x9d,0xc3,0xc3},
- {0x28,0x30,0x18,0x18}, {0xa1,0x37,0x96,0x96}, {0x0f,0x0a,0x05,0x05}, {0xb5,0x2f,0x9a,0x9a},
- {0x09,0x0e,0x07,0x07}, {0x36,0x24,0x12,0x12}, {0x9b,0x1b,0x80,0x80}, {0x3d,0xdf,0xe2,0xe2},
- {0x26,0xcd,0xeb,0xeb}, {0x69,0x4e,0x27,0x27}, {0xcd,0x7f,0xb2,0xb2}, {0x9f,0xea,0x75,0x75},
- {0x1b,0x12,0x09,0x09}, {0x9e,0x1d,0x83,0x83}, {0x74,0x58,0x2c,0x2c}, {0x2e,0x34,0x1a,0x1a},
- {0x2d,0x36,0x1b,0x1b}, {0xb2,0xdc,0x6e,0x6e}, {0xee,0xb4,0x5a,0x5a}, {0xfb,0x5b,0xa0,0xa0},
- {0xf6,0xa4,0x52,0x52}, {0x4d,0x76,0x3b,0x3b}, {0x61,0xb7,0xd6,0xd6}, {0xce,0x7d,0xb3,0xb3},
- {0x7b,0x52,0x29,0x29}, {0x3e,0xdd,0xe3,0xe3}, {0x71,0x5e,0x2f,0x2f}, {0x97,0x13,0x84,0x84},
- {0xf5,0xa6,0x53,0x53}, {0x68,0xb9,0xd1,0xd1}, {0x00,0x00,0x00,0x00}, {0x2c,0xc1,0xed,0xed},
- {0x60,0x40,0x20,0x20}, {0x1f,0xe3,0xfc,0xfc}, {0xc8,0x79,0xb1,0xb1}, {0xed,0xb6,0x5b,0x5b},
- {0xbe,0xd4,0x6a,0x6a}, {0x46,0x8d,0xcb,0xcb}, {0xd9,0x67,0xbe,0xbe}, {0x4b,0x72,0x39,0x39},
- {0xde,0x94,0x4a,0x4a}, {0xd4,0x98,0x4c,0x4c}, {0xe8,0xb0,0x58,0x58}, {0x4a,0x85,0xcf,0xcf},
- {0x6b,0xbb,0xd0,0xd0}, {0x2a,0xc5,0xef,0xef}, {0xe5,0x4f,0xaa,0xaa}, {0x16,0xed,0xfb,0xfb},
- {0xc5,0x86,0x43,0x43}, {0xd7,0x9a,0x4d,0x4d}, {0x55,0x66,0x33,0x33}, {0x94,0x11,0x85,0x85},
- {0xcf,0x8a,0x45,0x45}, {0x10,0xe9,0xf9,0xf9}, {0x06,0x04,0x02,0x02}, {0x81,0xfe,0x7f,0x7f},
- {0xf0,0xa0,0x50,0x50}, {0x44,0x78,0x3c,0x3c}, {0xba,0x25,0x9f,0x9f}, {0xe3,0x4b,0xa8,0xa8},
- {0xf3,0xa2,0x51,0x51}, {0xfe,0x5d,0xa3,0xa3}, {0xc0,0x80,0x40,0x40}, {0x8a,0x05,0x8f,0x8f},
- {0xad,0x3f,0x92,0x92}, {0xbc,0x21,0x9d,0x9d}, {0x48,0x70,0x38,0x38}, {0x04,0xf1,0xf5,0xf5},
- {0xdf,0x63,0xbc,0xbc}, {0xc1,0x77,0xb6,0xb6}, {0x75,0xaf,0xda,0xda}, {0x63,0x42,0x21,0x21},
- {0x30,0x20,0x10,0x10}, {0x1a,0xe5,0xff,0xff}, {0x0e,0xfd,0xf3,0xf3}, {0x6d,0xbf,0xd2,0xd2},
- {0x4c,0x81,0xcd,0xcd}, {0x14,0x18,0x0c,0x0c}, {0x35,0x26,0x13,0x13}, {0x2f,0xc3,0xec,0xec},
- {0xe1,0xbe,0x5f,0x5f}, {0xa2,0x35,0x97,0x97}, {0xcc,0x88,0x44,0x44}, {0x39,0x2e,0x17,0x17},
- {0x57,0x93,0xc4,0xc4}, {0xf2,0x55,0xa7,0xa7}, {0x82,0xfc,0x7e,0x7e}, {0x47,0x7a,0x3d,0x3d},
- {0xac,0xc8,0x64,0x64}, {0xe7,0xba,0x5d,0x5d}, {0x2b,0x32,0x19,0x19}, {0x95,0xe6,0x73,0x73},
- {0xa0,0xc0,0x60,0x60}, {0x98,0x19,0x81,0x81}, {0xd1,0x9e,0x4f,0x4f}, {0x7f,0xa3,0xdc,0xdc},
- {0x66,0x44,0x22,0x22}, {0x7e,0x54,0x2a,0x2a}, {0xab,0x3b,0x90,0x90}, {0x83,0x0b,0x88,0x88},
- {0xca,0x8c,0x46,0x46}, {0x29,0xc7,0xee,0xee}, {0xd3,0x6b,0xb8,0xb8}, {0x3c,0x28,0x14,0x14},
- {0x79,0xa7,0xde,0xde}, {0xe2,0xbc,0x5e,0x5e}, {0x1d,0x16,0x0b,0x0b}, {0x76,0xad,0xdb,0xdb},
- {0x3b,0xdb,0xe0,0xe0}, {0x56,0x64,0x32,0x32}, {0x4e,0x74,0x3a,0x3a}, {0x1e,0x14,0x0a,0x0a},
- {0xdb,0x92,0x49,0x49}, {0x0a,0x0c,0x06,0x06}, {0x6c,0x48,0x24,0x24}, {0xe4,0xb8,0x5c,0x5c},
- {0x5d,0x9f,0xc2,0xc2}, {0x6e,0xbd,0xd3,0xd3}, {0xef,0x43,0xac,0xac}, {0xa6,0xc4,0x62,0x62},
- {0xa8,0x39,0x91,0x91}, {0xa4,0x31,0x95,0x95}, {0x37,0xd3,0xe4,0xe4}, {0x8b,0xf2,0x79,0x79},
- {0x32,0xd5,0xe7,0xe7}, {0x43,0x8b,0xc8,0xc8}, {0x59,0x6e,0x37,0x37}, {0xb7,0xda,0x6d,0x6d},
- {0x8c,0x01,0x8d,0x8d}, {0x64,0xb1,0xd5,0xd5}, {0xd2,0x9c,0x4e,0x4e}, {0xe0,0x49,0xa9,0xa9},
- {0xb4,0xd8,0x6c,0x6c}, {0xfa,0xac,0x56,0x56}, {0x07,0xf3,0xf4,0xf4}, {0x25,0xcf,0xea,0xea},
- {0xaf,0xca,0x65,0x65}, {0x8e,0xf4,0x7a,0x7a}, {0xe9,0x47,0xae,0xae}, {0x18,0x10,0x08,0x08},
- {0xd5,0x6f,0xba,0xba}, {0x88,0xf0,0x78,0x78}, {0x6f,0x4a,0x25,0x25}, {0x72,0x5c,0x2e,0x2e},
- {0x24,0x38,0x1c,0x1c}, {0xf1,0x57,0xa6,0xa6}, {0xc7,0x73,0xb4,0xb4}, {0x51,0x97,0xc6,0xc6},
- {0x23,0xcb,0xe8,0xe8}, {0x7c,0xa1,0xdd,0xdd}, {0x9c,0xe8,0x74,0x74}, {0x21,0x3e,0x1f,0x1f},
- {0xdd,0x96,0x4b,0x4b}, {0xdc,0x61,0xbd,0xbd}, {0x86,0x0d,0x8b,0x8b}, {0x85,0x0f,0x8a,0x8a},
- {0x90,0xe0,0x70,0x70}, {0x42,0x7c,0x3e,0x3e}, {0xc4,0x71,0xb5,0xb5}, {0xaa,0xcc,0x66,0x66},
- {0xd8,0x90,0x48,0x48}, {0x05,0x06,0x03,0x03}, {0x01,0xf7,0xf6,0xf6}, {0x12,0x1c,0x0e,0x0e},
- {0xa3,0xc2,0x61,0x61}, {0x5f,0x6a,0x35,0x35}, {0xf9,0xae,0x57,0x57}, {0xd0,0x69,0xb9,0xb9},
- {0x91,0x17,0x86,0x86}, {0x58,0x99,0xc1,0xc1}, {0x27,0x3a,0x1d,0x1d}, {0xb9,0x27,0x9e,0x9e},
- {0x38,0xd9,0xe1,0xe1}, {0x13,0xeb,0xf8,0xf8}, {0xb3,0x2b,0x98,0x98}, {0x33,0x22,0x11,0x11},
- {0xbb,0xd2,0x69,0x69}, {0x70,0xa9,0xd9,0xd9}, {0x89,0x07,0x8e,0x8e}, {0xa7,0x33,0x94,0x94},
- {0xb6,0x2d,0x9b,0x9b}, {0x22,0x3c,0x1e,0x1e}, {0x92,0x15,0x87,0x87}, {0x20,0xc9,0xe9,0xe9},
- {0x49,0x87,0xce,0xce}, {0xff,0xaa,0x55,0x55}, {0x78,0x50,0x28,0x28}, {0x7a,0xa5,0xdf,0xdf},
- {0x8f,0x03,0x8c,0x8c}, {0xf8,0x59,0xa1,0xa1}, {0x80,0x09,0x89,0x89}, {0x17,0x1a,0x0d,0x0d},
- {0xda,0x65,0xbf,0xbf}, {0x31,0xd7,0xe6,0xe6}, {0xc6,0x84,0x42,0x42}, {0xb8,0xd0,0x68,0x68},
- {0xc3,0x82,0x41,0x41}, {0xb0,0x29,0x99,0x99}, {0x77,0x5a,0x2d,0x2d}, {0x11,0x1e,0x0f,0x0f},
- {0xcb,0x7b,0xb0,0xb0}, {0xfc,0xa8,0x54,0x54}, {0xd6,0x6d,0xbb,0xbb}, {0x3a,0x2c,0x16,0x16}
-};
-
-static UINT8 T3[256][4]=
-{
- {0x63,0xa5,0xc6,0x63}, {0x7c,0x84,0xf8,0x7c}, {0x77,0x99,0xee,0x77}, {0x7b,0x8d,0xf6,0x7b},
- {0xf2,0x0d,0xff,0xf2}, {0x6b,0xbd,0xd6,0x6b}, {0x6f,0xb1,0xde,0x6f}, {0xc5,0x54,0x91,0xc5},
- {0x30,0x50,0x60,0x30}, {0x01,0x03,0x02,0x01}, {0x67,0xa9,0xce,0x67}, {0x2b,0x7d,0x56,0x2b},
- {0xfe,0x19,0xe7,0xfe}, {0xd7,0x62,0xb5,0xd7}, {0xab,0xe6,0x4d,0xab}, {0x76,0x9a,0xec,0x76},
- {0xca,0x45,0x8f,0xca}, {0x82,0x9d,0x1f,0x82}, {0xc9,0x40,0x89,0xc9}, {0x7d,0x87,0xfa,0x7d},
- {0xfa,0x15,0xef,0xfa}, {0x59,0xeb,0xb2,0x59}, {0x47,0xc9,0x8e,0x47}, {0xf0,0x0b,0xfb,0xf0},
- {0xad,0xec,0x41,0xad}, {0xd4,0x67,0xb3,0xd4}, {0xa2,0xfd,0x5f,0xa2}, {0xaf,0xea,0x45,0xaf},
- {0x9c,0xbf,0x23,0x9c}, {0xa4,0xf7,0x53,0xa4}, {0x72,0x96,0xe4,0x72}, {0xc0,0x5b,0x9b,0xc0},
- {0xb7,0xc2,0x75,0xb7}, {0xfd,0x1c,0xe1,0xfd}, {0x93,0xae,0x3d,0x93}, {0x26,0x6a,0x4c,0x26},
- {0x36,0x5a,0x6c,0x36}, {0x3f,0x41,0x7e,0x3f}, {0xf7,0x02,0xf5,0xf7}, {0xcc,0x4f,0x83,0xcc},
- {0x34,0x5c,0x68,0x34}, {0xa5,0xf4,0x51,0xa5}, {0xe5,0x34,0xd1,0xe5}, {0xf1,0x08,0xf9,0xf1},
- {0x71,0x93,0xe2,0x71}, {0xd8,0x73,0xab,0xd8}, {0x31,0x53,0x62,0x31}, {0x15,0x3f,0x2a,0x15},
- {0x04,0x0c,0x08,0x04}, {0xc7,0x52,0x95,0xc7}, {0x23,0x65,0x46,0x23}, {0xc3,0x5e,0x9d,0xc3},
- {0x18,0x28,0x30,0x18}, {0x96,0xa1,0x37,0x96}, {0x05,0x0f,0x0a,0x05}, {0x9a,0xb5,0x2f,0x9a},
- {0x07,0x09,0x0e,0x07}, {0x12,0x36,0x24,0x12}, {0x80,0x9b,0x1b,0x80}, {0xe2,0x3d,0xdf,0xe2},
- {0xeb,0x26,0xcd,0xeb}, {0x27,0x69,0x4e,0x27}, {0xb2,0xcd,0x7f,0xb2}, {0x75,0x9f,0xea,0x75},
- {0x09,0x1b,0x12,0x09}, {0x83,0x9e,0x1d,0x83}, {0x2c,0x74,0x58,0x2c}, {0x1a,0x2e,0x34,0x1a},
- {0x1b,0x2d,0x36,0x1b}, {0x6e,0xb2,0xdc,0x6e}, {0x5a,0xee,0xb4,0x5a}, {0xa0,0xfb,0x5b,0xa0},
- {0x52,0xf6,0xa4,0x52}, {0x3b,0x4d,0x76,0x3b}, {0xd6,0x61,0xb7,0xd6}, {0xb3,0xce,0x7d,0xb3},
- {0x29,0x7b,0x52,0x29}, {0xe3,0x3e,0xdd,0xe3}, {0x2f,0x71,0x5e,0x2f}, {0x84,0x97,0x13,0x84},
- {0x53,0xf5,0xa6,0x53}, {0xd1,0x68,0xb9,0xd1}, {0x00,0x00,0x00,0x00}, {0xed,0x2c,0xc1,0xed},
- {0x20,0x60,0x40,0x20}, {0xfc,0x1f,0xe3,0xfc}, {0xb1,0xc8,0x79,0xb1}, {0x5b,0xed,0xb6,0x5b},
- {0x6a,0xbe,0xd4,0x6a}, {0xcb,0x46,0x8d,0xcb}, {0xbe,0xd9,0x67,0xbe}, {0x39,0x4b,0x72,0x39},
- {0x4a,0xde,0x94,0x4a}, {0x4c,0xd4,0x98,0x4c}, {0x58,0xe8,0xb0,0x58}, {0xcf,0x4a,0x85,0xcf},
- {0xd0,0x6b,0xbb,0xd0}, {0xef,0x2a,0xc5,0xef}, {0xaa,0xe5,0x4f,0xaa}, {0xfb,0x16,0xed,0xfb},
- {0x43,0xc5,0x86,0x43}, {0x4d,0xd7,0x9a,0x4d}, {0x33,0x55,0x66,0x33}, {0x85,0x94,0x11,0x85},
- {0x45,0xcf,0x8a,0x45}, {0xf9,0x10,0xe9,0xf9}, {0x02,0x06,0x04,0x02}, {0x7f,0x81,0xfe,0x7f},
- {0x50,0xf0,0xa0,0x50}, {0x3c,0x44,0x78,0x3c}, {0x9f,0xba,0x25,0x9f}, {0xa8,0xe3,0x4b,0xa8},
- {0x51,0xf3,0xa2,0x51}, {0xa3,0xfe,0x5d,0xa3}, {0x40,0xc0,0x80,0x40}, {0x8f,0x8a,0x05,0x8f},
- {0x92,0xad,0x3f,0x92}, {0x9d,0xbc,0x21,0x9d}, {0x38,0x48,0x70,0x38}, {0xf5,0x04,0xf1,0xf5},
- {0xbc,0xdf,0x63,0xbc}, {0xb6,0xc1,0x77,0xb6}, {0xda,0x75,0xaf,0xda}, {0x21,0x63,0x42,0x21},
- {0x10,0x30,0x20,0x10}, {0xff,0x1a,0xe5,0xff}, {0xf3,0x0e,0xfd,0xf3}, {0xd2,0x6d,0xbf,0xd2},
- {0xcd,0x4c,0x81,0xcd}, {0x0c,0x14,0x18,0x0c}, {0x13,0x35,0x26,0x13}, {0xec,0x2f,0xc3,0xec},
- {0x5f,0xe1,0xbe,0x5f}, {0x97,0xa2,0x35,0x97}, {0x44,0xcc,0x88,0x44}, {0x17,0x39,0x2e,0x17},
- {0xc4,0x57,0x93,0xc4}, {0xa7,0xf2,0x55,0xa7}, {0x7e,0x82,0xfc,0x7e}, {0x3d,0x47,0x7a,0x3d},
- {0x64,0xac,0xc8,0x64}, {0x5d,0xe7,0xba,0x5d}, {0x19,0x2b,0x32,0x19}, {0x73,0x95,0xe6,0x73},
- {0x60,0xa0,0xc0,0x60}, {0x81,0x98,0x19,0x81}, {0x4f,0xd1,0x9e,0x4f}, {0xdc,0x7f,0xa3,0xdc},
- {0x22,0x66,0x44,0x22}, {0x2a,0x7e,0x54,0x2a}, {0x90,0xab,0x3b,0x90}, {0x88,0x83,0x0b,0x88},
- {0x46,0xca,0x8c,0x46}, {0xee,0x29,0xc7,0xee}, {0xb8,0xd3,0x6b,0xb8}, {0x14,0x3c,0x28,0x14},
- {0xde,0x79,0xa7,0xde}, {0x5e,0xe2,0xbc,0x5e}, {0x0b,0x1d,0x16,0x0b}, {0xdb,0x76,0xad,0xdb},
- {0xe0,0x3b,0xdb,0xe0}, {0x32,0x56,0x64,0x32}, {0x3a,0x4e,0x74,0x3a}, {0x0a,0x1e,0x14,0x0a},
- {0x49,0xdb,0x92,0x49}, {0x06,0x0a,0x0c,0x06}, {0x24,0x6c,0x48,0x24}, {0x5c,0xe4,0xb8,0x5c},
- {0xc2,0x5d,0x9f,0xc2}, {0xd3,0x6e,0xbd,0xd3}, {0xac,0xef,0x43,0xac}, {0x62,0xa6,0xc4,0x62},
- {0x91,0xa8,0x39,0x91}, {0x95,0xa4,0x31,0x95}, {0xe4,0x37,0xd3,0xe4}, {0x79,0x8b,0xf2,0x79},
- {0xe7,0x32,0xd5,0xe7}, {0xc8,0x43,0x8b,0xc8}, {0x37,0x59,0x6e,0x37}, {0x6d,0xb7,0xda,0x6d},
- {0x8d,0x8c,0x01,0x8d}, {0xd5,0x64,0xb1,0xd5}, {0x4e,0xd2,0x9c,0x4e}, {0xa9,0xe0,0x49,0xa9},
- {0x6c,0xb4,0xd8,0x6c}, {0x56,0xfa,0xac,0x56}, {0xf4,0x07,0xf3,0xf4}, {0xea,0x25,0xcf,0xea},
- {0x65,0xaf,0xca,0x65}, {0x7a,0x8e,0xf4,0x7a}, {0xae,0xe9,0x47,0xae}, {0x08,0x18,0x10,0x08},
- {0xba,0xd5,0x6f,0xba}, {0x78,0x88,0xf0,0x78}, {0x25,0x6f,0x4a,0x25}, {0x2e,0x72,0x5c,0x2e},
- {0x1c,0x24,0x38,0x1c}, {0xa6,0xf1,0x57,0xa6}, {0xb4,0xc7,0x73,0xb4}, {0xc6,0x51,0x97,0xc6},
- {0xe8,0x23,0xcb,0xe8}, {0xdd,0x7c,0xa1,0xdd}, {0x74,0x9c,0xe8,0x74}, {0x1f,0x21,0x3e,0x1f},
- {0x4b,0xdd,0x96,0x4b}, {0xbd,0xdc,0x61,0xbd}, {0x8b,0x86,0x0d,0x8b}, {0x8a,0x85,0x0f,0x8a},
- {0x70,0x90,0xe0,0x70}, {0x3e,0x42,0x7c,0x3e}, {0xb5,0xc4,0x71,0xb5}, {0x66,0xaa,0xcc,0x66},
- {0x48,0xd8,0x90,0x48}, {0x03,0x05,0x06,0x03}, {0xf6,0x01,0xf7,0xf6}, {0x0e,0x12,0x1c,0x0e},
- {0x61,0xa3,0xc2,0x61}, {0x35,0x5f,0x6a,0x35}, {0x57,0xf9,0xae,0x57}, {0xb9,0xd0,0x69,0xb9},
- {0x86,0x91,0x17,0x86}, {0xc1,0x58,0x99,0xc1}, {0x1d,0x27,0x3a,0x1d}, {0x9e,0xb9,0x27,0x9e},
- {0xe1,0x38,0xd9,0xe1}, {0xf8,0x13,0xeb,0xf8}, {0x98,0xb3,0x2b,0x98}, {0x11,0x33,0x22,0x11},
- {0x69,0xbb,0xd2,0x69}, {0xd9,0x70,0xa9,0xd9}, {0x8e,0x89,0x07,0x8e}, {0x94,0xa7,0x33,0x94},
- {0x9b,0xb6,0x2d,0x9b}, {0x1e,0x22,0x3c,0x1e}, {0x87,0x92,0x15,0x87}, {0xe9,0x20,0xc9,0xe9},
- {0xce,0x49,0x87,0xce}, {0x55,0xff,0xaa,0x55}, {0x28,0x78,0x50,0x28}, {0xdf,0x7a,0xa5,0xdf},
- {0x8c,0x8f,0x03,0x8c}, {0xa1,0xf8,0x59,0xa1}, {0x89,0x80,0x09,0x89}, {0x0d,0x17,0x1a,0x0d},
- {0xbf,0xda,0x65,0xbf}, {0xe6,0x31,0xd7,0xe6}, {0x42,0xc6,0x84,0x42}, {0x68,0xb8,0xd0,0x68},
- {0x41,0xc3,0x82,0x41}, {0x99,0xb0,0x29,0x99}, {0x2d,0x77,0x5a,0x2d}, {0x0f,0x11,0x1e,0x0f},
- {0xb0,0xcb,0x7b,0xb0}, {0x54,0xfc,0xa8,0x54}, {0xbb,0xd6,0x6d,0xbb}, {0x16,0x3a,0x2c,0x16}
-};
-
-static UINT8 T4[256][4]=
-{
- {0x63,0x63,0xa5,0xc6}, {0x7c,0x7c,0x84,0xf8}, {0x77,0x77,0x99,0xee}, {0x7b,0x7b,0x8d,0xf6},
- {0xf2,0xf2,0x0d,0xff}, {0x6b,0x6b,0xbd,0xd6}, {0x6f,0x6f,0xb1,0xde}, {0xc5,0xc5,0x54,0x91},
- {0x30,0x30,0x50,0x60}, {0x01,0x01,0x03,0x02}, {0x67,0x67,0xa9,0xce}, {0x2b,0x2b,0x7d,0x56},
- {0xfe,0xfe,0x19,0xe7}, {0xd7,0xd7,0x62,0xb5}, {0xab,0xab,0xe6,0x4d}, {0x76,0x76,0x9a,0xec},
- {0xca,0xca,0x45,0x8f}, {0x82,0x82,0x9d,0x1f}, {0xc9,0xc9,0x40,0x89}, {0x7d,0x7d,0x87,0xfa},
- {0xfa,0xfa,0x15,0xef}, {0x59,0x59,0xeb,0xb2}, {0x47,0x47,0xc9,0x8e}, {0xf0,0xf0,0x0b,0xfb},
- {0xad,0xad,0xec,0x41}, {0xd4,0xd4,0x67,0xb3}, {0xa2,0xa2,0xfd,0x5f}, {0xaf,0xaf,0xea,0x45},
- {0x9c,0x9c,0xbf,0x23}, {0xa4,0xa4,0xf7,0x53}, {0x72,0x72,0x96,0xe4}, {0xc0,0xc0,0x5b,0x9b},
- {0xb7,0xb7,0xc2,0x75}, {0xfd,0xfd,0x1c,0xe1}, {0x93,0x93,0xae,0x3d}, {0x26,0x26,0x6a,0x4c},
- {0x36,0x36,0x5a,0x6c}, {0x3f,0x3f,0x41,0x7e}, {0xf7,0xf7,0x02,0xf5}, {0xcc,0xcc,0x4f,0x83},
- {0x34,0x34,0x5c,0x68}, {0xa5,0xa5,0xf4,0x51}, {0xe5,0xe5,0x34,0xd1}, {0xf1,0xf1,0x08,0xf9},
- {0x71,0x71,0x93,0xe2}, {0xd8,0xd8,0x73,0xab}, {0x31,0x31,0x53,0x62}, {0x15,0x15,0x3f,0x2a},
- {0x04,0x04,0x0c,0x08}, {0xc7,0xc7,0x52,0x95}, {0x23,0x23,0x65,0x46}, {0xc3,0xc3,0x5e,0x9d},
- {0x18,0x18,0x28,0x30}, {0x96,0x96,0xa1,0x37}, {0x05,0x05,0x0f,0x0a}, {0x9a,0x9a,0xb5,0x2f},
- {0x07,0x07,0x09,0x0e}, {0x12,0x12,0x36,0x24}, {0x80,0x80,0x9b,0x1b}, {0xe2,0xe2,0x3d,0xdf},
- {0xeb,0xeb,0x26,0xcd}, {0x27,0x27,0x69,0x4e}, {0xb2,0xb2,0xcd,0x7f}, {0x75,0x75,0x9f,0xea},
- {0x09,0x09,0x1b,0x12}, {0x83,0x83,0x9e,0x1d}, {0x2c,0x2c,0x74,0x58}, {0x1a,0x1a,0x2e,0x34},
- {0x1b,0x1b,0x2d,0x36}, {0x6e,0x6e,0xb2,0xdc}, {0x5a,0x5a,0xee,0xb4}, {0xa0,0xa0,0xfb,0x5b},
- {0x52,0x52,0xf6,0xa4}, {0x3b,0x3b,0x4d,0x76}, {0xd6,0xd6,0x61,0xb7}, {0xb3,0xb3,0xce,0x7d},
- {0x29,0x29,0x7b,0x52}, {0xe3,0xe3,0x3e,0xdd}, {0x2f,0x2f,0x71,0x5e}, {0x84,0x84,0x97,0x13},
- {0x53,0x53,0xf5,0xa6}, {0xd1,0xd1,0x68,0xb9}, {0x00,0x00,0x00,0x00}, {0xed,0xed,0x2c,0xc1},
- {0x20,0x20,0x60,0x40}, {0xfc,0xfc,0x1f,0xe3}, {0xb1,0xb1,0xc8,0x79}, {0x5b,0x5b,0xed,0xb6},
- {0x6a,0x6a,0xbe,0xd4}, {0xcb,0xcb,0x46,0x8d}, {0xbe,0xbe,0xd9,0x67}, {0x39,0x39,0x4b,0x72},
- {0x4a,0x4a,0xde,0x94}, {0x4c,0x4c,0xd4,0x98}, {0x58,0x58,0xe8,0xb0}, {0xcf,0xcf,0x4a,0x85},
- {0xd0,0xd0,0x6b,0xbb}, {0xef,0xef,0x2a,0xc5}, {0xaa,0xaa,0xe5,0x4f}, {0xfb,0xfb,0x16,0xed},
- {0x43,0x43,0xc5,0x86}, {0x4d,0x4d,0xd7,0x9a}, {0x33,0x33,0x55,0x66}, {0x85,0x85,0x94,0x11},
- {0x45,0x45,0xcf,0x8a}, {0xf9,0xf9,0x10,0xe9}, {0x02,0x02,0x06,0x04}, {0x7f,0x7f,0x81,0xfe},
- {0x50,0x50,0xf0,0xa0}, {0x3c,0x3c,0x44,0x78}, {0x9f,0x9f,0xba,0x25}, {0xa8,0xa8,0xe3,0x4b},
- {0x51,0x51,0xf3,0xa2}, {0xa3,0xa3,0xfe,0x5d}, {0x40,0x40,0xc0,0x80}, {0x8f,0x8f,0x8a,0x05},
- {0x92,0x92,0xad,0x3f}, {0x9d,0x9d,0xbc,0x21}, {0x38,0x38,0x48,0x70}, {0xf5,0xf5,0x04,0xf1},
- {0xbc,0xbc,0xdf,0x63}, {0xb6,0xb6,0xc1,0x77}, {0xda,0xda,0x75,0xaf}, {0x21,0x21,0x63,0x42},
- {0x10,0x10,0x30,0x20}, {0xff,0xff,0x1a,0xe5}, {0xf3,0xf3,0x0e,0xfd}, {0xd2,0xd2,0x6d,0xbf},
- {0xcd,0xcd,0x4c,0x81}, {0x0c,0x0c,0x14,0x18}, {0x13,0x13,0x35,0x26}, {0xec,0xec,0x2f,0xc3},
- {0x5f,0x5f,0xe1,0xbe}, {0x97,0x97,0xa2,0x35}, {0x44,0x44,0xcc,0x88}, {0x17,0x17,0x39,0x2e},
- {0xc4,0xc4,0x57,0x93}, {0xa7,0xa7,0xf2,0x55}, {0x7e,0x7e,0x82,0xfc}, {0x3d,0x3d,0x47,0x7a},
- {0x64,0x64,0xac,0xc8}, {0x5d,0x5d,0xe7,0xba}, {0x19,0x19,0x2b,0x32}, {0x73,0x73,0x95,0xe6},
- {0x60,0x60,0xa0,0xc0}, {0x81,0x81,0x98,0x19}, {0x4f,0x4f,0xd1,0x9e}, {0xdc,0xdc,0x7f,0xa3},
- {0x22,0x22,0x66,0x44}, {0x2a,0x2a,0x7e,0x54}, {0x90,0x90,0xab,0x3b}, {0x88,0x88,0x83,0x0b},
- {0x46,0x46,0xca,0x8c}, {0xee,0xee,0x29,0xc7}, {0xb8,0xb8,0xd3,0x6b}, {0x14,0x14,0x3c,0x28},
- {0xde,0xde,0x79,0xa7}, {0x5e,0x5e,0xe2,0xbc}, {0x0b,0x0b,0x1d,0x16}, {0xdb,0xdb,0x76,0xad},
- {0xe0,0xe0,0x3b,0xdb}, {0x32,0x32,0x56,0x64}, {0x3a,0x3a,0x4e,0x74}, {0x0a,0x0a,0x1e,0x14},
- {0x49,0x49,0xdb,0x92}, {0x06,0x06,0x0a,0x0c}, {0x24,0x24,0x6c,0x48}, {0x5c,0x5c,0xe4,0xb8},
- {0xc2,0xc2,0x5d,0x9f}, {0xd3,0xd3,0x6e,0xbd}, {0xac,0xac,0xef,0x43}, {0x62,0x62,0xa6,0xc4},
- {0x91,0x91,0xa8,0x39}, {0x95,0x95,0xa4,0x31}, {0xe4,0xe4,0x37,0xd3}, {0x79,0x79,0x8b,0xf2},
- {0xe7,0xe7,0x32,0xd5}, {0xc8,0xc8,0x43,0x8b}, {0x37,0x37,0x59,0x6e}, {0x6d,0x6d,0xb7,0xda},
- {0x8d,0x8d,0x8c,0x01}, {0xd5,0xd5,0x64,0xb1}, {0x4e,0x4e,0xd2,0x9c}, {0xa9,0xa9,0xe0,0x49},
- {0x6c,0x6c,0xb4,0xd8}, {0x56,0x56,0xfa,0xac}, {0xf4,0xf4,0x07,0xf3}, {0xea,0xea,0x25,0xcf},
- {0x65,0x65,0xaf,0xca}, {0x7a,0x7a,0x8e,0xf4}, {0xae,0xae,0xe9,0x47}, {0x08,0x08,0x18,0x10},
- {0xba,0xba,0xd5,0x6f}, {0x78,0x78,0x88,0xf0}, {0x25,0x25,0x6f,0x4a}, {0x2e,0x2e,0x72,0x5c},
- {0x1c,0x1c,0x24,0x38}, {0xa6,0xa6,0xf1,0x57}, {0xb4,0xb4,0xc7,0x73}, {0xc6,0xc6,0x51,0x97},
- {0xe8,0xe8,0x23,0xcb}, {0xdd,0xdd,0x7c,0xa1}, {0x74,0x74,0x9c,0xe8}, {0x1f,0x1f,0x21,0x3e},
- {0x4b,0x4b,0xdd,0x96}, {0xbd,0xbd,0xdc,0x61}, {0x8b,0x8b,0x86,0x0d}, {0x8a,0x8a,0x85,0x0f},
- {0x70,0x70,0x90,0xe0}, {0x3e,0x3e,0x42,0x7c}, {0xb5,0xb5,0xc4,0x71}, {0x66,0x66,0xaa,0xcc},
- {0x48,0x48,0xd8,0x90}, {0x03,0x03,0x05,0x06}, {0xf6,0xf6,0x01,0xf7}, {0x0e,0x0e,0x12,0x1c},
- {0x61,0x61,0xa3,0xc2}, {0x35,0x35,0x5f,0x6a}, {0x57,0x57,0xf9,0xae}, {0xb9,0xb9,0xd0,0x69},
- {0x86,0x86,0x91,0x17}, {0xc1,0xc1,0x58,0x99}, {0x1d,0x1d,0x27,0x3a}, {0x9e,0x9e,0xb9,0x27},
- {0xe1,0xe1,0x38,0xd9}, {0xf8,0xf8,0x13,0xeb}, {0x98,0x98,0xb3,0x2b}, {0x11,0x11,0x33,0x22},
- {0x69,0x69,0xbb,0xd2}, {0xd9,0xd9,0x70,0xa9}, {0x8e,0x8e,0x89,0x07}, {0x94,0x94,0xa7,0x33},
- {0x9b,0x9b,0xb6,0x2d}, {0x1e,0x1e,0x22,0x3c}, {0x87,0x87,0x92,0x15}, {0xe9,0xe9,0x20,0xc9},
- {0xce,0xce,0x49,0x87}, {0x55,0x55,0xff,0xaa}, {0x28,0x28,0x78,0x50}, {0xdf,0xdf,0x7a,0xa5},
- {0x8c,0x8c,0x8f,0x03}, {0xa1,0xa1,0xf8,0x59}, {0x89,0x89,0x80,0x09}, {0x0d,0x0d,0x17,0x1a},
- {0xbf,0xbf,0xda,0x65}, {0xe6,0xe6,0x31,0xd7}, {0x42,0x42,0xc6,0x84}, {0x68,0x68,0xb8,0xd0},
- {0x41,0x41,0xc3,0x82}, {0x99,0x99,0xb0,0x29}, {0x2d,0x2d,0x77,0x5a}, {0x0f,0x0f,0x11,0x1e},
- {0xb0,0xb0,0xcb,0x7b}, {0x54,0x54,0xfc,0xa8}, {0xbb,0xbb,0xd6,0x6d}, {0x16,0x16,0x3a,0x2c}
-};
-
-static UINT8 T5[256][4]=
-{
- {0x51,0xf4,0xa7,0x50}, {0x7e,0x41,0x65,0x53}, {0x1a,0x17,0xa4,0xc3}, {0x3a,0x27,0x5e,0x96},
- {0x3b,0xab,0x6b,0xcb}, {0x1f,0x9d,0x45,0xf1}, {0xac,0xfa,0x58,0xab}, {0x4b,0xe3,0x03,0x93},
- {0x20,0x30,0xfa,0x55}, {0xad,0x76,0x6d,0xf6}, {0x88,0xcc,0x76,0x91}, {0xf5,0x02,0x4c,0x25},
- {0x4f,0xe5,0xd7,0xfc}, {0xc5,0x2a,0xcb,0xd7}, {0x26,0x35,0x44,0x80}, {0xb5,0x62,0xa3,0x8f},
- {0xde,0xb1,0x5a,0x49}, {0x25,0xba,0x1b,0x67}, {0x45,0xea,0x0e,0x98}, {0x5d,0xfe,0xc0,0xe1},
- {0xc3,0x2f,0x75,0x02}, {0x81,0x4c,0xf0,0x12}, {0x8d,0x46,0x97,0xa3}, {0x6b,0xd3,0xf9,0xc6},
- {0x03,0x8f,0x5f,0xe7}, {0x15,0x92,0x9c,0x95}, {0xbf,0x6d,0x7a,0xeb}, {0x95,0x52,0x59,0xda},
- {0xd4,0xbe,0x83,0x2d}, {0x58,0x74,0x21,0xd3}, {0x49,0xe0,0x69,0x29}, {0x8e,0xc9,0xc8,0x44},
- {0x75,0xc2,0x89,0x6a}, {0xf4,0x8e,0x79,0x78}, {0x99,0x58,0x3e,0x6b}, {0x27,0xb9,0x71,0xdd},
- {0xbe,0xe1,0x4f,0xb6}, {0xf0,0x88,0xad,0x17}, {0xc9,0x20,0xac,0x66}, {0x7d,0xce,0x3a,0xb4},
- {0x63,0xdf,0x4a,0x18}, {0xe5,0x1a,0x31,0x82}, {0x97,0x51,0x33,0x60}, {0x62,0x53,0x7f,0x45},
- {0xb1,0x64,0x77,0xe0}, {0xbb,0x6b,0xae,0x84}, {0xfe,0x81,0xa0,0x1c}, {0xf9,0x08,0x2b,0x94},
- {0x70,0x48,0x68,0x58}, {0x8f,0x45,0xfd,0x19}, {0x94,0xde,0x6c,0x87}, {0x52,0x7b,0xf8,0xb7},
- {0xab,0x73,0xd3,0x23}, {0x72,0x4b,0x02,0xe2}, {0xe3,0x1f,0x8f,0x57}, {0x66,0x55,0xab,0x2a},
- {0xb2,0xeb,0x28,0x07}, {0x2f,0xb5,0xc2,0x03}, {0x86,0xc5,0x7b,0x9a}, {0xd3,0x37,0x08,0xa5},
- {0x30,0x28,0x87,0xf2}, {0x23,0xbf,0xa5,0xb2}, {0x02,0x03,0x6a,0xba}, {0xed,0x16,0x82,0x5c},
- {0x8a,0xcf,0x1c,0x2b}, {0xa7,0x79,0xb4,0x92}, {0xf3,0x07,0xf2,0xf0}, {0x4e,0x69,0xe2,0xa1},
- {0x65,0xda,0xf4,0xcd}, {0x06,0x05,0xbe,0xd5}, {0xd1,0x34,0x62,0x1f}, {0xc4,0xa6,0xfe,0x8a},
- {0x34,0x2e,0x53,0x9d}, {0xa2,0xf3,0x55,0xa0}, {0x05,0x8a,0xe1,0x32}, {0xa4,0xf6,0xeb,0x75},
- {0x0b,0x83,0xec,0x39}, {0x40,0x60,0xef,0xaa}, {0x5e,0x71,0x9f,0x06}, {0xbd,0x6e,0x10,0x51},
- {0x3e,0x21,0x8a,0xf9}, {0x96,0xdd,0x06,0x3d}, {0xdd,0x3e,0x05,0xae}, {0x4d,0xe6,0xbd,0x46},
- {0x91,0x54,0x8d,0xb5}, {0x71,0xc4,0x5d,0x05}, {0x04,0x06,0xd4,0x6f}, {0x60,0x50,0x15,0xff},
- {0x19,0x98,0xfb,0x24}, {0xd6,0xbd,0xe9,0x97}, {0x89,0x40,0x43,0xcc}, {0x67,0xd9,0x9e,0x77},
- {0xb0,0xe8,0x42,0xbd}, {0x07,0x89,0x8b,0x88}, {0xe7,0x19,0x5b,0x38}, {0x79,0xc8,0xee,0xdb},
- {0xa1,0x7c,0x0a,0x47}, {0x7c,0x42,0x0f,0xe9}, {0xf8,0x84,0x1e,0xc9}, {0x00,0x00,0x00,0x00},
- {0x09,0x80,0x86,0x83}, {0x32,0x2b,0xed,0x48}, {0x1e,0x11,0x70,0xac}, {0x6c,0x5a,0x72,0x4e},
- {0xfd,0x0e,0xff,0xfb}, {0x0f,0x85,0x38,0x56}, {0x3d,0xae,0xd5,0x1e}, {0x36,0x2d,0x39,0x27},
- {0x0a,0x0f,0xd9,0x64}, {0x68,0x5c,0xa6,0x21}, {0x9b,0x5b,0x54,0xd1}, {0x24,0x36,0x2e,0x3a},
- {0x0c,0x0a,0x67,0xb1}, {0x93,0x57,0xe7,0x0f}, {0xb4,0xee,0x96,0xd2}, {0x1b,0x9b,0x91,0x9e},
- {0x80,0xc0,0xc5,0x4f}, {0x61,0xdc,0x20,0xa2}, {0x5a,0x77,0x4b,0x69}, {0x1c,0x12,0x1a,0x16},
- {0xe2,0x93,0xba,0x0a}, {0xc0,0xa0,0x2a,0xe5}, {0x3c,0x22,0xe0,0x43}, {0x12,0x1b,0x17,0x1d},
- {0x0e,0x09,0x0d,0x0b}, {0xf2,0x8b,0xc7,0xad}, {0x2d,0xb6,0xa8,0xb9}, {0x14,0x1e,0xa9,0xc8},
- {0x57,0xf1,0x19,0x85}, {0xaf,0x75,0x07,0x4c}, {0xee,0x99,0xdd,0xbb}, {0xa3,0x7f,0x60,0xfd},
- {0xf7,0x01,0x26,0x9f}, {0x5c,0x72,0xf5,0xbc}, {0x44,0x66,0x3b,0xc5}, {0x5b,0xfb,0x7e,0x34},
- {0x8b,0x43,0x29,0x76}, {0xcb,0x23,0xc6,0xdc}, {0xb6,0xed,0xfc,0x68}, {0xb8,0xe4,0xf1,0x63},
- {0xd7,0x31,0xdc,0xca}, {0x42,0x63,0x85,0x10}, {0x13,0x97,0x22,0x40}, {0x84,0xc6,0x11,0x20},
- {0x85,0x4a,0x24,0x7d}, {0xd2,0xbb,0x3d,0xf8}, {0xae,0xf9,0x32,0x11}, {0xc7,0x29,0xa1,0x6d},
- {0x1d,0x9e,0x2f,0x4b}, {0xdc,0xb2,0x30,0xf3}, {0x0d,0x86,0x52,0xec}, {0x77,0xc1,0xe3,0xd0},
- {0x2b,0xb3,0x16,0x6c}, {0xa9,0x70,0xb9,0x99}, {0x11,0x94,0x48,0xfa}, {0x47,0xe9,0x64,0x22},
- {0xa8,0xfc,0x8c,0xc4}, {0xa0,0xf0,0x3f,0x1a}, {0x56,0x7d,0x2c,0xd8}, {0x22,0x33,0x90,0xef},
- {0x87,0x49,0x4e,0xc7}, {0xd9,0x38,0xd1,0xc1}, {0x8c,0xca,0xa2,0xfe}, {0x98,0xd4,0x0b,0x36},
- {0xa6,0xf5,0x81,0xcf}, {0xa5,0x7a,0xde,0x28}, {0xda,0xb7,0x8e,0x26}, {0x3f,0xad,0xbf,0xa4},
- {0x2c,0x3a,0x9d,0xe4}, {0x50,0x78,0x92,0x0d}, {0x6a,0x5f,0xcc,0x9b}, {0x54,0x7e,0x46,0x62},
- {0xf6,0x8d,0x13,0xc2}, {0x90,0xd8,0xb8,0xe8}, {0x2e,0x39,0xf7,0x5e}, {0x82,0xc3,0xaf,0xf5},
- {0x9f,0x5d,0x80,0xbe}, {0x69,0xd0,0x93,0x7c}, {0x6f,0xd5,0x2d,0xa9}, {0xcf,0x25,0x12,0xb3},
- {0xc8,0xac,0x99,0x3b}, {0x10,0x18,0x7d,0xa7}, {0xe8,0x9c,0x63,0x6e}, {0xdb,0x3b,0xbb,0x7b},
- {0xcd,0x26,0x78,0x09}, {0x6e,0x59,0x18,0xf4}, {0xec,0x9a,0xb7,0x01}, {0x83,0x4f,0x9a,0xa8},
- {0xe6,0x95,0x6e,0x65}, {0xaa,0xff,0xe6,0x7e}, {0x21,0xbc,0xcf,0x08}, {0xef,0x15,0xe8,0xe6},
- {0xba,0xe7,0x9b,0xd9}, {0x4a,0x6f,0x36,0xce}, {0xea,0x9f,0x09,0xd4}, {0x29,0xb0,0x7c,0xd6},
- {0x31,0xa4,0xb2,0xaf}, {0x2a,0x3f,0x23,0x31}, {0xc6,0xa5,0x94,0x30}, {0x35,0xa2,0x66,0xc0},
- {0x74,0x4e,0xbc,0x37}, {0xfc,0x82,0xca,0xa6}, {0xe0,0x90,0xd0,0xb0}, {0x33,0xa7,0xd8,0x15},
- {0xf1,0x04,0x98,0x4a}, {0x41,0xec,0xda,0xf7}, {0x7f,0xcd,0x50,0x0e}, {0x17,0x91,0xf6,0x2f},
- {0x76,0x4d,0xd6,0x8d}, {0x43,0xef,0xb0,0x4d}, {0xcc,0xaa,0x4d,0x54}, {0xe4,0x96,0x04,0xdf},
- {0x9e,0xd1,0xb5,0xe3}, {0x4c,0x6a,0x88,0x1b}, {0xc1,0x2c,0x1f,0xb8}, {0x46,0x65,0x51,0x7f},
- {0x9d,0x5e,0xea,0x04}, {0x01,0x8c,0x35,0x5d}, {0xfa,0x87,0x74,0x73}, {0xfb,0x0b,0x41,0x2e},
- {0xb3,0x67,0x1d,0x5a}, {0x92,0xdb,0xd2,0x52}, {0xe9,0x10,0x56,0x33}, {0x6d,0xd6,0x47,0x13},
- {0x9a,0xd7,0x61,0x8c}, {0x37,0xa1,0x0c,0x7a}, {0x59,0xf8,0x14,0x8e}, {0xeb,0x13,0x3c,0x89},
- {0xce,0xa9,0x27,0xee}, {0xb7,0x61,0xc9,0x35}, {0xe1,0x1c,0xe5,0xed}, {0x7a,0x47,0xb1,0x3c},
- {0x9c,0xd2,0xdf,0x59}, {0x55,0xf2,0x73,0x3f}, {0x18,0x14,0xce,0x79}, {0x73,0xc7,0x37,0xbf},
- {0x53,0xf7,0xcd,0xea}, {0x5f,0xfd,0xaa,0x5b}, {0xdf,0x3d,0x6f,0x14}, {0x78,0x44,0xdb,0x86},
- {0xca,0xaf,0xf3,0x81}, {0xb9,0x68,0xc4,0x3e}, {0x38,0x24,0x34,0x2c}, {0xc2,0xa3,0x40,0x5f},
- {0x16,0x1d,0xc3,0x72}, {0xbc,0xe2,0x25,0x0c}, {0x28,0x3c,0x49,0x8b}, {0xff,0x0d,0x95,0x41},
- {0x39,0xa8,0x01,0x71}, {0x08,0x0c,0xb3,0xde}, {0xd8,0xb4,0xe4,0x9c}, {0x64,0x56,0xc1,0x90},
- {0x7b,0xcb,0x84,0x61}, {0xd5,0x32,0xb6,0x70}, {0x48,0x6c,0x5c,0x74}, {0xd0,0xb8,0x57,0x42}
-};
-
-static UINT8 T6[256][4]=
-{
- {0x50,0x51,0xf4,0xa7}, {0x53,0x7e,0x41,0x65}, {0xc3,0x1a,0x17,0xa4}, {0x96,0x3a,0x27,0x5e},
- {0xcb,0x3b,0xab,0x6b}, {0xf1,0x1f,0x9d,0x45}, {0xab,0xac,0xfa,0x58}, {0x93,0x4b,0xe3,0x03},
- {0x55,0x20,0x30,0xfa}, {0xf6,0xad,0x76,0x6d}, {0x91,0x88,0xcc,0x76}, {0x25,0xf5,0x02,0x4c},
- {0xfc,0x4f,0xe5,0xd7}, {0xd7,0xc5,0x2a,0xcb}, {0x80,0x26,0x35,0x44}, {0x8f,0xb5,0x62,0xa3},
- {0x49,0xde,0xb1,0x5a}, {0x67,0x25,0xba,0x1b}, {0x98,0x45,0xea,0x0e}, {0xe1,0x5d,0xfe,0xc0},
- {0x02,0xc3,0x2f,0x75}, {0x12,0x81,0x4c,0xf0}, {0xa3,0x8d,0x46,0x97}, {0xc6,0x6b,0xd3,0xf9},
- {0xe7,0x03,0x8f,0x5f}, {0x95,0x15,0x92,0x9c}, {0xeb,0xbf,0x6d,0x7a}, {0xda,0x95,0x52,0x59},
- {0x2d,0xd4,0xbe,0x83}, {0xd3,0x58,0x74,0x21}, {0x29,0x49,0xe0,0x69}, {0x44,0x8e,0xc9,0xc8},
- {0x6a,0x75,0xc2,0x89}, {0x78,0xf4,0x8e,0x79}, {0x6b,0x99,0x58,0x3e}, {0xdd,0x27,0xb9,0x71},
- {0xb6,0xbe,0xe1,0x4f}, {0x17,0xf0,0x88,0xad}, {0x66,0xc9,0x20,0xac}, {0xb4,0x7d,0xce,0x3a},
- {0x18,0x63,0xdf,0x4a}, {0x82,0xe5,0x1a,0x31}, {0x60,0x97,0x51,0x33}, {0x45,0x62,0x53,0x7f},
- {0xe0,0xb1,0x64,0x77}, {0x84,0xbb,0x6b,0xae}, {0x1c,0xfe,0x81,0xa0}, {0x94,0xf9,0x08,0x2b},
- {0x58,0x70,0x48,0x68}, {0x19,0x8f,0x45,0xfd}, {0x87,0x94,0xde,0x6c}, {0xb7,0x52,0x7b,0xf8},
- {0x23,0xab,0x73,0xd3}, {0xe2,0x72,0x4b,0x02}, {0x57,0xe3,0x1f,0x8f}, {0x2a,0x66,0x55,0xab},
- {0x07,0xb2,0xeb,0x28}, {0x03,0x2f,0xb5,0xc2}, {0x9a,0x86,0xc5,0x7b}, {0xa5,0xd3,0x37,0x08},
- {0xf2,0x30,0x28,0x87}, {0xb2,0x23,0xbf,0xa5}, {0xba,0x02,0x03,0x6a}, {0x5c,0xed,0x16,0x82},
- {0x2b,0x8a,0xcf,0x1c}, {0x92,0xa7,0x79,0xb4}, {0xf0,0xf3,0x07,0xf2}, {0xa1,0x4e,0x69,0xe2},
- {0xcd,0x65,0xda,0xf4}, {0xd5,0x06,0x05,0xbe}, {0x1f,0xd1,0x34,0x62}, {0x8a,0xc4,0xa6,0xfe},
- {0x9d,0x34,0x2e,0x53}, {0xa0,0xa2,0xf3,0x55}, {0x32,0x05,0x8a,0xe1}, {0x75,0xa4,0xf6,0xeb},
- {0x39,0x0b,0x83,0xec}, {0xaa,0x40,0x60,0xef}, {0x06,0x5e,0x71,0x9f}, {0x51,0xbd,0x6e,0x10},
- {0xf9,0x3e,0x21,0x8a}, {0x3d,0x96,0xdd,0x06}, {0xae,0xdd,0x3e,0x05}, {0x46,0x4d,0xe6,0xbd},
- {0xb5,0x91,0x54,0x8d}, {0x05,0x71,0xc4,0x5d}, {0x6f,0x04,0x06,0xd4}, {0xff,0x60,0x50,0x15},
- {0x24,0x19,0x98,0xfb}, {0x97,0xd6,0xbd,0xe9}, {0xcc,0x89,0x40,0x43}, {0x77,0x67,0xd9,0x9e},
- {0xbd,0xb0,0xe8,0x42}, {0x88,0x07,0x89,0x8b}, {0x38,0xe7,0x19,0x5b}, {0xdb,0x79,0xc8,0xee},
- {0x47,0xa1,0x7c,0x0a}, {0xe9,0x7c,0x42,0x0f}, {0xc9,0xf8,0x84,0x1e}, {0x00,0x00,0x00,0x00},
- {0x83,0x09,0x80,0x86}, {0x48,0x32,0x2b,0xed}, {0xac,0x1e,0x11,0x70}, {0x4e,0x6c,0x5a,0x72},
- {0xfb,0xfd,0x0e,0xff}, {0x56,0x0f,0x85,0x38}, {0x1e,0x3d,0xae,0xd5}, {0x27,0x36,0x2d,0x39},
- {0x64,0x0a,0x0f,0xd9}, {0x21,0x68,0x5c,0xa6}, {0xd1,0x9b,0x5b,0x54}, {0x3a,0x24,0x36,0x2e},
- {0xb1,0x0c,0x0a,0x67}, {0x0f,0x93,0x57,0xe7}, {0xd2,0xb4,0xee,0x96}, {0x9e,0x1b,0x9b,0x91},
- {0x4f,0x80,0xc0,0xc5}, {0xa2,0x61,0xdc,0x20}, {0x69,0x5a,0x77,0x4b}, {0x16,0x1c,0x12,0x1a},
- {0x0a,0xe2,0x93,0xba}, {0xe5,0xc0,0xa0,0x2a}, {0x43,0x3c,0x22,0xe0}, {0x1d,0x12,0x1b,0x17},
- {0x0b,0x0e,0x09,0x0d}, {0xad,0xf2,0x8b,0xc7}, {0xb9,0x2d,0xb6,0xa8}, {0xc8,0x14,0x1e,0xa9},
- {0x85,0x57,0xf1,0x19}, {0x4c,0xaf,0x75,0x07}, {0xbb,0xee,0x99,0xdd}, {0xfd,0xa3,0x7f,0x60},
- {0x9f,0xf7,0x01,0x26}, {0xbc,0x5c,0x72,0xf5}, {0xc5,0x44,0x66,0x3b}, {0x34,0x5b,0xfb,0x7e},
- {0x76,0x8b,0x43,0x29}, {0xdc,0xcb,0x23,0xc6}, {0x68,0xb6,0xed,0xfc}, {0x63,0xb8,0xe4,0xf1},
- {0xca,0xd7,0x31,0xdc}, {0x10,0x42,0x63,0x85}, {0x40,0x13,0x97,0x22}, {0x20,0x84,0xc6,0x11},
- {0x7d,0x85,0x4a,0x24}, {0xf8,0xd2,0xbb,0x3d}, {0x11,0xae,0xf9,0x32}, {0x6d,0xc7,0x29,0xa1},
- {0x4b,0x1d,0x9e,0x2f}, {0xf3,0xdc,0xb2,0x30}, {0xec,0x0d,0x86,0x52}, {0xd0,0x77,0xc1,0xe3},
- {0x6c,0x2b,0xb3,0x16}, {0x99,0xa9,0x70,0xb9}, {0xfa,0x11,0x94,0x48}, {0x22,0x47,0xe9,0x64},
- {0xc4,0xa8,0xfc,0x8c}, {0x1a,0xa0,0xf0,0x3f}, {0xd8,0x56,0x7d,0x2c}, {0xef,0x22,0x33,0x90},
- {0xc7,0x87,0x49,0x4e}, {0xc1,0xd9,0x38,0xd1}, {0xfe,0x8c,0xca,0xa2}, {0x36,0x98,0xd4,0x0b},
- {0xcf,0xa6,0xf5,0x81}, {0x28,0xa5,0x7a,0xde}, {0x26,0xda,0xb7,0x8e}, {0xa4,0x3f,0xad,0xbf},
- {0xe4,0x2c,0x3a,0x9d}, {0x0d,0x50,0x78,0x92}, {0x9b,0x6a,0x5f,0xcc}, {0x62,0x54,0x7e,0x46},
- {0xc2,0xf6,0x8d,0x13}, {0xe8,0x90,0xd8,0xb8}, {0x5e,0x2e,0x39,0xf7}, {0xf5,0x82,0xc3,0xaf},
- {0xbe,0x9f,0x5d,0x80}, {0x7c,0x69,0xd0,0x93}, {0xa9,0x6f,0xd5,0x2d}, {0xb3,0xcf,0x25,0x12},
- {0x3b,0xc8,0xac,0x99}, {0xa7,0x10,0x18,0x7d}, {0x6e,0xe8,0x9c,0x63}, {0x7b,0xdb,0x3b,0xbb},
- {0x09,0xcd,0x26,0x78}, {0xf4,0x6e,0x59,0x18}, {0x01,0xec,0x9a,0xb7}, {0xa8,0x83,0x4f,0x9a},
- {0x65,0xe6,0x95,0x6e}, {0x7e,0xaa,0xff,0xe6}, {0x08,0x21,0xbc,0xcf}, {0xe6,0xef,0x15,0xe8},
- {0xd9,0xba,0xe7,0x9b}, {0xce,0x4a,0x6f,0x36}, {0xd4,0xea,0x9f,0x09}, {0xd6,0x29,0xb0,0x7c},
- {0xaf,0x31,0xa4,0xb2}, {0x31,0x2a,0x3f,0x23}, {0x30,0xc6,0xa5,0x94}, {0xc0,0x35,0xa2,0x66},
- {0x37,0x74,0x4e,0xbc}, {0xa6,0xfc,0x82,0xca}, {0xb0,0xe0,0x90,0xd0}, {0x15,0x33,0xa7,0xd8},
- {0x4a,0xf1,0x04,0x98}, {0xf7,0x41,0xec,0xda}, {0x0e,0x7f,0xcd,0x50}, {0x2f,0x17,0x91,0xf6},
- {0x8d,0x76,0x4d,0xd6}, {0x4d,0x43,0xef,0xb0}, {0x54,0xcc,0xaa,0x4d}, {0xdf,0xe4,0x96,0x04},
- {0xe3,0x9e,0xd1,0xb5}, {0x1b,0x4c,0x6a,0x88}, {0xb8,0xc1,0x2c,0x1f}, {0x7f,0x46,0x65,0x51},
- {0x04,0x9d,0x5e,0xea}, {0x5d,0x01,0x8c,0x35}, {0x73,0xfa,0x87,0x74}, {0x2e,0xfb,0x0b,0x41},
- {0x5a,0xb3,0x67,0x1d}, {0x52,0x92,0xdb,0xd2}, {0x33,0xe9,0x10,0x56}, {0x13,0x6d,0xd6,0x47},
- {0x8c,0x9a,0xd7,0x61}, {0x7a,0x37,0xa1,0x0c}, {0x8e,0x59,0xf8,0x14}, {0x89,0xeb,0x13,0x3c},
- {0xee,0xce,0xa9,0x27}, {0x35,0xb7,0x61,0xc9}, {0xed,0xe1,0x1c,0xe5}, {0x3c,0x7a,0x47,0xb1},
- {0x59,0x9c,0xd2,0xdf}, {0x3f,0x55,0xf2,0x73}, {0x79,0x18,0x14,0xce}, {0xbf,0x73,0xc7,0x37},
- {0xea,0x53,0xf7,0xcd}, {0x5b,0x5f,0xfd,0xaa}, {0x14,0xdf,0x3d,0x6f}, {0x86,0x78,0x44,0xdb},
- {0x81,0xca,0xaf,0xf3}, {0x3e,0xb9,0x68,0xc4}, {0x2c,0x38,0x24,0x34}, {0x5f,0xc2,0xa3,0x40},
- {0x72,0x16,0x1d,0xc3}, {0x0c,0xbc,0xe2,0x25}, {0x8b,0x28,0x3c,0x49}, {0x41,0xff,0x0d,0x95},
- {0x71,0x39,0xa8,0x01}, {0xde,0x08,0x0c,0xb3}, {0x9c,0xd8,0xb4,0xe4}, {0x90,0x64,0x56,0xc1},
- {0x61,0x7b,0xcb,0x84}, {0x70,0xd5,0x32,0xb6}, {0x74,0x48,0x6c,0x5c}, {0x42,0xd0,0xb8,0x57}
-};
-
-static UINT8 T7[256][4]=
-{
- {0xa7,0x50,0x51,0xf4}, {0x65,0x53,0x7e,0x41}, {0xa4,0xc3,0x1a,0x17}, {0x5e,0x96,0x3a,0x27},
- {0x6b,0xcb,0x3b,0xab}, {0x45,0xf1,0x1f,0x9d}, {0x58,0xab,0xac,0xfa}, {0x03,0x93,0x4b,0xe3},
- {0xfa,0x55,0x20,0x30}, {0x6d,0xf6,0xad,0x76}, {0x76,0x91,0x88,0xcc}, {0x4c,0x25,0xf5,0x02},
- {0xd7,0xfc,0x4f,0xe5}, {0xcb,0xd7,0xc5,0x2a}, {0x44,0x80,0x26,0x35}, {0xa3,0x8f,0xb5,0x62},
- {0x5a,0x49,0xde,0xb1}, {0x1b,0x67,0x25,0xba}, {0x0e,0x98,0x45,0xea}, {0xc0,0xe1,0x5d,0xfe},
- {0x75,0x02,0xc3,0x2f}, {0xf0,0x12,0x81,0x4c}, {0x97,0xa3,0x8d,0x46}, {0xf9,0xc6,0x6b,0xd3},
- {0x5f,0xe7,0x03,0x8f}, {0x9c,0x95,0x15,0x92}, {0x7a,0xeb,0xbf,0x6d}, {0x59,0xda,0x95,0x52},
- {0x83,0x2d,0xd4,0xbe}, {0x21,0xd3,0x58,0x74}, {0x69,0x29,0x49,0xe0}, {0xc8,0x44,0x8e,0xc9},
- {0x89,0x6a,0x75,0xc2}, {0x79,0x78,0xf4,0x8e}, {0x3e,0x6b,0x99,0x58}, {0x71,0xdd,0x27,0xb9},
- {0x4f,0xb6,0xbe,0xe1}, {0xad,0x17,0xf0,0x88}, {0xac,0x66,0xc9,0x20}, {0x3a,0xb4,0x7d,0xce},
- {0x4a,0x18,0x63,0xdf}, {0x31,0x82,0xe5,0x1a}, {0x33,0x60,0x97,0x51}, {0x7f,0x45,0x62,0x53},
- {0x77,0xe0,0xb1,0x64}, {0xae,0x84,0xbb,0x6b}, {0xa0,0x1c,0xfe,0x81}, {0x2b,0x94,0xf9,0x08},
- {0x68,0x58,0x70,0x48}, {0xfd,0x19,0x8f,0x45}, {0x6c,0x87,0x94,0xde}, {0xf8,0xb7,0x52,0x7b},
- {0xd3,0x23,0xab,0x73}, {0x02,0xe2,0x72,0x4b}, {0x8f,0x57,0xe3,0x1f}, {0xab,0x2a,0x66,0x55},
- {0x28,0x07,0xb2,0xeb}, {0xc2,0x03,0x2f,0xb5}, {0x7b,0x9a,0x86,0xc5}, {0x08,0xa5,0xd3,0x37},
- {0x87,0xf2,0x30,0x28}, {0xa5,0xb2,0x23,0xbf}, {0x6a,0xba,0x02,0x03}, {0x82,0x5c,0xed,0x16},
- {0x1c,0x2b,0x8a,0xcf}, {0xb4,0x92,0xa7,0x79}, {0xf2,0xf0,0xf3,0x07}, {0xe2,0xa1,0x4e,0x69},
- {0xf4,0xcd,0x65,0xda}, {0xbe,0xd5,0x06,0x05}, {0x62,0x1f,0xd1,0x34}, {0xfe,0x8a,0xc4,0xa6},
- {0x53,0x9d,0x34,0x2e}, {0x55,0xa0,0xa2,0xf3}, {0xe1,0x32,0x05,0x8a}, {0xeb,0x75,0xa4,0xf6},
- {0xec,0x39,0x0b,0x83}, {0xef,0xaa,0x40,0x60}, {0x9f,0x06,0x5e,0x71}, {0x10,0x51,0xbd,0x6e},
- {0x8a,0xf9,0x3e,0x21}, {0x06,0x3d,0x96,0xdd}, {0x05,0xae,0xdd,0x3e}, {0xbd,0x46,0x4d,0xe6},
- {0x8d,0xb5,0x91,0x54}, {0x5d,0x05,0x71,0xc4}, {0xd4,0x6f,0x04,0x06}, {0x15,0xff,0x60,0x50},
- {0xfb,0x24,0x19,0x98}, {0xe9,0x97,0xd6,0xbd}, {0x43,0xcc,0x89,0x40}, {0x9e,0x77,0x67,0xd9},
- {0x42,0xbd,0xb0,0xe8}, {0x8b,0x88,0x07,0x89}, {0x5b,0x38,0xe7,0x19}, {0xee,0xdb,0x79,0xc8},
- {0x0a,0x47,0xa1,0x7c}, {0x0f,0xe9,0x7c,0x42}, {0x1e,0xc9,0xf8,0x84}, {0x00,0x00,0x00,0x00},
- {0x86,0x83,0x09,0x80}, {0xed,0x48,0x32,0x2b}, {0x70,0xac,0x1e,0x11}, {0x72,0x4e,0x6c,0x5a},
- {0xff,0xfb,0xfd,0x0e}, {0x38,0x56,0x0f,0x85}, {0xd5,0x1e,0x3d,0xae}, {0x39,0x27,0x36,0x2d},
- {0xd9,0x64,0x0a,0x0f}, {0xa6,0x21,0x68,0x5c}, {0x54,0xd1,0x9b,0x5b}, {0x2e,0x3a,0x24,0x36},
- {0x67,0xb1,0x0c,0x0a}, {0xe7,0x0f,0x93,0x57}, {0x96,0xd2,0xb4,0xee}, {0x91,0x9e,0x1b,0x9b},
- {0xc5,0x4f,0x80,0xc0}, {0x20,0xa2,0x61,0xdc}, {0x4b,0x69,0x5a,0x77}, {0x1a,0x16,0x1c,0x12},
- {0xba,0x0a,0xe2,0x93}, {0x2a,0xe5,0xc0,0xa0}, {0xe0,0x43,0x3c,0x22}, {0x17,0x1d,0x12,0x1b},
- {0x0d,0x0b,0x0e,0x09}, {0xc7,0xad,0xf2,0x8b}, {0xa8,0xb9,0x2d,0xb6}, {0xa9,0xc8,0x14,0x1e},
- {0x19,0x85,0x57,0xf1}, {0x07,0x4c,0xaf,0x75}, {0xdd,0xbb,0xee,0x99}, {0x60,0xfd,0xa3,0x7f},
- {0x26,0x9f,0xf7,0x01}, {0xf5,0xbc,0x5c,0x72}, {0x3b,0xc5,0x44,0x66}, {0x7e,0x34,0x5b,0xfb},
- {0x29,0x76,0x8b,0x43}, {0xc6,0xdc,0xcb,0x23}, {0xfc,0x68,0xb6,0xed}, {0xf1,0x63,0xb8,0xe4},
- {0xdc,0xca,0xd7,0x31}, {0x85,0x10,0x42,0x63}, {0x22,0x40,0x13,0x97}, {0x11,0x20,0x84,0xc6},
- {0x24,0x7d,0x85,0x4a}, {0x3d,0xf8,0xd2,0xbb}, {0x32,0x11,0xae,0xf9}, {0xa1,0x6d,0xc7,0x29},
- {0x2f,0x4b,0x1d,0x9e}, {0x30,0xf3,0xdc,0xb2}, {0x52,0xec,0x0d,0x86}, {0xe3,0xd0,0x77,0xc1},
- {0x16,0x6c,0x2b,0xb3}, {0xb9,0x99,0xa9,0x70}, {0x48,0xfa,0x11,0x94}, {0x64,0x22,0x47,0xe9},
- {0x8c,0xc4,0xa8,0xfc}, {0x3f,0x1a,0xa0,0xf0}, {0x2c,0xd8,0x56,0x7d}, {0x90,0xef,0x22,0x33},
- {0x4e,0xc7,0x87,0x49}, {0xd1,0xc1,0xd9,0x38}, {0xa2,0xfe,0x8c,0xca}, {0x0b,0x36,0x98,0xd4},
- {0x81,0xcf,0xa6,0xf5}, {0xde,0x28,0xa5,0x7a}, {0x8e,0x26,0xda,0xb7}, {0xbf,0xa4,0x3f,0xad},
- {0x9d,0xe4,0x2c,0x3a}, {0x92,0x0d,0x50,0x78}, {0xcc,0x9b,0x6a,0x5f}, {0x46,0x62,0x54,0x7e},
- {0x13,0xc2,0xf6,0x8d}, {0xb8,0xe8,0x90,0xd8}, {0xf7,0x5e,0x2e,0x39}, {0xaf,0xf5,0x82,0xc3},
- {0x80,0xbe,0x9f,0x5d}, {0x93,0x7c,0x69,0xd0}, {0x2d,0xa9,0x6f,0xd5}, {0x12,0xb3,0xcf,0x25},
- {0x99,0x3b,0xc8,0xac}, {0x7d,0xa7,0x10,0x18}, {0x63,0x6e,0xe8,0x9c}, {0xbb,0x7b,0xdb,0x3b},
- {0x78,0x09,0xcd,0x26}, {0x18,0xf4,0x6e,0x59}, {0xb7,0x01,0xec,0x9a}, {0x9a,0xa8,0x83,0x4f},
- {0x6e,0x65,0xe6,0x95}, {0xe6,0x7e,0xaa,0xff}, {0xcf,0x08,0x21,0xbc}, {0xe8,0xe6,0xef,0x15},
- {0x9b,0xd9,0xba,0xe7}, {0x36,0xce,0x4a,0x6f}, {0x09,0xd4,0xea,0x9f}, {0x7c,0xd6,0x29,0xb0},
- {0xb2,0xaf,0x31,0xa4}, {0x23,0x31,0x2a,0x3f}, {0x94,0x30,0xc6,0xa5}, {0x66,0xc0,0x35,0xa2},
- {0xbc,0x37,0x74,0x4e}, {0xca,0xa6,0xfc,0x82}, {0xd0,0xb0,0xe0,0x90}, {0xd8,0x15,0x33,0xa7},
- {0x98,0x4a,0xf1,0x04}, {0xda,0xf7,0x41,0xec}, {0x50,0x0e,0x7f,0xcd}, {0xf6,0x2f,0x17,0x91},
- {0xd6,0x8d,0x76,0x4d}, {0xb0,0x4d,0x43,0xef}, {0x4d,0x54,0xcc,0xaa}, {0x04,0xdf,0xe4,0x96},
- {0xb5,0xe3,0x9e,0xd1}, {0x88,0x1b,0x4c,0x6a}, {0x1f,0xb8,0xc1,0x2c}, {0x51,0x7f,0x46,0x65},
- {0xea,0x04,0x9d,0x5e}, {0x35,0x5d,0x01,0x8c}, {0x74,0x73,0xfa,0x87}, {0x41,0x2e,0xfb,0x0b},
- {0x1d,0x5a,0xb3,0x67}, {0xd2,0x52,0x92,0xdb}, {0x56,0x33,0xe9,0x10}, {0x47,0x13,0x6d,0xd6},
- {0x61,0x8c,0x9a,0xd7}, {0x0c,0x7a,0x37,0xa1}, {0x14,0x8e,0x59,0xf8}, {0x3c,0x89,0xeb,0x13},
- {0x27,0xee,0xce,0xa9}, {0xc9,0x35,0xb7,0x61}, {0xe5,0xed,0xe1,0x1c}, {0xb1,0x3c,0x7a,0x47},
- {0xdf,0x59,0x9c,0xd2}, {0x73,0x3f,0x55,0xf2}, {0xce,0x79,0x18,0x14}, {0x37,0xbf,0x73,0xc7},
- {0xcd,0xea,0x53,0xf7}, {0xaa,0x5b,0x5f,0xfd}, {0x6f,0x14,0xdf,0x3d}, {0xdb,0x86,0x78,0x44},
- {0xf3,0x81,0xca,0xaf}, {0xc4,0x3e,0xb9,0x68}, {0x34,0x2c,0x38,0x24}, {0x40,0x5f,0xc2,0xa3},
- {0xc3,0x72,0x16,0x1d}, {0x25,0x0c,0xbc,0xe2}, {0x49,0x8b,0x28,0x3c}, {0x95,0x41,0xff,0x0d},
- {0x01,0x71,0x39,0xa8}, {0xb3,0xde,0x08,0x0c}, {0xe4,0x9c,0xd8,0xb4}, {0xc1,0x90,0x64,0x56},
- {0x84,0x61,0x7b,0xcb}, {0xb6,0x70,0xd5,0x32}, {0x5c,0x74,0x48,0x6c}, {0x57,0x42,0xd0,0xb8}
-};
-
-static UINT8 T8[256][4]=
-{
- {0xf4,0xa7,0x50,0x51}, {0x41,0x65,0x53,0x7e}, {0x17,0xa4,0xc3,0x1a}, {0x27,0x5e,0x96,0x3a},
- {0xab,0x6b,0xcb,0x3b}, {0x9d,0x45,0xf1,0x1f}, {0xfa,0x58,0xab,0xac}, {0xe3,0x03,0x93,0x4b},
- {0x30,0xfa,0x55,0x20}, {0x76,0x6d,0xf6,0xad}, {0xcc,0x76,0x91,0x88}, {0x02,0x4c,0x25,0xf5},
- {0xe5,0xd7,0xfc,0x4f}, {0x2a,0xcb,0xd7,0xc5}, {0x35,0x44,0x80,0x26}, {0x62,0xa3,0x8f,0xb5},
- {0xb1,0x5a,0x49,0xde}, {0xba,0x1b,0x67,0x25}, {0xea,0x0e,0x98,0x45}, {0xfe,0xc0,0xe1,0x5d},
- {0x2f,0x75,0x02,0xc3}, {0x4c,0xf0,0x12,0x81}, {0x46,0x97,0xa3,0x8d}, {0xd3,0xf9,0xc6,0x6b},
- {0x8f,0x5f,0xe7,0x03}, {0x92,0x9c,0x95,0x15}, {0x6d,0x7a,0xeb,0xbf}, {0x52,0x59,0xda,0x95},
- {0xbe,0x83,0x2d,0xd4}, {0x74,0x21,0xd3,0x58}, {0xe0,0x69,0x29,0x49}, {0xc9,0xc8,0x44,0x8e},
- {0xc2,0x89,0x6a,0x75}, {0x8e,0x79,0x78,0xf4}, {0x58,0x3e,0x6b,0x99}, {0xb9,0x71,0xdd,0x27},
- {0xe1,0x4f,0xb6,0xbe}, {0x88,0xad,0x17,0xf0}, {0x20,0xac,0x66,0xc9}, {0xce,0x3a,0xb4,0x7d},
- {0xdf,0x4a,0x18,0x63}, {0x1a,0x31,0x82,0xe5}, {0x51,0x33,0x60,0x97}, {0x53,0x7f,0x45,0x62},
- {0x64,0x77,0xe0,0xb1}, {0x6b,0xae,0x84,0xbb}, {0x81,0xa0,0x1c,0xfe}, {0x08,0x2b,0x94,0xf9},
- {0x48,0x68,0x58,0x70}, {0x45,0xfd,0x19,0x8f}, {0xde,0x6c,0x87,0x94}, {0x7b,0xf8,0xb7,0x52},
- {0x73,0xd3,0x23,0xab}, {0x4b,0x02,0xe2,0x72}, {0x1f,0x8f,0x57,0xe3}, {0x55,0xab,0x2a,0x66},
- {0xeb,0x28,0x07,0xb2}, {0xb5,0xc2,0x03,0x2f}, {0xc5,0x7b,0x9a,0x86}, {0x37,0x08,0xa5,0xd3},
- {0x28,0x87,0xf2,0x30}, {0xbf,0xa5,0xb2,0x23}, {0x03,0x6a,0xba,0x02}, {0x16,0x82,0x5c,0xed},
- {0xcf,0x1c,0x2b,0x8a}, {0x79,0xb4,0x92,0xa7}, {0x07,0xf2,0xf0,0xf3}, {0x69,0xe2,0xa1,0x4e},
- {0xda,0xf4,0xcd,0x65}, {0x05,0xbe,0xd5,0x06}, {0x34,0x62,0x1f,0xd1}, {0xa6,0xfe,0x8a,0xc4},
- {0x2e,0x53,0x9d,0x34}, {0xf3,0x55,0xa0,0xa2}, {0x8a,0xe1,0x32,0x05}, {0xf6,0xeb,0x75,0xa4},
- {0x83,0xec,0x39,0x0b}, {0x60,0xef,0xaa,0x40}, {0x71,0x9f,0x06,0x5e}, {0x6e,0x10,0x51,0xbd},
- {0x21,0x8a,0xf9,0x3e}, {0xdd,0x06,0x3d,0x96}, {0x3e,0x05,0xae,0xdd}, {0xe6,0xbd,0x46,0x4d},
- {0x54,0x8d,0xb5,0x91}, {0xc4,0x5d,0x05,0x71}, {0x06,0xd4,0x6f,0x04}, {0x50,0x15,0xff,0x60},
- {0x98,0xfb,0x24,0x19}, {0xbd,0xe9,0x97,0xd6}, {0x40,0x43,0xcc,0x89}, {0xd9,0x9e,0x77,0x67},
- {0xe8,0x42,0xbd,0xb0}, {0x89,0x8b,0x88,0x07}, {0x19,0x5b,0x38,0xe7}, {0xc8,0xee,0xdb,0x79},
- {0x7c,0x0a,0x47,0xa1}, {0x42,0x0f,0xe9,0x7c}, {0x84,0x1e,0xc9,0xf8}, {0x00,0x00,0x00,0x00},
- {0x80,0x86,0x83,0x09}, {0x2b,0xed,0x48,0x32}, {0x11,0x70,0xac,0x1e}, {0x5a,0x72,0x4e,0x6c},
- {0x0e,0xff,0xfb,0xfd}, {0x85,0x38,0x56,0x0f}, {0xae,0xd5,0x1e,0x3d}, {0x2d,0x39,0x27,0x36},
- {0x0f,0xd9,0x64,0x0a}, {0x5c,0xa6,0x21,0x68}, {0x5b,0x54,0xd1,0x9b}, {0x36,0x2e,0x3a,0x24},
- {0x0a,0x67,0xb1,0x0c}, {0x57,0xe7,0x0f,0x93}, {0xee,0x96,0xd2,0xb4}, {0x9b,0x91,0x9e,0x1b},
- {0xc0,0xc5,0x4f,0x80}, {0xdc,0x20,0xa2,0x61}, {0x77,0x4b,0x69,0x5a}, {0x12,0x1a,0x16,0x1c},
- {0x93,0xba,0x0a,0xe2}, {0xa0,0x2a,0xe5,0xc0}, {0x22,0xe0,0x43,0x3c}, {0x1b,0x17,0x1d,0x12},
- {0x09,0x0d,0x0b,0x0e}, {0x8b,0xc7,0xad,0xf2}, {0xb6,0xa8,0xb9,0x2d}, {0x1e,0xa9,0xc8,0x14},
- {0xf1,0x19,0x85,0x57}, {0x75,0x07,0x4c,0xaf}, {0x99,0xdd,0xbb,0xee}, {0x7f,0x60,0xfd,0xa3},
- {0x01,0x26,0x9f,0xf7}, {0x72,0xf5,0xbc,0x5c}, {0x66,0x3b,0xc5,0x44}, {0xfb,0x7e,0x34,0x5b},
- {0x43,0x29,0x76,0x8b}, {0x23,0xc6,0xdc,0xcb}, {0xed,0xfc,0x68,0xb6}, {0xe4,0xf1,0x63,0xb8},
- {0x31,0xdc,0xca,0xd7}, {0x63,0x85,0x10,0x42}, {0x97,0x22,0x40,0x13}, {0xc6,0x11,0x20,0x84},
- {0x4a,0x24,0x7d,0x85}, {0xbb,0x3d,0xf8,0xd2}, {0xf9,0x32,0x11,0xae}, {0x29,0xa1,0x6d,0xc7},
- {0x9e,0x2f,0x4b,0x1d}, {0xb2,0x30,0xf3,0xdc}, {0x86,0x52,0xec,0x0d}, {0xc1,0xe3,0xd0,0x77},
- {0xb3,0x16,0x6c,0x2b}, {0x70,0xb9,0x99,0xa9}, {0x94,0x48,0xfa,0x11}, {0xe9,0x64,0x22,0x47},
- {0xfc,0x8c,0xc4,0xa8}, {0xf0,0x3f,0x1a,0xa0}, {0x7d,0x2c,0xd8,0x56}, {0x33,0x90,0xef,0x22},
- {0x49,0x4e,0xc7,0x87}, {0x38,0xd1,0xc1,0xd9}, {0xca,0xa2,0xfe,0x8c}, {0xd4,0x0b,0x36,0x98},
- {0xf5,0x81,0xcf,0xa6}, {0x7a,0xde,0x28,0xa5}, {0xb7,0x8e,0x26,0xda}, {0xad,0xbf,0xa4,0x3f},
- {0x3a,0x9d,0xe4,0x2c}, {0x78,0x92,0x0d,0x50}, {0x5f,0xcc,0x9b,0x6a}, {0x7e,0x46,0x62,0x54},
- {0x8d,0x13,0xc2,0xf6}, {0xd8,0xb8,0xe8,0x90}, {0x39,0xf7,0x5e,0x2e}, {0xc3,0xaf,0xf5,0x82},
- {0x5d,0x80,0xbe,0x9f}, {0xd0,0x93,0x7c,0x69}, {0xd5,0x2d,0xa9,0x6f}, {0x25,0x12,0xb3,0xcf},
- {0xac,0x99,0x3b,0xc8}, {0x18,0x7d,0xa7,0x10}, {0x9c,0x63,0x6e,0xe8}, {0x3b,0xbb,0x7b,0xdb},
- {0x26,0x78,0x09,0xcd}, {0x59,0x18,0xf4,0x6e}, {0x9a,0xb7,0x01,0xec}, {0x4f,0x9a,0xa8,0x83},
- {0x95,0x6e,0x65,0xe6}, {0xff,0xe6,0x7e,0xaa}, {0xbc,0xcf,0x08,0x21}, {0x15,0xe8,0xe6,0xef},
- {0xe7,0x9b,0xd9,0xba}, {0x6f,0x36,0xce,0x4a}, {0x9f,0x09,0xd4,0xea}, {0xb0,0x7c,0xd6,0x29},
- {0xa4,0xb2,0xaf,0x31}, {0x3f,0x23,0x31,0x2a}, {0xa5,0x94,0x30,0xc6}, {0xa2,0x66,0xc0,0x35},
- {0x4e,0xbc,0x37,0x74}, {0x82,0xca,0xa6,0xfc}, {0x90,0xd0,0xb0,0xe0}, {0xa7,0xd8,0x15,0x33},
- {0x04,0x98,0x4a,0xf1}, {0xec,0xda,0xf7,0x41}, {0xcd,0x50,0x0e,0x7f}, {0x91,0xf6,0x2f,0x17},
- {0x4d,0xd6,0x8d,0x76}, {0xef,0xb0,0x4d,0x43}, {0xaa,0x4d,0x54,0xcc}, {0x96,0x04,0xdf,0xe4},
- {0xd1,0xb5,0xe3,0x9e}, {0x6a,0x88,0x1b,0x4c}, {0x2c,0x1f,0xb8,0xc1}, {0x65,0x51,0x7f,0x46},
- {0x5e,0xea,0x04,0x9d}, {0x8c,0x35,0x5d,0x01}, {0x87,0x74,0x73,0xfa}, {0x0b,0x41,0x2e,0xfb},
- {0x67,0x1d,0x5a,0xb3}, {0xdb,0xd2,0x52,0x92}, {0x10,0x56,0x33,0xe9}, {0xd6,0x47,0x13,0x6d},
- {0xd7,0x61,0x8c,0x9a}, {0xa1,0x0c,0x7a,0x37}, {0xf8,0x14,0x8e,0x59}, {0x13,0x3c,0x89,0xeb},
- {0xa9,0x27,0xee,0xce}, {0x61,0xc9,0x35,0xb7}, {0x1c,0xe5,0xed,0xe1}, {0x47,0xb1,0x3c,0x7a},
- {0xd2,0xdf,0x59,0x9c}, {0xf2,0x73,0x3f,0x55}, {0x14,0xce,0x79,0x18}, {0xc7,0x37,0xbf,0x73},
- {0xf7,0xcd,0xea,0x53}, {0xfd,0xaa,0x5b,0x5f}, {0x3d,0x6f,0x14,0xdf}, {0x44,0xdb,0x86,0x78},
- {0xaf,0xf3,0x81,0xca}, {0x68,0xc4,0x3e,0xb9}, {0x24,0x34,0x2c,0x38}, {0xa3,0x40,0x5f,0xc2},
- {0x1d,0xc3,0x72,0x16}, {0xe2,0x25,0x0c,0xbc}, {0x3c,0x49,0x8b,0x28}, {0x0d,0x95,0x41,0xff},
- {0xa8,0x01,0x71,0x39}, {0x0c,0xb3,0xde,0x08}, {0xb4,0xe4,0x9c,0xd8}, {0x56,0xc1,0x90,0x64},
- {0xcb,0x84,0x61,0x7b}, {0x32,0xb6,0x70,0xd5}, {0x6c,0x5c,0x74,0x48}, {0xb8,0x57,0x42,0xd0}
-};
-
-static UINT8 S5[256]=
-{
- 0x52,0x09,0x6a,0xd5,
- 0x30,0x36,0xa5,0x38,
- 0xbf,0x40,0xa3,0x9e,
- 0x81,0xf3,0xd7,0xfb,
- 0x7c,0xe3,0x39,0x82,
- 0x9b,0x2f,0xff,0x87,
- 0x34,0x8e,0x43,0x44,
- 0xc4,0xde,0xe9,0xcb,
- 0x54,0x7b,0x94,0x32,
- 0xa6,0xc2,0x23,0x3d,
- 0xee,0x4c,0x95,0x0b,
- 0x42,0xfa,0xc3,0x4e,
- 0x08,0x2e,0xa1,0x66,
- 0x28,0xd9,0x24,0xb2,
- 0x76,0x5b,0xa2,0x49,
- 0x6d,0x8b,0xd1,0x25,
- 0x72,0xf8,0xf6,0x64,
- 0x86,0x68,0x98,0x16,
- 0xd4,0xa4,0x5c,0xcc,
- 0x5d,0x65,0xb6,0x92,
- 0x6c,0x70,0x48,0x50,
- 0xfd,0xed,0xb9,0xda,
- 0x5e,0x15,0x46,0x57,
- 0xa7,0x8d,0x9d,0x84,
- 0x90,0xd8,0xab,0x00,
- 0x8c,0xbc,0xd3,0x0a,
- 0xf7,0xe4,0x58,0x05,
- 0xb8,0xb3,0x45,0x06,
- 0xd0,0x2c,0x1e,0x8f,
- 0xca,0x3f,0x0f,0x02,
- 0xc1,0xaf,0xbd,0x03,
- 0x01,0x13,0x8a,0x6b,
- 0x3a,0x91,0x11,0x41,
- 0x4f,0x67,0xdc,0xea,
- 0x97,0xf2,0xcf,0xce,
- 0xf0,0xb4,0xe6,0x73,
- 0x96,0xac,0x74,0x22,
- 0xe7,0xad,0x35,0x85,
- 0xe2,0xf9,0x37,0xe8,
- 0x1c,0x75,0xdf,0x6e,
- 0x47,0xf1,0x1a,0x71,
- 0x1d,0x29,0xc5,0x89,
- 0x6f,0xb7,0x62,0x0e,
- 0xaa,0x18,0xbe,0x1b,
- 0xfc,0x56,0x3e,0x4b,
- 0xc6,0xd2,0x79,0x20,
- 0x9a,0xdb,0xc0,0xfe,
- 0x78,0xcd,0x5a,0xf4,
- 0x1f,0xdd,0xa8,0x33,
- 0x88,0x07,0xc7,0x31,
- 0xb1,0x12,0x10,0x59,
- 0x27,0x80,0xec,0x5f,
- 0x60,0x51,0x7f,0xa9,
- 0x19,0xb5,0x4a,0x0d,
- 0x2d,0xe5,0x7a,0x9f,
- 0x93,0xc9,0x9c,0xef,
- 0xa0,0xe0,0x3b,0x4d,
- 0xae,0x2a,0xf5,0xb0,
- 0xc8,0xeb,0xbb,0x3c,
- 0x83,0x53,0x99,0x61,
- 0x17,0x2b,0x04,0x7e,
- 0xba,0x77,0xd6,0x26,
- 0xe1,0x69,0x14,0x63,
- 0x55,0x21,0x0c,0x7d
-};
-
-static UINT8 U1[256][4]=
-{
- {0x00,0x00,0x00,0x00}, {0x0e,0x09,0x0d,0x0b}, {0x1c,0x12,0x1a,0x16}, {0x12,0x1b,0x17,0x1d},
- {0x38,0x24,0x34,0x2c}, {0x36,0x2d,0x39,0x27}, {0x24,0x36,0x2e,0x3a}, {0x2a,0x3f,0x23,0x31},
- {0x70,0x48,0x68,0x58}, {0x7e,0x41,0x65,0x53}, {0x6c,0x5a,0x72,0x4e}, {0x62,0x53,0x7f,0x45},
- {0x48,0x6c,0x5c,0x74}, {0x46,0x65,0x51,0x7f}, {0x54,0x7e,0x46,0x62}, {0x5a,0x77,0x4b,0x69},
- {0xe0,0x90,0xd0,0xb0}, {0xee,0x99,0xdd,0xbb}, {0xfc,0x82,0xca,0xa6}, {0xf2,0x8b,0xc7,0xad},
- {0xd8,0xb4,0xe4,0x9c}, {0xd6,0xbd,0xe9,0x97}, {0xc4,0xa6,0xfe,0x8a}, {0xca,0xaf,0xf3,0x81},
- {0x90,0xd8,0xb8,0xe8}, {0x9e,0xd1,0xb5,0xe3}, {0x8c,0xca,0xa2,0xfe}, {0x82,0xc3,0xaf,0xf5},
- {0xa8,0xfc,0x8c,0xc4}, {0xa6,0xf5,0x81,0xcf}, {0xb4,0xee,0x96,0xd2}, {0xba,0xe7,0x9b,0xd9},
- {0xdb,0x3b,0xbb,0x7b}, {0xd5,0x32,0xb6,0x70}, {0xc7,0x29,0xa1,0x6d}, {0xc9,0x20,0xac,0x66},
- {0xe3,0x1f,0x8f,0x57}, {0xed,0x16,0x82,0x5c}, {0xff,0x0d,0x95,0x41}, {0xf1,0x04,0x98,0x4a},
- {0xab,0x73,0xd3,0x23}, {0xa5,0x7a,0xde,0x28}, {0xb7,0x61,0xc9,0x35}, {0xb9,0x68,0xc4,0x3e},
- {0x93,0x57,0xe7,0x0f}, {0x9d,0x5e,0xea,0x04}, {0x8f,0x45,0xfd,0x19}, {0x81,0x4c,0xf0,0x12},
- {0x3b,0xab,0x6b,0xcb}, {0x35,0xa2,0x66,0xc0}, {0x27,0xb9,0x71,0xdd}, {0x29,0xb0,0x7c,0xd6},
- {0x03,0x8f,0x5f,0xe7}, {0x0d,0x86,0x52,0xec}, {0x1f,0x9d,0x45,0xf1}, {0x11,0x94,0x48,0xfa},
- {0x4b,0xe3,0x03,0x93}, {0x45,0xea,0x0e,0x98}, {0x57,0xf1,0x19,0x85}, {0x59,0xf8,0x14,0x8e},
- {0x73,0xc7,0x37,0xbf}, {0x7d,0xce,0x3a,0xb4}, {0x6f,0xd5,0x2d,0xa9}, {0x61,0xdc,0x20,0xa2},
- {0xad,0x76,0x6d,0xf6}, {0xa3,0x7f,0x60,0xfd}, {0xb1,0x64,0x77,0xe0}, {0xbf,0x6d,0x7a,0xeb},
- {0x95,0x52,0x59,0xda}, {0x9b,0x5b,0x54,0xd1}, {0x89,0x40,0x43,0xcc}, {0x87,0x49,0x4e,0xc7},
- {0xdd,0x3e,0x05,0xae}, {0xd3,0x37,0x08,0xa5}, {0xc1,0x2c,0x1f,0xb8}, {0xcf,0x25,0x12,0xb3},
- {0xe5,0x1a,0x31,0x82}, {0xeb,0x13,0x3c,0x89}, {0xf9,0x08,0x2b,0x94}, {0xf7,0x01,0x26,0x9f},
- {0x4d,0xe6,0xbd,0x46}, {0x43,0xef,0xb0,0x4d}, {0x51,0xf4,0xa7,0x50}, {0x5f,0xfd,0xaa,0x5b},
- {0x75,0xc2,0x89,0x6a}, {0x7b,0xcb,0x84,0x61}, {0x69,0xd0,0x93,0x7c}, {0x67,0xd9,0x9e,0x77},
- {0x3d,0xae,0xd5,0x1e}, {0x33,0xa7,0xd8,0x15}, {0x21,0xbc,0xcf,0x08}, {0x2f,0xb5,0xc2,0x03},
- {0x05,0x8a,0xe1,0x32}, {0x0b,0x83,0xec,0x39}, {0x19,0x98,0xfb,0x24}, {0x17,0x91,0xf6,0x2f},
- {0x76,0x4d,0xd6,0x8d}, {0x78,0x44,0xdb,0x86}, {0x6a,0x5f,0xcc,0x9b}, {0x64,0x56,0xc1,0x90},
- {0x4e,0x69,0xe2,0xa1}, {0x40,0x60,0xef,0xaa}, {0x52,0x7b,0xf8,0xb7}, {0x5c,0x72,0xf5,0xbc},
- {0x06,0x05,0xbe,0xd5}, {0x08,0x0c,0xb3,0xde}, {0x1a,0x17,0xa4,0xc3}, {0x14,0x1e,0xa9,0xc8},
- {0x3e,0x21,0x8a,0xf9}, {0x30,0x28,0x87,0xf2}, {0x22,0x33,0x90,0xef}, {0x2c,0x3a,0x9d,0xe4},
- {0x96,0xdd,0x06,0x3d}, {0x98,0xd4,0x0b,0x36}, {0x8a,0xcf,0x1c,0x2b}, {0x84,0xc6,0x11,0x20},
- {0xae,0xf9,0x32,0x11}, {0xa0,0xf0,0x3f,0x1a}, {0xb2,0xeb,0x28,0x07}, {0xbc,0xe2,0x25,0x0c},
- {0xe6,0x95,0x6e,0x65}, {0xe8,0x9c,0x63,0x6e}, {0xfa,0x87,0x74,0x73}, {0xf4,0x8e,0x79,0x78},
- {0xde,0xb1,0x5a,0x49}, {0xd0,0xb8,0x57,0x42}, {0xc2,0xa3,0x40,0x5f}, {0xcc,0xaa,0x4d,0x54},
- {0x41,0xec,0xda,0xf7}, {0x4f,0xe5,0xd7,0xfc}, {0x5d,0xfe,0xc0,0xe1}, {0x53,0xf7,0xcd,0xea},
- {0x79,0xc8,0xee,0xdb}, {0x77,0xc1,0xe3,0xd0}, {0x65,0xda,0xf4,0xcd}, {0x6b,0xd3,0xf9,0xc6},
- {0x31,0xa4,0xb2,0xaf}, {0x3f,0xad,0xbf,0xa4}, {0x2d,0xb6,0xa8,0xb9}, {0x23,0xbf,0xa5,0xb2},
- {0x09,0x80,0x86,0x83}, {0x07,0x89,0x8b,0x88}, {0x15,0x92,0x9c,0x95}, {0x1b,0x9b,0x91,0x9e},
- {0xa1,0x7c,0x0a,0x47}, {0xaf,0x75,0x07,0x4c}, {0xbd,0x6e,0x10,0x51}, {0xb3,0x67,0x1d,0x5a},
- {0x99,0x58,0x3e,0x6b}, {0x97,0x51,0x33,0x60}, {0x85,0x4a,0x24,0x7d}, {0x8b,0x43,0x29,0x76},
- {0xd1,0x34,0x62,0x1f}, {0xdf,0x3d,0x6f,0x14}, {0xcd,0x26,0x78,0x09}, {0xc3,0x2f,0x75,0x02},
- {0xe9,0x10,0x56,0x33}, {0xe7,0x19,0x5b,0x38}, {0xf5,0x02,0x4c,0x25}, {0xfb,0x0b,0x41,0x2e},
- {0x9a,0xd7,0x61,0x8c}, {0x94,0xde,0x6c,0x87}, {0x86,0xc5,0x7b,0x9a}, {0x88,0xcc,0x76,0x91},
- {0xa2,0xf3,0x55,0xa0}, {0xac,0xfa,0x58,0xab}, {0xbe,0xe1,0x4f,0xb6}, {0xb0,0xe8,0x42,0xbd},
- {0xea,0x9f,0x09,0xd4}, {0xe4,0x96,0x04,0xdf}, {0xf6,0x8d,0x13,0xc2}, {0xf8,0x84,0x1e,0xc9},
- {0xd2,0xbb,0x3d,0xf8}, {0xdc,0xb2,0x30,0xf3}, {0xce,0xa9,0x27,0xee}, {0xc0,0xa0,0x2a,0xe5},
- {0x7a,0x47,0xb1,0x3c}, {0x74,0x4e,0xbc,0x37}, {0x66,0x55,0xab,0x2a}, {0x68,0x5c,0xa6,0x21},
- {0x42,0x63,0x85,0x10}, {0x4c,0x6a,0x88,0x1b}, {0x5e,0x71,0x9f,0x06}, {0x50,0x78,0x92,0x0d},
- {0x0a,0x0f,0xd9,0x64}, {0x04,0x06,0xd4,0x6f}, {0x16,0x1d,0xc3,0x72}, {0x18,0x14,0xce,0x79},
- {0x32,0x2b,0xed,0x48}, {0x3c,0x22,0xe0,0x43}, {0x2e,0x39,0xf7,0x5e}, {0x20,0x30,0xfa,0x55},
- {0xec,0x9a,0xb7,0x01}, {0xe2,0x93,0xba,0x0a}, {0xf0,0x88,0xad,0x17}, {0xfe,0x81,0xa0,0x1c},
- {0xd4,0xbe,0x83,0x2d}, {0xda,0xb7,0x8e,0x26}, {0xc8,0xac,0x99,0x3b}, {0xc6,0xa5,0x94,0x30},
- {0x9c,0xd2,0xdf,0x59}, {0x92,0xdb,0xd2,0x52}, {0x80,0xc0,0xc5,0x4f}, {0x8e,0xc9,0xc8,0x44},
- {0xa4,0xf6,0xeb,0x75}, {0xaa,0xff,0xe6,0x7e}, {0xb8,0xe4,0xf1,0x63}, {0xb6,0xed,0xfc,0x68},
- {0x0c,0x0a,0x67,0xb1}, {0x02,0x03,0x6a,0xba}, {0x10,0x18,0x7d,0xa7}, {0x1e,0x11,0x70,0xac},
- {0x34,0x2e,0x53,0x9d}, {0x3a,0x27,0x5e,0x96}, {0x28,0x3c,0x49,0x8b}, {0x26,0x35,0x44,0x80},
- {0x7c,0x42,0x0f,0xe9}, {0x72,0x4b,0x02,0xe2}, {0x60,0x50,0x15,0xff}, {0x6e,0x59,0x18,0xf4},
- {0x44,0x66,0x3b,0xc5}, {0x4a,0x6f,0x36,0xce}, {0x58,0x74,0x21,0xd3}, {0x56,0x7d,0x2c,0xd8},
- {0x37,0xa1,0x0c,0x7a}, {0x39,0xa8,0x01,0x71}, {0x2b,0xb3,0x16,0x6c}, {0x25,0xba,0x1b,0x67},
- {0x0f,0x85,0x38,0x56}, {0x01,0x8c,0x35,0x5d}, {0x13,0x97,0x22,0x40}, {0x1d,0x9e,0x2f,0x4b},
- {0x47,0xe9,0x64,0x22}, {0x49,0xe0,0x69,0x29}, {0x5b,0xfb,0x7e,0x34}, {0x55,0xf2,0x73,0x3f},
- {0x7f,0xcd,0x50,0x0e}, {0x71,0xc4,0x5d,0x05}, {0x63,0xdf,0x4a,0x18}, {0x6d,0xd6,0x47,0x13},
- {0xd7,0x31,0xdc,0xca}, {0xd9,0x38,0xd1,0xc1}, {0xcb,0x23,0xc6,0xdc}, {0xc5,0x2a,0xcb,0xd7},
- {0xef,0x15,0xe8,0xe6}, {0xe1,0x1c,0xe5,0xed}, {0xf3,0x07,0xf2,0xf0}, {0xfd,0x0e,0xff,0xfb},
- {0xa7,0x79,0xb4,0x92}, {0xa9,0x70,0xb9,0x99}, {0xbb,0x6b,0xae,0x84}, {0xb5,0x62,0xa3,0x8f},
- {0x9f,0x5d,0x80,0xbe}, {0x91,0x54,0x8d,0xb5}, {0x83,0x4f,0x9a,0xa8}, {0x8d,0x46,0x97,0xa3}
-};
-
-static UINT8 U2[256][4]=
-{
- {0x00,0x00,0x00,0x00}, {0x0b,0x0e,0x09,0x0d}, {0x16,0x1c,0x12,0x1a}, {0x1d,0x12,0x1b,0x17},
- {0x2c,0x38,0x24,0x34}, {0x27,0x36,0x2d,0x39}, {0x3a,0x24,0x36,0x2e}, {0x31,0x2a,0x3f,0x23},
- {0x58,0x70,0x48,0x68}, {0x53,0x7e,0x41,0x65}, {0x4e,0x6c,0x5a,0x72}, {0x45,0x62,0x53,0x7f},
- {0x74,0x48,0x6c,0x5c}, {0x7f,0x46,0x65,0x51}, {0x62,0x54,0x7e,0x46}, {0x69,0x5a,0x77,0x4b},
- {0xb0,0xe0,0x90,0xd0}, {0xbb,0xee,0x99,0xdd}, {0xa6,0xfc,0x82,0xca}, {0xad,0xf2,0x8b,0xc7},
- {0x9c,0xd8,0xb4,0xe4}, {0x97,0xd6,0xbd,0xe9}, {0x8a,0xc4,0xa6,0xfe}, {0x81,0xca,0xaf,0xf3},
- {0xe8,0x90,0xd8,0xb8}, {0xe3,0x9e,0xd1,0xb5}, {0xfe,0x8c,0xca,0xa2}, {0xf5,0x82,0xc3,0xaf},
- {0xc4,0xa8,0xfc,0x8c}, {0xcf,0xa6,0xf5,0x81}, {0xd2,0xb4,0xee,0x96}, {0xd9,0xba,0xe7,0x9b},
- {0x7b,0xdb,0x3b,0xbb}, {0x70,0xd5,0x32,0xb6}, {0x6d,0xc7,0x29,0xa1}, {0x66,0xc9,0x20,0xac},
- {0x57,0xe3,0x1f,0x8f}, {0x5c,0xed,0x16,0x82}, {0x41,0xff,0x0d,0x95}, {0x4a,0xf1,0x04,0x98},
- {0x23,0xab,0x73,0xd3}, {0x28,0xa5,0x7a,0xde}, {0x35,0xb7,0x61,0xc9}, {0x3e,0xb9,0x68,0xc4},
- {0x0f,0x93,0x57,0xe7}, {0x04,0x9d,0x5e,0xea}, {0x19,0x8f,0x45,0xfd}, {0x12,0x81,0x4c,0xf0},
- {0xcb,0x3b,0xab,0x6b}, {0xc0,0x35,0xa2,0x66}, {0xdd,0x27,0xb9,0x71}, {0xd6,0x29,0xb0,0x7c},
- {0xe7,0x03,0x8f,0x5f}, {0xec,0x0d,0x86,0x52}, {0xf1,0x1f,0x9d,0x45}, {0xfa,0x11,0x94,0x48},
- {0x93,0x4b,0xe3,0x03}, {0x98,0x45,0xea,0x0e}, {0x85,0x57,0xf1,0x19}, {0x8e,0x59,0xf8,0x14},
- {0xbf,0x73,0xc7,0x37}, {0xb4,0x7d,0xce,0x3a}, {0xa9,0x6f,0xd5,0x2d}, {0xa2,0x61,0xdc,0x20},
- {0xf6,0xad,0x76,0x6d}, {0xfd,0xa3,0x7f,0x60}, {0xe0,0xb1,0x64,0x77}, {0xeb,0xbf,0x6d,0x7a},
- {0xda,0x95,0x52,0x59}, {0xd1,0x9b,0x5b,0x54}, {0xcc,0x89,0x40,0x43}, {0xc7,0x87,0x49,0x4e},
- {0xae,0xdd,0x3e,0x05}, {0xa5,0xd3,0x37,0x08}, {0xb8,0xc1,0x2c,0x1f}, {0xb3,0xcf,0x25,0x12},
- {0x82,0xe5,0x1a,0x31}, {0x89,0xeb,0x13,0x3c}, {0x94,0xf9,0x08,0x2b}, {0x9f,0xf7,0x01,0x26},
- {0x46,0x4d,0xe6,0xbd}, {0x4d,0x43,0xef,0xb0}, {0x50,0x51,0xf4,0xa7}, {0x5b,0x5f,0xfd,0xaa},
- {0x6a,0x75,0xc2,0x89}, {0x61,0x7b,0xcb,0x84}, {0x7c,0x69,0xd0,0x93}, {0x77,0x67,0xd9,0x9e},
- {0x1e,0x3d,0xae,0xd5}, {0x15,0x33,0xa7,0xd8}, {0x08,0x21,0xbc,0xcf}, {0x03,0x2f,0xb5,0xc2},
- {0x32,0x05,0x8a,0xe1}, {0x39,0x0b,0x83,0xec}, {0x24,0x19,0x98,0xfb}, {0x2f,0x17,0x91,0xf6},
- {0x8d,0x76,0x4d,0xd6}, {0x86,0x78,0x44,0xdb}, {0x9b,0x6a,0x5f,0xcc}, {0x90,0x64,0x56,0xc1},
- {0xa1,0x4e,0x69,0xe2}, {0xaa,0x40,0x60,0xef}, {0xb7,0x52,0x7b,0xf8}, {0xbc,0x5c,0x72,0xf5},
- {0xd5,0x06,0x05,0xbe}, {0xde,0x08,0x0c,0xb3}, {0xc3,0x1a,0x17,0xa4}, {0xc8,0x14,0x1e,0xa9},
- {0xf9,0x3e,0x21,0x8a}, {0xf2,0x30,0x28,0x87}, {0xef,0x22,0x33,0x90}, {0xe4,0x2c,0x3a,0x9d},
- {0x3d,0x96,0xdd,0x06}, {0x36,0x98,0xd4,0x0b}, {0x2b,0x8a,0xcf,0x1c}, {0x20,0x84,0xc6,0x11},
- {0x11,0xae,0xf9,0x32}, {0x1a,0xa0,0xf0,0x3f}, {0x07,0xb2,0xeb,0x28}, {0x0c,0xbc,0xe2,0x25},
- {0x65,0xe6,0x95,0x6e}, {0x6e,0xe8,0x9c,0x63}, {0x73,0xfa,0x87,0x74}, {0x78,0xf4,0x8e,0x79},
- {0x49,0xde,0xb1,0x5a}, {0x42,0xd0,0xb8,0x57}, {0x5f,0xc2,0xa3,0x40}, {0x54,0xcc,0xaa,0x4d},
- {0xf7,0x41,0xec,0xda}, {0xfc,0x4f,0xe5,0xd7}, {0xe1,0x5d,0xfe,0xc0}, {0xea,0x53,0xf7,0xcd},
- {0xdb,0x79,0xc8,0xee}, {0xd0,0x77,0xc1,0xe3}, {0xcd,0x65,0xda,0xf4}, {0xc6,0x6b,0xd3,0xf9},
- {0xaf,0x31,0xa4,0xb2}, {0xa4,0x3f,0xad,0xbf}, {0xb9,0x2d,0xb6,0xa8}, {0xb2,0x23,0xbf,0xa5},
- {0x83,0x09,0x80,0x86}, {0x88,0x07,0x89,0x8b}, {0x95,0x15,0x92,0x9c}, {0x9e,0x1b,0x9b,0x91},
- {0x47,0xa1,0x7c,0x0a}, {0x4c,0xaf,0x75,0x07}, {0x51,0xbd,0x6e,0x10}, {0x5a,0xb3,0x67,0x1d},
- {0x6b,0x99,0x58,0x3e}, {0x60,0x97,0x51,0x33}, {0x7d,0x85,0x4a,0x24}, {0x76,0x8b,0x43,0x29},
- {0x1f,0xd1,0x34,0x62}, {0x14,0xdf,0x3d,0x6f}, {0x09,0xcd,0x26,0x78}, {0x02,0xc3,0x2f,0x75},
- {0x33,0xe9,0x10,0x56}, {0x38,0xe7,0x19,0x5b}, {0x25,0xf5,0x02,0x4c}, {0x2e,0xfb,0x0b,0x41},
- {0x8c,0x9a,0xd7,0x61}, {0x87,0x94,0xde,0x6c}, {0x9a,0x86,0xc5,0x7b}, {0x91,0x88,0xcc,0x76},
- {0xa0,0xa2,0xf3,0x55}, {0xab,0xac,0xfa,0x58}, {0xb6,0xbe,0xe1,0x4f}, {0xbd,0xb0,0xe8,0x42},
- {0xd4,0xea,0x9f,0x09}, {0xdf,0xe4,0x96,0x04}, {0xc2,0xf6,0x8d,0x13}, {0xc9,0xf8,0x84,0x1e},
- {0xf8,0xd2,0xbb,0x3d}, {0xf3,0xdc,0xb2,0x30}, {0xee,0xce,0xa9,0x27}, {0xe5,0xc0,0xa0,0x2a},
- {0x3c,0x7a,0x47,0xb1}, {0x37,0x74,0x4e,0xbc}, {0x2a,0x66,0x55,0xab}, {0x21,0x68,0x5c,0xa6},
- {0x10,0x42,0x63,0x85}, {0x1b,0x4c,0x6a,0x88}, {0x06,0x5e,0x71,0x9f}, {0x0d,0x50,0x78,0x92},
- {0x64,0x0a,0x0f,0xd9}, {0x6f,0x04,0x06,0xd4}, {0x72,0x16,0x1d,0xc3}, {0x79,0x18,0x14,0xce},
- {0x48,0x32,0x2b,0xed}, {0x43,0x3c,0x22,0xe0}, {0x5e,0x2e,0x39,0xf7}, {0x55,0x20,0x30,0xfa},
- {0x01,0xec,0x9a,0xb7}, {0x0a,0xe2,0x93,0xba}, {0x17,0xf0,0x88,0xad}, {0x1c,0xfe,0x81,0xa0},
- {0x2d,0xd4,0xbe,0x83}, {0x26,0xda,0xb7,0x8e}, {0x3b,0xc8,0xac,0x99}, {0x30,0xc6,0xa5,0x94},
- {0x59,0x9c,0xd2,0xdf}, {0x52,0x92,0xdb,0xd2}, {0x4f,0x80,0xc0,0xc5}, {0x44,0x8e,0xc9,0xc8},
- {0x75,0xa4,0xf6,0xeb}, {0x7e,0xaa,0xff,0xe6}, {0x63,0xb8,0xe4,0xf1}, {0x68,0xb6,0xed,0xfc},
- {0xb1,0x0c,0x0a,0x67}, {0xba,0x02,0x03,0x6a}, {0xa7,0x10,0x18,0x7d}, {0xac,0x1e,0x11,0x70},
- {0x9d,0x34,0x2e,0x53}, {0x96,0x3a,0x27,0x5e}, {0x8b,0x28,0x3c,0x49}, {0x80,0x26,0x35,0x44},
- {0xe9,0x7c,0x42,0x0f}, {0xe2,0x72,0x4b,0x02}, {0xff,0x60,0x50,0x15}, {0xf4,0x6e,0x59,0x18},
- {0xc5,0x44,0x66,0x3b}, {0xce,0x4a,0x6f,0x36}, {0xd3,0x58,0x74,0x21}, {0xd8,0x56,0x7d,0x2c},
- {0x7a,0x37,0xa1,0x0c}, {0x71,0x39,0xa8,0x01}, {0x6c,0x2b,0xb3,0x16}, {0x67,0x25,0xba,0x1b},
- {0x56,0x0f,0x85,0x38}, {0x5d,0x01,0x8c,0x35}, {0x40,0x13,0x97,0x22}, {0x4b,0x1d,0x9e,0x2f},
- {0x22,0x47,0xe9,0x64}, {0x29,0x49,0xe0,0x69}, {0x34,0x5b,0xfb,0x7e}, {0x3f,0x55,0xf2,0x73},
- {0x0e,0x7f,0xcd,0x50}, {0x05,0x71,0xc4,0x5d}, {0x18,0x63,0xdf,0x4a}, {0x13,0x6d,0xd6,0x47},
- {0xca,0xd7,0x31,0xdc}, {0xc1,0xd9,0x38,0xd1}, {0xdc,0xcb,0x23,0xc6}, {0xd7,0xc5,0x2a,0xcb},
- {0xe6,0xef,0x15,0xe8}, {0xed,0xe1,0x1c,0xe5}, {0xf0,0xf3,0x07,0xf2}, {0xfb,0xfd,0x0e,0xff},
- {0x92,0xa7,0x79,0xb4}, {0x99,0xa9,0x70,0xb9}, {0x84,0xbb,0x6b,0xae}, {0x8f,0xb5,0x62,0xa3},
- {0xbe,0x9f,0x5d,0x80}, {0xb5,0x91,0x54,0x8d}, {0xa8,0x83,0x4f,0x9a}, {0xa3,0x8d,0x46,0x97}
-};
-
-static UINT8 U3[256][4]=
-{
- {0x00,0x00,0x00,0x00}, {0x0d,0x0b,0x0e,0x09}, {0x1a,0x16,0x1c,0x12}, {0x17,0x1d,0x12,0x1b},
- {0x34,0x2c,0x38,0x24}, {0x39,0x27,0x36,0x2d}, {0x2e,0x3a,0x24,0x36}, {0x23,0x31,0x2a,0x3f},
- {0x68,0x58,0x70,0x48}, {0x65,0x53,0x7e,0x41}, {0x72,0x4e,0x6c,0x5a}, {0x7f,0x45,0x62,0x53},
- {0x5c,0x74,0x48,0x6c}, {0x51,0x7f,0x46,0x65}, {0x46,0x62,0x54,0x7e}, {0x4b,0x69,0x5a,0x77},
- {0xd0,0xb0,0xe0,0x90}, {0xdd,0xbb,0xee,0x99}, {0xca,0xa6,0xfc,0x82}, {0xc7,0xad,0xf2,0x8b},
- {0xe4,0x9c,0xd8,0xb4}, {0xe9,0x97,0xd6,0xbd}, {0xfe,0x8a,0xc4,0xa6}, {0xf3,0x81,0xca,0xaf},
- {0xb8,0xe8,0x90,0xd8}, {0xb5,0xe3,0x9e,0xd1}, {0xa2,0xfe,0x8c,0xca}, {0xaf,0xf5,0x82,0xc3},
- {0x8c,0xc4,0xa8,0xfc}, {0x81,0xcf,0xa6,0xf5}, {0x96,0xd2,0xb4,0xee}, {0x9b,0xd9,0xba,0xe7},
- {0xbb,0x7b,0xdb,0x3b}, {0xb6,0x70,0xd5,0x32}, {0xa1,0x6d,0xc7,0x29}, {0xac,0x66,0xc9,0x20},
- {0x8f,0x57,0xe3,0x1f}, {0x82,0x5c,0xed,0x16}, {0x95,0x41,0xff,0x0d}, {0x98,0x4a,0xf1,0x04},
- {0xd3,0x23,0xab,0x73}, {0xde,0x28,0xa5,0x7a}, {0xc9,0x35,0xb7,0x61}, {0xc4,0x3e,0xb9,0x68},
- {0xe7,0x0f,0x93,0x57}, {0xea,0x04,0x9d,0x5e}, {0xfd,0x19,0x8f,0x45}, {0xf0,0x12,0x81,0x4c},
- {0x6b,0xcb,0x3b,0xab}, {0x66,0xc0,0x35,0xa2}, {0x71,0xdd,0x27,0xb9}, {0x7c,0xd6,0x29,0xb0},
- {0x5f,0xe7,0x03,0x8f}, {0x52,0xec,0x0d,0x86}, {0x45,0xf1,0x1f,0x9d}, {0x48,0xfa,0x11,0x94},
- {0x03,0x93,0x4b,0xe3}, {0x0e,0x98,0x45,0xea}, {0x19,0x85,0x57,0xf1}, {0x14,0x8e,0x59,0xf8},
- {0x37,0xbf,0x73,0xc7}, {0x3a,0xb4,0x7d,0xce}, {0x2d,0xa9,0x6f,0xd5}, {0x20,0xa2,0x61,0xdc},
- {0x6d,0xf6,0xad,0x76}, {0x60,0xfd,0xa3,0x7f}, {0x77,0xe0,0xb1,0x64}, {0x7a,0xeb,0xbf,0x6d},
- {0x59,0xda,0x95,0x52}, {0x54,0xd1,0x9b,0x5b}, {0x43,0xcc,0x89,0x40}, {0x4e,0xc7,0x87,0x49},
- {0x05,0xae,0xdd,0x3e}, {0x08,0xa5,0xd3,0x37}, {0x1f,0xb8,0xc1,0x2c}, {0x12,0xb3,0xcf,0x25},
- {0x31,0x82,0xe5,0x1a}, {0x3c,0x89,0xeb,0x13}, {0x2b,0x94,0xf9,0x08}, {0x26,0x9f,0xf7,0x01},
- {0xbd,0x46,0x4d,0xe6}, {0xb0,0x4d,0x43,0xef}, {0xa7,0x50,0x51,0xf4}, {0xaa,0x5b,0x5f,0xfd},
- {0x89,0x6a,0x75,0xc2}, {0x84,0x61,0x7b,0xcb}, {0x93,0x7c,0x69,0xd0}, {0x9e,0x77,0x67,0xd9},
- {0xd5,0x1e,0x3d,0xae}, {0xd8,0x15,0x33,0xa7}, {0xcf,0x08,0x21,0xbc}, {0xc2,0x03,0x2f,0xb5},
- {0xe1,0x32,0x05,0x8a}, {0xec,0x39,0x0b,0x83}, {0xfb,0x24,0x19,0x98}, {0xf6,0x2f,0x17,0x91},
- {0xd6,0x8d,0x76,0x4d}, {0xdb,0x86,0x78,0x44}, {0xcc,0x9b,0x6a,0x5f}, {0xc1,0x90,0x64,0x56},
- {0xe2,0xa1,0x4e,0x69}, {0xef,0xaa,0x40,0x60}, {0xf8,0xb7,0x52,0x7b}, {0xf5,0xbc,0x5c,0x72},
- {0xbe,0xd5,0x06,0x05}, {0xb3,0xde,0x08,0x0c}, {0xa4,0xc3,0x1a,0x17}, {0xa9,0xc8,0x14,0x1e},
- {0x8a,0xf9,0x3e,0x21}, {0x87,0xf2,0x30,0x28}, {0x90,0xef,0x22,0x33}, {0x9d,0xe4,0x2c,0x3a},
- {0x06,0x3d,0x96,0xdd}, {0x0b,0x36,0x98,0xd4}, {0x1c,0x2b,0x8a,0xcf}, {0x11,0x20,0x84,0xc6},
- {0x32,0x11,0xae,0xf9}, {0x3f,0x1a,0xa0,0xf0}, {0x28,0x07,0xb2,0xeb}, {0x25,0x0c,0xbc,0xe2},
- {0x6e,0x65,0xe6,0x95}, {0x63,0x6e,0xe8,0x9c}, {0x74,0x73,0xfa,0x87}, {0x79,0x78,0xf4,0x8e},
- {0x5a,0x49,0xde,0xb1}, {0x57,0x42,0xd0,0xb8}, {0x40,0x5f,0xc2,0xa3}, {0x4d,0x54,0xcc,0xaa},
- {0xda,0xf7,0x41,0xec}, {0xd7,0xfc,0x4f,0xe5}, {0xc0,0xe1,0x5d,0xfe}, {0xcd,0xea,0x53,0xf7},
- {0xee,0xdb,0x79,0xc8}, {0xe3,0xd0,0x77,0xc1}, {0xf4,0xcd,0x65,0xda}, {0xf9,0xc6,0x6b,0xd3},
- {0xb2,0xaf,0x31,0xa4}, {0xbf,0xa4,0x3f,0xad}, {0xa8,0xb9,0x2d,0xb6}, {0xa5,0xb2,0x23,0xbf},
- {0x86,0x83,0x09,0x80}, {0x8b,0x88,0x07,0x89}, {0x9c,0x95,0x15,0x92}, {0x91,0x9e,0x1b,0x9b},
- {0x0a,0x47,0xa1,0x7c}, {0x07,0x4c,0xaf,0x75}, {0x10,0x51,0xbd,0x6e}, {0x1d,0x5a,0xb3,0x67},
- {0x3e,0x6b,0x99,0x58}, {0x33,0x60,0x97,0x51}, {0x24,0x7d,0x85,0x4a}, {0x29,0x76,0x8b,0x43},
- {0x62,0x1f,0xd1,0x34}, {0x6f,0x14,0xdf,0x3d}, {0x78,0x09,0xcd,0x26}, {0x75,0x02,0xc3,0x2f},
- {0x56,0x33,0xe9,0x10}, {0x5b,0x38,0xe7,0x19}, {0x4c,0x25,0xf5,0x02}, {0x41,0x2e,0xfb,0x0b},
- {0x61,0x8c,0x9a,0xd7}, {0x6c,0x87,0x94,0xde}, {0x7b,0x9a,0x86,0xc5}, {0x76,0x91,0x88,0xcc},
- {0x55,0xa0,0xa2,0xf3}, {0x58,0xab,0xac,0xfa}, {0x4f,0xb6,0xbe,0xe1}, {0x42,0xbd,0xb0,0xe8},
- {0x09,0xd4,0xea,0x9f}, {0x04,0xdf,0xe4,0x96}, {0x13,0xc2,0xf6,0x8d}, {0x1e,0xc9,0xf8,0x84},
- {0x3d,0xf8,0xd2,0xbb}, {0x30,0xf3,0xdc,0xb2}, {0x27,0xee,0xce,0xa9}, {0x2a,0xe5,0xc0,0xa0},
- {0xb1,0x3c,0x7a,0x47}, {0xbc,0x37,0x74,0x4e}, {0xab,0x2a,0x66,0x55}, {0xa6,0x21,0x68,0x5c},
- {0x85,0x10,0x42,0x63}, {0x88,0x1b,0x4c,0x6a}, {0x9f,0x06,0x5e,0x71}, {0x92,0x0d,0x50,0x78},
- {0xd9,0x64,0x0a,0x0f}, {0xd4,0x6f,0x04,0x06}, {0xc3,0x72,0x16,0x1d}, {0xce,0x79,0x18,0x14},
- {0xed,0x48,0x32,0x2b}, {0xe0,0x43,0x3c,0x22}, {0xf7,0x5e,0x2e,0x39}, {0xfa,0x55,0x20,0x30},
- {0xb7,0x01,0xec,0x9a}, {0xba,0x0a,0xe2,0x93}, {0xad,0x17,0xf0,0x88}, {0xa0,0x1c,0xfe,0x81},
- {0x83,0x2d,0xd4,0xbe}, {0x8e,0x26,0xda,0xb7}, {0x99,0x3b,0xc8,0xac}, {0x94,0x30,0xc6,0xa5},
- {0xdf,0x59,0x9c,0xd2}, {0xd2,0x52,0x92,0xdb}, {0xc5,0x4f,0x80,0xc0}, {0xc8,0x44,0x8e,0xc9},
- {0xeb,0x75,0xa4,0xf6}, {0xe6,0x7e,0xaa,0xff}, {0xf1,0x63,0xb8,0xe4}, {0xfc,0x68,0xb6,0xed},
- {0x67,0xb1,0x0c,0x0a}, {0x6a,0xba,0x02,0x03}, {0x7d,0xa7,0x10,0x18}, {0x70,0xac,0x1e,0x11},
- {0x53,0x9d,0x34,0x2e}, {0x5e,0x96,0x3a,0x27}, {0x49,0x8b,0x28,0x3c}, {0x44,0x80,0x26,0x35},
- {0x0f,0xe9,0x7c,0x42}, {0x02,0xe2,0x72,0x4b}, {0x15,0xff,0x60,0x50}, {0x18,0xf4,0x6e,0x59},
- {0x3b,0xc5,0x44,0x66}, {0x36,0xce,0x4a,0x6f}, {0x21,0xd3,0x58,0x74}, {0x2c,0xd8,0x56,0x7d},
- {0x0c,0x7a,0x37,0xa1}, {0x01,0x71,0x39,0xa8}, {0x16,0x6c,0x2b,0xb3}, {0x1b,0x67,0x25,0xba},
- {0x38,0x56,0x0f,0x85}, {0x35,0x5d,0x01,0x8c}, {0x22,0x40,0x13,0x97}, {0x2f,0x4b,0x1d,0x9e},
- {0x64,0x22,0x47,0xe9}, {0x69,0x29,0x49,0xe0}, {0x7e,0x34,0x5b,0xfb}, {0x73,0x3f,0x55,0xf2},
- {0x50,0x0e,0x7f,0xcd}, {0x5d,0x05,0x71,0xc4}, {0x4a,0x18,0x63,0xdf}, {0x47,0x13,0x6d,0xd6},
- {0xdc,0xca,0xd7,0x31}, {0xd1,0xc1,0xd9,0x38}, {0xc6,0xdc,0xcb,0x23}, {0xcb,0xd7,0xc5,0x2a},
- {0xe8,0xe6,0xef,0x15}, {0xe5,0xed,0xe1,0x1c}, {0xf2,0xf0,0xf3,0x07}, {0xff,0xfb,0xfd,0x0e},
- {0xb4,0x92,0xa7,0x79}, {0xb9,0x99,0xa9,0x70}, {0xae,0x84,0xbb,0x6b}, {0xa3,0x8f,0xb5,0x62},
- {0x80,0xbe,0x9f,0x5d}, {0x8d,0xb5,0x91,0x54}, {0x9a,0xa8,0x83,0x4f}, {0x97,0xa3,0x8d,0x46}
-};
-
-static UINT8 U4[256][4]=
-{
- {0x00,0x00,0x00,0x00}, {0x09,0x0d,0x0b,0x0e}, {0x12,0x1a,0x16,0x1c}, {0x1b,0x17,0x1d,0x12},
- {0x24,0x34,0x2c,0x38}, {0x2d,0x39,0x27,0x36}, {0x36,0x2e,0x3a,0x24}, {0x3f,0x23,0x31,0x2a},
- {0x48,0x68,0x58,0x70}, {0x41,0x65,0x53,0x7e}, {0x5a,0x72,0x4e,0x6c}, {0x53,0x7f,0x45,0x62},
- {0x6c,0x5c,0x74,0x48}, {0x65,0x51,0x7f,0x46}, {0x7e,0x46,0x62,0x54}, {0x77,0x4b,0x69,0x5a},
- {0x90,0xd0,0xb0,0xe0}, {0x99,0xdd,0xbb,0xee}, {0x82,0xca,0xa6,0xfc}, {0x8b,0xc7,0xad,0xf2},
- {0xb4,0xe4,0x9c,0xd8}, {0xbd,0xe9,0x97,0xd6}, {0xa6,0xfe,0x8a,0xc4}, {0xaf,0xf3,0x81,0xca},
- {0xd8,0xb8,0xe8,0x90}, {0xd1,0xb5,0xe3,0x9e}, {0xca,0xa2,0xfe,0x8c}, {0xc3,0xaf,0xf5,0x82},
- {0xfc,0x8c,0xc4,0xa8}, {0xf5,0x81,0xcf,0xa6}, {0xee,0x96,0xd2,0xb4}, {0xe7,0x9b,0xd9,0xba},
- {0x3b,0xbb,0x7b,0xdb}, {0x32,0xb6,0x70,0xd5}, {0x29,0xa1,0x6d,0xc7}, {0x20,0xac,0x66,0xc9},
- {0x1f,0x8f,0x57,0xe3}, {0x16,0x82,0x5c,0xed}, {0x0d,0x95,0x41,0xff}, {0x04,0x98,0x4a,0xf1},
- {0x73,0xd3,0x23,0xab}, {0x7a,0xde,0x28,0xa5}, {0x61,0xc9,0x35,0xb7}, {0x68,0xc4,0x3e,0xb9},
- {0x57,0xe7,0x0f,0x93}, {0x5e,0xea,0x04,0x9d}, {0x45,0xfd,0x19,0x8f}, {0x4c,0xf0,0x12,0x81},
- {0xab,0x6b,0xcb,0x3b}, {0xa2,0x66,0xc0,0x35}, {0xb9,0x71,0xdd,0x27}, {0xb0,0x7c,0xd6,0x29},
- {0x8f,0x5f,0xe7,0x03}, {0x86,0x52,0xec,0x0d}, {0x9d,0x45,0xf1,0x1f}, {0x94,0x48,0xfa,0x11},
- {0xe3,0x03,0x93,0x4b}, {0xea,0x0e,0x98,0x45}, {0xf1,0x19,0x85,0x57}, {0xf8,0x14,0x8e,0x59},
- {0xc7,0x37,0xbf,0x73}, {0xce,0x3a,0xb4,0x7d}, {0xd5,0x2d,0xa9,0x6f}, {0xdc,0x20,0xa2,0x61},
- {0x76,0x6d,0xf6,0xad}, {0x7f,0x60,0xfd,0xa3}, {0x64,0x77,0xe0,0xb1}, {0x6d,0x7a,0xeb,0xbf},
- {0x52,0x59,0xda,0x95}, {0x5b,0x54,0xd1,0x9b}, {0x40,0x43,0xcc,0x89}, {0x49,0x4e,0xc7,0x87},
- {0x3e,0x05,0xae,0xdd}, {0x37,0x08,0xa5,0xd3}, {0x2c,0x1f,0xb8,0xc1}, {0x25,0x12,0xb3,0xcf},
- {0x1a,0x31,0x82,0xe5}, {0x13,0x3c,0x89,0xeb}, {0x08,0x2b,0x94,0xf9}, {0x01,0x26,0x9f,0xf7},
- {0xe6,0xbd,0x46,0x4d}, {0xef,0xb0,0x4d,0x43}, {0xf4,0xa7,0x50,0x51}, {0xfd,0xaa,0x5b,0x5f},
- {0xc2,0x89,0x6a,0x75}, {0xcb,0x84,0x61,0x7b}, {0xd0,0x93,0x7c,0x69}, {0xd9,0x9e,0x77,0x67},
- {0xae,0xd5,0x1e,0x3d}, {0xa7,0xd8,0x15,0x33}, {0xbc,0xcf,0x08,0x21}, {0xb5,0xc2,0x03,0x2f},
- {0x8a,0xe1,0x32,0x05}, {0x83,0xec,0x39,0x0b}, {0x98,0xfb,0x24,0x19}, {0x91,0xf6,0x2f,0x17},
- {0x4d,0xd6,0x8d,0x76}, {0x44,0xdb,0x86,0x78}, {0x5f,0xcc,0x9b,0x6a}, {0x56,0xc1,0x90,0x64},
- {0x69,0xe2,0xa1,0x4e}, {0x60,0xef,0xaa,0x40}, {0x7b,0xf8,0xb7,0x52}, {0x72,0xf5,0xbc,0x5c},
- {0x05,0xbe,0xd5,0x06}, {0x0c,0xb3,0xde,0x08}, {0x17,0xa4,0xc3,0x1a}, {0x1e,0xa9,0xc8,0x14},
- {0x21,0x8a,0xf9,0x3e}, {0x28,0x87,0xf2,0x30}, {0x33,0x90,0xef,0x22}, {0x3a,0x9d,0xe4,0x2c},
- {0xdd,0x06,0x3d,0x96}, {0xd4,0x0b,0x36,0x98}, {0xcf,0x1c,0x2b,0x8a}, {0xc6,0x11,0x20,0x84},
- {0xf9,0x32,0x11,0xae}, {0xf0,0x3f,0x1a,0xa0}, {0xeb,0x28,0x07,0xb2}, {0xe2,0x25,0x0c,0xbc},
- {0x95,0x6e,0x65,0xe6}, {0x9c,0x63,0x6e,0xe8}, {0x87,0x74,0x73,0xfa}, {0x8e,0x79,0x78,0xf4},
- {0xb1,0x5a,0x49,0xde}, {0xb8,0x57,0x42,0xd0}, {0xa3,0x40,0x5f,0xc2}, {0xaa,0x4d,0x54,0xcc},
- {0xec,0xda,0xf7,0x41}, {0xe5,0xd7,0xfc,0x4f}, {0xfe,0xc0,0xe1,0x5d}, {0xf7,0xcd,0xea,0x53},
- {0xc8,0xee,0xdb,0x79}, {0xc1,0xe3,0xd0,0x77}, {0xda,0xf4,0xcd,0x65}, {0xd3,0xf9,0xc6,0x6b},
- {0xa4,0xb2,0xaf,0x31}, {0xad,0xbf,0xa4,0x3f}, {0xb6,0xa8,0xb9,0x2d}, {0xbf,0xa5,0xb2,0x23},
- {0x80,0x86,0x83,0x09}, {0x89,0x8b,0x88,0x07}, {0x92,0x9c,0x95,0x15}, {0x9b,0x91,0x9e,0x1b},
- {0x7c,0x0a,0x47,0xa1}, {0x75,0x07,0x4c,0xaf}, {0x6e,0x10,0x51,0xbd}, {0x67,0x1d,0x5a,0xb3},
- {0x58,0x3e,0x6b,0x99}, {0x51,0x33,0x60,0x97}, {0x4a,0x24,0x7d,0x85}, {0x43,0x29,0x76,0x8b},
- {0x34,0x62,0x1f,0xd1}, {0x3d,0x6f,0x14,0xdf}, {0x26,0x78,0x09,0xcd}, {0x2f,0x75,0x02,0xc3},
- {0x10,0x56,0x33,0xe9}, {0x19,0x5b,0x38,0xe7}, {0x02,0x4c,0x25,0xf5}, {0x0b,0x41,0x2e,0xfb},
- {0xd7,0x61,0x8c,0x9a}, {0xde,0x6c,0x87,0x94}, {0xc5,0x7b,0x9a,0x86}, {0xcc,0x76,0x91,0x88},
- {0xf3,0x55,0xa0,0xa2}, {0xfa,0x58,0xab,0xac}, {0xe1,0x4f,0xb6,0xbe}, {0xe8,0x42,0xbd,0xb0},
- {0x9f,0x09,0xd4,0xea}, {0x96,0x04,0xdf,0xe4}, {0x8d,0x13,0xc2,0xf6}, {0x84,0x1e,0xc9,0xf8},
- {0xbb,0x3d,0xf8,0xd2}, {0xb2,0x30,0xf3,0xdc}, {0xa9,0x27,0xee,0xce}, {0xa0,0x2a,0xe5,0xc0},
- {0x47,0xb1,0x3c,0x7a}, {0x4e,0xbc,0x37,0x74}, {0x55,0xab,0x2a,0x66}, {0x5c,0xa6,0x21,0x68},
- {0x63,0x85,0x10,0x42}, {0x6a,0x88,0x1b,0x4c}, {0x71,0x9f,0x06,0x5e}, {0x78,0x92,0x0d,0x50},
- {0x0f,0xd9,0x64,0x0a}, {0x06,0xd4,0x6f,0x04}, {0x1d,0xc3,0x72,0x16}, {0x14,0xce,0x79,0x18},
- {0x2b,0xed,0x48,0x32}, {0x22,0xe0,0x43,0x3c}, {0x39,0xf7,0x5e,0x2e}, {0x30,0xfa,0x55,0x20},
- {0x9a,0xb7,0x01,0xec}, {0x93,0xba,0x0a,0xe2}, {0x88,0xad,0x17,0xf0}, {0x81,0xa0,0x1c,0xfe},
- {0xbe,0x83,0x2d,0xd4}, {0xb7,0x8e,0x26,0xda}, {0xac,0x99,0x3b,0xc8}, {0xa5,0x94,0x30,0xc6},
- {0xd2,0xdf,0x59,0x9c}, {0xdb,0xd2,0x52,0x92}, {0xc0,0xc5,0x4f,0x80}, {0xc9,0xc8,0x44,0x8e},
- {0xf6,0xeb,0x75,0xa4}, {0xff,0xe6,0x7e,0xaa}, {0xe4,0xf1,0x63,0xb8}, {0xed,0xfc,0x68,0xb6},
- {0x0a,0x67,0xb1,0x0c}, {0x03,0x6a,0xba,0x02}, {0x18,0x7d,0xa7,0x10}, {0x11,0x70,0xac,0x1e},
- {0x2e,0x53,0x9d,0x34}, {0x27,0x5e,0x96,0x3a}, {0x3c,0x49,0x8b,0x28}, {0x35,0x44,0x80,0x26},
- {0x42,0x0f,0xe9,0x7c}, {0x4b,0x02,0xe2,0x72}, {0x50,0x15,0xff,0x60}, {0x59,0x18,0xf4,0x6e},
- {0x66,0x3b,0xc5,0x44}, {0x6f,0x36,0xce,0x4a}, {0x74,0x21,0xd3,0x58}, {0x7d,0x2c,0xd8,0x56},
- {0xa1,0x0c,0x7a,0x37}, {0xa8,0x01,0x71,0x39}, {0xb3,0x16,0x6c,0x2b}, {0xba,0x1b,0x67,0x25},
- {0x85,0x38,0x56,0x0f}, {0x8c,0x35,0x5d,0x01}, {0x97,0x22,0x40,0x13}, {0x9e,0x2f,0x4b,0x1d},
- {0xe9,0x64,0x22,0x47}, {0xe0,0x69,0x29,0x49}, {0xfb,0x7e,0x34,0x5b}, {0xf2,0x73,0x3f,0x55},
- {0xcd,0x50,0x0e,0x7f}, {0xc4,0x5d,0x05,0x71}, {0xdf,0x4a,0x18,0x63}, {0xd6,0x47,0x13,0x6d},
- {0x31,0xdc,0xca,0xd7}, {0x38,0xd1,0xc1,0xd9}, {0x23,0xc6,0xdc,0xcb}, {0x2a,0xcb,0xd7,0xc5},
- {0x15,0xe8,0xe6,0xef}, {0x1c,0xe5,0xed,0xe1}, {0x07,0xf2,0xf0,0xf3}, {0x0e,0xff,0xfb,0xfd},
- {0x79,0xb4,0x92,0xa7}, {0x70,0xb9,0x99,0xa9}, {0x6b,0xae,0x84,0xbb}, {0x62,0xa3,0x8f,0xb5},
- {0x5d,0x80,0xbe,0x9f}, {0x54,0x8d,0xb5,0x91}, {0x4f,0x9a,0xa8,0x83}, {0x46,0x97,0xa3,0x8d}
-};
-
-static UINT32 rcon[30]=
-{
- 0x01, 0x02, 0x04, 0x08, 0x10, 0x20,
- 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8,
- 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc,
- 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4,
- 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91
-};
-
-
-/*
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// API
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-*/
-
-void RijndaelCreate(Rijndael* rijndael)
-{
- rijndael->m_state = RIJNDAEL_State_Invalid;
-}
-
-int RijndaelInit(Rijndael* rijndael, int mode, int dir, UINT8* key, int keyLen, UINT8* initVector)
-{
- UINT32 uKeyLenInBytes;
- UINT8 keyMatrix[_MAX_KEY_COLUMNS][4];
- UINT32 i;
-
- /* Not initialized yet */
- rijndael->m_state = RIJNDAEL_State_Invalid;
-
- /* Check the mode */
- if ((mode != RIJNDAEL_Direction_Mode_CBC) && (mode != RIJNDAEL_Direction_Mode_ECB) && (mode != RIJNDAEL_Direction_Mode_CFB1)) return RIJNDAEL_UNSUPPORTED_MODE;
- rijndael->m_mode = mode;
-
- /* And the direction */
- if ((dir != RIJNDAEL_Direction_Encrypt) && (dir != RIJNDAEL_Direction_Decrypt)) return RIJNDAEL_UNSUPPORTED_DIRECTION;
- rijndael->m_direction = dir;
-
- /* Allow to set an init vector */
- if (initVector)
- {
- /* specified init vector */
- for(i = 0;i < MAX_IV_SIZE;i++)
- {
- rijndael->m_initVector[i] = initVector[i];
- }
- } else {
- /* zero init vector */
- for(i = 0;i < MAX_IV_SIZE;i++)
- {
- rijndael->m_initVector[i] = 0;
- }
- }
-
-
- /* And check the key length */
- switch (keyLen)
- {
- case RIJNDAEL_Direction_KeyLength_Key16Bytes:
- uKeyLenInBytes = 16;
- rijndael->m_uRounds = 10;
- break;
- case RIJNDAEL_Direction_KeyLength_Key24Bytes:
- uKeyLenInBytes = 24;
- rijndael->m_uRounds = 12;
- break;
- case RIJNDAEL_Direction_KeyLength_Key32Bytes:
- uKeyLenInBytes = 32;
- rijndael->m_uRounds = 14;
- break;
- default:
- return RIJNDAEL_UNSUPPORTED_KEY_LENGTH;
- break;
- }
- /* The number of rounds is calculated as */
- /* m_uRounds = (m_uKeyLenInBits / 32) + 6; */
-
- if (!key) return RIJNDAEL_BAD_KEY;
-
-
- for (i = 0;i < uKeyLenInBytes;i++) keyMatrix[i >> 2][i & 3] = key[i];
-
- RijndaelKeySched(rijndael, keyMatrix);
-
- if (rijndael->m_direction == RIJNDAEL_Direction_Decrypt) RijndaelKeyEncToDec(rijndael);
-
- rijndael->m_state = RIJNDAEL_State_Valid;
-
- return RIJNDAEL_SUCCESS;
-}
-
-int RijndaelBlockEncrypt(Rijndael* rijndael, UINT8 *input,int inputLen,UINT8 *outBuffer)
-{
- int i, k, numBlocks, lenFrag;
- UINT8 block[16], iv[4][4];
-
- if (rijndael->m_state != RIJNDAEL_State_Valid) return RIJNDAEL_NOT_INITIALIZED;
- if (rijndael->m_direction != RIJNDAEL_Direction_Encrypt) return RIJNDAEL_BAD_DIRECTION;
-
- if (input == 0 || inputLen <= 0) return 0;
-
- numBlocks = inputLen/128;
- lenFrag = (inputLen % 128) / 8;
-
- switch (rijndael->m_mode)
- {
- case RIJNDAEL_Direction_Mode_ECB:
- for(i = numBlocks;i > 0;i--)
- {
- RijndaelEncrypt(rijndael, input,outBuffer);
- input += 16;
- outBuffer += 16;
- }
- break;
- case RIJNDAEL_Direction_Mode_CBC:
- ((UINT32*)block)[0] = ((UINT32*)rijndael->m_initVector)[0] ^ ((UINT32*)input)[0];
- ((UINT32*)block)[1] = ((UINT32*)rijndael->m_initVector)[1] ^ ((UINT32*)input)[1];
- ((UINT32*)block)[2] = ((UINT32*)rijndael->m_initVector)[2] ^ ((UINT32*)input)[2];
- ((UINT32*)block)[3] = ((UINT32*)rijndael->m_initVector)[3] ^ ((UINT32*)input)[3];
- RijndaelEncrypt(rijndael, block,outBuffer);
- input += 16;
- for(i = numBlocks - 1;i > 0;i--)
- {
- ((UINT32*)block)[0] = ((UINT32*)outBuffer)[0] ^ ((UINT32*)input)[0];
- ((UINT32*)block)[1] = ((UINT32*)outBuffer)[1] ^ ((UINT32*)input)[1];
- ((UINT32*)block)[2] = ((UINT32*)outBuffer)[2] ^ ((UINT32*)input)[2];
- ((UINT32*)block)[3] = ((UINT32*)outBuffer)[3] ^ ((UINT32*)input)[3];
- outBuffer += 16;
- RijndaelEncrypt(rijndael, block,outBuffer);
- input += 16;
- }
- /**/
- if (lenFrag > 0)
- {
- UINT8 lastblock[16];
- /* Adjust the second last plainblock. */
- memcpy(lastblock, outBuffer, lenFrag);
- /* Encrypt the last plainblock. */
- memcpy(block, outBuffer, 16);
- for (i = 0; i < lenFrag; i++)
- {
- block[i] ^= input[i];
- }
- RijndaelEncrypt(rijndael, block, outBuffer);
- memcpy(outBuffer + 16, lastblock, lenFrag);
- }
- break;
- case RIJNDAEL_Direction_Mode_CFB1:
-#if STRICT_ALIGN
- memcpy(iv,rijndael->m_initVector,16);
-#else /* !STRICT_ALIGN */
- *((UINT32*)iv[0]) = *((UINT32*)(rijndael->m_initVector ));
- *((UINT32*)iv[1]) = *((UINT32*)(rijndael->m_initVector + 4));
- *((UINT32*)iv[2]) = *((UINT32*)(rijndael->m_initVector + 8));
- *((UINT32*)iv[3]) = *((UINT32*)(rijndael->m_initVector +12));
-#endif /* ?STRICT_ALIGN */
- for(i = numBlocks; i > 0; i--)
- {
- memcpy(outBuffer, input, 16);
- for(k = 0; k < 128; k++)
- {
- *((UINT32*) block ) = *((UINT32*)iv[0]);
- *((UINT32*)(block+ 4)) = *((UINT32*)iv[1]);
- *((UINT32*)(block+ 8)) = *((UINT32*)iv[2]);
- *((UINT32*)(block+12)) = *((UINT32*)iv[3]);
- RijndaelEncrypt(rijndael, block, block);
- outBuffer[k/8] ^= (block[0] & 0x80) >> (k & 7);
- iv[0][0] = (UINT8) ((iv[0][0] << 1) | (iv[0][1] >> 7));
- iv[0][1] = (UINT8) ((iv[0][1] << 1) | (iv[0][2] >> 7));
- iv[0][2] = (UINT8) ((iv[0][2] << 1) | (iv[0][3] >> 7));
- iv[0][3] = (UINT8) ((iv[0][3] << 1) | (iv[1][0] >> 7));
- iv[1][0] = (UINT8) ((iv[1][0] << 1) | (iv[1][1] >> 7));
- iv[1][1] = (UINT8) ((iv[1][1] << 1) | (iv[1][2] >> 7));
- iv[1][2] = (UINT8) ((iv[1][2] << 1) | (iv[1][3] >> 7));
- iv[1][3] = (UINT8) ((iv[1][3] << 1) | (iv[2][0] >> 7));
- iv[2][0] = (UINT8) ((iv[2][0] << 1) | (iv[2][1] >> 7));
- iv[2][1] = (UINT8) ((iv[2][1] << 1) | (iv[2][2] >> 7));
- iv[2][2] = (UINT8) ((iv[2][2] << 1) | (iv[2][3] >> 7));
- iv[2][3] = (UINT8) ((iv[2][3] << 1) | (iv[3][0] >> 7));
- iv[3][0] = (UINT8) ((iv[3][0] << 1) | (iv[3][1] >> 7));
- iv[3][1] = (UINT8) ((iv[3][1] << 1) | (iv[3][2] >> 7));
- iv[3][2] = (UINT8) ((iv[3][2] << 1) | (iv[3][3] >> 7));
- iv[3][3] = (UINT8) ((iv[3][3] << 1) | ((outBuffer[k/8] >> (7-(k&7))) & 1));
- }
- outBuffer += 16;
- input += 16;
- }
- break;
- default:
- return -1;
- break;
- }
-
- return 128 * numBlocks;
-}
-
-int RijndaelPadEncrypt(Rijndael* rijndael, UINT8 *input, int inputOctets, UINT8 *outBuffer)
-{
- int i, numBlocks, padLen;
- UINT8 block[16], *iv;
-
- if (rijndael->m_state != RIJNDAEL_State_Valid) return RIJNDAEL_NOT_INITIALIZED;
- if (rijndael->m_direction != RIJNDAEL_Direction_Encrypt) return RIJNDAEL_NOT_INITIALIZED;
-
- if (input == 0 || inputOctets <= 0) return 0;
-
- numBlocks = inputOctets/16;
-
- switch (rijndael->m_mode)
- {
- case RIJNDAEL_Direction_Mode_ECB:
- for(i = numBlocks; i > 0; i--)
- {
- RijndaelEncrypt(rijndael, input, outBuffer);
- input += 16;
- outBuffer += 16;
- }
- padLen = 16 - (inputOctets - 16*numBlocks);
-/* assert(padLen > 0 && padLen <= 16); */
- memcpy(block, input, 16 - padLen);
- memset(block + 16 - padLen, padLen, padLen);
- RijndaelEncrypt(rijndael, block,outBuffer);
- break;
- case RIJNDAEL_Direction_Mode_CBC:
- iv = rijndael->m_initVector;
- for(i = numBlocks; i > 0; i--)
- {
- ((UINT32*)block)[0] = ((UINT32*)input)[0] ^ ((UINT32*)iv)[0];
- ((UINT32*)block)[1] = ((UINT32*)input)[1] ^ ((UINT32*)iv)[1];
- ((UINT32*)block)[2] = ((UINT32*)input)[2] ^ ((UINT32*)iv)[2];
- ((UINT32*)block)[3] = ((UINT32*)input)[3] ^ ((UINT32*)iv)[3];
- RijndaelEncrypt(rijndael, block, outBuffer);
- iv = outBuffer;
- input += 16;
- outBuffer += 16;
- }
- padLen = 16 - (inputOctets - 16*numBlocks);
-/* assert(padLen > 0 && padLen <= 16); // DO SOMETHING HERE ? */
- for (i = 0; i < 16 - padLen; i++) {
- block[i] = (UINT8) (input[i] ^ iv[i]);
- }
- for (i = 16 - padLen; i < 16; i++) {
- block[i] = (UINT8) ((UINT8) padLen ^ iv[i]);
- }
- RijndaelEncrypt(rijndael, block,outBuffer);
- break;
- default:
- return -1;
- break;
- }
-
- return 16*(numBlocks + 1);
-}
-
-int RijndaelBlockDecrypt(Rijndael* rijndael, UINT8 *input, int inputLen, UINT8 *outBuffer)
-{
- int i, k, numBlocks, lenFrag;
- UINT8 block[16], iv[4][4];
-
- if (rijndael->m_state != RIJNDAEL_State_Valid) return RIJNDAEL_NOT_INITIALIZED;
- if ((rijndael->m_mode != RIJNDAEL_Direction_Mode_CFB1) && (rijndael->m_direction == RIJNDAEL_Direction_Encrypt)) return RIJNDAEL_BAD_DIRECTION;
-
- if (input == 0 || inputLen <= 0)return 0;
-
- numBlocks = inputLen/128;
- lenFrag = (inputLen % 128) / 8;
-
- switch (rijndael->m_mode)
- {
- case RIJNDAEL_Direction_Mode_ECB:
- for (i = numBlocks; i > 0; i--)
- {
- RijndaelDecrypt(rijndael, input, outBuffer);
- input += 16;
- outBuffer += 16;
- }
- break;
- case RIJNDAEL_Direction_Mode_CBC:
- if (lenFrag > 0)
- {
- UINT8 lastblock[16];
- int offset;
- --numBlocks;
- offset = numBlocks * 16;
- /* Decrypt the last plainblock. */
- RijndaelDecrypt(rijndael, input + offset, block);
- for (i = 0; i < lenFrag; i++)
- {
- lastblock[i] = block[i] ^ (input + offset + 16)[i];
- }
- /* Decrypt the second last block. */
- memcpy(block, input + offset + 16, lenFrag);
- RijndaelDecrypt(rijndael, block, outBuffer + offset);
- memcpy(outBuffer + offset + 16, lastblock, lenFrag);
- if (offset == 0)
- {
- for (i = 0; i < 16; i++)
- {
- (outBuffer + offset)[i] ^= rijndael->m_initVector[i];
- }
- }
- else
- {
- for (i = 0; i < 16; i++)
- {
- (outBuffer + offset)[i] ^= (input + offset - 16)[i];
- }
- }
- }
-#if STRICT_ALIGN
- memcpy(iv,rijndael->m_initVector,16);
-#else
- *((UINT32*)iv[0]) = *((UINT32*)(rijndael->m_initVector ));
- *((UINT32*)iv[1]) = *((UINT32*)(rijndael->m_initVector+ 4));
- *((UINT32*)iv[2]) = *((UINT32*)(rijndael->m_initVector+ 8));
- *((UINT32*)iv[3]) = *((UINT32*)(rijndael->m_initVector+12));
-#endif
- for (i = numBlocks; i > 0; i--)
- {
- RijndaelDecrypt(rijndael, input, block);
- ((UINT32*)block)[0] ^= *((UINT32*)iv[0]);
- ((UINT32*)block)[1] ^= *((UINT32*)iv[1]);
- ((UINT32*)block)[2] ^= *((UINT32*)iv[2]);
- ((UINT32*)block)[3] ^= *((UINT32*)iv[3]);
-#if STRICT_ALIGN
- memcpy(iv, input, 16);
- memcpy(outBuf, block, 16);
-#else
- *((UINT32*)iv[0]) = ((UINT32*)input)[0]; ((UINT32*)outBuffer)[0] = ((UINT32*)block)[0];
- *((UINT32*)iv[1]) = ((UINT32*)input)[1]; ((UINT32*)outBuffer)[1] = ((UINT32*)block)[1];
- *((UINT32*)iv[2]) = ((UINT32*)input)[2]; ((UINT32*)outBuffer)[2] = ((UINT32*)block)[2];
- *((UINT32*)iv[3]) = ((UINT32*)input)[3]; ((UINT32*)outBuffer)[3] = ((UINT32*)block)[3];
-#endif
- input += 16;
- outBuffer += 16;
- }
- break;
- case RIJNDAEL_Direction_Mode_CFB1:
-#if STRICT_ALIGN
- memcpy(iv, rijndael->m_initVector, 16);
-#else
- *((UINT32*)iv[0]) = *((UINT32*)(rijndael->m_initVector));
- *((UINT32*)iv[1]) = *((UINT32*)(rijndael->m_initVector+ 4));
- *((UINT32*)iv[2]) = *((UINT32*)(rijndael->m_initVector+ 8));
- *((UINT32*)iv[3]) = *((UINT32*)(rijndael->m_initVector+12));
-#endif
- for(i = numBlocks; i > 0; i--)
- {
- memcpy(outBuffer, input, 16);
- for(k = 0; k < 128; k++)
- {
- *((UINT32*) block ) = *((UINT32*)iv[0]);
- *((UINT32*)(block+ 4)) = *((UINT32*)iv[1]);
- *((UINT32*)(block+ 8)) = *((UINT32*)iv[2]);
- *((UINT32*)(block+12)) = *((UINT32*)iv[3]);
- RijndaelEncrypt(rijndael, block, block);
- iv[0][0] = (UINT8) ((iv[0][0] << 1) | (iv[0][1] >> 7));
- iv[0][1] = (UINT8) ((iv[0][1] << 1) | (iv[0][2] >> 7));
- iv[0][2] = (UINT8) ((iv[0][2] << 1) | (iv[0][3] >> 7));
- iv[0][3] = (UINT8) ((iv[0][3] << 1) | (iv[1][0] >> 7));
- iv[1][0] = (UINT8) ((iv[1][0] << 1) | (iv[1][1] >> 7));
- iv[1][1] = (UINT8) ((iv[1][1] << 1) | (iv[1][2] >> 7));
- iv[1][2] = (UINT8) ((iv[1][2] << 1) | (iv[1][3] >> 7));
- iv[1][3] = (UINT8) ((iv[1][3] << 1) | (iv[2][0] >> 7));
- iv[2][0] = (UINT8) ((iv[2][0] << 1) | (iv[2][1] >> 7));
- iv[2][1] = (UINT8) ((iv[2][1] << 1) | (iv[2][2] >> 7));
- iv[2][2] = (UINT8) ((iv[2][2] << 1) | (iv[2][3] >> 7));
- iv[2][3] = (UINT8) ((iv[2][3] << 1) | (iv[3][0] >> 7));
- iv[3][0] = (UINT8) ((iv[3][0] << 1) | (iv[3][1] >> 7));
- iv[3][1] = (UINT8) ((iv[3][1] << 1) | (iv[3][2] >> 7));
- iv[3][2] = (UINT8) ((iv[3][2] << 1) | (iv[3][3] >> 7));
- iv[3][3] = (UINT8) ((iv[3][3] << 1) | ((input[k/8] >> (7-(k&7))) & 1));
- outBuffer[k/8] ^= (block[0] & 0x80) >> (k & 7);
- }
- outBuffer += 16;
- input += 16;
- }
- break;
- default:
- return -1;
- break;
- }
-
- return 128*numBlocks;
-}
-
-int RijndaelPadDecrypt(Rijndael* rijndael, UINT8 *input, int inputOctets, UINT8 *outBuffer)
-{
- int i, numBlocks, padLen;
- UINT8 block[16];
- UINT32 iv[4];
-
- if (rijndael->m_state != RIJNDAEL_State_Valid) return RIJNDAEL_NOT_INITIALIZED;
- if (rijndael->m_direction != RIJNDAEL_Direction_Decrypt) return RIJNDAEL_BAD_DIRECTION;
-
- if (input == 0 || inputOctets <= 0) return 0;
-
- if ((inputOctets % 16) != 0) return RIJNDAEL_CORRUPTED_DATA;
-
- numBlocks = inputOctets/16;
-
- switch (rijndael->m_mode)
- {
- case RIJNDAEL_Direction_Mode_ECB:
- for (i = numBlocks - 1; i > 0; i--)
- {
- RijndaelDecrypt(rijndael, input, outBuffer);
- input += 16;
- outBuffer += 16;
- }
-
- RijndaelDecrypt(rijndael, input, block);
- padLen = block[15];
- if (padLen >= 16) return RIJNDAEL_CORRUPTED_DATA;
- for(i = 16 - padLen; i < 16; i++)
- {
- if (block[i] != padLen) return RIJNDAEL_CORRUPTED_DATA;
- }
- memcpy(outBuffer, block, 16 - padLen);
- break;
- case RIJNDAEL_Direction_Mode_CBC:
- memcpy(iv, rijndael->m_initVector, 16);
- /* all blocks but last */
- for (i = numBlocks - 1; i > 0; i--)
- {
- RijndaelDecrypt(rijndael, input, block);
- ((UINT32*)block)[0] ^= iv[0];
- ((UINT32*)block)[1] ^= iv[1];
- ((UINT32*)block)[2] ^= iv[2];
- ((UINT32*)block)[3] ^= iv[3];
- memcpy(iv, input, 16);
- memcpy(outBuffer, block, 16);
- input += 16;
- outBuffer += 16;
- }
- /* last block */
- RijndaelDecrypt(rijndael, input, block);
- ((UINT32*)block)[0] ^= iv[0];
- ((UINT32*)block)[1] ^= iv[1];
- ((UINT32*)block)[2] ^= iv[2];
- ((UINT32*)block)[3] ^= iv[3];
- padLen = block[15];
- if(padLen <= 0 || padLen > 16)return RIJNDAEL_CORRUPTED_DATA;
- for(i = 16 - padLen; i < 16; i++)
- {
- if(block[i] != padLen)return RIJNDAEL_CORRUPTED_DATA;
- }
- memcpy(outBuffer, block, 16 - padLen);
- break;
-
- default:
- return -1;
- break;
- }
-
- return 16*numBlocks - padLen;
-}
-
-/*
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// ALGORITHM
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-*/
-
-void RijndaelKeySched(Rijndael* rijndael, UINT8 key[_MAX_KEY_COLUMNS][4])
-{
- int j,rconpointer = 0;
-
- /* Calculate the necessary round keys */
- /* The number of calculations depends on keyBits and blockBits */
- int uKeyColumns = rijndael->m_uRounds - 6;
-
- UINT8 tempKey[_MAX_KEY_COLUMNS][4];
-
- UINT32 r = 0;
- int t = 0;
-
- /* Copy the input key to the temporary key matrix */
-
- for(j = 0;j < uKeyColumns;j++)
- {
- *((UINT32*)(tempKey[j])) = *((UINT32*)(key[j]));
- }
-
-
- /* copy values into round key array */
- for(j = 0;(j < uKeyColumns) && (r <= rijndael->m_uRounds); )
- {
- for(;(j < uKeyColumns) && (t < 4); j++, t++)
- {
- *((UINT32*)rijndael->m_expandedKey[r][t]) = *((UINT32*)tempKey[j]);
- }
-
-
- if(t == 4)
- {
- r++;
- t = 0;
- }
- }
-
- while(r <= rijndael->m_uRounds)
- {
- tempKey[0][0] ^= S[tempKey[uKeyColumns-1][1]];
- tempKey[0][1] ^= S[tempKey[uKeyColumns-1][2]];
- tempKey[0][2] ^= S[tempKey[uKeyColumns-1][3]];
- tempKey[0][3] ^= S[tempKey[uKeyColumns-1][0]];
- tempKey[0][0] ^= rcon[rconpointer++];
-
- if (uKeyColumns != 8)
- {
- for(j = 1; j < uKeyColumns; j++)
- {
- *((UINT32*)tempKey[j]) ^= *((UINT32*)tempKey[j-1]);
- }
- } else {
- for(j = 1; j < uKeyColumns/2; j++)
- {
- *((UINT32*)tempKey[j]) ^= *((UINT32*)tempKey[j-1]);
- }
- tempKey[uKeyColumns/2][0] ^= S[tempKey[uKeyColumns/2 - 1][0]];
- tempKey[uKeyColumns/2][1] ^= S[tempKey[uKeyColumns/2 - 1][1]];
- tempKey[uKeyColumns/2][2] ^= S[tempKey[uKeyColumns/2 - 1][2]];
- tempKey[uKeyColumns/2][3] ^= S[tempKey[uKeyColumns/2 - 1][3]];
- for(j = uKeyColumns/2 + 1; j < uKeyColumns; j++)
- {
- *((UINT32*)tempKey[j]) ^= *((UINT32*)tempKey[j-1]);
- }
- }
- for(j = 0; (j < uKeyColumns) && (r <= rijndael->m_uRounds); )
- {
- for(; (j < uKeyColumns) && (t < 4); j++, t++)
- {
- *((UINT32*)rijndael->m_expandedKey[r][t]) = *((UINT32*)tempKey[j]);
- }
- if(t == 4)
- {
- r++;
- t = 0;
- }
- }
- }
-}
-
-void RijndaelKeyEncToDec(Rijndael* rijndael)
-{
- UINT32 r;
- UINT8 *w;
-
- for(r = 1; r < rijndael->m_uRounds; r++)
- {
- w = rijndael->m_expandedKey[r][0];
- *((UINT32*)w) = *((UINT32*)U1[w[0]]) ^ *((UINT32*)U2[w[1]]) ^ *((UINT32*)U3[w[2]]) ^ *((UINT32*)U4[w[3]]);
- w = rijndael->m_expandedKey[r][1];
- *((UINT32*)w) = *((UINT32*)U1[w[0]]) ^ *((UINT32*)U2[w[1]]) ^ *((UINT32*)U3[w[2]]) ^ *((UINT32*)U4[w[3]]);
- w = rijndael->m_expandedKey[r][2];
- *((UINT32*)w) = *((UINT32*)U1[w[0]]) ^ *((UINT32*)U2[w[1]]) ^ *((UINT32*)U3[w[2]]) ^ *((UINT32*)U4[w[3]]);
- w = rijndael->m_expandedKey[r][3];
- *((UINT32*)w) = *((UINT32*)U1[w[0]]) ^ *((UINT32*)U2[w[1]]) ^ *((UINT32*)U3[w[2]]) ^ *((UINT32*)U4[w[3]]);
- }
-}
-
-void RijndaelEncrypt(Rijndael* rijndael, UINT8 a[16], UINT8 b[16])
-{
- UINT32 r;
- UINT8 temp[4][4];
-
- *((UINT32*)temp[0]) = *((UINT32*)(a )) ^ *((UINT32*)rijndael->m_expandedKey[0][0]);
- *((UINT32*)temp[1]) = *((UINT32*)(a+ 4)) ^ *((UINT32*)rijndael->m_expandedKey[0][1]);
- *((UINT32*)temp[2]) = *((UINT32*)(a+ 8)) ^ *((UINT32*)rijndael->m_expandedKey[0][2]);
- *((UINT32*)temp[3]) = *((UINT32*)(a+12)) ^ *((UINT32*)rijndael->m_expandedKey[0][3]);
- *((UINT32*)(b )) = *((UINT32*)T1[temp[0][0]])
- ^ *((UINT32*)T2[temp[1][1]])
- ^ *((UINT32*)T3[temp[2][2]])
- ^ *((UINT32*)T4[temp[3][3]]);
- *((UINT32*)(b + 4)) = *((UINT32*)T1[temp[1][0]])
- ^ *((UINT32*)T2[temp[2][1]])
- ^ *((UINT32*)T3[temp[3][2]])
- ^ *((UINT32*)T4[temp[0][3]]);
- *((UINT32*)(b + 8)) = *((UINT32*)T1[temp[2][0]])
- ^ *((UINT32*)T2[temp[3][1]])
- ^ *((UINT32*)T3[temp[0][2]])
- ^ *((UINT32*)T4[temp[1][3]]);
- *((UINT32*)(b +12)) = *((UINT32*)T1[temp[3][0]])
- ^ *((UINT32*)T2[temp[0][1]])
- ^ *((UINT32*)T3[temp[1][2]])
- ^ *((UINT32*)T4[temp[2][3]]);
- for(r = 1; r < rijndael->m_uRounds-1; r++)
- {
- *((UINT32*)temp[0]) = *((UINT32*)(b )) ^ *((UINT32*)rijndael->m_expandedKey[r][0]);
- *((UINT32*)temp[1]) = *((UINT32*)(b+ 4)) ^ *((UINT32*)rijndael->m_expandedKey[r][1]);
- *((UINT32*)temp[2]) = *((UINT32*)(b+ 8)) ^ *((UINT32*)rijndael->m_expandedKey[r][2]);
- *((UINT32*)temp[3]) = *((UINT32*)(b+12)) ^ *((UINT32*)rijndael->m_expandedKey[r][3]);
-
- *((UINT32*)(b )) = *((UINT32*)T1[temp[0][0]])
- ^ *((UINT32*)T2[temp[1][1]])
- ^ *((UINT32*)T3[temp[2][2]])
- ^ *((UINT32*)T4[temp[3][3]]);
- *((UINT32*)(b + 4)) = *((UINT32*)T1[temp[1][0]])
- ^ *((UINT32*)T2[temp[2][1]])
- ^ *((UINT32*)T3[temp[3][2]])
- ^ *((UINT32*)T4[temp[0][3]]);
- *((UINT32*)(b + 8)) = *((UINT32*)T1[temp[2][0]])
- ^ *((UINT32*)T2[temp[3][1]])
- ^ *((UINT32*)T3[temp[0][2]])
- ^ *((UINT32*)T4[temp[1][3]]);
- *((UINT32*)(b +12)) = *((UINT32*)T1[temp[3][0]])
- ^ *((UINT32*)T2[temp[0][1]])
- ^ *((UINT32*)T3[temp[1][2]])
- ^ *((UINT32*)T4[temp[2][3]]);
- }
- *((UINT32*)temp[0]) = *((UINT32*)(b )) ^ *((UINT32*)rijndael->m_expandedKey[rijndael->m_uRounds-1][0]);
- *((UINT32*)temp[1]) = *((UINT32*)(b+ 4)) ^ *((UINT32*)rijndael->m_expandedKey[rijndael->m_uRounds-1][1]);
- *((UINT32*)temp[2]) = *((UINT32*)(b+ 8)) ^ *((UINT32*)rijndael->m_expandedKey[rijndael->m_uRounds-1][2]);
- *((UINT32*)temp[3]) = *((UINT32*)(b+12)) ^ *((UINT32*)rijndael->m_expandedKey[rijndael->m_uRounds-1][3]);
- b[ 0] = T1[temp[0][0]][1];
- b[ 1] = T1[temp[1][1]][1];
- b[ 2] = T1[temp[2][2]][1];
- b[ 3] = T1[temp[3][3]][1];
- b[ 4] = T1[temp[1][0]][1];
- b[ 5] = T1[temp[2][1]][1];
- b[ 6] = T1[temp[3][2]][1];
- b[ 7] = T1[temp[0][3]][1];
- b[ 8] = T1[temp[2][0]][1];
- b[ 9] = T1[temp[3][1]][1];
- b[10] = T1[temp[0][2]][1];
- b[11] = T1[temp[1][3]][1];
- b[12] = T1[temp[3][0]][1];
- b[13] = T1[temp[0][1]][1];
- b[14] = T1[temp[1][2]][1];
- b[15] = T1[temp[2][3]][1];
- *((UINT32*)(b )) ^= *((UINT32*)rijndael->m_expandedKey[rijndael->m_uRounds][0]);
- *((UINT32*)(b+ 4)) ^= *((UINT32*)rijndael->m_expandedKey[rijndael->m_uRounds][1]);
- *((UINT32*)(b+ 8)) ^= *((UINT32*)rijndael->m_expandedKey[rijndael->m_uRounds][2]);
- *((UINT32*)(b+12)) ^= *((UINT32*)rijndael->m_expandedKey[rijndael->m_uRounds][3]);
-}
-
-void RijndaelDecrypt(Rijndael* rijndael, UINT8 a[16], UINT8 b[16])
-{
- int r;
- UINT8 temp[4][4];
-
- *((UINT32*)temp[0]) = *((UINT32*)(a )) ^ *((UINT32*)rijndael->m_expandedKey[rijndael->m_uRounds][0]);
- *((UINT32*)temp[1]) = *((UINT32*)(a+ 4)) ^ *((UINT32*)rijndael->m_expandedKey[rijndael->m_uRounds][1]);
- *((UINT32*)temp[2]) = *((UINT32*)(a+ 8)) ^ *((UINT32*)rijndael->m_expandedKey[rijndael->m_uRounds][2]);
- *((UINT32*)temp[3]) = *((UINT32*)(a+12)) ^ *((UINT32*)rijndael->m_expandedKey[rijndael->m_uRounds][3]);
-
- *((UINT32*)(b )) = *((UINT32*)T5[temp[0][0]])
- ^ *((UINT32*)T6[temp[3][1]])
- ^ *((UINT32*)T7[temp[2][2]])
- ^ *((UINT32*)T8[temp[1][3]]);
- *((UINT32*)(b+ 4)) = *((UINT32*)T5[temp[1][0]])
- ^ *((UINT32*)T6[temp[0][1]])
- ^ *((UINT32*)T7[temp[3][2]])
- ^ *((UINT32*)T8[temp[2][3]]);
- *((UINT32*)(b+ 8)) = *((UINT32*)T5[temp[2][0]])
- ^ *((UINT32*)T6[temp[1][1]])
- ^ *((UINT32*)T7[temp[0][2]])
- ^ *((UINT32*)T8[temp[3][3]]);
- *((UINT32*)(b+12)) = *((UINT32*)T5[temp[3][0]])
- ^ *((UINT32*)T6[temp[2][1]])
- ^ *((UINT32*)T7[temp[1][2]])
- ^ *((UINT32*)T8[temp[0][3]]);
- for(r = rijndael->m_uRounds-1; r > 1; r--)
- {
- *((UINT32*)temp[0]) = *((UINT32*)(b )) ^ *((UINT32*)rijndael->m_expandedKey[r][0]);
- *((UINT32*)temp[1]) = *((UINT32*)(b+ 4)) ^ *((UINT32*)rijndael->m_expandedKey[r][1]);
- *((UINT32*)temp[2]) = *((UINT32*)(b+ 8)) ^ *((UINT32*)rijndael->m_expandedKey[r][2]);
- *((UINT32*)temp[3]) = *((UINT32*)(b+12)) ^ *((UINT32*)rijndael->m_expandedKey[r][3]);
- *((UINT32*)(b )) = *((UINT32*)T5[temp[0][0]])
- ^ *((UINT32*)T6[temp[3][1]])
- ^ *((UINT32*)T7[temp[2][2]])
- ^ *((UINT32*)T8[temp[1][3]]);
- *((UINT32*)(b+ 4)) = *((UINT32*)T5[temp[1][0]])
- ^ *((UINT32*)T6[temp[0][1]])
- ^ *((UINT32*)T7[temp[3][2]])
- ^ *((UINT32*)T8[temp[2][3]]);
- *((UINT32*)(b+ 8)) = *((UINT32*)T5[temp[2][0]])
- ^ *((UINT32*)T6[temp[1][1]])
- ^ *((UINT32*)T7[temp[0][2]])
- ^ *((UINT32*)T8[temp[3][3]]);
- *((UINT32*)(b+12)) = *((UINT32*)T5[temp[3][0]])
- ^ *((UINT32*)T6[temp[2][1]])
- ^ *((UINT32*)T7[temp[1][2]])
- ^ *((UINT32*)T8[temp[0][3]]);
- }
-
- *((UINT32*)temp[0]) = *((UINT32*)(b )) ^ *((UINT32*)rijndael->m_expandedKey[1][0]);
- *((UINT32*)temp[1]) = *((UINT32*)(b+ 4)) ^ *((UINT32*)rijndael->m_expandedKey[1][1]);
- *((UINT32*)temp[2]) = *((UINT32*)(b+ 8)) ^ *((UINT32*)rijndael->m_expandedKey[1][2]);
- *((UINT32*)temp[3]) = *((UINT32*)(b+12)) ^ *((UINT32*)rijndael->m_expandedKey[1][3]);
- b[ 0] = S5[temp[0][0]];
- b[ 1] = S5[temp[3][1]];
- b[ 2] = S5[temp[2][2]];
- b[ 3] = S5[temp[1][3]];
- b[ 4] = S5[temp[1][0]];
- b[ 5] = S5[temp[0][1]];
- b[ 6] = S5[temp[3][2]];
- b[ 7] = S5[temp[2][3]];
- b[ 8] = S5[temp[2][0]];
- b[ 9] = S5[temp[1][1]];
- b[10] = S5[temp[0][2]];
- b[11] = S5[temp[3][3]];
- b[12] = S5[temp[3][0]];
- b[13] = S5[temp[2][1]];
- b[14] = S5[temp[1][2]];
- b[15] = S5[temp[0][3]];
- *((UINT32*)(b )) ^= *((UINT32*)rijndael->m_expandedKey[0][0]);
- *((UINT32*)(b+ 4)) ^= *((UINT32*)rijndael->m_expandedKey[0][1]);
- *((UINT32*)(b+ 8)) ^= *((UINT32*)rijndael->m_expandedKey[0][2]);
- *((UINT32*)(b+12)) ^= *((UINT32*)rijndael->m_expandedKey[0][3]);
-}
-
-void RijndaelInvalidate(Rijndael* rijndael)
-{
- rijndael->m_state = RIJNDAEL_State_Invalid;
-}
diff --git a/sqlite3secure/src/rijndael.h b/sqlite3secure/src/rijndael.h
deleted file mode 100644
index 2cdbddf3..00000000
--- a/sqlite3secure/src/rijndael.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
-** Name: rijndael.h
-** Purpose: Header file for the Rijndael cipher
-** Author: Ulrich Telle
-** Created: 2006-12-06
-** Copyright: (c) 2006-2018 Ulrich Telle
-** License: LGPL-3.0+ WITH WxWindows-exception-3.1
-**
-** Adjustments were made to make this code work with the wxSQLite3's
-** SQLite encryption extension.
-** The original code is public domain (see comments below).
-*/
-
-/*
-/// \file rijndael.h Interface of the Rijndael cipher
-*/
-
-#ifndef _RIJNDAEL_H_
-#define _RIJNDAEL_H_
-
-/*
-// File : rijndael.h
-// Creation date : Sun Nov 5 2000 03:21:05 CEST
-// Author : Szymon Stefanek (stefanek@tin.it)
-//
-// Another implementation of the Rijndael cipher.
-// This is intended to be an easily usable library file.
-// This code is public domain.
-// Based on the Vincent Rijmen and K.U.Leuven implementation 2.4.
-//
-// Original Copyright notice:
-//
-// rijndael-alg-fst.c v2.4 April '2000
-// rijndael-alg-fst.h
-// rijndael-api-fst.c
-// rijndael-api-fst.h
-//
-// Optimised ANSI C code
-//
-// authors: v1.0: Antoon Bosselaers
-// v2.0: Vincent Rijmen, K.U.Leuven
-// v2.3: Paulo Barreto
-// v2.4: Vincent Rijmen, K.U.Leuven
-//
-// This code is placed in the public domain.
-//
-
-//
-// This implementation works on 128 , 192 , 256 bit keys
-// and on 128 bit blocks
-//
-
-//
-// Example of usage:
-//
-// // Input data
-// unsigned char key[32]; // The key
-// initializeYour256BitKey(); // Obviously initialized with sth
-// const unsigned char * plainText = getYourPlainText(); // Your plain text
-// int plainTextLen = strlen(plainText); // Plain text length
-//
-// // Encrypting
-// Rijndael rin;
-// unsigned char output[plainTextLen + 16];
-//
-// rin.init(Rijndael::CBC,Rijndael::Encrypt,key,Rijndael::Key32Bytes);
-// // It is a good idea to check the error code
-// int len = rin.padEncrypt(plainText,len,output);
-// if(len >= 0)useYourEncryptedText();
-// else encryptError(len);
-//
-// // Decrypting: we can reuse the same object
-// unsigned char output2[len];
-// rin.init(Rijndael::CBC,Rijndael::Decrypt,key,Rijndael::Key32Bytes));
-// len = rin.padDecrypt(output,len,output2);
-// if(len >= 0)useYourDecryptedText();
-// else decryptError(len);
-//
-*/
-
-#define _MAX_KEY_COLUMNS (256/32)
-#define _MAX_ROUNDS 14
-#define MAX_IV_SIZE 16
-
-/* We assume that unsigned int is 32 bits long.... */
-typedef unsigned char UINT8;
-typedef unsigned int UINT32;
-typedef unsigned short UINT16;
-
-/* Error codes */
-#define RIJNDAEL_SUCCESS 0
-#define RIJNDAEL_UNSUPPORTED_MODE -1
-#define RIJNDAEL_UNSUPPORTED_DIRECTION -2
-#define RIJNDAEL_UNSUPPORTED_KEY_LENGTH -3
-#define RIJNDAEL_BAD_KEY -4
-#define RIJNDAEL_NOT_INITIALIZED -5
-#define RIJNDAEL_BAD_DIRECTION -6
-#define RIJNDAEL_CORRUPTED_DATA -7
-
-#define RIJNDAEL_Direction_Encrypt 0
-#define RIJNDAEL_Direction_Decrypt 1
-
-#define RIJNDAEL_Direction_Mode_ECB 0
-#define RIJNDAEL_Direction_Mode_CBC 1
-#define RIJNDAEL_Direction_Mode_CFB1 2
-
-#define RIJNDAEL_Direction_KeyLength_Key16Bytes 0
-#define RIJNDAEL_Direction_KeyLength_Key24Bytes 1
-#define RIJNDAEL_Direction_KeyLength_Key32Bytes 2
-
-#define RIJNDAEL_State_Valid 0
-#define RIJNDAEL_State_Invalid 1
-
-/*
-/// Class implementing the Rijndael cipher. (For internal use only)
-*/
-
-typedef struct _Rijndael
-{
- int m_state;
- int m_mode;
- int m_direction;
- UINT8 m_initVector[MAX_IV_SIZE];
- UINT32 m_uRounds;
- UINT8 m_expandedKey[_MAX_ROUNDS+1][4][4];
-} Rijndael;
-
-void RijndaelCreate(Rijndael* rijndael);
-
-/*
-//////////////////////////////////////////////////////////////////////////////////////////
-// API
-//////////////////////////////////////////////////////////////////////////////////////////
-
-// init(): Initializes the crypt session
-// Returns RIJNDAEL_SUCCESS or an error code
-// mode : Rijndael::ECB, Rijndael::CBC or Rijndael::CFB1
-// You have to use the same mode for encrypting and decrypting
-// dir : Rijndael::Encrypt or Rijndael::Decrypt
-// A cipher instance works only in one direction
-// (Well , it could be easily modified to work in both
-// directions with a single init() call, but it looks
-// useless to me...anyway , it is a matter of generating
-// two expanded keys)
-// key : array of unsigned octets , it can be 16 , 24 or 32 bytes long
-// this CAN be binary data (it is not expected to be null terminated)
-// keyLen : Rijndael::Key16Bytes , Rijndael::Key24Bytes or Rijndael::Key32Bytes
-// initVector: initialization vector, you will usually use 0 here
-*/
-int RijndaelInit(Rijndael* rijndael, int mode, int dir, UINT8* key, int keyLen, UINT8* initVector);
-
-/*
-// Encrypts the input array (can be binary data)
-// The input array length must be a multiple of 16 bytes, the remaining part
-// is DISCARDED.
-// so it actually encrypts inputLen / 128 blocks of input and puts it in outBuffer
-// Input len is in BITS!
-// outBuffer must be at least inputLen / 8 bytes long.
-// Returns the encrypted buffer length in BITS or an error code < 0 in case of error
-*/
-int RijndaelBlockEncrypt(Rijndael* rijndael, UINT8 *input, int inputLen, UINT8 *outBuffer);
-
-/*
-// Encrypts the input array (can be binary data)
-// The input array can be any length , it is automatically padded on a 16 byte boundary.
-// Input len is in BYTES!
-// outBuffer must be at least (inputLen + 16) bytes long
-// Returns the encrypted buffer length in BYTES or an error code < 0 in case of error
-*/
-int RijndaelPadEncrypt(Rijndael* rijndael, UINT8 *input, int inputOctets, UINT8 *outBuffer);
-
-/*
-// Decrypts the input vector
-// Input len is in BITS!
-// outBuffer must be at least inputLen / 8 bytes long
-// Returns the decrypted buffer length in BITS and an error code < 0 in case of error
-*/
-int RijndaelBlockDecrypt(Rijndael* rijndael, UINT8 *input, int inputLen, UINT8 *outBuffer);
-
-/*
-// Decrypts the input vector
-// Input len is in BYTES!
-// outBuffer must be at least inputLen bytes long
-// Returns the decrypted buffer length in BYTES and an error code < 0 in case of error
-*/
-int RijndaelPadDecrypt(Rijndael* rijndael, UINT8 *input, int inputOctets, UINT8 *outBuffer);
-
-void RijndaelInvalidate(Rijndael* rijndael);
-void RijndaelKeySched(Rijndael* rijndael, UINT8 key[_MAX_KEY_COLUMNS][4]);
-void RijndaelKeyEncToDec(Rijndael* rijndael);
-void RijndaelEncrypt(Rijndael* rijndael, UINT8 a[16], UINT8 b[16]);
-void RijndaelDecrypt(Rijndael* rijndael, UINT8 a[16], UINT8 b[16]);
-
-#endif /* _RIJNDAEL_H_ */
diff --git a/sqlite3secure/src/series.c b/sqlite3secure/src/series.c
deleted file mode 100644
index ac93f1fc..00000000
--- a/sqlite3secure/src/series.c
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
-** 2015-08-18
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-**
-** This file demonstrates how to create a table-valued-function using
-** a virtual table. This demo implements the generate_series() function
-** which gives similar results to the eponymous function in PostgreSQL.
-** Examples:
-**
-** SELECT * FROM generate_series(0,100,5);
-**
-** The query above returns integers from 0 through 100 counting by steps
-** of 5.
-**
-** SELECT * FROM generate_series(0,100);
-**
-** Integers from 0 through 100 with a step size of 1.
-**
-** SELECT * FROM generate_series(20) LIMIT 10;
-**
-** Integers 20 through 29.
-**
-** HOW IT WORKS
-**
-** The generate_series "function" is really a virtual table with the
-** following schema:
-**
-** CREATE TABLE generate_series(
-** value,
-** start HIDDEN,
-** stop HIDDEN,
-** step HIDDEN
-** );
-**
-** Function arguments in queries against this virtual table are translated
-** into equality constraints against successive hidden columns. In other
-** words, the following pairs of queries are equivalent to each other:
-**
-** SELECT * FROM generate_series(0,100,5);
-** SELECT * FROM generate_series WHERE start=0 AND stop=100 AND step=5;
-**
-** SELECT * FROM generate_series(0,100);
-** SELECT * FROM generate_series WHERE start=0 AND stop=100;
-**
-** SELECT * FROM generate_series(20) LIMIT 10;
-** SELECT * FROM generate_series WHERE start=20 LIMIT 10;
-**
-** The generate_series virtual table implementation leaves the xCreate method
-** set to NULL. This means that it is not possible to do a CREATE VIRTUAL
-** TABLE command with "generate_series" as the USING argument. Instead, there
-** is a single generate_series virtual table that is always available without
-** having to be created first.
-**
-** The xBestIndex method looks for equality constraints against the hidden
-** start, stop, and step columns, and if present, it uses those constraints
-** to bound the sequence of generated values. If the equality constraints
-** are missing, it uses 0 for start, 4294967295 for stop, and 1 for step.
-** xBestIndex returns a small cost when both start and stop are available,
-** and a very large cost if either start or stop are unavailable. This
-** encourages the query planner to order joins such that the bounds of the
-** series are well-defined.
-*/
-#include "sqlite3ext.h"
-SQLITE_EXTENSION_INIT1
-#include
-#include
-
-#ifndef SQLITE_OMIT_VIRTUALTABLE
-
-
-/* series_cursor is a subclass of sqlite3_vtab_cursor which will
-** serve as the underlying representation of a cursor that scans
-** over rows of the result
-*/
-typedef struct series_cursor series_cursor;
-struct series_cursor {
- sqlite3_vtab_cursor base; /* Base class - must be first */
- int isDesc; /* True to count down rather than up */
- sqlite3_int64 iRowid; /* The rowid */
- sqlite3_int64 iValue; /* Current value ("value") */
- sqlite3_int64 mnValue; /* Mimimum value ("start") */
- sqlite3_int64 mxValue; /* Maximum value ("stop") */
- sqlite3_int64 iStep; /* Increment ("step") */
-};
-
-/*
-** The seriesConnect() method is invoked to create a new
-** series_vtab that describes the generate_series virtual table.
-**
-** Think of this routine as the constructor for series_vtab objects.
-**
-** All this routine needs to do is:
-**
-** (1) Allocate the series_vtab object and initialize all fields.
-**
-** (2) Tell SQLite (via the sqlite3_declare_vtab() interface) what the
-** result set of queries against generate_series will look like.
-*/
-static int seriesConnect(
- sqlite3 *db,
- void *pAux,
- int argc, const char *const*argv,
- sqlite3_vtab **ppVtab,
- char **pzErr
-){
- sqlite3_vtab *pNew;
- int rc;
-
-/* Column numbers */
-#define SERIES_COLUMN_VALUE 0
-#define SERIES_COLUMN_START 1
-#define SERIES_COLUMN_STOP 2
-#define SERIES_COLUMN_STEP 3
-
- rc = sqlite3_declare_vtab(db,
- "CREATE TABLE x(value,start hidden,stop hidden,step hidden)");
- if( rc==SQLITE_OK ){
- pNew = *ppVtab = sqlite3_malloc( sizeof(*pNew) );
- if( pNew==0 ) return SQLITE_NOMEM;
- memset(pNew, 0, sizeof(*pNew));
- sqlite3_vtab_config(db, SQLITE_VTAB_INNOCUOUS);
- }
- return rc;
-}
-
-/*
-** This method is the destructor for series_cursor objects.
-*/
-static int seriesDisconnect(sqlite3_vtab *pVtab){
- sqlite3_free(pVtab);
- return SQLITE_OK;
-}
-
-/*
-** Constructor for a new series_cursor object.
-*/
-static int seriesOpen(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){
- series_cursor *pCur;
- pCur = sqlite3_malloc( sizeof(*pCur) );
- if( pCur==0 ) return SQLITE_NOMEM;
- memset(pCur, 0, sizeof(*pCur));
- *ppCursor = &pCur->base;
- return SQLITE_OK;
-}
-
-/*
-** Destructor for a series_cursor.
-*/
-static int seriesClose(sqlite3_vtab_cursor *cur){
- sqlite3_free(cur);
- return SQLITE_OK;
-}
-
-
-/*
-** Advance a series_cursor to its next row of output.
-*/
-static int seriesNext(sqlite3_vtab_cursor *cur){
- series_cursor *pCur = (series_cursor*)cur;
- if( pCur->isDesc ){
- pCur->iValue -= pCur->iStep;
- }else{
- pCur->iValue += pCur->iStep;
- }
- pCur->iRowid++;
- return SQLITE_OK;
-}
-
-/*
-** Return values of columns for the row at which the series_cursor
-** is currently pointing.
-*/
-static int seriesColumn(
- sqlite3_vtab_cursor *cur, /* The cursor */
- sqlite3_context *ctx, /* First argument to sqlite3_result_...() */
- int i /* Which column to return */
-){
- series_cursor *pCur = (series_cursor*)cur;
- sqlite3_int64 x = 0;
- switch( i ){
- case SERIES_COLUMN_START: x = pCur->mnValue; break;
- case SERIES_COLUMN_STOP: x = pCur->mxValue; break;
- case SERIES_COLUMN_STEP: x = pCur->iStep; break;
- default: x = pCur->iValue; break;
- }
- sqlite3_result_int64(ctx, x);
- return SQLITE_OK;
-}
-
-/*
-** Return the rowid for the current row. In this implementation, the
-** first row returned is assigned rowid value 1, and each subsequent
-** row a value 1 more than that of the previous.
-*/
-static int seriesRowid(sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid){
- series_cursor *pCur = (series_cursor*)cur;
- *pRowid = pCur->iRowid;
- return SQLITE_OK;
-}
-
-/*
-** Return TRUE if the cursor has been moved off of the last
-** row of output.
-*/
-static int seriesEof(sqlite3_vtab_cursor *cur){
- series_cursor *pCur = (series_cursor*)cur;
- if( pCur->isDesc ){
- return pCur->iValue < pCur->mnValue;
- }else{
- return pCur->iValue > pCur->mxValue;
- }
-}
-
-/* True to cause run-time checking of the start=, stop=, and/or step=
-** parameters. The only reason to do this is for testing the
-** constraint checking logic for virtual tables in the SQLite core.
-*/
-#ifndef SQLITE_SERIES_CONSTRAINT_VERIFY
-# define SQLITE_SERIES_CONSTRAINT_VERIFY 0
-#endif
-
-/*
-** This method is called to "rewind" the series_cursor object back
-** to the first row of output. This method is always called at least
-** once prior to any call to seriesColumn() or seriesRowid() or
-** seriesEof().
-**
-** The query plan selected by seriesBestIndex is passed in the idxNum
-** parameter. (idxStr is not used in this implementation.) idxNum
-** is a bitmask showing which constraints are available:
-**
-** 1: start=VALUE
-** 2: stop=VALUE
-** 4: step=VALUE
-**
-** Also, if bit 8 is set, that means that the series should be output
-** in descending order rather than in ascending order.
-**
-** This routine should initialize the cursor and position it so that it
-** is pointing at the first row, or pointing off the end of the table
-** (so that seriesEof() will return true) if the table is empty.
-*/
-static int seriesFilter(
- sqlite3_vtab_cursor *pVtabCursor,
- int idxNum, const char *idxStr,
- int argc, sqlite3_value **argv
-){
- series_cursor *pCur = (series_cursor *)pVtabCursor;
- int i = 0;
- if( idxNum & 1 ){
- pCur->mnValue = sqlite3_value_int64(argv[i++]);
- }else{
- pCur->mnValue = 0;
- }
- if( idxNum & 2 ){
- pCur->mxValue = sqlite3_value_int64(argv[i++]);
- }else{
- pCur->mxValue = 0xffffffff;
- }
- if( idxNum & 4 ){
- pCur->iStep = sqlite3_value_int64(argv[i++]);
- if( pCur->iStep<1 ) pCur->iStep = 1;
- }else{
- pCur->iStep = 1;
- }
- for(i=0; imnValue = 1;
- pCur->mxValue = 0;
- break;
- }
- }
- if( idxNum & 8 ){
- pCur->isDesc = 1;
- pCur->iValue = pCur->mxValue;
- if( pCur->iStep>0 ){
- pCur->iValue -= (pCur->mxValue - pCur->mnValue)%pCur->iStep;
- }
- }else{
- pCur->isDesc = 0;
- pCur->iValue = pCur->mnValue;
- }
- pCur->iRowid = 1;
- return SQLITE_OK;
-}
-
-/*
-** SQLite will invoke this method one or more times while planning a query
-** that uses the generate_series virtual table. This routine needs to create
-** a query plan for each invocation and compute an estimated cost for that
-** plan.
-**
-** In this implementation idxNum is used to represent the
-** query plan. idxStr is unused.
-**
-** The query plan is represented by bits in idxNum:
-**
-** (1) start = $value -- constraint exists
-** (2) stop = $value -- constraint exists
-** (4) step = $value -- constraint exists
-** (8) output in descending order
-*/
-static int seriesBestIndex(
- sqlite3_vtab *tab,
- sqlite3_index_info *pIdxInfo
-){
- int i, j; /* Loop over constraints */
- int idxNum = 0; /* The query plan bitmask */
- int unusableMask = 0; /* Mask of unusable constraints */
- int nArg = 0; /* Number of arguments that seriesFilter() expects */
- int aIdx[3]; /* Constraints on start, stop, and step */
- const struct sqlite3_index_constraint *pConstraint;
-
- /* This implementation assumes that the start, stop, and step columns
- ** are the last three columns in the virtual table. */
- assert( SERIES_COLUMN_STOP == SERIES_COLUMN_START+1 );
- assert( SERIES_COLUMN_STEP == SERIES_COLUMN_START+2 );
- aIdx[0] = aIdx[1] = aIdx[2] = -1;
- pConstraint = pIdxInfo->aConstraint;
- for(i=0; inConstraint; i++, pConstraint++){
- int iCol; /* 0 for start, 1 for stop, 2 for step */
- int iMask; /* bitmask for those column */
- if( pConstraint->iColumniColumn - SERIES_COLUMN_START;
- assert( iCol>=0 && iCol<=2 );
- iMask = 1 << iCol;
- if( pConstraint->usable==0 ){
- unusableMask |= iMask;
- continue;
- }else if( pConstraint->op==SQLITE_INDEX_CONSTRAINT_EQ ){
- idxNum |= iMask;
- aIdx[iCol] = i;
- }
- }
- for(i=0; i<3; i++){
- if( (j = aIdx[i])>=0 ){
- pIdxInfo->aConstraintUsage[j].argvIndex = ++nArg;
- pIdxInfo->aConstraintUsage[j].omit = !SQLITE_SERIES_CONSTRAINT_VERIFY;
- }
- }
- if( (unusableMask & ~idxNum)!=0 ){
- /* The start, stop, and step columns are inputs. Therefore if there
- ** are unusable constraints on any of start, stop, or step then
- ** this plan is unusable */
- return SQLITE_CONSTRAINT;
- }
- if( (idxNum & 3)==3 ){
- /* Both start= and stop= boundaries are available. This is the
- ** the preferred case */
- pIdxInfo->estimatedCost = (double)(2 - ((idxNum&4)!=0));
- pIdxInfo->estimatedRows = 1000;
- if( pIdxInfo->nOrderBy==1 ){
- if( pIdxInfo->aOrderBy[0].desc ) idxNum |= 8;
- pIdxInfo->orderByConsumed = 1;
- }
- }else{
- /* If either boundary is missing, we have to generate a huge span
- ** of numbers. Make this case very expensive so that the query
- ** planner will work hard to avoid it. */
- pIdxInfo->estimatedRows = 2147483647;
- }
- pIdxInfo->idxNum = idxNum;
- return SQLITE_OK;
-}
-
-/*
-** This following structure defines all the methods for the
-** generate_series virtual table.
-*/
-static sqlite3_module seriesModule = {
- 0, /* iVersion */
- 0, /* xCreate */
- seriesConnect, /* xConnect */
- seriesBestIndex, /* xBestIndex */
- seriesDisconnect, /* xDisconnect */
- 0, /* xDestroy */
- seriesOpen, /* xOpen - open a cursor */
- seriesClose, /* xClose - close a cursor */
- seriesFilter, /* xFilter - configure scan constraints */
- seriesNext, /* xNext - advance a cursor */
- seriesEof, /* xEof - check for end of scan */
- seriesColumn, /* xColumn - read data */
- seriesRowid, /* xRowid - read data */
- 0, /* xUpdate */
- 0, /* xBegin */
- 0, /* xSync */
- 0, /* xCommit */
- 0, /* xRollback */
- 0, /* xFindMethod */
- 0, /* xRename */
-};
-
-#endif /* SQLITE_OMIT_VIRTUALTABLE */
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_series_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
-#ifndef SQLITE_OMIT_VIRTUALTABLE
- if( sqlite3_libversion_number()<3008012 ){
- *pzErrMsg = sqlite3_mprintf(
- "generate_series() requires SQLite 3.8.12 or later");
- return SQLITE_ERROR;
- }
- rc = sqlite3_create_module(db, "generate_series", &seriesModule, 0);
-#endif
- return rc;
-}
diff --git a/sqlite3secure/src/sha1.c b/sqlite3secure/src/sha1.c
deleted file mode 100644
index 6a562192..00000000
--- a/sqlite3secure/src/sha1.c
+++ /dev/null
@@ -1,291 +0,0 @@
-/**
-* @file sha1.c SHA-1 in C
-*/
-
-/*
-By Steve Reid
-100% Public Domain
-
------------------
-Modified 7/98
-By James H. Brown
-Still 100% Public Domain
-
-Corrected a problem which generated improper hash values on 16 bit machines
-Routine SHA1Update changed from
- void SHA1Update(SHA1_CTX* context, unsigned char* data, unsigned int
-len)
-to
- void SHA1Update(SHA1_CTX* context, unsigned char* data, unsigned
-long len)
-
-The 'len' parameter was declared an int which works fine on 32 bit machines.
-However, on 16 bit machines an int is too small for the shifts being done
-against
-it. This caused the hash function to generate incorrect values if len was
-greater than 8191 (8K - 1) due to the 'len << 3' on line 3 of SHA1Update().
-
-Since the file IO in main() reads 16K at a time, any file 8K or larger would
-be guaranteed to generate the wrong hash (e.g. Test Vector #3, a million
-"a"s).
-
-I also changed the declaration of variables i & j in SHA1Update to
-unsigned long from unsigned int for the same reason.
-
-These changes should make no difference to any 32 bit implementations since
-an
-int and a long are the same size in those environments.
-
---
-I also corrected a few compiler warnings generated by Borland C.
-1. Added #include for exit() prototype
-2. Removed unused variable 'j' in SHA1Final
-3. Changed exit(0) to return(0) at end of main.
-
-ALL changes I made can be located by searching for comments containing 'JHB'
------------------
-Modified 8/98
-By Steve Reid
-Still 100% public domain
-
-1- Removed #include and used return() instead of exit()
-2- Fixed overwriting of finalcount in SHA1Final() (discovered by Chris Hall)
-3- Changed email address from steve@edmweb.com to sreid@sea-to-sky.net
-
------------------
-Modified 4/01
-By Saul Kravitz
-Still 100% PD
-Modified to run on Compaq Alpha hardware.
-
------------------
-Modified 07/2002
-By Ralph Giles
-Still 100% public domain
-modified for use with stdint types, autoconf
-code cleanup, removed attribution comments
-switched SHA1Final() argument order for consistency
-use SHA1_ prefix for public api
-move public api to sha1.h
-
------------------
-Modified 02/2018
-By Ulrich Telle
-Still 100% public domain
-modified for use with fast-pbkdf2 (written by Joseph Birr-Pixton)
-detect endianess at run-time
-*/
-
-/*
-Test Vectors (from FIPS PUB 180-1)
-"abc"
- A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D
-"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
- 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1
-A million repetitions of "a"
- 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F
-*/
-
-#include "mystdint.h"
-
-#include
-#include
-#include "sha1.h"
-
-#if 0
-/* TODO: asm doesn't compile under Linux, use generic C equivalent for now */
-#if __GNUC__ && (defined(__i386__) || defined(__x86_64__))
-/*
-* GCC by itself only generates left rotates. Use right rotates if
-* possible to be kinder to dinky implementations with iterative rotate
-* instructions.
-*/
-#define SHA_ROT(op, x, k) \
- ({ unsigned int y; asm(op " %1,%0" : "=r" (y) : "I" (k), "0" (x)); y; })
-#define rol(x,k) SHA_ROT("roll", x, k)
-#define ror(x,k) SHA_ROT("rorl", x, k)
-#else
-/* Generic C equivalent */
-#define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits))))
-#define ror(value, bits) (((value) << (32 - (bits))) | ((value) >> (bits)))
-#endif
-#endif
-
-/* Generic C equivalent */
-#define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits))))
-#define ror(value, bits) (((value) << (32 - (bits))) | ((value) >> (bits)))
-
-#define blk0le(i) (block[i] = (ror(block[i],8)&0xFF00FF00) \
- |(rol(block[i],8)&0x00FF00FF))
-#define blk0be(i) block[i]
-#define blk(i) (block[i&15] = rol(block[(i+13)&15]^block[(i+8)&15] \
- ^block[(i+2)&15]^block[i&15],1))
-
-/*
-* (R0+R1), R2, R3, R4 are the different operations (rounds) used in SHA1
-*
-* Rl0() for little-endian and Rb0() for big-endian. Endianness is
-* determined at run-time.
-*/
-#define Rl0(v,w,x,y,z,i) \
- z+=((w&(x^y))^y)+blk0le(i)+0x5A827999+rol(v,5);w=ror(w,2);
-#define Rb0(v,w,x,y,z,i) \
- z+=((w&(x^y))^y)+blk0be(i)+0x5A827999+rol(v,5);w=ror(w,2);
-#define R1(v,w,x,y,z,i) \
- z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=ror(w,2);
-#define R2(v,w,x,y,z,i) \
- z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=ror(w,2);
-#define R3(v,w,x,y,z,i) \
- z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=ror(w,2);
-#define R4(v,w,x,y,z,i) \
- z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=ror(w,2);
-
-/* Hash a single 512-bit block. This is the core of the algorithm. */
-void sha1_transform(sha1_ctx *context, const uint8_t buffer[64])
-{
- uint32_t a, b, c, d, e;
- static int one = 1;
- uint32_t block[16];
- memcpy(block, buffer, 64);
-
- /* Copy context->h[] to working vars */
- a = context->h[0];
- b = context->h[1];
- c = context->h[2];
- d = context->h[3];
- e = context->h[4];
-
- /* 4 rounds of 20 operations each. Loop unrolled. */
- if (1 == *(unsigned char*)&one) /* Check for endianess */
- {
- Rl0(a, b, c, d, e, 0); Rl0(e, a, b, c, d, 1); Rl0(d, e, a, b, c, 2); Rl0(c, d, e, a, b, 3);
- Rl0(b, c, d, e, a, 4); Rl0(a, b, c, d, e, 5); Rl0(e, a, b, c, d, 6); Rl0(d, e, a, b, c, 7);
- Rl0(c, d, e, a, b, 8); Rl0(b, c, d, e, a, 9); Rl0(a, b, c, d, e, 10); Rl0(e, a, b, c, d, 11);
- Rl0(d, e, a, b, c, 12); Rl0(c, d, e, a, b, 13); Rl0(b, c, d, e, a, 14); Rl0(a, b, c, d, e, 15);
- }
- else
- {
- Rb0(a, b, c, d, e, 0); Rb0(e, a, b, c, d, 1); Rb0(d, e, a, b, c, 2); Rb0(c, d, e, a, b, 3);
- Rb0(b, c, d, e, a, 4); Rb0(a, b, c, d, e, 5); Rb0(e, a, b, c, d, 6); Rb0(d, e, a, b, c, 7);
- Rb0(c, d, e, a, b, 8); Rb0(b, c, d, e, a, 9); Rb0(a, b, c, d, e, 10); Rb0(e, a, b, c, d, 11);
- Rb0(d, e, a, b, c, 12); Rb0(c, d, e, a, b, 13); Rb0(b, c, d, e, a, 14); Rb0(a, b, c, d, e, 15);
- }
- R1(e, a, b, c, d, 16); R1(d, e, a, b, c, 17); R1(c, d, e, a, b, 18); R1(b, c, d, e, a, 19);
- R2(a, b, c, d, e, 20); R2(e, a, b, c, d, 21); R2(d, e, a, b, c, 22); R2(c, d, e, a, b, 23);
- R2(b, c, d, e, a, 24); R2(a, b, c, d, e, 25); R2(e, a, b, c, d, 26); R2(d, e, a, b, c, 27);
- R2(c, d, e, a, b, 28); R2(b, c, d, e, a, 29); R2(a, b, c, d, e, 30); R2(e, a, b, c, d, 31);
- R2(d, e, a, b, c, 32); R2(c, d, e, a, b, 33); R2(b, c, d, e, a, 34); R2(a, b, c, d, e, 35);
- R2(e, a, b, c, d, 36); R2(d, e, a, b, c, 37); R2(c, d, e, a, b, 38); R2(b, c, d, e, a, 39);
- R3(a, b, c, d, e, 40); R3(e, a, b, c, d, 41); R3(d, e, a, b, c, 42); R3(c, d, e, a, b, 43);
- R3(b, c, d, e, a, 44); R3(a, b, c, d, e, 45); R3(e, a, b, c, d, 46); R3(d, e, a, b, c, 47);
- R3(c, d, e, a, b, 48); R3(b, c, d, e, a, 49); R3(a, b, c, d, e, 50); R3(e, a, b, c, d, 51);
- R3(d, e, a, b, c, 52); R3(c, d, e, a, b, 53); R3(b, c, d, e, a, 54); R3(a, b, c, d, e, 55);
- R3(e, a, b, c, d, 56); R3(d, e, a, b, c, 57); R3(c, d, e, a, b, 58); R3(b, c, d, e, a, 59);
- R4(a, b, c, d, e, 60); R4(e, a, b, c, d, 61); R4(d, e, a, b, c, 62); R4(c, d, e, a, b, 63);
- R4(b, c, d, e, a, 64); R4(a, b, c, d, e, 65); R4(e, a, b, c, d, 66); R4(d, e, a, b, c, 67);
- R4(c, d, e, a, b, 68); R4(b, c, d, e, a, 69); R4(a, b, c, d, e, 70); R4(e, a, b, c, d, 71);
- R4(d, e, a, b, c, 72); R4(c, d, e, a, b, 73); R4(b, c, d, e, a, 74); R4(a, b, c, d, e, 75);
- R4(e, a, b, c, d, 76); R4(d, e, a, b, c, 77); R4(c, d, e, a, b, 78); R4(b, c, d, e, a, 79);
-
- /* Add the working vars back into context.state[] */
- context->h[0] += a;
- context->h[1] += b;
- context->h[2] += c;
- context->h[3] += d;
- context->h[4] += e;
-
- /* Wipe variables */
- a = b = c = d = e = 0;
- memset(block, 0, 64);
-}
-
-
-/**
-* Initialize new context
-*
-* @param context SHA1-Context
-*/
-void sha1_init(sha1_ctx *context)
-{
- /* SHA1 initialization constants */
- context->h[0] = 0x67452301;
- context->h[1] = 0xefcdab89;
- context->h[2] = 0x98badcfe;
- context->h[3] = 0x10325476;
- context->h[4] = 0xc3d2e1f0;
- context->count[0] = context->count[1] = 0;
-}
-
-
-/**
-* Run your data through this
-*
-* @param context SHA1-Context
-* @param p Buffer to run SHA1 on
-* @param len Number of bytes
-*/
-void sha1_update(sha1_ctx *context, const void *p, size_t len)
-{
- const uint8_t *data = p;
- size_t i, j;
-
- j = (context->count[0] >> 3) & 63;
- if ((context->count[0] += (uint32_t) (len << 3)) < (len << 3))
- {
- context->count[1]++;
- }
- context->count[1] += (uint32_t) (len >> 29);
- if ((j + len) > 63)
- {
- memcpy(&context->buffer[j], data, (i = 64 - j));
- sha1_transform(context, context->buffer);
- for (; i + 63 < len; i += 64)
- {
- sha1_transform(context, data + i);
- }
- j = 0;
- }
- else
- {
- i = 0;
- }
- memcpy(&context->buffer[j], &data[i], len - i);
-}
-
-
-/**
-* Add padding and return the message digest
-*
-* @param digest Generated message digest
-* @param context SHA1-Context
-*/
-void sha1_final(sha1_ctx *context, uint8_t digest[SHA1_DIGEST_SIZE])
-{
- uint32_t i;
- uint8_t finalcount[8];
-
- for (i = 0; i < 8; i++)
- {
- finalcount[i] = (uint8_t) ((context->count[(i >= 4 ? 0 : 1)]
- >> ((3 - (i & 3)) * 8)) & 255);
- }
- sha1_update(context, (uint8_t *) "\200", 1);
- while ((context->count[0] & 504) != 448)
- {
- sha1_update(context, (uint8_t *) "\0", 1);
- }
- sha1_update(context, finalcount, 8); /* Should cause SHA1_Transform */
- for (i = 0; i < SHA1_DIGEST_SIZE; i++)
- {
- digest[i] = (uint8_t)
- ((context->h[i >> 2] >> ((3 - (i & 3)) * 8)) & 255);
- }
-
- /* Wipe variables */
- i = 0;
- memset(context->buffer, 0, 64);
- /* fast-pbkdf2 needs access to the state*/
- /*memset(context->h, 0, 20);*/
- memset(context->count, 0, 8);
- memset(finalcount, 0, 8); /* SWR */
-}
diff --git a/sqlite3secure/src/sha1.h b/sqlite3secure/src/sha1.h
deleted file mode 100644
index bf2c56aa..00000000
--- a/sqlite3secure/src/sha1.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* public api for steve reid's public domain SHA-1 implementation */
-/* this file is in the public domain */
-
-#ifndef SHA1_H_
-#define SHA1_H_ (1)
-
-/** SHA-1 Context */
-typedef struct {
- uint32_t h[5];
- /**< Context state */
- uint32_t count[2];
- /**< Counter */
- uint8_t buffer[64]; /**< SHA-1 buffer */
-} sha1_ctx;
-
-#define SHA1_BLOCK_SIZE 64
-/** SHA-1 Digest size in bytes */
-#define SHA1_DIGEST_SIZE 20
-
-void sha1_init(sha1_ctx *context);
-
-void sha1_update(sha1_ctx *context, const void *p, size_t len);
-
-void sha1_final(sha1_ctx *context, uint8_t digest[SHA1_DIGEST_SIZE]);
-
-void sha1_transform(sha1_ctx *context, const uint8_t buffer[64]);
-
-#endif /* SHA1_H_ */
diff --git a/sqlite3secure/src/sha2.c b/sqlite3secure/src/sha2.c
deleted file mode 100644
index ba540049..00000000
--- a/sqlite3secure/src/sha2.c
+++ /dev/null
@@ -1,962 +0,0 @@
-/*
- * FIPS 180-2 SHA-224/256/384/512 implementation
- * Last update: 02/02/2007
- * Issue date: 04/30/2005
- *
- * Copyright (C) 2005, 2007 Olivier Gay
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if 1
-#define UNROLL_LOOPS /* Enable loops unrolling */
-#endif
-
-#include
-
-#include "sha2.h"
-
-#define SHFR(x, n) (x >> n)
-#define ROTR(x, n) ((x >> n) | (x << ((sizeof(x) << 3) - n)))
-#define ROTL(x, n) ((x << n) | (x >> ((sizeof(x) << 3) - n)))
-#define CH(x, y, z) ((x & y) ^ (~x & z))
-#define MAJ(x, y, z) ((x & y) ^ (x & z) ^ (y & z))
-
-#define SHA256_F1(x) (ROTR(x, 2) ^ ROTR(x, 13) ^ ROTR(x, 22))
-#define SHA256_F2(x) (ROTR(x, 6) ^ ROTR(x, 11) ^ ROTR(x, 25))
-#define SHA256_F3(x) (ROTR(x, 7) ^ ROTR(x, 18) ^ SHFR(x, 3))
-#define SHA256_F4(x) (ROTR(x, 17) ^ ROTR(x, 19) ^ SHFR(x, 10))
-
-#define SHA512_F1(x) (ROTR(x, 28) ^ ROTR(x, 34) ^ ROTR(x, 39))
-#define SHA512_F2(x) (ROTR(x, 14) ^ ROTR(x, 18) ^ ROTR(x, 41))
-#define SHA512_F3(x) (ROTR(x, 1) ^ ROTR(x, 8) ^ SHFR(x, 7))
-#define SHA512_F4(x) (ROTR(x, 19) ^ ROTR(x, 61) ^ SHFR(x, 6))
-
-#define UNPACK32(x, str) \
-{ \
- *((str) + 3) = (uint8) ((x) ); \
- *((str) + 2) = (uint8) ((x) >> 8); \
- *((str) + 1) = (uint8) ((x) >> 16); \
- *((str) + 0) = (uint8) ((x) >> 24); \
-}
-
-#define PACK32(str, x) \
-{ \
- *(x) = ((uint32) *((str) + 3) ) \
- | ((uint32) *((str) + 2) << 8) \
- | ((uint32) *((str) + 1) << 16) \
- | ((uint32) *((str) + 0) << 24); \
-}
-
-#define UNPACK64(x, str) \
-{ \
- *((str) + 7) = (uint8) ((x) ); \
- *((str) + 6) = (uint8) ((x) >> 8); \
- *((str) + 5) = (uint8) ((x) >> 16); \
- *((str) + 4) = (uint8) ((x) >> 24); \
- *((str) + 3) = (uint8) ((x) >> 32); \
- *((str) + 2) = (uint8) ((x) >> 40); \
- *((str) + 1) = (uint8) ((x) >> 48); \
- *((str) + 0) = (uint8) ((x) >> 56); \
-}
-
-#define PACK64(str, x) \
-{ \
- *(x) = ((uint64) *((str) + 7) ) \
- | ((uint64) *((str) + 6) << 8) \
- | ((uint64) *((str) + 5) << 16) \
- | ((uint64) *((str) + 4) << 24) \
- | ((uint64) *((str) + 3) << 32) \
- | ((uint64) *((str) + 2) << 40) \
- | ((uint64) *((str) + 1) << 48) \
- | ((uint64) *((str) + 0) << 56); \
-}
-
-/* Macros used for loops unrolling */
-
-#define SHA256_SCR(i) \
-{ \
- w[i] = SHA256_F4(w[i - 2]) + w[i - 7] \
- + SHA256_F3(w[i - 15]) + w[i - 16]; \
-}
-
-#define SHA512_SCR(i) \
-{ \
- w[i] = SHA512_F4(w[i - 2]) + w[i - 7] \
- + SHA512_F3(w[i - 15]) + w[i - 16]; \
-}
-
-#define SHA256_EXP(a, b, c, d, e, f, g, h, j) \
-{ \
- t1 = wv[h] + SHA256_F2(wv[e]) + CH(wv[e], wv[f], wv[g]) \
- + sha256_k[j] + w[j]; \
- t2 = SHA256_F1(wv[a]) + MAJ(wv[a], wv[b], wv[c]); \
- wv[d] += t1; \
- wv[h] = t1 + t2; \
-}
-
-#define SHA512_EXP(a, b, c, d, e, f, g ,h, j) \
-{ \
- t1 = wv[h] + SHA512_F2(wv[e]) + CH(wv[e], wv[f], wv[g]) \
- + sha512_k[j] + w[j]; \
- t2 = SHA512_F1(wv[a]) + MAJ(wv[a], wv[b], wv[c]); \
- wv[d] += t1; \
- wv[h] = t1 + t2; \
-}
-
-uint32 sha224_h0[8] =
- {0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,
- 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4};
-
-uint32 sha256_h0[8] =
- {0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
- 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19};
-
-uint64 sha384_h0[8] =
- {li_64(cbbb9d5dc1059ed8), li_64(629a292a367cd507),
- li_64(9159015a3070dd17), li_64(152fecd8f70e5939),
- li_64(67332667ffc00b31), li_64(8eb44a8768581511),
- li_64(db0c2e0d64f98fa7), li_64(47b5481dbefa4fa4)};
-
-uint64 sha512_h0[8] =
- {li_64(6a09e667f3bcc908), li_64(bb67ae8584caa73b),
- li_64(3c6ef372fe94f82b), li_64(a54ff53a5f1d36f1),
- li_64(510e527fade682d1), li_64(9b05688c2b3e6c1f),
- li_64(1f83d9abfb41bd6b), li_64(5be0cd19137e2179)};
-
-uint32 sha256_k[64] =
- {0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
- 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
- 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
- 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
- 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
- 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
- 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
- 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
- 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
- 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
- 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
- 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
- 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
- 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
- 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
- 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2};
-
-uint64 sha512_k[80] =
- {li_64(428a2f98d728ae22), li_64(7137449123ef65cd),
- li_64(b5c0fbcfec4d3b2f), li_64(e9b5dba58189dbbc),
- li_64(3956c25bf348b538), li_64(59f111f1b605d019),
- li_64(923f82a4af194f9b), li_64(ab1c5ed5da6d8118),
- li_64(d807aa98a3030242), li_64(12835b0145706fbe),
- li_64(243185be4ee4b28c), li_64(550c7dc3d5ffb4e2),
- li_64(72be5d74f27b896f), li_64(80deb1fe3b1696b1),
- li_64(9bdc06a725c71235), li_64(c19bf174cf692694),
- li_64(e49b69c19ef14ad2), li_64(efbe4786384f25e3),
- li_64(0fc19dc68b8cd5b5), li_64(240ca1cc77ac9c65),
- li_64(2de92c6f592b0275), li_64(4a7484aa6ea6e483),
- li_64(5cb0a9dcbd41fbd4), li_64(76f988da831153b5),
- li_64(983e5152ee66dfab), li_64(a831c66d2db43210),
- li_64(b00327c898fb213f), li_64(bf597fc7beef0ee4),
- li_64(c6e00bf33da88fc2), li_64(d5a79147930aa725),
- li_64(06ca6351e003826f), li_64(142929670a0e6e70),
- li_64(27b70a8546d22ffc), li_64(2e1b21385c26c926),
- li_64(4d2c6dfc5ac42aed), li_64(53380d139d95b3df),
- li_64(650a73548baf63de), li_64(766a0abb3c77b2a8),
- li_64(81c2c92e47edaee6), li_64(92722c851482353b),
- li_64(a2bfe8a14cf10364), li_64(a81a664bbc423001),
- li_64(c24b8b70d0f89791), li_64(c76c51a30654be30),
- li_64(d192e819d6ef5218), li_64(d69906245565a910),
- li_64(f40e35855771202a), li_64(106aa07032bbd1b8),
- li_64(19a4c116b8d2d0c8), li_64(1e376c085141ab53),
- li_64(2748774cdf8eeb99), li_64(34b0bcb5e19b48a8),
- li_64(391c0cb3c5c95a63), li_64(4ed8aa4ae3418acb),
- li_64(5b9cca4f7763e373), li_64(682e6ff3d6b2b8a3),
- li_64(748f82ee5defb2fc), li_64(78a5636f43172f60),
- li_64(84c87814a1f0ab72), li_64(8cc702081a6439ec),
- li_64(90befffa23631e28), li_64(a4506cebde82bde9),
- li_64(bef9a3f7b2c67915), li_64(c67178f2e372532b),
- li_64(ca273eceea26619c), li_64(d186b8c721c0c207),
- li_64(eada7dd6cde0eb1e), li_64(f57d4f7fee6ed178),
- li_64(06f067aa72176fba), li_64(0a637dc5a2c898a6),
- li_64(113f9804bef90dae), li_64(1b710b35131c471b),
- li_64(28db77f523047d84), li_64(32caab7b40c72493),
- li_64(3c9ebe0a15c9bebc), li_64(431d67c49c100d4c),
- li_64(4cc5d4becb3e42b6), li_64(597f299cfc657e2a),
- li_64(5fcb6fab3ad6faec), li_64(6c44198c4a475817)};
-
-/* SHA-256 functions */
-
-static
-void sha256_transf(sha256_ctx *ctx, const unsigned char *message,
- unsigned int block_nb)
-{
- uint32 w[64];
- uint32 wv[8];
- uint32 t1, t2;
- const unsigned char *sub_block;
- int i;
-
-#ifndef UNROLL_LOOPS
- int j;
-#endif
-
- for (i = 0; i < (int) block_nb; i++) {
- sub_block = message + (i << 6);
-
-#ifndef UNROLL_LOOPS
- for (j = 0; j < 16; j++) {
- PACK32(&sub_block[j << 2], &w[j]);
- }
-
- for (j = 16; j < 64; j++) {
- SHA256_SCR(j);
- }
-
- for (j = 0; j < 8; j++) {
- wv[j] = ctx->h[j];
- }
-
- for (j = 0; j < 64; j++) {
- t1 = wv[7] + SHA256_F2(wv[4]) + CH(wv[4], wv[5], wv[6])
- + sha256_k[j] + w[j];
- t2 = SHA256_F1(wv[0]) + MAJ(wv[0], wv[1], wv[2]);
- wv[7] = wv[6];
- wv[6] = wv[5];
- wv[5] = wv[4];
- wv[4] = wv[3] + t1;
- wv[3] = wv[2];
- wv[2] = wv[1];
- wv[1] = wv[0];
- wv[0] = t1 + t2;
- }
-
- for (j = 0; j < 8; j++) {
- ctx->h[j] += wv[j];
- }
-#else
- PACK32(&sub_block[ 0], &w[ 0]); PACK32(&sub_block[ 4], &w[ 1]);
- PACK32(&sub_block[ 8], &w[ 2]); PACK32(&sub_block[12], &w[ 3]);
- PACK32(&sub_block[16], &w[ 4]); PACK32(&sub_block[20], &w[ 5]);
- PACK32(&sub_block[24], &w[ 6]); PACK32(&sub_block[28], &w[ 7]);
- PACK32(&sub_block[32], &w[ 8]); PACK32(&sub_block[36], &w[ 9]);
- PACK32(&sub_block[40], &w[10]); PACK32(&sub_block[44], &w[11]);
- PACK32(&sub_block[48], &w[12]); PACK32(&sub_block[52], &w[13]);
- PACK32(&sub_block[56], &w[14]); PACK32(&sub_block[60], &w[15]);
-
- SHA256_SCR(16); SHA256_SCR(17); SHA256_SCR(18); SHA256_SCR(19);
- SHA256_SCR(20); SHA256_SCR(21); SHA256_SCR(22); SHA256_SCR(23);
- SHA256_SCR(24); SHA256_SCR(25); SHA256_SCR(26); SHA256_SCR(27);
- SHA256_SCR(28); SHA256_SCR(29); SHA256_SCR(30); SHA256_SCR(31);
- SHA256_SCR(32); SHA256_SCR(33); SHA256_SCR(34); SHA256_SCR(35);
- SHA256_SCR(36); SHA256_SCR(37); SHA256_SCR(38); SHA256_SCR(39);
- SHA256_SCR(40); SHA256_SCR(41); SHA256_SCR(42); SHA256_SCR(43);
- SHA256_SCR(44); SHA256_SCR(45); SHA256_SCR(46); SHA256_SCR(47);
- SHA256_SCR(48); SHA256_SCR(49); SHA256_SCR(50); SHA256_SCR(51);
- SHA256_SCR(52); SHA256_SCR(53); SHA256_SCR(54); SHA256_SCR(55);
- SHA256_SCR(56); SHA256_SCR(57); SHA256_SCR(58); SHA256_SCR(59);
- SHA256_SCR(60); SHA256_SCR(61); SHA256_SCR(62); SHA256_SCR(63);
-
- wv[0] = ctx->h[0]; wv[1] = ctx->h[1];
- wv[2] = ctx->h[2]; wv[3] = ctx->h[3];
- wv[4] = ctx->h[4]; wv[5] = ctx->h[5];
- wv[6] = ctx->h[6]; wv[7] = ctx->h[7];
-
- SHA256_EXP(0,1,2,3,4,5,6,7, 0); SHA256_EXP(7,0,1,2,3,4,5,6, 1);
- SHA256_EXP(6,7,0,1,2,3,4,5, 2); SHA256_EXP(5,6,7,0,1,2,3,4, 3);
- SHA256_EXP(4,5,6,7,0,1,2,3, 4); SHA256_EXP(3,4,5,6,7,0,1,2, 5);
- SHA256_EXP(2,3,4,5,6,7,0,1, 6); SHA256_EXP(1,2,3,4,5,6,7,0, 7);
- SHA256_EXP(0,1,2,3,4,5,6,7, 8); SHA256_EXP(7,0,1,2,3,4,5,6, 9);
- SHA256_EXP(6,7,0,1,2,3,4,5,10); SHA256_EXP(5,6,7,0,1,2,3,4,11);
- SHA256_EXP(4,5,6,7,0,1,2,3,12); SHA256_EXP(3,4,5,6,7,0,1,2,13);
- SHA256_EXP(2,3,4,5,6,7,0,1,14); SHA256_EXP(1,2,3,4,5,6,7,0,15);
- SHA256_EXP(0,1,2,3,4,5,6,7,16); SHA256_EXP(7,0,1,2,3,4,5,6,17);
- SHA256_EXP(6,7,0,1,2,3,4,5,18); SHA256_EXP(5,6,7,0,1,2,3,4,19);
- SHA256_EXP(4,5,6,7,0,1,2,3,20); SHA256_EXP(3,4,5,6,7,0,1,2,21);
- SHA256_EXP(2,3,4,5,6,7,0,1,22); SHA256_EXP(1,2,3,4,5,6,7,0,23);
- SHA256_EXP(0,1,2,3,4,5,6,7,24); SHA256_EXP(7,0,1,2,3,4,5,6,25);
- SHA256_EXP(6,7,0,1,2,3,4,5,26); SHA256_EXP(5,6,7,0,1,2,3,4,27);
- SHA256_EXP(4,5,6,7,0,1,2,3,28); SHA256_EXP(3,4,5,6,7,0,1,2,29);
- SHA256_EXP(2,3,4,5,6,7,0,1,30); SHA256_EXP(1,2,3,4,5,6,7,0,31);
- SHA256_EXP(0,1,2,3,4,5,6,7,32); SHA256_EXP(7,0,1,2,3,4,5,6,33);
- SHA256_EXP(6,7,0,1,2,3,4,5,34); SHA256_EXP(5,6,7,0,1,2,3,4,35);
- SHA256_EXP(4,5,6,7,0,1,2,3,36); SHA256_EXP(3,4,5,6,7,0,1,2,37);
- SHA256_EXP(2,3,4,5,6,7,0,1,38); SHA256_EXP(1,2,3,4,5,6,7,0,39);
- SHA256_EXP(0,1,2,3,4,5,6,7,40); SHA256_EXP(7,0,1,2,3,4,5,6,41);
- SHA256_EXP(6,7,0,1,2,3,4,5,42); SHA256_EXP(5,6,7,0,1,2,3,4,43);
- SHA256_EXP(4,5,6,7,0,1,2,3,44); SHA256_EXP(3,4,5,6,7,0,1,2,45);
- SHA256_EXP(2,3,4,5,6,7,0,1,46); SHA256_EXP(1,2,3,4,5,6,7,0,47);
- SHA256_EXP(0,1,2,3,4,5,6,7,48); SHA256_EXP(7,0,1,2,3,4,5,6,49);
- SHA256_EXP(6,7,0,1,2,3,4,5,50); SHA256_EXP(5,6,7,0,1,2,3,4,51);
- SHA256_EXP(4,5,6,7,0,1,2,3,52); SHA256_EXP(3,4,5,6,7,0,1,2,53);
- SHA256_EXP(2,3,4,5,6,7,0,1,54); SHA256_EXP(1,2,3,4,5,6,7,0,55);
- SHA256_EXP(0,1,2,3,4,5,6,7,56); SHA256_EXP(7,0,1,2,3,4,5,6,57);
- SHA256_EXP(6,7,0,1,2,3,4,5,58); SHA256_EXP(5,6,7,0,1,2,3,4,59);
- SHA256_EXP(4,5,6,7,0,1,2,3,60); SHA256_EXP(3,4,5,6,7,0,1,2,61);
- SHA256_EXP(2,3,4,5,6,7,0,1,62); SHA256_EXP(1,2,3,4,5,6,7,0,63);
-
- ctx->h[0] += wv[0]; ctx->h[1] += wv[1];
- ctx->h[2] += wv[2]; ctx->h[3] += wv[3];
- ctx->h[4] += wv[4]; ctx->h[5] += wv[5];
- ctx->h[6] += wv[6]; ctx->h[7] += wv[7];
-#endif /* !UNROLL_LOOPS */
- }
-}
-
-void sha256_transform(sha256_ctx *ctx, const unsigned char *message)
-{
- sha256_transf(ctx, message, 1);
-}
-
-void sha256(const unsigned char *message, unsigned int len, unsigned char *digest)
-{
- sha256_ctx ctx;
-
- sha256_init(&ctx);
- sha256_update(&ctx, message, len);
- sha256_final(&ctx, digest);
-}
-
-void sha256_init(sha256_ctx *ctx)
-{
-#ifndef UNROLL_LOOPS
- int i;
- for (i = 0; i < 8; i++) {
- ctx->h[i] = sha256_h0[i];
- }
-#else
- ctx->h[0] = sha256_h0[0]; ctx->h[1] = sha256_h0[1];
- ctx->h[2] = sha256_h0[2]; ctx->h[3] = sha256_h0[3];
- ctx->h[4] = sha256_h0[4]; ctx->h[5] = sha256_h0[5];
- ctx->h[6] = sha256_h0[6]; ctx->h[7] = sha256_h0[7];
-#endif /* !UNROLL_LOOPS */
-
- ctx->len = 0;
- ctx->tot_len = 0;
-}
-
-void sha256_update(sha256_ctx *ctx, const unsigned char *message,
- unsigned int len)
-{
- unsigned int block_nb;
- unsigned int new_len, rem_len, tmp_len;
- const unsigned char *shifted_message;
-
- tmp_len = SHA256_BLOCK_SIZE - ctx->len;
- rem_len = len < tmp_len ? len : tmp_len;
-
- memcpy(&ctx->block[ctx->len], message, rem_len);
-
- if (ctx->len + len < SHA256_BLOCK_SIZE) {
- ctx->len += len;
- return;
- }
-
- new_len = len - rem_len;
- block_nb = new_len / SHA256_BLOCK_SIZE;
-
- shifted_message = message + rem_len;
-
- sha256_transf(ctx, ctx->block, 1);
- sha256_transf(ctx, shifted_message, block_nb);
-
- rem_len = new_len % SHA256_BLOCK_SIZE;
-
- memcpy(ctx->block, &shifted_message[block_nb << 6],
- rem_len);
-
- ctx->len = rem_len;
- ctx->tot_len += (block_nb + 1) << 6;
-}
-
-void sha256_final(sha256_ctx *ctx, unsigned char *digest)
-{
- unsigned int block_nb;
- unsigned int pm_len;
- unsigned int len_b;
-
-#ifndef UNROLL_LOOPS
- int i;
-#endif
-
- block_nb = (1 + ((SHA256_BLOCK_SIZE - 9)
- < (ctx->len % SHA256_BLOCK_SIZE)));
-
- len_b = (ctx->tot_len + ctx->len) << 3;
- pm_len = block_nb << 6;
-
- memset(ctx->block + ctx->len, 0, pm_len - ctx->len);
- ctx->block[ctx->len] = 0x80;
- UNPACK32(len_b, ctx->block + pm_len - 4);
-
- sha256_transf(ctx, ctx->block, block_nb);
-
-#ifndef UNROLL_LOOPS
- for (i = 0 ; i < 8; i++) {
- UNPACK32(ctx->h[i], &digest[i << 2]);
- }
-#else
- UNPACK32(ctx->h[0], &digest[ 0]);
- UNPACK32(ctx->h[1], &digest[ 4]);
- UNPACK32(ctx->h[2], &digest[ 8]);
- UNPACK32(ctx->h[3], &digest[12]);
- UNPACK32(ctx->h[4], &digest[16]);
- UNPACK32(ctx->h[5], &digest[20]);
- UNPACK32(ctx->h[6], &digest[24]);
- UNPACK32(ctx->h[7], &digest[28]);
-#endif /* !UNROLL_LOOPS */
-}
-
-/* SHA-512 functions */
-
-static
-void sha512_transf(sha512_ctx *ctx, const unsigned char *message,
- unsigned int block_nb)
-{
- uint64 w[80];
- uint64 wv[8];
- uint64 t1, t2;
- const unsigned char *sub_block;
- int i, j;
-
- for (i = 0; i < (int) block_nb; i++) {
- sub_block = message + (i << 7);
-
-#ifndef UNROLL_LOOPS
- for (j = 0; j < 16; j++) {
- PACK64(&sub_block[j << 3], &w[j]);
- }
-
- for (j = 16; j < 80; j++) {
- SHA512_SCR(j);
- }
-
- for (j = 0; j < 8; j++) {
- wv[j] = ctx->h[j];
- }
-
- for (j = 0; j < 80; j++) {
- t1 = wv[7] + SHA512_F2(wv[4]) + CH(wv[4], wv[5], wv[6])
- + sha512_k[j] + w[j];
- t2 = SHA512_F1(wv[0]) + MAJ(wv[0], wv[1], wv[2]);
- wv[7] = wv[6];
- wv[6] = wv[5];
- wv[5] = wv[4];
- wv[4] = wv[3] + t1;
- wv[3] = wv[2];
- wv[2] = wv[1];
- wv[1] = wv[0];
- wv[0] = t1 + t2;
- }
-
- for (j = 0; j < 8; j++) {
- ctx->h[j] += wv[j];
- }
-#else
- PACK64(&sub_block[ 0], &w[ 0]); PACK64(&sub_block[ 8], &w[ 1]);
- PACK64(&sub_block[ 16], &w[ 2]); PACK64(&sub_block[ 24], &w[ 3]);
- PACK64(&sub_block[ 32], &w[ 4]); PACK64(&sub_block[ 40], &w[ 5]);
- PACK64(&sub_block[ 48], &w[ 6]); PACK64(&sub_block[ 56], &w[ 7]);
- PACK64(&sub_block[ 64], &w[ 8]); PACK64(&sub_block[ 72], &w[ 9]);
- PACK64(&sub_block[ 80], &w[10]); PACK64(&sub_block[ 88], &w[11]);
- PACK64(&sub_block[ 96], &w[12]); PACK64(&sub_block[104], &w[13]);
- PACK64(&sub_block[112], &w[14]); PACK64(&sub_block[120], &w[15]);
-
- SHA512_SCR(16); SHA512_SCR(17); SHA512_SCR(18); SHA512_SCR(19);
- SHA512_SCR(20); SHA512_SCR(21); SHA512_SCR(22); SHA512_SCR(23);
- SHA512_SCR(24); SHA512_SCR(25); SHA512_SCR(26); SHA512_SCR(27);
- SHA512_SCR(28); SHA512_SCR(29); SHA512_SCR(30); SHA512_SCR(31);
- SHA512_SCR(32); SHA512_SCR(33); SHA512_SCR(34); SHA512_SCR(35);
- SHA512_SCR(36); SHA512_SCR(37); SHA512_SCR(38); SHA512_SCR(39);
- SHA512_SCR(40); SHA512_SCR(41); SHA512_SCR(42); SHA512_SCR(43);
- SHA512_SCR(44); SHA512_SCR(45); SHA512_SCR(46); SHA512_SCR(47);
- SHA512_SCR(48); SHA512_SCR(49); SHA512_SCR(50); SHA512_SCR(51);
- SHA512_SCR(52); SHA512_SCR(53); SHA512_SCR(54); SHA512_SCR(55);
- SHA512_SCR(56); SHA512_SCR(57); SHA512_SCR(58); SHA512_SCR(59);
- SHA512_SCR(60); SHA512_SCR(61); SHA512_SCR(62); SHA512_SCR(63);
- SHA512_SCR(64); SHA512_SCR(65); SHA512_SCR(66); SHA512_SCR(67);
- SHA512_SCR(68); SHA512_SCR(69); SHA512_SCR(70); SHA512_SCR(71);
- SHA512_SCR(72); SHA512_SCR(73); SHA512_SCR(74); SHA512_SCR(75);
- SHA512_SCR(76); SHA512_SCR(77); SHA512_SCR(78); SHA512_SCR(79);
-
- wv[0] = ctx->h[0]; wv[1] = ctx->h[1];
- wv[2] = ctx->h[2]; wv[3] = ctx->h[3];
- wv[4] = ctx->h[4]; wv[5] = ctx->h[5];
- wv[6] = ctx->h[6]; wv[7] = ctx->h[7];
-
- j = 0;
-
- do {
- SHA512_EXP(0,1,2,3,4,5,6,7,j); j++;
- SHA512_EXP(7,0,1,2,3,4,5,6,j); j++;
- SHA512_EXP(6,7,0,1,2,3,4,5,j); j++;
- SHA512_EXP(5,6,7,0,1,2,3,4,j); j++;
- SHA512_EXP(4,5,6,7,0,1,2,3,j); j++;
- SHA512_EXP(3,4,5,6,7,0,1,2,j); j++;
- SHA512_EXP(2,3,4,5,6,7,0,1,j); j++;
- SHA512_EXP(1,2,3,4,5,6,7,0,j); j++;
- } while (j < 80);
-
- ctx->h[0] += wv[0]; ctx->h[1] += wv[1];
- ctx->h[2] += wv[2]; ctx->h[3] += wv[3];
- ctx->h[4] += wv[4]; ctx->h[5] += wv[5];
- ctx->h[6] += wv[6]; ctx->h[7] += wv[7];
-#endif /* !UNROLL_LOOPS */
- }
-}
-
-void sha512_transform(sha512_ctx *ctx, const unsigned char *message)
-{
- sha512_transf(ctx, message, 1);
-}
-
-void sha512(const unsigned char *message, unsigned int len,
- unsigned char *digest)
-{
- sha512_ctx ctx;
-
- sha512_init(&ctx);
- sha512_update(&ctx, message, len);
- sha512_final(&ctx, digest);
-}
-
-void sha512_init(sha512_ctx *ctx)
-{
-#ifndef UNROLL_LOOPS
- int i;
- for (i = 0; i < 8; i++) {
- ctx->h[i] = sha512_h0[i];
- }
-#else
- ctx->h[0] = sha512_h0[0]; ctx->h[1] = sha512_h0[1];
- ctx->h[2] = sha512_h0[2]; ctx->h[3] = sha512_h0[3];
- ctx->h[4] = sha512_h0[4]; ctx->h[5] = sha512_h0[5];
- ctx->h[6] = sha512_h0[6]; ctx->h[7] = sha512_h0[7];
-#endif /* !UNROLL_LOOPS */
-
- ctx->len = 0;
- ctx->tot_len = 0;
-}
-
-void sha512_update(sha512_ctx *ctx, const unsigned char *message,
- unsigned int len)
-{
- unsigned int block_nb;
- unsigned int new_len, rem_len, tmp_len;
- const unsigned char *shifted_message;
-
- tmp_len = SHA512_BLOCK_SIZE - ctx->len;
- rem_len = len < tmp_len ? len : tmp_len;
-
- memcpy(&ctx->block[ctx->len], message, rem_len);
-
- if (ctx->len + len < SHA512_BLOCK_SIZE) {
- ctx->len += len;
- return;
- }
-
- new_len = len - rem_len;
- block_nb = new_len / SHA512_BLOCK_SIZE;
-
- shifted_message = message + rem_len;
-
- sha512_transf(ctx, ctx->block, 1);
- sha512_transf(ctx, shifted_message, block_nb);
-
- rem_len = new_len % SHA512_BLOCK_SIZE;
-
- memcpy(ctx->block, &shifted_message[block_nb << 7],
- rem_len);
-
- ctx->len = rem_len;
- ctx->tot_len += (block_nb + 1) << 7;
-}
-
-void sha512_final(sha512_ctx *ctx, unsigned char *digest)
-{
- unsigned int block_nb;
- unsigned int pm_len;
- unsigned int len_b;
-
-#ifndef UNROLL_LOOPS
- int i;
-#endif
-
- block_nb = 1 + ((SHA512_BLOCK_SIZE - 17)
- < (ctx->len % SHA512_BLOCK_SIZE));
-
- len_b = (ctx->tot_len + ctx->len) << 3;
- pm_len = block_nb << 7;
-
- memset(ctx->block + ctx->len, 0, pm_len - ctx->len);
- ctx->block[ctx->len] = 0x80;
- UNPACK32(len_b, ctx->block + pm_len - 4);
-
- sha512_transf(ctx, ctx->block, block_nb);
-
-#ifndef UNROLL_LOOPS
- for (i = 0 ; i < 8; i++) {
- UNPACK64(ctx->h[i], &digest[i << 3]);
- }
-#else
- UNPACK64(ctx->h[0], &digest[ 0]);
- UNPACK64(ctx->h[1], &digest[ 8]);
- UNPACK64(ctx->h[2], &digest[16]);
- UNPACK64(ctx->h[3], &digest[24]);
- UNPACK64(ctx->h[4], &digest[32]);
- UNPACK64(ctx->h[5], &digest[40]);
- UNPACK64(ctx->h[6], &digest[48]);
- UNPACK64(ctx->h[7], &digest[56]);
-#endif /* !UNROLL_LOOPS */
-}
-
-/* SHA-384 functions */
-
-void sha384(const unsigned char *message, unsigned int len,
- unsigned char *digest)
-{
- sha384_ctx ctx;
-
- sha384_init(&ctx);
- sha384_update(&ctx, message, len);
- sha384_final(&ctx, digest);
-}
-
-void sha384_init(sha384_ctx *ctx)
-{
-#ifndef UNROLL_LOOPS
- int i;
- for (i = 0; i < 8; i++) {
- ctx->h[i] = sha384_h0[i];
- }
-#else
- ctx->h[0] = sha384_h0[0]; ctx->h[1] = sha384_h0[1];
- ctx->h[2] = sha384_h0[2]; ctx->h[3] = sha384_h0[3];
- ctx->h[4] = sha384_h0[4]; ctx->h[5] = sha384_h0[5];
- ctx->h[6] = sha384_h0[6]; ctx->h[7] = sha384_h0[7];
-#endif /* !UNROLL_LOOPS */
-
- ctx->len = 0;
- ctx->tot_len = 0;
-}
-
-void sha384_update(sha384_ctx *ctx, const unsigned char *message,
- unsigned int len)
-{
- unsigned int block_nb;
- unsigned int new_len, rem_len, tmp_len;
- const unsigned char *shifted_message;
-
- tmp_len = SHA384_BLOCK_SIZE - ctx->len;
- rem_len = len < tmp_len ? len : tmp_len;
-
- memcpy(&ctx->block[ctx->len], message, rem_len);
-
- if (ctx->len + len < SHA384_BLOCK_SIZE) {
- ctx->len += len;
- return;
- }
-
- new_len = len - rem_len;
- block_nb = new_len / SHA384_BLOCK_SIZE;
-
- shifted_message = message + rem_len;
-
- sha512_transf(ctx, ctx->block, 1);
- sha512_transf(ctx, shifted_message, block_nb);
-
- rem_len = new_len % SHA384_BLOCK_SIZE;
-
- memcpy(ctx->block, &shifted_message[block_nb << 7],
- rem_len);
-
- ctx->len = rem_len;
- ctx->tot_len += (block_nb + 1) << 7;
-}
-
-void sha384_final(sha384_ctx *ctx, unsigned char *digest)
-{
- unsigned int block_nb;
- unsigned int pm_len;
- unsigned int len_b;
-
-#ifndef UNROLL_LOOPS
- int i;
-#endif
-
- block_nb = (1 + ((SHA384_BLOCK_SIZE - 17)
- < (ctx->len % SHA384_BLOCK_SIZE)));
-
- len_b = (ctx->tot_len + ctx->len) << 3;
- pm_len = block_nb << 7;
-
- memset(ctx->block + ctx->len, 0, pm_len - ctx->len);
- ctx->block[ctx->len] = 0x80;
- UNPACK32(len_b, ctx->block + pm_len - 4);
-
- sha512_transf(ctx, ctx->block, block_nb);
-
-#ifndef UNROLL_LOOPS
- for (i = 0 ; i < 6; i++) {
- UNPACK64(ctx->h[i], &digest[i << 3]);
- }
-#else
- UNPACK64(ctx->h[0], &digest[ 0]);
- UNPACK64(ctx->h[1], &digest[ 8]);
- UNPACK64(ctx->h[2], &digest[16]);
- UNPACK64(ctx->h[3], &digest[24]);
- UNPACK64(ctx->h[4], &digest[32]);
- UNPACK64(ctx->h[5], &digest[40]);
-#endif /* !UNROLL_LOOPS */
-}
-
-/* SHA-224 functions */
-
-void sha224(const unsigned char *message, unsigned int len,
- unsigned char *digest)
-{
- sha224_ctx ctx;
-
- sha224_init(&ctx);
- sha224_update(&ctx, message, len);
- sha224_final(&ctx, digest);
-}
-
-void sha224_init(sha224_ctx *ctx)
-{
-#ifndef UNROLL_LOOPS
- int i;
- for (i = 0; i < 8; i++) {
- ctx->h[i] = sha224_h0[i];
- }
-#else
- ctx->h[0] = sha224_h0[0]; ctx->h[1] = sha224_h0[1];
- ctx->h[2] = sha224_h0[2]; ctx->h[3] = sha224_h0[3];
- ctx->h[4] = sha224_h0[4]; ctx->h[5] = sha224_h0[5];
- ctx->h[6] = sha224_h0[6]; ctx->h[7] = sha224_h0[7];
-#endif /* !UNROLL_LOOPS */
-
- ctx->len = 0;
- ctx->tot_len = 0;
-}
-
-void sha224_update(sha224_ctx *ctx, const unsigned char *message,
- unsigned int len)
-{
- unsigned int block_nb;
- unsigned int new_len, rem_len, tmp_len;
- const unsigned char *shifted_message;
-
- tmp_len = SHA224_BLOCK_SIZE - ctx->len;
- rem_len = len < tmp_len ? len : tmp_len;
-
- memcpy(&ctx->block[ctx->len], message, rem_len);
-
- if (ctx->len + len < SHA224_BLOCK_SIZE) {
- ctx->len += len;
- return;
- }
-
- new_len = len - rem_len;
- block_nb = new_len / SHA224_BLOCK_SIZE;
-
- shifted_message = message + rem_len;
-
- sha256_transf(ctx, ctx->block, 1);
- sha256_transf(ctx, shifted_message, block_nb);
-
- rem_len = new_len % SHA224_BLOCK_SIZE;
-
- memcpy(ctx->block, &shifted_message[block_nb << 6],
- rem_len);
-
- ctx->len = rem_len;
- ctx->tot_len += (block_nb + 1) << 6;
-}
-
-void sha224_final(sha224_ctx *ctx, unsigned char *digest)
-{
- unsigned int block_nb;
- unsigned int pm_len;
- unsigned int len_b;
-
-#ifndef UNROLL_LOOPS
- int i;
-#endif
-
- block_nb = (1 + ((SHA224_BLOCK_SIZE - 9)
- < (ctx->len % SHA224_BLOCK_SIZE)));
-
- len_b = (ctx->tot_len + ctx->len) << 3;
- pm_len = block_nb << 6;
-
- memset(ctx->block + ctx->len, 0, pm_len - ctx->len);
- ctx->block[ctx->len] = 0x80;
- UNPACK32(len_b, ctx->block + pm_len - 4);
-
- sha256_transf(ctx, ctx->block, block_nb);
-
-#ifndef UNROLL_LOOPS
- for (i = 0 ; i < 7; i++) {
- UNPACK32(ctx->h[i], &digest[i << 2]);
- }
-#else
- UNPACK32(ctx->h[0], &digest[ 0]);
- UNPACK32(ctx->h[1], &digest[ 4]);
- UNPACK32(ctx->h[2], &digest[ 8]);
- UNPACK32(ctx->h[3], &digest[12]);
- UNPACK32(ctx->h[4], &digest[16]);
- UNPACK32(ctx->h[5], &digest[20]);
- UNPACK32(ctx->h[6], &digest[24]);
-#endif /* !UNROLL_LOOPS */
-}
-
-#ifdef TEST_VECTORS
-
-/* FIPS 180-2 Validation tests */
-
-#include
-#include
-
-void test(const unsigned char *vector, unsigned char *digest,
- unsigned int digest_size)
-{
- unsigned char output[2 * SHA512_DIGEST_SIZE + 1];
- int i;
-
- output[2 * digest_size] = '\0';
-
- for (i = 0; i < (int) digest_size ; i++) {
- sprintf((char *) output + 2 * i, "%02x", digest[i]);
- }
-
- printf("H: %s\n", output);
- if (strcmp((char *) vector, (char *) output)) {
- fprintf(stderr, "Test failed.\n");
- exit(EXIT_FAILURE);
- }
-}
-
-int main()
-{
- static const unsigned char *vectors[4][3] =
- { /* SHA-224 */
- {
- "23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7",
- "75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525",
- "20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67",
- },
- /* SHA-256 */
- {
- "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad",
- "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1",
- "cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0",
- },
- /* SHA-384 */
- {
- "cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed"
- "8086072ba1e7cc2358baeca134c825a7",
- "09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712"
- "fcc7c71a557e2db966c3e9fa91746039",
- "9d0e1809716474cb086e834e310a4a1ced149e9c00f248527972cec5704c2a5b"
- "07b8b3dc38ecc4ebae97ddd87f3d8985",
- },
- /* SHA-512 */
- {
- "ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a"
- "2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f",
- "8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018"
- "501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909",
- "e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973eb"
- "de0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09b"
- }
- };
-
- static const unsigned char message1[] = "abc";
- static const unsigned char message2a[] = "abcdbcdecdefdefgefghfghighijhi"
- "jkijkljklmklmnlmnomnopnopq";
- static const unsigned char message2b[] =
- "abcdefghbcdefghicdefghijdefghijkefghij"
- "klfghijklmghijklmnhijklmnoijklmnopjklm"
- "nopqklmnopqrlmnopqrsmnopqrstnopqrstu";
- unsigned char *message3;
- unsigned int message3_len = 1000000;
- unsigned char digest[SHA512_DIGEST_SIZE];
-
- message3 = malloc(message3_len);
- if (message3 == NULL) {
- fprintf(stderr, "Can't allocate memory\n");
- return -1;
- }
- memset(message3, 'a', message3_len);
-
- printf("SHA-2 FIPS 180-2 Validation tests\n\n");
- printf("SHA-224 Test vectors\n");
-
- sha224(message1, strlen((char *) message1), digest);
- test(vectors[0][0], digest, SHA224_DIGEST_SIZE);
- sha224(message2a, strlen((char *) message2a), digest);
- test(vectors[0][1], digest, SHA224_DIGEST_SIZE);
- sha224(message3, message3_len, digest);
- test(vectors[0][2], digest, SHA224_DIGEST_SIZE);
- printf("\n");
-
- printf("SHA-256 Test vectors\n");
-
- sha256(message1, strlen((char *) message1), digest);
- test(vectors[1][0], digest, SHA256_DIGEST_SIZE);
- sha256(message2a, strlen((char *) message2a), digest);
- test(vectors[1][1], digest, SHA256_DIGEST_SIZE);
- sha256(message3, message3_len, digest);
- test(vectors[1][2], digest, SHA256_DIGEST_SIZE);
- printf("\n");
-
- printf("SHA-384 Test vectors\n");
-
- sha384(message1, strlen((char *) message1), digest);
- test(vectors[2][0], digest, SHA384_DIGEST_SIZE);
- sha384(message2b, strlen((char *) message2b), digest);
- test(vectors[2][1], digest, SHA384_DIGEST_SIZE);
- sha384(message3, message3_len, digest);
- test(vectors[2][2], digest, SHA384_DIGEST_SIZE);
- printf("\n");
-
- printf("SHA-512 Test vectors\n");
-
- sha512(message1, strlen((char *) message1), digest);
- test(vectors[3][0], digest, SHA512_DIGEST_SIZE);
- sha512(message2b, strlen((char *) message2b), digest);
- test(vectors[3][1], digest, SHA512_DIGEST_SIZE);
- sha512(message3, message3_len, digest);
- test(vectors[3][2], digest, SHA512_DIGEST_SIZE);
- printf("\n");
-
- printf("All tests passed.\n");
-
- return 0;
-}
-
-#endif /* TEST_VECTORS */
-
diff --git a/sqlite3secure/src/sha2.h b/sqlite3secure/src/sha2.h
deleted file mode 100644
index 4e63b26b..00000000
--- a/sqlite3secure/src/sha2.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * FIPS 180-2 SHA-224/256/384/512 implementation
- * Last update: 02/02/2007
- * Issue date: 04/30/2005
- *
- * Copyright (C) 2005, 2007 Olivier Gay
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef SHA2_H
-#define SHA2_H
-
-#define SHA224_DIGEST_SIZE ( 224 / 8)
-#define SHA256_DIGEST_SIZE ( 256 / 8)
-#define SHA384_DIGEST_SIZE ( 384 / 8)
-#define SHA512_DIGEST_SIZE ( 512 / 8)
-
-#define SHA256_BLOCK_SIZE ( 512 / 8)
-#define SHA512_BLOCK_SIZE (1024 / 8)
-#define SHA384_BLOCK_SIZE SHA512_BLOCK_SIZE
-#define SHA224_BLOCK_SIZE SHA256_BLOCK_SIZE
-
-#ifndef SHA2_TYPES
-#define SHA2_TYPES
-typedef unsigned char uint8;
-typedef unsigned int uint32;
-
-typedef sqlite3_uint64 uint64;
-
-#if defined(_MSC_VER) || defined(__BORLANDC__)
- #define li_64(h) 0x##h##ui64
-#else
- #define li_64(h) 0x##h##ull
-#endif
-
-#if 0 /* Start of original int64 defines */
-
-#if defined(_MSC_VER)
- #if _MSC_VER >= 1310
- typedef unsigned long long uint64;
- #define li_64(h) 0x##h##ull
- #else
- typedef unsigned __int64 uint64;
- #define li_64(h) 0x##h##ui64
- #endif
-#elif defined(__BORLANDC__) && !defined(__MSDOS__)
- #define li_64(h) 0x##h##ull
- typedef __int64 uint64;
-#elif defined(__sun)
- #if defined(ULONG_MAX) && ULONG_MAX == 0xfffffffful
- #define li_64(h) 0x##h##ull
- typedef unsigned long long uint64;
- #elif defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 0xfffffffffffffffful
- #define li_64(h) 0x##h##ul
- typedef unsigned long uint64;
- #endif
-#elif defined(__MVS__)
- #define li_64(h) 0x##h##ull
- typedef unsigned int long long uint64;
-#elif defined(ULLONG_MAX) && ULLONG_MAX > 4294967295
- #if ULLONG_MAX == 18446744073709551615ull
- #define li_64(h) 0x##h##ull
- typedef unsigned long long uint64;
- #endif
-#elif defined(ULONG_LONG_MAX) && ULONG_LONG_MAX > 4294967295
- #if ULONG_LONG_MAX == 18446744073709551615
- #define li_64(h) 0x##h##ull
- typedef unsigned long long uint64;
- #endif
-#elif defined(ULONG_MAX) && ULONG_MAX > 4294967295
- #if ULONG_MAX == 18446744073709551615
- #define li_64(h) 0x##h##ul
- typedef unsigned long uint64;
- #endif
-#elif defined(UINT_MAX) && UINT_MAX > 4294967295
- #if UINT_MAX == 18446744073709551615
- #define li_64(h) 0x##h##u
- typedef unsigned int uint64;
- #endif
-#endif
-#endif
-
-#endif /* End of original int64 defines */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
- unsigned int tot_len;
- unsigned int len;
- unsigned char block[2 * SHA256_BLOCK_SIZE];
- uint32 h[8];
-} sha256_ctx;
-
-typedef struct {
- unsigned int tot_len;
- unsigned int len;
- unsigned char block[2 * SHA512_BLOCK_SIZE];
- uint64 h[8];
-} sha512_ctx;
-
-typedef sha512_ctx sha384_ctx;
-typedef sha256_ctx sha224_ctx;
-
-void sha224_init(sha224_ctx *ctx);
-void sha224_update(sha224_ctx *ctx, const unsigned char *message,
- unsigned int len);
-void sha224_final(sha224_ctx *ctx, unsigned char *digest);
-void sha224(const unsigned char *message, unsigned int len,
- unsigned char *digest);
-
-void sha256_init(sha256_ctx * ctx);
-void sha256_update(sha256_ctx *ctx, const unsigned char *message,
- unsigned int len);
-void sha256_final(sha256_ctx *ctx, unsigned char *digest);
-void sha256_transform(sha256_ctx *ctx, const unsigned char *message);
-void sha256(const unsigned char *message, unsigned int len,
- unsigned char *digest);
-
-void sha384_init(sha384_ctx *ctx);
-void sha384_update(sha384_ctx *ctx, const unsigned char *message,
- unsigned int len);
-void sha384_final(sha384_ctx *ctx, unsigned char *digest);
-void sha384(const unsigned char *message, unsigned int len,
- unsigned char *digest);
-
-void sha512_init(sha512_ctx *ctx);
-void sha512_update(sha512_ctx *ctx, const unsigned char *message,
- unsigned int len);
-void sha512_final(sha512_ctx *ctx, unsigned char *digest);
-void sha512_transform(sha512_ctx *ctx, const unsigned char *message);
-void sha512(const unsigned char *message, unsigned int len,
- unsigned char *digest);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !SHA2_H */
-
diff --git a/sqlite3secure/src/shathree.c b/sqlite3secure/src/shathree.c
deleted file mode 100644
index 8c8ab51c..00000000
--- a/sqlite3secure/src/shathree.c
+++ /dev/null
@@ -1,720 +0,0 @@
-/*
-** 2017-03-08
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This SQLite extension implements functions that compute SHA3 hashes.
-** Two SQL functions are implemented:
-**
-** sha3(X,SIZE)
-** sha3_query(Y,SIZE)
-**
-** The sha3(X) function computes the SHA3 hash of the input X, or NULL if
-** X is NULL.
-**
-** The sha3_query(Y) function evalutes all queries in the SQL statements of Y
-** and returns a hash of their results.
-**
-** The SIZE argument is optional. If omitted, the SHA3-256 hash algorithm
-** is used. If SIZE is included it must be one of the integers 224, 256,
-** 384, or 512, to determine SHA3 hash variant that is computed.
-*/
-#include "sqlite3ext.h"
-SQLITE_EXTENSION_INIT1
-#include
-#include
-#include
-#if 0
-typedef sqlite3_uint64 u64;
-#endif
-
-/******************************************************************************
-** The Hash Engine
-*/
-/*
-** Macros to determine whether the machine is big or little endian,
-** and whether or not that determination is run-time or compile-time.
-**
-** For best performance, an attempt is made to guess at the byte-order
-** using C-preprocessor macros. If that is unsuccessful, or if
-** -DSHA3_BYTEORDER=0 is set, then byte-order is determined
-** at run-time.
-*/
-#ifndef SHA3_BYTEORDER
-# if defined(i386) || defined(__i386__) || defined(_M_IX86) || \
- defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \
- defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \
- defined(__arm__)
-# define SHA3_BYTEORDER 1234
-# elif defined(sparc) || defined(__ppc__)
-# define SHA3_BYTEORDER 4321
-# else
-# define SHA3_BYTEORDER 0
-# endif
-#endif
-
-
-/*
-** State structure for a SHA3 hash in progress
-*/
-typedef struct SHA3Context SHA3Context;
-struct SHA3Context {
- union {
- u64 s[25]; /* Keccak state. 5x5 lines of 64 bits each */
- unsigned char x[1600]; /* ... or 1600 bytes */
- } u;
- unsigned nRate; /* Bytes of input accepted per Keccak iteration */
- unsigned nLoaded; /* Input bytes loaded into u.x[] so far this cycle */
- unsigned ixMask; /* Insert next input into u.x[nLoaded^ixMask]. */
-};
-
-/*
-** A single step of the Keccak mixing function for a 1600-bit state
-*/
-static void KeccakF1600Step(SHA3Context *p){
- int i;
- u64 b0, b1, b2, b3, b4;
- u64 c0, c1, c2, c3, c4;
- u64 d0, d1, d2, d3, d4;
- static const u64 RC[] = {
- 0x0000000000000001ULL, 0x0000000000008082ULL,
- 0x800000000000808aULL, 0x8000000080008000ULL,
- 0x000000000000808bULL, 0x0000000080000001ULL,
- 0x8000000080008081ULL, 0x8000000000008009ULL,
- 0x000000000000008aULL, 0x0000000000000088ULL,
- 0x0000000080008009ULL, 0x000000008000000aULL,
- 0x000000008000808bULL, 0x800000000000008bULL,
- 0x8000000000008089ULL, 0x8000000000008003ULL,
- 0x8000000000008002ULL, 0x8000000000000080ULL,
- 0x000000000000800aULL, 0x800000008000000aULL,
- 0x8000000080008081ULL, 0x8000000000008080ULL,
- 0x0000000080000001ULL, 0x8000000080008008ULL
- };
-# define a00 (p->u.s[0])
-# define a01 (p->u.s[1])
-# define a02 (p->u.s[2])
-# define a03 (p->u.s[3])
-# define a04 (p->u.s[4])
-# define a10 (p->u.s[5])
-# define a11 (p->u.s[6])
-# define a12 (p->u.s[7])
-# define a13 (p->u.s[8])
-# define a14 (p->u.s[9])
-# define a20 (p->u.s[10])
-# define a21 (p->u.s[11])
-# define a22 (p->u.s[12])
-# define a23 (p->u.s[13])
-# define a24 (p->u.s[14])
-# define a30 (p->u.s[15])
-# define a31 (p->u.s[16])
-# define a32 (p->u.s[17])
-# define a33 (p->u.s[18])
-# define a34 (p->u.s[19])
-# define a40 (p->u.s[20])
-# define a41 (p->u.s[21])
-# define a42 (p->u.s[22])
-# define a43 (p->u.s[23])
-# define a44 (p->u.s[24])
-# define ROL64(a,x) ((a<>(64-x)))
-
- for(i=0; i<24; i+=4){
- c0 = a00^a10^a20^a30^a40;
- c1 = a01^a11^a21^a31^a41;
- c2 = a02^a12^a22^a32^a42;
- c3 = a03^a13^a23^a33^a43;
- c4 = a04^a14^a24^a34^a44;
- d0 = c4^ROL64(c1, 1);
- d1 = c0^ROL64(c2, 1);
- d2 = c1^ROL64(c3, 1);
- d3 = c2^ROL64(c4, 1);
- d4 = c3^ROL64(c0, 1);
-
- b0 = (a00^d0);
- b1 = ROL64((a11^d1), 44);
- b2 = ROL64((a22^d2), 43);
- b3 = ROL64((a33^d3), 21);
- b4 = ROL64((a44^d4), 14);
- a00 = b0 ^((~b1)& b2 );
- a00 ^= RC[i];
- a11 = b1 ^((~b2)& b3 );
- a22 = b2 ^((~b3)& b4 );
- a33 = b3 ^((~b4)& b0 );
- a44 = b4 ^((~b0)& b1 );
-
- b2 = ROL64((a20^d0), 3);
- b3 = ROL64((a31^d1), 45);
- b4 = ROL64((a42^d2), 61);
- b0 = ROL64((a03^d3), 28);
- b1 = ROL64((a14^d4), 20);
- a20 = b0 ^((~b1)& b2 );
- a31 = b1 ^((~b2)& b3 );
- a42 = b2 ^((~b3)& b4 );
- a03 = b3 ^((~b4)& b0 );
- a14 = b4 ^((~b0)& b1 );
-
- b4 = ROL64((a40^d0), 18);
- b0 = ROL64((a01^d1), 1);
- b1 = ROL64((a12^d2), 6);
- b2 = ROL64((a23^d3), 25);
- b3 = ROL64((a34^d4), 8);
- a40 = b0 ^((~b1)& b2 );
- a01 = b1 ^((~b2)& b3 );
- a12 = b2 ^((~b3)& b4 );
- a23 = b3 ^((~b4)& b0 );
- a34 = b4 ^((~b0)& b1 );
-
- b1 = ROL64((a10^d0), 36);
- b2 = ROL64((a21^d1), 10);
- b3 = ROL64((a32^d2), 15);
- b4 = ROL64((a43^d3), 56);
- b0 = ROL64((a04^d4), 27);
- a10 = b0 ^((~b1)& b2 );
- a21 = b1 ^((~b2)& b3 );
- a32 = b2 ^((~b3)& b4 );
- a43 = b3 ^((~b4)& b0 );
- a04 = b4 ^((~b0)& b1 );
-
- b3 = ROL64((a30^d0), 41);
- b4 = ROL64((a41^d1), 2);
- b0 = ROL64((a02^d2), 62);
- b1 = ROL64((a13^d3), 55);
- b2 = ROL64((a24^d4), 39);
- a30 = b0 ^((~b1)& b2 );
- a41 = b1 ^((~b2)& b3 );
- a02 = b2 ^((~b3)& b4 );
- a13 = b3 ^((~b4)& b0 );
- a24 = b4 ^((~b0)& b1 );
-
- c0 = a00^a20^a40^a10^a30;
- c1 = a11^a31^a01^a21^a41;
- c2 = a22^a42^a12^a32^a02;
- c3 = a33^a03^a23^a43^a13;
- c4 = a44^a14^a34^a04^a24;
- d0 = c4^ROL64(c1, 1);
- d1 = c0^ROL64(c2, 1);
- d2 = c1^ROL64(c3, 1);
- d3 = c2^ROL64(c4, 1);
- d4 = c3^ROL64(c0, 1);
-
- b0 = (a00^d0);
- b1 = ROL64((a31^d1), 44);
- b2 = ROL64((a12^d2), 43);
- b3 = ROL64((a43^d3), 21);
- b4 = ROL64((a24^d4), 14);
- a00 = b0 ^((~b1)& b2 );
- a00 ^= RC[i+1];
- a31 = b1 ^((~b2)& b3 );
- a12 = b2 ^((~b3)& b4 );
- a43 = b3 ^((~b4)& b0 );
- a24 = b4 ^((~b0)& b1 );
-
- b2 = ROL64((a40^d0), 3);
- b3 = ROL64((a21^d1), 45);
- b4 = ROL64((a02^d2), 61);
- b0 = ROL64((a33^d3), 28);
- b1 = ROL64((a14^d4), 20);
- a40 = b0 ^((~b1)& b2 );
- a21 = b1 ^((~b2)& b3 );
- a02 = b2 ^((~b3)& b4 );
- a33 = b3 ^((~b4)& b0 );
- a14 = b4 ^((~b0)& b1 );
-
- b4 = ROL64((a30^d0), 18);
- b0 = ROL64((a11^d1), 1);
- b1 = ROL64((a42^d2), 6);
- b2 = ROL64((a23^d3), 25);
- b3 = ROL64((a04^d4), 8);
- a30 = b0 ^((~b1)& b2 );
- a11 = b1 ^((~b2)& b3 );
- a42 = b2 ^((~b3)& b4 );
- a23 = b3 ^((~b4)& b0 );
- a04 = b4 ^((~b0)& b1 );
-
- b1 = ROL64((a20^d0), 36);
- b2 = ROL64((a01^d1), 10);
- b3 = ROL64((a32^d2), 15);
- b4 = ROL64((a13^d3), 56);
- b0 = ROL64((a44^d4), 27);
- a20 = b0 ^((~b1)& b2 );
- a01 = b1 ^((~b2)& b3 );
- a32 = b2 ^((~b3)& b4 );
- a13 = b3 ^((~b4)& b0 );
- a44 = b4 ^((~b0)& b1 );
-
- b3 = ROL64((a10^d0), 41);
- b4 = ROL64((a41^d1), 2);
- b0 = ROL64((a22^d2), 62);
- b1 = ROL64((a03^d3), 55);
- b2 = ROL64((a34^d4), 39);
- a10 = b0 ^((~b1)& b2 );
- a41 = b1 ^((~b2)& b3 );
- a22 = b2 ^((~b3)& b4 );
- a03 = b3 ^((~b4)& b0 );
- a34 = b4 ^((~b0)& b1 );
-
- c0 = a00^a40^a30^a20^a10;
- c1 = a31^a21^a11^a01^a41;
- c2 = a12^a02^a42^a32^a22;
- c3 = a43^a33^a23^a13^a03;
- c4 = a24^a14^a04^a44^a34;
- d0 = c4^ROL64(c1, 1);
- d1 = c0^ROL64(c2, 1);
- d2 = c1^ROL64(c3, 1);
- d3 = c2^ROL64(c4, 1);
- d4 = c3^ROL64(c0, 1);
-
- b0 = (a00^d0);
- b1 = ROL64((a21^d1), 44);
- b2 = ROL64((a42^d2), 43);
- b3 = ROL64((a13^d3), 21);
- b4 = ROL64((a34^d4), 14);
- a00 = b0 ^((~b1)& b2 );
- a00 ^= RC[i+2];
- a21 = b1 ^((~b2)& b3 );
- a42 = b2 ^((~b3)& b4 );
- a13 = b3 ^((~b4)& b0 );
- a34 = b4 ^((~b0)& b1 );
-
- b2 = ROL64((a30^d0), 3);
- b3 = ROL64((a01^d1), 45);
- b4 = ROL64((a22^d2), 61);
- b0 = ROL64((a43^d3), 28);
- b1 = ROL64((a14^d4), 20);
- a30 = b0 ^((~b1)& b2 );
- a01 = b1 ^((~b2)& b3 );
- a22 = b2 ^((~b3)& b4 );
- a43 = b3 ^((~b4)& b0 );
- a14 = b4 ^((~b0)& b1 );
-
- b4 = ROL64((a10^d0), 18);
- b0 = ROL64((a31^d1), 1);
- b1 = ROL64((a02^d2), 6);
- b2 = ROL64((a23^d3), 25);
- b3 = ROL64((a44^d4), 8);
- a10 = b0 ^((~b1)& b2 );
- a31 = b1 ^((~b2)& b3 );
- a02 = b2 ^((~b3)& b4 );
- a23 = b3 ^((~b4)& b0 );
- a44 = b4 ^((~b0)& b1 );
-
- b1 = ROL64((a40^d0), 36);
- b2 = ROL64((a11^d1), 10);
- b3 = ROL64((a32^d2), 15);
- b4 = ROL64((a03^d3), 56);
- b0 = ROL64((a24^d4), 27);
- a40 = b0 ^((~b1)& b2 );
- a11 = b1 ^((~b2)& b3 );
- a32 = b2 ^((~b3)& b4 );
- a03 = b3 ^((~b4)& b0 );
- a24 = b4 ^((~b0)& b1 );
-
- b3 = ROL64((a20^d0), 41);
- b4 = ROL64((a41^d1), 2);
- b0 = ROL64((a12^d2), 62);
- b1 = ROL64((a33^d3), 55);
- b2 = ROL64((a04^d4), 39);
- a20 = b0 ^((~b1)& b2 );
- a41 = b1 ^((~b2)& b3 );
- a12 = b2 ^((~b3)& b4 );
- a33 = b3 ^((~b4)& b0 );
- a04 = b4 ^((~b0)& b1 );
-
- c0 = a00^a30^a10^a40^a20;
- c1 = a21^a01^a31^a11^a41;
- c2 = a42^a22^a02^a32^a12;
- c3 = a13^a43^a23^a03^a33;
- c4 = a34^a14^a44^a24^a04;
- d0 = c4^ROL64(c1, 1);
- d1 = c0^ROL64(c2, 1);
- d2 = c1^ROL64(c3, 1);
- d3 = c2^ROL64(c4, 1);
- d4 = c3^ROL64(c0, 1);
-
- b0 = (a00^d0);
- b1 = ROL64((a01^d1), 44);
- b2 = ROL64((a02^d2), 43);
- b3 = ROL64((a03^d3), 21);
- b4 = ROL64((a04^d4), 14);
- a00 = b0 ^((~b1)& b2 );
- a00 ^= RC[i+3];
- a01 = b1 ^((~b2)& b3 );
- a02 = b2 ^((~b3)& b4 );
- a03 = b3 ^((~b4)& b0 );
- a04 = b4 ^((~b0)& b1 );
-
- b2 = ROL64((a10^d0), 3);
- b3 = ROL64((a11^d1), 45);
- b4 = ROL64((a12^d2), 61);
- b0 = ROL64((a13^d3), 28);
- b1 = ROL64((a14^d4), 20);
- a10 = b0 ^((~b1)& b2 );
- a11 = b1 ^((~b2)& b3 );
- a12 = b2 ^((~b3)& b4 );
- a13 = b3 ^((~b4)& b0 );
- a14 = b4 ^((~b0)& b1 );
-
- b4 = ROL64((a20^d0), 18);
- b0 = ROL64((a21^d1), 1);
- b1 = ROL64((a22^d2), 6);
- b2 = ROL64((a23^d3), 25);
- b3 = ROL64((a24^d4), 8);
- a20 = b0 ^((~b1)& b2 );
- a21 = b1 ^((~b2)& b3 );
- a22 = b2 ^((~b3)& b4 );
- a23 = b3 ^((~b4)& b0 );
- a24 = b4 ^((~b0)& b1 );
-
- b1 = ROL64((a30^d0), 36);
- b2 = ROL64((a31^d1), 10);
- b3 = ROL64((a32^d2), 15);
- b4 = ROL64((a33^d3), 56);
- b0 = ROL64((a34^d4), 27);
- a30 = b0 ^((~b1)& b2 );
- a31 = b1 ^((~b2)& b3 );
- a32 = b2 ^((~b3)& b4 );
- a33 = b3 ^((~b4)& b0 );
- a34 = b4 ^((~b0)& b1 );
-
- b3 = ROL64((a40^d0), 41);
- b4 = ROL64((a41^d1), 2);
- b0 = ROL64((a42^d2), 62);
- b1 = ROL64((a43^d3), 55);
- b2 = ROL64((a44^d4), 39);
- a40 = b0 ^((~b1)& b2 );
- a41 = b1 ^((~b2)& b3 );
- a42 = b2 ^((~b3)& b4 );
- a43 = b3 ^((~b4)& b0 );
- a44 = b4 ^((~b0)& b1 );
- }
-}
-
-/*
-** Initialize a new hash. iSize determines the size of the hash
-** in bits and should be one of 224, 256, 384, or 512. Or iSize
-** can be zero to use the default hash size of 256 bits.
-*/
-static void SHA3Init(SHA3Context *p, int iSize){
- memset(p, 0, sizeof(*p));
- if( iSize>=128 && iSize<=512 ){
- p->nRate = (1600 - ((iSize + 31)&~31)*2)/8;
- }else{
- p->nRate = (1600 - 2*256)/8;
- }
-#if SHA3_BYTEORDER==1234
- /* Known to be little-endian at compile-time. No-op */
-#elif SHA3_BYTEORDER==4321
- p->ixMask = 7; /* Big-endian */
-#else
- {
- static unsigned int one = 1;
- if( 1==*(unsigned char*)&one ){
- /* Little endian. No byte swapping. */
- p->ixMask = 0;
- }else{
- /* Big endian. Byte swap. */
- p->ixMask = 7;
- }
- }
-#endif
-}
-
-/*
-** Make consecutive calls to the SHA3Update function to add new content
-** to the hash
-*/
-static void SHA3Update(
- SHA3Context *p,
- const unsigned char *aData,
- unsigned int nData
-){
- unsigned int i = 0;
-#if SHA3_BYTEORDER==1234
- if( (p->nLoaded % 8)==0 && ((aData - (const unsigned char*)0)&7)==0 ){
- for(; i+7u.s[p->nLoaded/8] ^= *(u64*)&aData[i];
- p->nLoaded += 8;
- if( p->nLoaded>=p->nRate ){
- KeccakF1600Step(p);
- p->nLoaded = 0;
- }
- }
- }
-#endif
- for(; iu.x[p->nLoaded] ^= aData[i];
-#elif SHA3_BYTEORDER==4321
- p->u.x[p->nLoaded^0x07] ^= aData[i];
-#else
- p->u.x[p->nLoaded^p->ixMask] ^= aData[i];
-#endif
- p->nLoaded++;
- if( p->nLoaded==p->nRate ){
- KeccakF1600Step(p);
- p->nLoaded = 0;
- }
- }
-}
-
-/*
-** After all content has been added, invoke SHA3Final() to compute
-** the final hash. The function returns a pointer to the binary
-** hash value.
-*/
-static unsigned char *SHA3Final(SHA3Context *p){
- unsigned int i;
- if( p->nLoaded==p->nRate-1 ){
- const unsigned char c1 = 0x86;
- SHA3Update(p, &c1, 1);
- }else{
- const unsigned char c2 = 0x06;
- const unsigned char c3 = 0x80;
- SHA3Update(p, &c2, 1);
- p->nLoaded = p->nRate - 1;
- SHA3Update(p, &c3, 1);
- }
- for(i=0; inRate; i++){
- p->u.x[i+p->nRate] = p->u.x[i^p->ixMask];
- }
- return &p->u.x[p->nRate];
-}
-/* End of the hashing logic
-*****************************************************************************/
-
-/*
-** Implementation of the sha3(X,SIZE) function.
-**
-** Return a BLOB which is the SIZE-bit SHA3 hash of X. The default
-** size is 256. If X is a BLOB, it is hashed as is.
-** For all other non-NULL types of input, X is converted into a UTF-8 string
-** and the string is hashed without the trailing 0x00 terminator. The hash
-** of a NULL value is NULL.
-*/
-static void sha3Func(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- SHA3Context cx;
- int eType = sqlite3_value_type(argv[0]);
- int nByte = sqlite3_value_bytes(argv[0]);
- int iSize;
- if( argc==1 ){
- iSize = 256;
- }else{
- iSize = sqlite3_value_int(argv[1]);
- if( iSize!=224 && iSize!=256 && iSize!=384 && iSize!=512 ){
- sqlite3_result_error(context, "SHA3 size should be one of: 224 256 "
- "384 512", -1);
- return;
- }
- }
- if( eType==SQLITE_NULL ) return;
- SHA3Init(&cx, iSize);
- if( eType==SQLITE_BLOB ){
- SHA3Update(&cx, sqlite3_value_blob(argv[0]), nByte);
- }else{
- SHA3Update(&cx, sqlite3_value_text(argv[0]), nByte);
- }
- sqlite3_result_blob(context, SHA3Final(&cx), iSize/8, SQLITE_TRANSIENT);
-}
-
-/* Compute a string using sqlite3_vsnprintf() with a maximum length
-** of 50 bytes and add it to the hash.
-*/
-static void hash_step_vformat(
- SHA3Context *p, /* Add content to this context */
- const char *zFormat,
- ...
-){
- va_list ap;
- int n;
- char zBuf[50];
- va_start(ap, zFormat);
- sqlite3_vsnprintf(sizeof(zBuf),zBuf,zFormat,ap);
- va_end(ap);
- n = (int)strlen(zBuf);
- SHA3Update(p, (unsigned char*)zBuf, n);
-}
-
-/*
-** Implementation of the sha3_query(SQL,SIZE) function.
-**
-** This function compiles and runs the SQL statement(s) given in the
-** argument. The results are hashed using a SIZE-bit SHA3. The default
-** size is 256.
-**
-** The format of the byte stream that is hashed is summarized as follows:
-**
-** S:
-** R
-** N
-** I
-** F
-** B:
-** T:
-**
-** is the original SQL text for each statement run and is
-** the size of that text. The SQL text is UTF-8. A single R character
-** occurs before the start of each row. N means a NULL value.
-** I mean an 8-byte little-endian integer . F is a floating point
-** number with an 8-byte little-endian IEEE floating point value .
-** B means blobs of bytes. T means text rendered as
-** bytes of UTF-8. The and values are expressed as an ASCII
-** text integers.
-**
-** For each SQL statement in the X input, there is one S segment. Each
-** S segment is followed by zero or more R segments, one for each row in the
-** result set. After each R, there are one or more N, I, F, B, or T segments,
-** one for each column in the result set. Segments are concatentated directly
-** with no delimiters of any kind.
-*/
-static void sha3QueryFunc(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- sqlite3 *db = sqlite3_context_db_handle(context);
- const char *zSql = (const char*)sqlite3_value_text(argv[0]);
- sqlite3_stmt *pStmt = 0;
- int nCol; /* Number of columns in the result set */
- int i; /* Loop counter */
- int rc;
- int n;
- const char *z;
- SHA3Context cx;
- int iSize;
-
- if( argc==1 ){
- iSize = 256;
- }else{
- iSize = sqlite3_value_int(argv[1]);
- if( iSize!=224 && iSize!=256 && iSize!=384 && iSize!=512 ){
- sqlite3_result_error(context, "SHA3 size should be one of: 224 256 "
- "384 512", -1);
- return;
- }
- }
- if( zSql==0 ) return;
- SHA3Init(&cx, iSize);
- while( zSql[0] ){
- rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, &zSql);
- if( rc ){
- char *zMsg = sqlite3_mprintf("error SQL statement [%s]: %s",
- zSql, sqlite3_errmsg(db));
- sqlite3_finalize(pStmt);
- sqlite3_result_error(context, zMsg, -1);
- sqlite3_free(zMsg);
- return;
- }
- if( !sqlite3_stmt_readonly(pStmt) ){
- char *zMsg = sqlite3_mprintf("non-query: [%s]", sqlite3_sql(pStmt));
- sqlite3_finalize(pStmt);
- sqlite3_result_error(context, zMsg, -1);
- sqlite3_free(zMsg);
- return;
- }
- nCol = sqlite3_column_count(pStmt);
- z = sqlite3_sql(pStmt);
- n = (int)strlen(z);
- hash_step_vformat(&cx,"S%d:",n);
- SHA3Update(&cx,(unsigned char*)z,n);
-
- /* Compute a hash over the result of the query */
- while( SQLITE_ROW==sqlite3_step(pStmt) ){
- SHA3Update(&cx,(const unsigned char*)"R",1);
- for(i=0; i=1; j--){
- x[j] = u & 0xff;
- u >>= 8;
- }
- x[0] = 'I';
- SHA3Update(&cx, x, 9);
- break;
- }
- case SQLITE_FLOAT: {
- sqlite3_uint64 u;
- int j;
- unsigned char x[9];
- double r = sqlite3_column_double(pStmt,i);
- memcpy(&u, &r, 8);
- for(j=8; j>=1; j--){
- x[j] = u & 0xff;
- u >>= 8;
- }
- x[0] = 'F';
- SHA3Update(&cx,x,9);
- break;
- }
- case SQLITE_TEXT: {
- int n2 = sqlite3_column_bytes(pStmt, i);
- const unsigned char *z2 = sqlite3_column_text(pStmt, i);
- hash_step_vformat(&cx,"T%d:",n2);
- SHA3Update(&cx, z2, n2);
- break;
- }
- case SQLITE_BLOB: {
- int n2 = sqlite3_column_bytes(pStmt, i);
- const unsigned char *z2 = sqlite3_column_blob(pStmt, i);
- hash_step_vformat(&cx,"B%d:",n2);
- SHA3Update(&cx, z2, n2);
- break;
- }
- }
- }
- }
- sqlite3_finalize(pStmt);
- }
- sqlite3_result_blob(context, SHA3Final(&cx), iSize/8, SQLITE_TRANSIENT);
-}
-
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_shathree_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "sha3", 1,
- SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
- 0, sha3Func, 0, 0);
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "sha3", 2,
- SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
- 0, sha3Func, 0, 0);
- }
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "sha3_query", 1,
- SQLITE_UTF8 | SQLITE_DIRECTONLY,
- 0, sha3QueryFunc, 0, 0);
- }
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "sha3_query", 2,
- SQLITE_UTF8 | SQLITE_DIRECTONLY,
- 0, sha3QueryFunc, 0, 0);
- }
- return rc;
-}
diff --git a/sqlite3secure/src/shell.c b/sqlite3secure/src/shell.c
deleted file mode 100644
index 4e3d3979..00000000
--- a/sqlite3secure/src/shell.c
+++ /dev/null
@@ -1,19181 +0,0 @@
-/* DO NOT EDIT!
-** This file is automatically generated by the script in the canonical
-** SQLite source tree at tool/mkshellc.tcl. That script combines source
-** code from various constituent source files of SQLite into this single
-** "shell.c" file used to implement the SQLite command-line shell.
-**
-** Most of the code found below comes from the "src/shell.c.in" file in
-** the canonical SQLite source tree. That main file contains "INCLUDE"
-** lines that specify other files in the canonical source tree that are
-** inserted to getnerate this complete program source file.
-**
-** The code from multiple files is combined into this single "shell.c"
-** source file to help make the command-line program easier to compile.
-**
-** To modify this program, get a copy of the canonical SQLite source tree,
-** edit the src/shell.c.in" and/or some of the other files that are included
-** by "src/shell.c.in", then rerun the tool/mkshellc.tcl script.
-*/
-/*
-** 2001 September 15
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains code to implement the "sqlite" command line
-** utility for accessing SQLite databases.
-*/
-#if (defined(_WIN32) || defined(WIN32)) && !defined(_CRT_SECURE_NO_WARNINGS)
-/* This needs to come before any includes for MSVC compiler */
-#define _CRT_SECURE_NO_WARNINGS
-#endif
-
-/*
-** Warning pragmas copied from msvc.h in the core.
-*/
-#if defined(_MSC_VER)
-#pragma warning(disable : 4054)
-#pragma warning(disable : 4055)
-#pragma warning(disable : 4100)
-#pragma warning(disable : 4127)
-#pragma warning(disable : 4130)
-#pragma warning(disable : 4152)
-#pragma warning(disable : 4189)
-#pragma warning(disable : 4206)
-#pragma warning(disable : 4210)
-#pragma warning(disable : 4232)
-#pragma warning(disable : 4244)
-#pragma warning(disable : 4305)
-#pragma warning(disable : 4306)
-#pragma warning(disable : 4702)
-#pragma warning(disable : 4706)
-#endif /* defined(_MSC_VER) */
-
-/*
-** No support for loadable extensions in VxWorks.
-*/
-#if (defined(__RTP__) || defined(_WRS_KERNEL)) && !SQLITE_OMIT_LOAD_EXTENSION
-# define SQLITE_OMIT_LOAD_EXTENSION 1
-#endif
-
-/*
-** Enable large-file support for fopen() and friends on unix.
-*/
-#ifndef SQLITE_DISABLE_LFS
-# define _LARGE_FILE 1
-# ifndef _FILE_OFFSET_BITS
-# define _FILE_OFFSET_BITS 64
-# endif
-# define _LARGEFILE_SOURCE 1
-#endif
-
-#include
-#include
-#include
-#include
-#include "sqlite3.h"
-typedef sqlite3_int64 i64;
-typedef sqlite3_uint64 u64;
-typedef unsigned char u8;
-#if SQLITE_USER_AUTHENTICATION
-# include "sqlite3userauth.h"
-#endif
-#include
-#include
-
-#if !defined(_WIN32) && !defined(WIN32)
-# include
-# if !defined(__RTP__) && !defined(_WRS_KERNEL)
-# include
-# endif
-#endif
-#if (!defined(_WIN32) && !defined(WIN32)) || defined(__MINGW32__)
-# include
-# include
-# define GETPID getpid
-# if defined(__MINGW32__)
-# define DIRENT dirent
-# ifndef S_ISLNK
-# define S_ISLNK(mode) (0)
-# endif
-# endif
-#else
-# define GETPID (int)GetCurrentProcessId
-#endif
-#include
-#include
-
-#if HAVE_READLINE
-# include
-# include
-#endif
-
-#if HAVE_EDITLINE
-# include
-#endif
-
-#if HAVE_EDITLINE || HAVE_READLINE
-
-# define shell_add_history(X) add_history(X)
-# define shell_read_history(X) read_history(X)
-# define shell_write_history(X) write_history(X)
-# define shell_stifle_history(X) stifle_history(X)
-# define shell_readline(X) readline(X)
-
-#elif HAVE_LINENOISE
-
-# include "linenoise.h"
-# define shell_add_history(X) linenoiseHistoryAdd(X)
-# define shell_read_history(X) linenoiseHistoryLoad(X)
-# define shell_write_history(X) linenoiseHistorySave(X)
-# define shell_stifle_history(X) linenoiseHistorySetMaxLen(X)
-# define shell_readline(X) linenoise(X)
-
-#else
-
-# define shell_read_history(X)
-# define shell_write_history(X)
-# define shell_stifle_history(X)
-
-# define SHELL_USE_LOCAL_GETLINE 1
-#endif
-
-
-#if defined(_WIN32) || defined(WIN32)
-# include
-# include
-# define isatty(h) _isatty(h)
-# ifndef access
-# define access(f,m) _access((f),(m))
-# endif
-# ifndef unlink
-# define unlink _unlink
-# endif
-# ifndef strdup
-# define strdup _strdup
-# endif
-# undef popen
-# define popen _popen
-# undef pclose
-# define pclose _pclose
-#else
- /* Make sure isatty() has a prototype. */
- extern int isatty(int);
-
-# if !defined(__RTP__) && !defined(_WRS_KERNEL)
- /* popen and pclose are not C89 functions and so are
- ** sometimes omitted from the header */
- extern FILE *popen(const char*,const char*);
- extern int pclose(FILE*);
-# else
-# define SQLITE_OMIT_POPEN 1
-# endif
-#endif
-
-#if defined(_WIN32_WCE)
-/* Windows CE (arm-wince-mingw32ce-gcc) does not provide isatty()
- * thus we always assume that we have a console. That can be
- * overridden with the -batch command line option.
- */
-#define isatty(x) 1
-#endif
-
-/* ctype macros that work with signed characters */
-#define IsSpace(X) isspace((unsigned char)X)
-#define IsDigit(X) isdigit((unsigned char)X)
-#define ToLower(X) (char)tolower((unsigned char)X)
-
-#if defined(_WIN32) || defined(WIN32)
-#include
-
-/* string conversion routines only needed on Win32 */
-extern char *sqlite3_win32_unicode_to_utf8(LPCWSTR);
-extern char *sqlite3_win32_mbcs_to_utf8_v2(const char *, int);
-extern char *sqlite3_win32_utf8_to_mbcs_v2(const char *, int);
-extern LPWSTR sqlite3_win32_utf8_to_unicode(const char *zText);
-#endif
-
-/* On Windows, we normally run with output mode of TEXT so that \n characters
-** are automatically translated into \r\n. However, this behavior needs
-** to be disabled in some cases (ex: when generating CSV output and when
-** rendering quoted strings that contain \n characters). The following
-** routines take care of that.
-*/
-#if defined(_WIN32) || defined(WIN32)
-static void setBinaryMode(FILE *file, int isOutput){
- if( isOutput ) fflush(file);
- _setmode(_fileno(file), _O_BINARY);
-}
-static void setTextMode(FILE *file, int isOutput){
- if( isOutput ) fflush(file);
- _setmode(_fileno(file), _O_TEXT);
-}
-#else
-# define setBinaryMode(X,Y)
-# define setTextMode(X,Y)
-#endif
-
-
-/* True if the timer is enabled */
-static int enableTimer = 0;
-
-/* Return the current wall-clock time */
-static sqlite3_int64 timeOfDay(void){
- static sqlite3_vfs *clockVfs = 0;
- sqlite3_int64 t;
- if( clockVfs==0 ) clockVfs = sqlite3_vfs_find(0);
- if( clockVfs->iVersion>=2 && clockVfs->xCurrentTimeInt64!=0 ){
- clockVfs->xCurrentTimeInt64(clockVfs, &t);
- }else{
- double r;
- clockVfs->xCurrentTime(clockVfs, &r);
- t = (sqlite3_int64)(r*86400000.0);
- }
- return t;
-}
-
-#if !defined(_WIN32) && !defined(WIN32) && !defined(__minux)
-#include
-#include
-
-/* VxWorks does not support getrusage() as far as we can determine */
-#if defined(_WRS_KERNEL) || defined(__RTP__)
-struct rusage {
- struct timeval ru_utime; /* user CPU time used */
- struct timeval ru_stime; /* system CPU time used */
-};
-#define getrusage(A,B) memset(B,0,sizeof(*B))
-#endif
-
-/* Saved resource information for the beginning of an operation */
-static struct rusage sBegin; /* CPU time at start */
-static sqlite3_int64 iBegin; /* Wall-clock time at start */
-
-/*
-** Begin timing an operation
-*/
-static void beginTimer(void){
- if( enableTimer ){
- getrusage(RUSAGE_SELF, &sBegin);
- iBegin = timeOfDay();
- }
-}
-
-/* Return the difference of two time_structs in seconds */
-static double timeDiff(struct timeval *pStart, struct timeval *pEnd){
- return (pEnd->tv_usec - pStart->tv_usec)*0.000001 +
- (double)(pEnd->tv_sec - pStart->tv_sec);
-}
-
-/*
-** Print the timing results.
-*/
-static void endTimer(void){
- if( enableTimer ){
- sqlite3_int64 iEnd = timeOfDay();
- struct rusage sEnd;
- getrusage(RUSAGE_SELF, &sEnd);
- printf("Run Time: real %.3f user %f sys %f\n",
- (iEnd - iBegin)*0.001,
- timeDiff(&sBegin.ru_utime, &sEnd.ru_utime),
- timeDiff(&sBegin.ru_stime, &sEnd.ru_stime));
- }
-}
-
-#define BEGIN_TIMER beginTimer()
-#define END_TIMER endTimer()
-#define HAS_TIMER 1
-
-#elif (defined(_WIN32) || defined(WIN32))
-
-/* Saved resource information for the beginning of an operation */
-static HANDLE hProcess;
-static FILETIME ftKernelBegin;
-static FILETIME ftUserBegin;
-static sqlite3_int64 ftWallBegin;
-typedef BOOL (WINAPI *GETPROCTIMES)(HANDLE, LPFILETIME, LPFILETIME,
- LPFILETIME, LPFILETIME);
-static GETPROCTIMES getProcessTimesAddr = NULL;
-
-/*
-** Check to see if we have timer support. Return 1 if necessary
-** support found (or found previously).
-*/
-static int hasTimer(void){
- if( getProcessTimesAddr ){
- return 1;
- } else {
- /* GetProcessTimes() isn't supported in WIN95 and some other Windows
- ** versions. See if the version we are running on has it, and if it
- ** does, save off a pointer to it and the current process handle.
- */
- hProcess = GetCurrentProcess();
- if( hProcess ){
- HINSTANCE hinstLib = LoadLibrary(TEXT("Kernel32.dll"));
- if( NULL != hinstLib ){
- getProcessTimesAddr =
- (GETPROCTIMES) GetProcAddress(hinstLib, "GetProcessTimes");
- if( NULL != getProcessTimesAddr ){
- return 1;
- }
- FreeLibrary(hinstLib);
- }
- }
- }
- return 0;
-}
-
-/*
-** Begin timing an operation
-*/
-static void beginTimer(void){
- if( enableTimer && getProcessTimesAddr ){
- FILETIME ftCreation, ftExit;
- getProcessTimesAddr(hProcess,&ftCreation,&ftExit,
- &ftKernelBegin,&ftUserBegin);
- ftWallBegin = timeOfDay();
- }
-}
-
-/* Return the difference of two FILETIME structs in seconds */
-static double timeDiff(FILETIME *pStart, FILETIME *pEnd){
- sqlite_int64 i64Start = *((sqlite_int64 *) pStart);
- sqlite_int64 i64End = *((sqlite_int64 *) pEnd);
- return (double) ((i64End - i64Start) / 10000000.0);
-}
-
-/*
-** Print the timing results.
-*/
-static void endTimer(void){
- if( enableTimer && getProcessTimesAddr){
- FILETIME ftCreation, ftExit, ftKernelEnd, ftUserEnd;
- sqlite3_int64 ftWallEnd = timeOfDay();
- getProcessTimesAddr(hProcess,&ftCreation,&ftExit,&ftKernelEnd,&ftUserEnd);
- printf("Run Time: real %.3f user %f sys %f\n",
- (ftWallEnd - ftWallBegin)*0.001,
- timeDiff(&ftUserBegin, &ftUserEnd),
- timeDiff(&ftKernelBegin, &ftKernelEnd));
- }
-}
-
-#define BEGIN_TIMER beginTimer()
-#define END_TIMER endTimer()
-#define HAS_TIMER hasTimer()
-
-#else
-#define BEGIN_TIMER
-#define END_TIMER
-#define HAS_TIMER 0
-#endif
-
-/*
-** Used to prevent warnings about unused parameters
-*/
-#define UNUSED_PARAMETER(x) (void)(x)
-
-/*
-** Number of elements in an array
-*/
-#define ArraySize(X) (int)(sizeof(X)/sizeof(X[0]))
-
-/*
-** If the following flag is set, then command execution stops
-** at an error if we are not interactive.
-*/
-static int bail_on_error = 0;
-
-/*
-** Threat stdin as an interactive input if the following variable
-** is true. Otherwise, assume stdin is connected to a file or pipe.
-*/
-static int stdin_is_interactive = 1;
-
-/*
-** On Windows systems we have to know if standard output is a console
-** in order to translate UTF-8 into MBCS. The following variable is
-** true if translation is required.
-*/
-static int stdout_is_console = 1;
-
-/*
-** The following is the open SQLite database. We make a pointer
-** to this database a static variable so that it can be accessed
-** by the SIGINT handler to interrupt database processing.
-*/
-static sqlite3 *globalDb = 0;
-
-/*
-** True if an interrupt (Control-C) has been received.
-*/
-static volatile int seenInterrupt = 0;
-
-/*
-** This is the name of our program. It is set in main(), used
-** in a number of other places, mostly for error messages.
-*/
-static char *Argv0;
-
-/*
-** Prompt strings. Initialized in main. Settable with
-** .prompt main continue
-*/
-static char mainPrompt[20]; /* First line prompt. default: "sqlite> "*/
-static char continuePrompt[20]; /* Continuation prompt. default: " ...> " */
-
-/*
-** Render output like fprintf(). Except, if the output is going to the
-** console and if this is running on a Windows machine, translate the
-** output from UTF-8 into MBCS.
-*/
-#if defined(_WIN32) || defined(WIN32)
-void utf8_printf(FILE *out, const char *zFormat, ...){
- va_list ap;
- va_start(ap, zFormat);
- if( stdout_is_console && (out==stdout || out==stderr) ){
- char *z1 = sqlite3_vmprintf(zFormat, ap);
- char *z2 = sqlite3_win32_utf8_to_mbcs_v2(z1, 0);
- sqlite3_free(z1);
- fputs(z2, out);
- sqlite3_free(z2);
- }else{
- vfprintf(out, zFormat, ap);
- }
- va_end(ap);
-}
-#elif !defined(utf8_printf)
-# define utf8_printf fprintf
-#endif
-
-/*
-** Render output like fprintf(). This should not be used on anything that
-** includes string formatting (e.g. "%s").
-*/
-#if !defined(raw_printf)
-# define raw_printf fprintf
-#endif
-
-/* Indicate out-of-memory and exit. */
-static void shell_out_of_memory(void){
- raw_printf(stderr,"Error: out of memory\n");
- exit(1);
-}
-
-/*
-** Write I/O traces to the following stream.
-*/
-#ifdef SQLITE_ENABLE_IOTRACE
-static FILE *iotrace = 0;
-#endif
-
-/*
-** This routine works like printf in that its first argument is a
-** format string and subsequent arguments are values to be substituted
-** in place of % fields. The result of formatting this string
-** is written to iotrace.
-*/
-#ifdef SQLITE_ENABLE_IOTRACE
-static void SQLITE_CDECL iotracePrintf(const char *zFormat, ...){
- va_list ap;
- char *z;
- if( iotrace==0 ) return;
- va_start(ap, zFormat);
- z = sqlite3_vmprintf(zFormat, ap);
- va_end(ap);
- utf8_printf(iotrace, "%s", z);
- sqlite3_free(z);
-}
-#endif
-
-/*
-** Output string zUtf to stream pOut as w characters. If w is negative,
-** then right-justify the text. W is the width in UTF-8 characters, not
-** in bytes. This is different from the %*.*s specification in printf
-** since with %*.*s the width is measured in bytes, not characters.
-*/
-static void utf8_width_print(FILE *pOut, int w, const char *zUtf){
- int i;
- int n;
- int aw = w<0 ? -w : w;
- char zBuf[1000];
- if( aw>(int)sizeof(zBuf)/3 ) aw = (int)sizeof(zBuf)/3;
- for(i=n=0; zUtf[i]; i++){
- if( (zUtf[i]&0xc0)!=0x80 ){
- n++;
- if( n==aw ){
- do{ i++; }while( (zUtf[i]&0xc0)==0x80 );
- break;
- }
- }
- }
- if( n>=aw ){
- utf8_printf(pOut, "%.*s", i, zUtf);
- }else if( w<0 ){
- utf8_printf(pOut, "%*s%s", aw-n, "", zUtf);
- }else{
- utf8_printf(pOut, "%s%*s", zUtf, aw-n, "");
- }
-}
-
-
-/*
-** Determines if a string is a number of not.
-*/
-static int isNumber(const char *z, int *realnum){
- if( *z=='-' || *z=='+' ) z++;
- if( !IsDigit(*z) ){
- return 0;
- }
- z++;
- if( realnum ) *realnum = 0;
- while( IsDigit(*z) ){ z++; }
- if( *z=='.' ){
- z++;
- if( !IsDigit(*z) ) return 0;
- while( IsDigit(*z) ){ z++; }
- if( realnum ) *realnum = 1;
- }
- if( *z=='e' || *z=='E' ){
- z++;
- if( *z=='+' || *z=='-' ) z++;
- if( !IsDigit(*z) ) return 0;
- while( IsDigit(*z) ){ z++; }
- if( realnum ) *realnum = 1;
- }
- return *z==0;
-}
-
-/*
-** Compute a string length that is limited to what can be stored in
-** lower 30 bits of a 32-bit signed integer.
-*/
-static int strlen30(const char *z){
- const char *z2 = z;
- while( *z2 ){ z2++; }
- return 0x3fffffff & (int)(z2 - z);
-}
-
-/*
-** Return the length of a string in characters. Multibyte UTF8 characters
-** count as a single character.
-*/
-static int strlenChar(const char *z){
- int n = 0;
- while( *z ){
- if( (0xc0&*(z++))!=0x80 ) n++;
- }
- return n;
-}
-
-/*
-** This routine reads a line of text from FILE in, stores
-** the text in memory obtained from malloc() and returns a pointer
-** to the text. NULL is returned at end of file, or if malloc()
-** fails.
-**
-** If zLine is not NULL then it is a malloced buffer returned from
-** a previous call to this routine that may be reused.
-*/
-static char *local_getline(char *zLine, FILE *in){
- int nLine = zLine==0 ? 0 : 100;
- int n = 0;
-
- while( 1 ){
- if( n+100>nLine ){
- nLine = nLine*2 + 100;
- zLine = realloc(zLine, nLine);
- if( zLine==0 ) shell_out_of_memory();
- }
- if( fgets(&zLine[n], nLine - n, in)==0 ){
- if( n==0 ){
- free(zLine);
- return 0;
- }
- zLine[n] = 0;
- break;
- }
- while( zLine[n] ) n++;
- if( n>0 && zLine[n-1]=='\n' ){
- n--;
- if( n>0 && zLine[n-1]=='\r' ) n--;
- zLine[n] = 0;
- break;
- }
- }
-#if defined(_WIN32) || defined(WIN32)
- /* For interactive input on Windows systems, translate the
- ** multi-byte characterset characters into UTF-8. */
- if( stdin_is_interactive && in==stdin ){
- char *zTrans = sqlite3_win32_mbcs_to_utf8_v2(zLine, 0);
- if( zTrans ){
- int nTrans = strlen30(zTrans)+1;
- if( nTrans>nLine ){
- zLine = realloc(zLine, nTrans);
- if( zLine==0 ) shell_out_of_memory();
- }
- memcpy(zLine, zTrans, nTrans);
- sqlite3_free(zTrans);
- }
- }
-#endif /* defined(_WIN32) || defined(WIN32) */
- return zLine;
-}
-
-/*
-** Retrieve a single line of input text.
-**
-** If in==0 then read from standard input and prompt before each line.
-** If isContinuation is true, then a continuation prompt is appropriate.
-** If isContinuation is zero, then the main prompt should be used.
-**
-** If zPrior is not NULL then it is a buffer from a prior call to this
-** routine that can be reused.
-**
-** The result is stored in space obtained from malloc() and must either
-** be freed by the caller or else passed back into this routine via the
-** zPrior argument for reuse.
-*/
-static char *one_input_line(FILE *in, char *zPrior, int isContinuation){
- char *zPrompt;
- char *zResult;
- if( in!=0 ){
- zResult = local_getline(zPrior, in);
- }else{
- zPrompt = isContinuation ? continuePrompt : mainPrompt;
-#if SHELL_USE_LOCAL_GETLINE
- printf("%s", zPrompt);
- fflush(stdout);
- zResult = local_getline(zPrior, stdin);
-#else
- free(zPrior);
- zResult = shell_readline(zPrompt);
- if( zResult && *zResult ) shell_add_history(zResult);
-#endif
- }
- return zResult;
-}
-
-
-/*
-** Return the value of a hexadecimal digit. Return -1 if the input
-** is not a hex digit.
-*/
-static int hexDigitValue(char c){
- if( c>='0' && c<='9' ) return c - '0';
- if( c>='a' && c<='f' ) return c - 'a' + 10;
- if( c>='A' && c<='F' ) return c - 'A' + 10;
- return -1;
-}
-
-/*
-** Interpret zArg as an integer value, possibly with suffixes.
-*/
-static sqlite3_int64 integerValue(const char *zArg){
- sqlite3_int64 v = 0;
- static const struct { char *zSuffix; int iMult; } aMult[] = {
- { "KiB", 1024 },
- { "MiB", 1024*1024 },
- { "GiB", 1024*1024*1024 },
- { "KB", 1000 },
- { "MB", 1000000 },
- { "GB", 1000000000 },
- { "K", 1000 },
- { "M", 1000000 },
- { "G", 1000000000 },
- };
- int i;
- int isNeg = 0;
- if( zArg[0]=='-' ){
- isNeg = 1;
- zArg++;
- }else if( zArg[0]=='+' ){
- zArg++;
- }
- if( zArg[0]=='0' && zArg[1]=='x' ){
- int x;
- zArg += 2;
- while( (x = hexDigitValue(zArg[0]))>=0 ){
- v = (v<<4) + x;
- zArg++;
- }
- }else{
- while( IsDigit(zArg[0]) ){
- v = v*10 + zArg[0] - '0';
- zArg++;
- }
- }
- for(i=0; iz);
- initText(p);
-}
-
-/* zIn is either a pointer to a NULL-terminated string in memory obtained
-** from malloc(), or a NULL pointer. The string pointed to by zAppend is
-** added to zIn, and the result returned in memory obtained from malloc().
-** zIn, if it was not NULL, is freed.
-**
-** If the third argument, quote, is not '\0', then it is used as a
-** quote character for zAppend.
-*/
-static void appendText(ShellText *p, char const *zAppend, char quote){
- int len;
- int i;
- int nAppend = strlen30(zAppend);
-
- len = nAppend+p->n+1;
- if( quote ){
- len += 2;
- for(i=0; in+len>=p->nAlloc ){
- p->nAlloc = p->nAlloc*2 + len + 20;
- p->z = realloc(p->z, p->nAlloc);
- if( p->z==0 ) shell_out_of_memory();
- }
-
- if( quote ){
- char *zCsr = p->z+p->n;
- *zCsr++ = quote;
- for(i=0; in = (int)(zCsr - p->z);
- *zCsr = '\0';
- }else{
- memcpy(p->z+p->n, zAppend, nAppend);
- p->n += nAppend;
- p->z[p->n] = '\0';
- }
-}
-
-/*
-** Attempt to determine if identifier zName needs to be quoted, either
-** because it contains non-alphanumeric characters, or because it is an
-** SQLite keyword. Be conservative in this estimate: When in doubt assume
-** that quoting is required.
-**
-** Return '"' if quoting is required. Return 0 if no quoting is required.
-*/
-static char quoteChar(const char *zName){
- int i;
- if( !isalpha((unsigned char)zName[0]) && zName[0]!='_' ) return '"';
- for(i=0; zName[i]; i++){
- if( !isalnum((unsigned char)zName[i]) && zName[i]!='_' ) return '"';
- }
- return sqlite3_keyword_check(zName, i) ? '"' : 0;
-}
-
-/*
-** Construct a fake object name and column list to describe the structure
-** of the view, virtual table, or table valued function zSchema.zName.
-*/
-static char *shellFakeSchema(
- sqlite3 *db, /* The database connection containing the vtab */
- const char *zSchema, /* Schema of the database holding the vtab */
- const char *zName /* The name of the virtual table */
-){
- sqlite3_stmt *pStmt = 0;
- char *zSql;
- ShellText s;
- char cQuote;
- char *zDiv = "(";
- int nRow = 0;
-
- zSql = sqlite3_mprintf("PRAGMA \"%w\".table_info=%Q;",
- zSchema ? zSchema : "main", zName);
- sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);
- sqlite3_free(zSql);
- initText(&s);
- if( zSchema ){
- cQuote = quoteChar(zSchema);
- if( cQuote && sqlite3_stricmp(zSchema,"temp")==0 ) cQuote = 0;
- appendText(&s, zSchema, cQuote);
- appendText(&s, ".", 0);
- }
- cQuote = quoteChar(zName);
- appendText(&s, zName, cQuote);
- while( sqlite3_step(pStmt)==SQLITE_ROW ){
- const char *zCol = (const char*)sqlite3_column_text(pStmt, 1);
- nRow++;
- appendText(&s, zDiv, 0);
- zDiv = ",";
- cQuote = quoteChar(zCol);
- appendText(&s, zCol, cQuote);
- }
- appendText(&s, ")", 0);
- sqlite3_finalize(pStmt);
- if( nRow==0 ){
- freeText(&s);
- s.z = 0;
- }
- return s.z;
-}
-
-/*
-** SQL function: shell_module_schema(X)
-**
-** Return a fake schema for the table-valued function or eponymous virtual
-** table X.
-*/
-static void shellModuleSchema(
- sqlite3_context *pCtx,
- int nVal,
- sqlite3_value **apVal
-){
- const char *zName = (const char*)sqlite3_value_text(apVal[0]);
- char *zFake = shellFakeSchema(sqlite3_context_db_handle(pCtx), 0, zName);
- UNUSED_PARAMETER(nVal);
- if( zFake ){
- sqlite3_result_text(pCtx, sqlite3_mprintf("/* %s */", zFake),
- -1, sqlite3_free);
- free(zFake);
- }
-}
-
-/*
-** SQL function: shell_add_schema(S,X)
-**
-** Add the schema name X to the CREATE statement in S and return the result.
-** Examples:
-**
-** CREATE TABLE t1(x) -> CREATE TABLE xyz.t1(x);
-**
-** Also works on
-**
-** CREATE INDEX
-** CREATE UNIQUE INDEX
-** CREATE VIEW
-** CREATE TRIGGER
-** CREATE VIRTUAL TABLE
-**
-** This UDF is used by the .schema command to insert the schema name of
-** attached databases into the middle of the sqlite_master.sql field.
-*/
-static void shellAddSchemaName(
- sqlite3_context *pCtx,
- int nVal,
- sqlite3_value **apVal
-){
- static const char *aPrefix[] = {
- "TABLE",
- "INDEX",
- "UNIQUE INDEX",
- "VIEW",
- "TRIGGER",
- "VIRTUAL TABLE"
- };
- int i = 0;
- const char *zIn = (const char*)sqlite3_value_text(apVal[0]);
- const char *zSchema = (const char*)sqlite3_value_text(apVal[1]);
- const char *zName = (const char*)sqlite3_value_text(apVal[2]);
- sqlite3 *db = sqlite3_context_db_handle(pCtx);
- UNUSED_PARAMETER(nVal);
- if( zIn!=0 && strncmp(zIn, "CREATE ", 7)==0 ){
- for(i=0; i<(int)(sizeof(aPrefix)/sizeof(aPrefix[0])); i++){
- int n = strlen30(aPrefix[i]);
- if( strncmp(zIn+7, aPrefix[i], n)==0 && zIn[n+7]==' ' ){
- char *z = 0;
- char *zFake = 0;
- if( zSchema ){
- char cQuote = quoteChar(zSchema);
- if( cQuote && sqlite3_stricmp(zSchema,"temp")!=0 ){
- z = sqlite3_mprintf("%.*s \"%w\".%s", n+7, zIn, zSchema, zIn+n+8);
- }else{
- z = sqlite3_mprintf("%.*s %s.%s", n+7, zIn, zSchema, zIn+n+8);
- }
- }
- if( zName
- && aPrefix[i][0]=='V'
- && (zFake = shellFakeSchema(db, zSchema, zName))!=0
- ){
- if( z==0 ){
- z = sqlite3_mprintf("%s\n/* %s */", zIn, zFake);
- }else{
- z = sqlite3_mprintf("%z\n/* %s */", z, zFake);
- }
- free(zFake);
- }
- if( z ){
- sqlite3_result_text(pCtx, z, -1, sqlite3_free);
- return;
- }
- }
- }
- }
- sqlite3_result_value(pCtx, apVal[0]);
-}
-
-/*
-** The source code for several run-time loadable extensions is inserted
-** below by the ../tool/mkshellc.tcl script. Before processing that included
-** code, we need to override some macros to make the included program code
-** work here in the middle of this regular program.
-*/
-#define SQLITE_EXTENSION_INIT1
-#define SQLITE_EXTENSION_INIT2(X) (void)(X)
-
-#if defined(_WIN32) && defined(_MSC_VER)
-/************************* Begin test_windirent.h ******************/
-/*
-** 2015 November 30
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains declarations for most of the opendir() family of
-** POSIX functions on Win32 using the MSVCRT.
-*/
-
-#if defined(_WIN32) && defined(_MSC_VER) && !defined(SQLITE_WINDIRENT_H)
-#define SQLITE_WINDIRENT_H
-
-/*
-** We need several data types from the Windows SDK header.
-*/
-
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-
-#include "windows.h"
-
-/*
-** We need several support functions from the SQLite core.
-*/
-
-/* #include "sqlite3.h" */
-
-/*
-** We need several things from the ANSI and MSVCRT headers.
-*/
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-/*
-** We may need several defines that should have been in "sys/stat.h".
-*/
-
-#ifndef S_ISREG
-#define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG)
-#endif
-
-#ifndef S_ISDIR
-#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
-#endif
-
-#ifndef S_ISLNK
-#define S_ISLNK(mode) (0)
-#endif
-
-/*
-** We may need to provide the "mode_t" type.
-*/
-
-#ifndef MODE_T_DEFINED
- #define MODE_T_DEFINED
- typedef unsigned short mode_t;
-#endif
-
-/*
-** We may need to provide the "ino_t" type.
-*/
-
-#ifndef INO_T_DEFINED
- #define INO_T_DEFINED
- typedef unsigned short ino_t;
-#endif
-
-/*
-** We need to define "NAME_MAX" if it was not present in "limits.h".
-*/
-
-#ifndef NAME_MAX
-# ifdef FILENAME_MAX
-# define NAME_MAX (FILENAME_MAX)
-# else
-# define NAME_MAX (260)
-# endif
-#endif
-
-/*
-** We need to define "NULL_INTPTR_T" and "BAD_INTPTR_T".
-*/
-
-#ifndef NULL_INTPTR_T
-# define NULL_INTPTR_T ((intptr_t)(0))
-#endif
-
-#ifndef BAD_INTPTR_T
-# define BAD_INTPTR_T ((intptr_t)(-1))
-#endif
-
-/*
-** We need to provide the necessary structures and related types.
-*/
-
-#ifndef DIRENT_DEFINED
-#define DIRENT_DEFINED
-typedef struct DIRENT DIRENT;
-typedef DIRENT *LPDIRENT;
-struct DIRENT {
- ino_t d_ino; /* Sequence number, do not use. */
- unsigned d_attributes; /* Win32 file attributes. */
- char d_name[NAME_MAX + 1]; /* Name within the directory. */
-};
-#endif
-
-#ifndef DIR_DEFINED
-#define DIR_DEFINED
-typedef struct DIR DIR;
-typedef DIR *LPDIR;
-struct DIR {
- intptr_t d_handle; /* Value returned by "_findfirst". */
- DIRENT d_first; /* DIRENT constructed based on "_findfirst". */
- DIRENT d_next; /* DIRENT constructed based on "_findnext". */
-};
-#endif
-
-/*
-** Provide a macro, for use by the implementation, to determine if a
-** particular directory entry should be skipped over when searching for
-** the next directory entry that should be returned by the readdir() or
-** readdir_r() functions.
-*/
-
-#ifndef is_filtered
-# define is_filtered(a) ((((a).attrib)&_A_HIDDEN) || (((a).attrib)&_A_SYSTEM))
-#endif
-
-/*
-** Provide the function prototype for the POSIX compatiable getenv()
-** function. This function is not thread-safe.
-*/
-
-extern const char *windirent_getenv(const char *name);
-
-/*
-** Finally, we can provide the function prototypes for the opendir(),
-** readdir(), readdir_r(), and closedir() POSIX functions.
-*/
-
-extern LPDIR opendir(const char *dirname);
-extern LPDIRENT readdir(LPDIR dirp);
-extern INT readdir_r(LPDIR dirp, LPDIRENT entry, LPDIRENT *result);
-extern INT closedir(LPDIR dirp);
-
-#endif /* defined(WIN32) && defined(_MSC_VER) */
-
-/************************* End test_windirent.h ********************/
-/************************* Begin test_windirent.c ******************/
-/*
-** 2015 November 30
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains code to implement most of the opendir() family of
-** POSIX functions on Win32 using the MSVCRT.
-*/
-
-#if defined(_WIN32) && defined(_MSC_VER)
-/* #include "test_windirent.h" */
-
-/*
-** Implementation of the POSIX getenv() function using the Win32 API.
-** This function is not thread-safe.
-*/
-const char *windirent_getenv(
- const char *name
-){
- static char value[32768]; /* Maximum length, per MSDN */
- DWORD dwSize = sizeof(value) / sizeof(char); /* Size in chars */
- DWORD dwRet; /* Value returned by GetEnvironmentVariableA() */
-
- memset(value, 0, sizeof(value));
- dwRet = GetEnvironmentVariableA(name, value, dwSize);
- if( dwRet==0 || dwRet>dwSize ){
- /*
- ** The function call to GetEnvironmentVariableA() failed -OR-
- ** the buffer is not large enough. Either way, return NULL.
- */
- return 0;
- }else{
- /*
- ** The function call to GetEnvironmentVariableA() succeeded
- ** -AND- the buffer contains the entire value.
- */
- return value;
- }
-}
-
-/*
-** Implementation of the POSIX opendir() function using the MSVCRT.
-*/
-LPDIR opendir(
- const char *dirname
-){
- struct _finddata_t data;
- LPDIR dirp = (LPDIR)sqlite3_malloc(sizeof(DIR));
- SIZE_T namesize = sizeof(data.name) / sizeof(data.name[0]);
-
- if( dirp==NULL ) return NULL;
- memset(dirp, 0, sizeof(DIR));
-
- /* TODO: Remove this if Unix-style root paths are not used. */
- if( sqlite3_stricmp(dirname, "/")==0 ){
- dirname = windirent_getenv("SystemDrive");
- }
-
- memset(&data, 0, sizeof(struct _finddata_t));
- _snprintf(data.name, namesize, "%s\\*", dirname);
- dirp->d_handle = _findfirst(data.name, &data);
-
- if( dirp->d_handle==BAD_INTPTR_T ){
- closedir(dirp);
- return NULL;
- }
-
- /* TODO: Remove this block to allow hidden and/or system files. */
- if( is_filtered(data) ){
-next:
-
- memset(&data, 0, sizeof(struct _finddata_t));
- if( _findnext(dirp->d_handle, &data)==-1 ){
- closedir(dirp);
- return NULL;
- }
-
- /* TODO: Remove this block to allow hidden and/or system files. */
- if( is_filtered(data) ) goto next;
- }
-
- dirp->d_first.d_attributes = data.attrib;
- strncpy(dirp->d_first.d_name, data.name, NAME_MAX);
- dirp->d_first.d_name[NAME_MAX] = '\0';
-
- return dirp;
-}
-
-/*
-** Implementation of the POSIX readdir() function using the MSVCRT.
-*/
-LPDIRENT readdir(
- LPDIR dirp
-){
- struct _finddata_t data;
-
- if( dirp==NULL ) return NULL;
-
- if( dirp->d_first.d_ino==0 ){
- dirp->d_first.d_ino++;
- dirp->d_next.d_ino++;
-
- return &dirp->d_first;
- }
-
-next:
-
- memset(&data, 0, sizeof(struct _finddata_t));
- if( _findnext(dirp->d_handle, &data)==-1 ) return NULL;
-
- /* TODO: Remove this block to allow hidden and/or system files. */
- if( is_filtered(data) ) goto next;
-
- dirp->d_next.d_ino++;
- dirp->d_next.d_attributes = data.attrib;
- strncpy(dirp->d_next.d_name, data.name, NAME_MAX);
- dirp->d_next.d_name[NAME_MAX] = '\0';
-
- return &dirp->d_next;
-}
-
-/*
-** Implementation of the POSIX readdir_r() function using the MSVCRT.
-*/
-INT readdir_r(
- LPDIR dirp,
- LPDIRENT entry,
- LPDIRENT *result
-){
- struct _finddata_t data;
-
- if( dirp==NULL ) return EBADF;
-
- if( dirp->d_first.d_ino==0 ){
- dirp->d_first.d_ino++;
- dirp->d_next.d_ino++;
-
- entry->d_ino = dirp->d_first.d_ino;
- entry->d_attributes = dirp->d_first.d_attributes;
- strncpy(entry->d_name, dirp->d_first.d_name, NAME_MAX);
- entry->d_name[NAME_MAX] = '\0';
-
- *result = entry;
- return 0;
- }
-
-next:
-
- memset(&data, 0, sizeof(struct _finddata_t));
- if( _findnext(dirp->d_handle, &data)==-1 ){
- *result = NULL;
- return ENOENT;
- }
-
- /* TODO: Remove this block to allow hidden and/or system files. */
- if( is_filtered(data) ) goto next;
-
- entry->d_ino = (ino_t)-1; /* not available */
- entry->d_attributes = data.attrib;
- strncpy(entry->d_name, data.name, NAME_MAX);
- entry->d_name[NAME_MAX] = '\0';
-
- *result = entry;
- return 0;
-}
-
-/*
-** Implementation of the POSIX closedir() function using the MSVCRT.
-*/
-INT closedir(
- LPDIR dirp
-){
- INT result = 0;
-
- if( dirp==NULL ) return EINVAL;
-
- if( dirp->d_handle!=NULL_INTPTR_T && dirp->d_handle!=BAD_INTPTR_T ){
- result = _findclose(dirp->d_handle);
- }
-
- sqlite3_free(dirp);
- return result;
-}
-
-#endif /* defined(WIN32) && defined(_MSC_VER) */
-
-/************************* End test_windirent.c ********************/
-#define dirent DIRENT
-#endif
-/************************* Begin ../ext/misc/shathree.c ******************/
-/*
-** 2017-03-08
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This SQLite extension implements functions that compute SHA3 hashes.
-** Two SQL functions are implemented:
-**
-** sha3(X,SIZE)
-** sha3_query(Y,SIZE)
-**
-** The sha3(X) function computes the SHA3 hash of the input X, or NULL if
-** X is NULL.
-**
-** The sha3_query(Y) function evalutes all queries in the SQL statements of Y
-** and returns a hash of their results.
-**
-** The SIZE argument is optional. If omitted, the SHA3-256 hash algorithm
-** is used. If SIZE is included it must be one of the integers 224, 256,
-** 384, or 512, to determine SHA3 hash variant that is computed.
-*/
-/* #include "sqlite3ext.h" */
-SQLITE_EXTENSION_INIT1
-#include
-#include
-#include
-/* typedef sqlite3_uint64 u64; */
-
-/******************************************************************************
-** The Hash Engine
-*/
-/*
-** Macros to determine whether the machine is big or little endian,
-** and whether or not that determination is run-time or compile-time.
-**
-** For best performance, an attempt is made to guess at the byte-order
-** using C-preprocessor macros. If that is unsuccessful, or if
-** -DSHA3_BYTEORDER=0 is set, then byte-order is determined
-** at run-time.
-*/
-#ifndef SHA3_BYTEORDER
-# if defined(i386) || defined(__i386__) || defined(_M_IX86) || \
- defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \
- defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \
- defined(__arm__)
-# define SHA3_BYTEORDER 1234
-# elif defined(sparc) || defined(__ppc__)
-# define SHA3_BYTEORDER 4321
-# else
-# define SHA3_BYTEORDER 0
-# endif
-#endif
-
-
-/*
-** State structure for a SHA3 hash in progress
-*/
-typedef struct SHA3Context SHA3Context;
-struct SHA3Context {
- union {
- u64 s[25]; /* Keccak state. 5x5 lines of 64 bits each */
- unsigned char x[1600]; /* ... or 1600 bytes */
- } u;
- unsigned nRate; /* Bytes of input accepted per Keccak iteration */
- unsigned nLoaded; /* Input bytes loaded into u.x[] so far this cycle */
- unsigned ixMask; /* Insert next input into u.x[nLoaded^ixMask]. */
-};
-
-/*
-** A single step of the Keccak mixing function for a 1600-bit state
-*/
-static void KeccakF1600Step(SHA3Context *p){
- int i;
- u64 b0, b1, b2, b3, b4;
- u64 c0, c1, c2, c3, c4;
- u64 d0, d1, d2, d3, d4;
- static const u64 RC[] = {
- 0x0000000000000001ULL, 0x0000000000008082ULL,
- 0x800000000000808aULL, 0x8000000080008000ULL,
- 0x000000000000808bULL, 0x0000000080000001ULL,
- 0x8000000080008081ULL, 0x8000000000008009ULL,
- 0x000000000000008aULL, 0x0000000000000088ULL,
- 0x0000000080008009ULL, 0x000000008000000aULL,
- 0x000000008000808bULL, 0x800000000000008bULL,
- 0x8000000000008089ULL, 0x8000000000008003ULL,
- 0x8000000000008002ULL, 0x8000000000000080ULL,
- 0x000000000000800aULL, 0x800000008000000aULL,
- 0x8000000080008081ULL, 0x8000000000008080ULL,
- 0x0000000080000001ULL, 0x8000000080008008ULL
- };
-# define a00 (p->u.s[0])
-# define a01 (p->u.s[1])
-# define a02 (p->u.s[2])
-# define a03 (p->u.s[3])
-# define a04 (p->u.s[4])
-# define a10 (p->u.s[5])
-# define a11 (p->u.s[6])
-# define a12 (p->u.s[7])
-# define a13 (p->u.s[8])
-# define a14 (p->u.s[9])
-# define a20 (p->u.s[10])
-# define a21 (p->u.s[11])
-# define a22 (p->u.s[12])
-# define a23 (p->u.s[13])
-# define a24 (p->u.s[14])
-# define a30 (p->u.s[15])
-# define a31 (p->u.s[16])
-# define a32 (p->u.s[17])
-# define a33 (p->u.s[18])
-# define a34 (p->u.s[19])
-# define a40 (p->u.s[20])
-# define a41 (p->u.s[21])
-# define a42 (p->u.s[22])
-# define a43 (p->u.s[23])
-# define a44 (p->u.s[24])
-# define ROL64(a,x) ((a<>(64-x)))
-
- for(i=0; i<24; i+=4){
- c0 = a00^a10^a20^a30^a40;
- c1 = a01^a11^a21^a31^a41;
- c2 = a02^a12^a22^a32^a42;
- c3 = a03^a13^a23^a33^a43;
- c4 = a04^a14^a24^a34^a44;
- d0 = c4^ROL64(c1, 1);
- d1 = c0^ROL64(c2, 1);
- d2 = c1^ROL64(c3, 1);
- d3 = c2^ROL64(c4, 1);
- d4 = c3^ROL64(c0, 1);
-
- b0 = (a00^d0);
- b1 = ROL64((a11^d1), 44);
- b2 = ROL64((a22^d2), 43);
- b3 = ROL64((a33^d3), 21);
- b4 = ROL64((a44^d4), 14);
- a00 = b0 ^((~b1)& b2 );
- a00 ^= RC[i];
- a11 = b1 ^((~b2)& b3 );
- a22 = b2 ^((~b3)& b4 );
- a33 = b3 ^((~b4)& b0 );
- a44 = b4 ^((~b0)& b1 );
-
- b2 = ROL64((a20^d0), 3);
- b3 = ROL64((a31^d1), 45);
- b4 = ROL64((a42^d2), 61);
- b0 = ROL64((a03^d3), 28);
- b1 = ROL64((a14^d4), 20);
- a20 = b0 ^((~b1)& b2 );
- a31 = b1 ^((~b2)& b3 );
- a42 = b2 ^((~b3)& b4 );
- a03 = b3 ^((~b4)& b0 );
- a14 = b4 ^((~b0)& b1 );
-
- b4 = ROL64((a40^d0), 18);
- b0 = ROL64((a01^d1), 1);
- b1 = ROL64((a12^d2), 6);
- b2 = ROL64((a23^d3), 25);
- b3 = ROL64((a34^d4), 8);
- a40 = b0 ^((~b1)& b2 );
- a01 = b1 ^((~b2)& b3 );
- a12 = b2 ^((~b3)& b4 );
- a23 = b3 ^((~b4)& b0 );
- a34 = b4 ^((~b0)& b1 );
-
- b1 = ROL64((a10^d0), 36);
- b2 = ROL64((a21^d1), 10);
- b3 = ROL64((a32^d2), 15);
- b4 = ROL64((a43^d3), 56);
- b0 = ROL64((a04^d4), 27);
- a10 = b0 ^((~b1)& b2 );
- a21 = b1 ^((~b2)& b3 );
- a32 = b2 ^((~b3)& b4 );
- a43 = b3 ^((~b4)& b0 );
- a04 = b4 ^((~b0)& b1 );
-
- b3 = ROL64((a30^d0), 41);
- b4 = ROL64((a41^d1), 2);
- b0 = ROL64((a02^d2), 62);
- b1 = ROL64((a13^d3), 55);
- b2 = ROL64((a24^d4), 39);
- a30 = b0 ^((~b1)& b2 );
- a41 = b1 ^((~b2)& b3 );
- a02 = b2 ^((~b3)& b4 );
- a13 = b3 ^((~b4)& b0 );
- a24 = b4 ^((~b0)& b1 );
-
- c0 = a00^a20^a40^a10^a30;
- c1 = a11^a31^a01^a21^a41;
- c2 = a22^a42^a12^a32^a02;
- c3 = a33^a03^a23^a43^a13;
- c4 = a44^a14^a34^a04^a24;
- d0 = c4^ROL64(c1, 1);
- d1 = c0^ROL64(c2, 1);
- d2 = c1^ROL64(c3, 1);
- d3 = c2^ROL64(c4, 1);
- d4 = c3^ROL64(c0, 1);
-
- b0 = (a00^d0);
- b1 = ROL64((a31^d1), 44);
- b2 = ROL64((a12^d2), 43);
- b3 = ROL64((a43^d3), 21);
- b4 = ROL64((a24^d4), 14);
- a00 = b0 ^((~b1)& b2 );
- a00 ^= RC[i+1];
- a31 = b1 ^((~b2)& b3 );
- a12 = b2 ^((~b3)& b4 );
- a43 = b3 ^((~b4)& b0 );
- a24 = b4 ^((~b0)& b1 );
-
- b2 = ROL64((a40^d0), 3);
- b3 = ROL64((a21^d1), 45);
- b4 = ROL64((a02^d2), 61);
- b0 = ROL64((a33^d3), 28);
- b1 = ROL64((a14^d4), 20);
- a40 = b0 ^((~b1)& b2 );
- a21 = b1 ^((~b2)& b3 );
- a02 = b2 ^((~b3)& b4 );
- a33 = b3 ^((~b4)& b0 );
- a14 = b4 ^((~b0)& b1 );
-
- b4 = ROL64((a30^d0), 18);
- b0 = ROL64((a11^d1), 1);
- b1 = ROL64((a42^d2), 6);
- b2 = ROL64((a23^d3), 25);
- b3 = ROL64((a04^d4), 8);
- a30 = b0 ^((~b1)& b2 );
- a11 = b1 ^((~b2)& b3 );
- a42 = b2 ^((~b3)& b4 );
- a23 = b3 ^((~b4)& b0 );
- a04 = b4 ^((~b0)& b1 );
-
- b1 = ROL64((a20^d0), 36);
- b2 = ROL64((a01^d1), 10);
- b3 = ROL64((a32^d2), 15);
- b4 = ROL64((a13^d3), 56);
- b0 = ROL64((a44^d4), 27);
- a20 = b0 ^((~b1)& b2 );
- a01 = b1 ^((~b2)& b3 );
- a32 = b2 ^((~b3)& b4 );
- a13 = b3 ^((~b4)& b0 );
- a44 = b4 ^((~b0)& b1 );
-
- b3 = ROL64((a10^d0), 41);
- b4 = ROL64((a41^d1), 2);
- b0 = ROL64((a22^d2), 62);
- b1 = ROL64((a03^d3), 55);
- b2 = ROL64((a34^d4), 39);
- a10 = b0 ^((~b1)& b2 );
- a41 = b1 ^((~b2)& b3 );
- a22 = b2 ^((~b3)& b4 );
- a03 = b3 ^((~b4)& b0 );
- a34 = b4 ^((~b0)& b1 );
-
- c0 = a00^a40^a30^a20^a10;
- c1 = a31^a21^a11^a01^a41;
- c2 = a12^a02^a42^a32^a22;
- c3 = a43^a33^a23^a13^a03;
- c4 = a24^a14^a04^a44^a34;
- d0 = c4^ROL64(c1, 1);
- d1 = c0^ROL64(c2, 1);
- d2 = c1^ROL64(c3, 1);
- d3 = c2^ROL64(c4, 1);
- d4 = c3^ROL64(c0, 1);
-
- b0 = (a00^d0);
- b1 = ROL64((a21^d1), 44);
- b2 = ROL64((a42^d2), 43);
- b3 = ROL64((a13^d3), 21);
- b4 = ROL64((a34^d4), 14);
- a00 = b0 ^((~b1)& b2 );
- a00 ^= RC[i+2];
- a21 = b1 ^((~b2)& b3 );
- a42 = b2 ^((~b3)& b4 );
- a13 = b3 ^((~b4)& b0 );
- a34 = b4 ^((~b0)& b1 );
-
- b2 = ROL64((a30^d0), 3);
- b3 = ROL64((a01^d1), 45);
- b4 = ROL64((a22^d2), 61);
- b0 = ROL64((a43^d3), 28);
- b1 = ROL64((a14^d4), 20);
- a30 = b0 ^((~b1)& b2 );
- a01 = b1 ^((~b2)& b3 );
- a22 = b2 ^((~b3)& b4 );
- a43 = b3 ^((~b4)& b0 );
- a14 = b4 ^((~b0)& b1 );
-
- b4 = ROL64((a10^d0), 18);
- b0 = ROL64((a31^d1), 1);
- b1 = ROL64((a02^d2), 6);
- b2 = ROL64((a23^d3), 25);
- b3 = ROL64((a44^d4), 8);
- a10 = b0 ^((~b1)& b2 );
- a31 = b1 ^((~b2)& b3 );
- a02 = b2 ^((~b3)& b4 );
- a23 = b3 ^((~b4)& b0 );
- a44 = b4 ^((~b0)& b1 );
-
- b1 = ROL64((a40^d0), 36);
- b2 = ROL64((a11^d1), 10);
- b3 = ROL64((a32^d2), 15);
- b4 = ROL64((a03^d3), 56);
- b0 = ROL64((a24^d4), 27);
- a40 = b0 ^((~b1)& b2 );
- a11 = b1 ^((~b2)& b3 );
- a32 = b2 ^((~b3)& b4 );
- a03 = b3 ^((~b4)& b0 );
- a24 = b4 ^((~b0)& b1 );
-
- b3 = ROL64((a20^d0), 41);
- b4 = ROL64((a41^d1), 2);
- b0 = ROL64((a12^d2), 62);
- b1 = ROL64((a33^d3), 55);
- b2 = ROL64((a04^d4), 39);
- a20 = b0 ^((~b1)& b2 );
- a41 = b1 ^((~b2)& b3 );
- a12 = b2 ^((~b3)& b4 );
- a33 = b3 ^((~b4)& b0 );
- a04 = b4 ^((~b0)& b1 );
-
- c0 = a00^a30^a10^a40^a20;
- c1 = a21^a01^a31^a11^a41;
- c2 = a42^a22^a02^a32^a12;
- c3 = a13^a43^a23^a03^a33;
- c4 = a34^a14^a44^a24^a04;
- d0 = c4^ROL64(c1, 1);
- d1 = c0^ROL64(c2, 1);
- d2 = c1^ROL64(c3, 1);
- d3 = c2^ROL64(c4, 1);
- d4 = c3^ROL64(c0, 1);
-
- b0 = (a00^d0);
- b1 = ROL64((a01^d1), 44);
- b2 = ROL64((a02^d2), 43);
- b3 = ROL64((a03^d3), 21);
- b4 = ROL64((a04^d4), 14);
- a00 = b0 ^((~b1)& b2 );
- a00 ^= RC[i+3];
- a01 = b1 ^((~b2)& b3 );
- a02 = b2 ^((~b3)& b4 );
- a03 = b3 ^((~b4)& b0 );
- a04 = b4 ^((~b0)& b1 );
-
- b2 = ROL64((a10^d0), 3);
- b3 = ROL64((a11^d1), 45);
- b4 = ROL64((a12^d2), 61);
- b0 = ROL64((a13^d3), 28);
- b1 = ROL64((a14^d4), 20);
- a10 = b0 ^((~b1)& b2 );
- a11 = b1 ^((~b2)& b3 );
- a12 = b2 ^((~b3)& b4 );
- a13 = b3 ^((~b4)& b0 );
- a14 = b4 ^((~b0)& b1 );
-
- b4 = ROL64((a20^d0), 18);
- b0 = ROL64((a21^d1), 1);
- b1 = ROL64((a22^d2), 6);
- b2 = ROL64((a23^d3), 25);
- b3 = ROL64((a24^d4), 8);
- a20 = b0 ^((~b1)& b2 );
- a21 = b1 ^((~b2)& b3 );
- a22 = b2 ^((~b3)& b4 );
- a23 = b3 ^((~b4)& b0 );
- a24 = b4 ^((~b0)& b1 );
-
- b1 = ROL64((a30^d0), 36);
- b2 = ROL64((a31^d1), 10);
- b3 = ROL64((a32^d2), 15);
- b4 = ROL64((a33^d3), 56);
- b0 = ROL64((a34^d4), 27);
- a30 = b0 ^((~b1)& b2 );
- a31 = b1 ^((~b2)& b3 );
- a32 = b2 ^((~b3)& b4 );
- a33 = b3 ^((~b4)& b0 );
- a34 = b4 ^((~b0)& b1 );
-
- b3 = ROL64((a40^d0), 41);
- b4 = ROL64((a41^d1), 2);
- b0 = ROL64((a42^d2), 62);
- b1 = ROL64((a43^d3), 55);
- b2 = ROL64((a44^d4), 39);
- a40 = b0 ^((~b1)& b2 );
- a41 = b1 ^((~b2)& b3 );
- a42 = b2 ^((~b3)& b4 );
- a43 = b3 ^((~b4)& b0 );
- a44 = b4 ^((~b0)& b1 );
- }
-}
-
-/*
-** Initialize a new hash. iSize determines the size of the hash
-** in bits and should be one of 224, 256, 384, or 512. Or iSize
-** can be zero to use the default hash size of 256 bits.
-*/
-static void SHA3Init(SHA3Context *p, int iSize){
- memset(p, 0, sizeof(*p));
- if( iSize>=128 && iSize<=512 ){
- p->nRate = (1600 - ((iSize + 31)&~31)*2)/8;
- }else{
- p->nRate = (1600 - 2*256)/8;
- }
-#if SHA3_BYTEORDER==1234
- /* Known to be little-endian at compile-time. No-op */
-#elif SHA3_BYTEORDER==4321
- p->ixMask = 7; /* Big-endian */
-#else
- {
- static unsigned int one = 1;
- if( 1==*(unsigned char*)&one ){
- /* Little endian. No byte swapping. */
- p->ixMask = 0;
- }else{
- /* Big endian. Byte swap. */
- p->ixMask = 7;
- }
- }
-#endif
-}
-
-/*
-** Make consecutive calls to the SHA3Update function to add new content
-** to the hash
-*/
-static void SHA3Update(
- SHA3Context *p,
- const unsigned char *aData,
- unsigned int nData
-){
- unsigned int i = 0;
-#if SHA3_BYTEORDER==1234
- if( (p->nLoaded % 8)==0 && ((aData - (const unsigned char*)0)&7)==0 ){
- for(; i+7u.s[p->nLoaded/8] ^= *(u64*)&aData[i];
- p->nLoaded += 8;
- if( p->nLoaded>=p->nRate ){
- KeccakF1600Step(p);
- p->nLoaded = 0;
- }
- }
- }
-#endif
- for(; iu.x[p->nLoaded] ^= aData[i];
-#elif SHA3_BYTEORDER==4321
- p->u.x[p->nLoaded^0x07] ^= aData[i];
-#else
- p->u.x[p->nLoaded^p->ixMask] ^= aData[i];
-#endif
- p->nLoaded++;
- if( p->nLoaded==p->nRate ){
- KeccakF1600Step(p);
- p->nLoaded = 0;
- }
- }
-}
-
-/*
-** After all content has been added, invoke SHA3Final() to compute
-** the final hash. The function returns a pointer to the binary
-** hash value.
-*/
-static unsigned char *SHA3Final(SHA3Context *p){
- unsigned int i;
- if( p->nLoaded==p->nRate-1 ){
- const unsigned char c1 = 0x86;
- SHA3Update(p, &c1, 1);
- }else{
- const unsigned char c2 = 0x06;
- const unsigned char c3 = 0x80;
- SHA3Update(p, &c2, 1);
- p->nLoaded = p->nRate - 1;
- SHA3Update(p, &c3, 1);
- }
- for(i=0; inRate; i++){
- p->u.x[i+p->nRate] = p->u.x[i^p->ixMask];
- }
- return &p->u.x[p->nRate];
-}
-/* End of the hashing logic
-*****************************************************************************/
-
-/*
-** Implementation of the sha3(X,SIZE) function.
-**
-** Return a BLOB which is the SIZE-bit SHA3 hash of X. The default
-** size is 256. If X is a BLOB, it is hashed as is.
-** For all other non-NULL types of input, X is converted into a UTF-8 string
-** and the string is hashed without the trailing 0x00 terminator. The hash
-** of a NULL value is NULL.
-*/
-static void sha3Func(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- SHA3Context cx;
- int eType = sqlite3_value_type(argv[0]);
- int nByte = sqlite3_value_bytes(argv[0]);
- int iSize;
- if( argc==1 ){
- iSize = 256;
- }else{
- iSize = sqlite3_value_int(argv[1]);
- if( iSize!=224 && iSize!=256 && iSize!=384 && iSize!=512 ){
- sqlite3_result_error(context, "SHA3 size should be one of: 224 256 "
- "384 512", -1);
- return;
- }
- }
- if( eType==SQLITE_NULL ) return;
- SHA3Init(&cx, iSize);
- if( eType==SQLITE_BLOB ){
- SHA3Update(&cx, sqlite3_value_blob(argv[0]), nByte);
- }else{
- SHA3Update(&cx, sqlite3_value_text(argv[0]), nByte);
- }
- sqlite3_result_blob(context, SHA3Final(&cx), iSize/8, SQLITE_TRANSIENT);
-}
-
-/* Compute a string using sqlite3_vsnprintf() with a maximum length
-** of 50 bytes and add it to the hash.
-*/
-static void hash_step_vformat(
- SHA3Context *p, /* Add content to this context */
- const char *zFormat,
- ...
-){
- va_list ap;
- int n;
- char zBuf[50];
- va_start(ap, zFormat);
- sqlite3_vsnprintf(sizeof(zBuf),zBuf,zFormat,ap);
- va_end(ap);
- n = (int)strlen(zBuf);
- SHA3Update(p, (unsigned char*)zBuf, n);
-}
-
-/*
-** Implementation of the sha3_query(SQL,SIZE) function.
-**
-** This function compiles and runs the SQL statement(s) given in the
-** argument. The results are hashed using a SIZE-bit SHA3. The default
-** size is 256.
-**
-** The format of the byte stream that is hashed is summarized as follows:
-**
-** S:
-** R
-** N
-** I
-** F
-** B:
-** T:
-**
-** is the original SQL text for each statement run and is
-** the size of that text. The SQL text is UTF-8. A single R character
-** occurs before the start of each row. N means a NULL value.
-** I mean an 8-byte little-endian integer . F is a floating point
-** number with an 8-byte little-endian IEEE floating point value .
-** B means blobs of bytes. T means text rendered as
-** bytes of UTF-8. The and values are expressed as an ASCII
-** text integers.
-**
-** For each SQL statement in the X input, there is one S segment. Each
-** S segment is followed by zero or more R segments, one for each row in the
-** result set. After each R, there are one or more N, I, F, B, or T segments,
-** one for each column in the result set. Segments are concatentated directly
-** with no delimiters of any kind.
-*/
-static void sha3QueryFunc(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- sqlite3 *db = sqlite3_context_db_handle(context);
- const char *zSql = (const char*)sqlite3_value_text(argv[0]);
- sqlite3_stmt *pStmt = 0;
- int nCol; /* Number of columns in the result set */
- int i; /* Loop counter */
- int rc;
- int n;
- const char *z;
- SHA3Context cx;
- int iSize;
-
- if( argc==1 ){
- iSize = 256;
- }else{
- iSize = sqlite3_value_int(argv[1]);
- if( iSize!=224 && iSize!=256 && iSize!=384 && iSize!=512 ){
- sqlite3_result_error(context, "SHA3 size should be one of: 224 256 "
- "384 512", -1);
- return;
- }
- }
- if( zSql==0 ) return;
- SHA3Init(&cx, iSize);
- while( zSql[0] ){
- rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, &zSql);
- if( rc ){
- char *zMsg = sqlite3_mprintf("error SQL statement [%s]: %s",
- zSql, sqlite3_errmsg(db));
- sqlite3_finalize(pStmt);
- sqlite3_result_error(context, zMsg, -1);
- sqlite3_free(zMsg);
- return;
- }
- if( !sqlite3_stmt_readonly(pStmt) ){
- char *zMsg = sqlite3_mprintf("non-query: [%s]", sqlite3_sql(pStmt));
- sqlite3_finalize(pStmt);
- sqlite3_result_error(context, zMsg, -1);
- sqlite3_free(zMsg);
- return;
- }
- nCol = sqlite3_column_count(pStmt);
- z = sqlite3_sql(pStmt);
- n = (int)strlen(z);
- hash_step_vformat(&cx,"S%d:",n);
- SHA3Update(&cx,(unsigned char*)z,n);
-
- /* Compute a hash over the result of the query */
- while( SQLITE_ROW==sqlite3_step(pStmt) ){
- SHA3Update(&cx,(const unsigned char*)"R",1);
- for(i=0; i=1; j--){
- x[j] = u & 0xff;
- u >>= 8;
- }
- x[0] = 'I';
- SHA3Update(&cx, x, 9);
- break;
- }
- case SQLITE_FLOAT: {
- sqlite3_uint64 u;
- int j;
- unsigned char x[9];
- double r = sqlite3_column_double(pStmt,i);
- memcpy(&u, &r, 8);
- for(j=8; j>=1; j--){
- x[j] = u & 0xff;
- u >>= 8;
- }
- x[0] = 'F';
- SHA3Update(&cx,x,9);
- break;
- }
- case SQLITE_TEXT: {
- int n2 = sqlite3_column_bytes(pStmt, i);
- const unsigned char *z2 = sqlite3_column_text(pStmt, i);
- hash_step_vformat(&cx,"T%d:",n2);
- SHA3Update(&cx, z2, n2);
- break;
- }
- case SQLITE_BLOB: {
- int n2 = sqlite3_column_bytes(pStmt, i);
- const unsigned char *z2 = sqlite3_column_blob(pStmt, i);
- hash_step_vformat(&cx,"B%d:",n2);
- SHA3Update(&cx, z2, n2);
- break;
- }
- }
- }
- }
- sqlite3_finalize(pStmt);
- }
- sqlite3_result_blob(context, SHA3Final(&cx), iSize/8, SQLITE_TRANSIENT);
-}
-
-
-#ifdef _WIN32
-
-#endif
-int sqlite3_shathree_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "sha3", 1,
- SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
- 0, sha3Func, 0, 0);
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "sha3", 2,
- SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC,
- 0, sha3Func, 0, 0);
- }
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "sha3_query", 1,
- SQLITE_UTF8 | SQLITE_DIRECTONLY,
- 0, sha3QueryFunc, 0, 0);
- }
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "sha3_query", 2,
- SQLITE_UTF8 | SQLITE_DIRECTONLY,
- 0, sha3QueryFunc, 0, 0);
- }
- return rc;
-}
-
-/************************* End ../ext/misc/shathree.c ********************/
-/************************* Begin ../ext/misc/fileio.c ******************/
-/*
-** 2014-06-13
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This SQLite extension implements SQL functions readfile() and
-** writefile(), and eponymous virtual type "fsdir".
-**
-** WRITEFILE(FILE, DATA [, MODE [, MTIME]]):
-**
-** If neither of the optional arguments is present, then this UDF
-** function writes blob DATA to file FILE. If successful, the number
-** of bytes written is returned. If an error occurs, NULL is returned.
-**
-** If the first option argument - MODE - is present, then it must
-** be passed an integer value that corresponds to a POSIX mode
-** value (file type + permissions, as returned in the stat.st_mode
-** field by the stat() system call). Three types of files may
-** be written/created:
-**
-** regular files: (mode & 0170000)==0100000
-** symbolic links: (mode & 0170000)==0120000
-** directories: (mode & 0170000)==0040000
-**
-** For a directory, the DATA is ignored. For a symbolic link, it is
-** interpreted as text and used as the target of the link. For a
-** regular file, it is interpreted as a blob and written into the
-** named file. Regardless of the type of file, its permissions are
-** set to (mode & 0777) before returning.
-**
-** If the optional MTIME argument is present, then it is interpreted
-** as an integer - the number of seconds since the unix epoch. The
-** modification-time of the target file is set to this value before
-** returning.
-**
-** If three or more arguments are passed to this function and an
-** error is encountered, an exception is raised.
-**
-** READFILE(FILE):
-**
-** Read and return the contents of file FILE (type blob) from disk.
-**
-** FSDIR:
-**
-** Used as follows:
-**
-** SELECT * FROM fsdir($path [, $dir]);
-**
-** Parameter $path is an absolute or relative pathname. If the file that it
-** refers to does not exist, it is an error. If the path refers to a regular
-** file or symbolic link, it returns a single row. Or, if the path refers
-** to a directory, it returns one row for the directory, and one row for each
-** file within the hierarchy rooted at $path.
-**
-** Each row has the following columns:
-**
-** name: Path to file or directory (text value).
-** mode: Value of stat.st_mode for directory entry (an integer).
-** mtime: Value of stat.st_mtime for directory entry (an integer).
-** data: For a regular file, a blob containing the file data. For a
-** symlink, a text value containing the text of the link. For a
-** directory, NULL.
-**
-** If a non-NULL value is specified for the optional $dir parameter and
-** $path is a relative path, then $path is interpreted relative to $dir.
-** And the paths returned in the "name" column of the table are also
-** relative to directory $dir.
-*/
-/* #include "sqlite3ext.h" */
-SQLITE_EXTENSION_INIT1
-#include
-#include
-#include
-
-#include
-#include
-#include
-#if !defined(_WIN32) && !defined(WIN32)
-# include
-# include
-# include
-# include
-#else
-# include "windows.h"
-# include
-# include
-/* # include "test_windirent.h" */
-# define dirent DIRENT
-# ifndef chmod
-# define chmod _chmod
-# endif
-# ifndef stat
-# define stat _stat
-# endif
-# define mkdir(path,mode) _mkdir(path)
-# define lstat(path,buf) stat(path,buf)
-#endif
-#include
-#include
-
-
-/*
-** Structure of the fsdir() table-valued function
-*/
- /* 0 1 2 3 4 5 */
-#define FSDIR_SCHEMA "(name,mode,mtime,data,path HIDDEN,dir HIDDEN)"
-#define FSDIR_COLUMN_NAME 0 /* Name of the file */
-#define FSDIR_COLUMN_MODE 1 /* Access mode */
-#define FSDIR_COLUMN_MTIME 2 /* Last modification time */
-#define FSDIR_COLUMN_DATA 3 /* File content */
-#define FSDIR_COLUMN_PATH 4 /* Path to top of search */
-#define FSDIR_COLUMN_DIR 5 /* Path is relative to this directory */
-
-
-/*
-** Set the result stored by context ctx to a blob containing the
-** contents of file zName. Or, leave the result unchanged (NULL)
-** if the file does not exist or is unreadable.
-**
-** If the file exceeds the SQLite blob size limit, through an
-** SQLITE_TOOBIG error.
-**
-** Throw an SQLITE_IOERR if there are difficulties pulling the file
-** off of disk.
-*/
-static void readFileContents(sqlite3_context *ctx, const char *zName){
- FILE *in;
- sqlite3_int64 nIn;
- void *pBuf;
- sqlite3 *db;
- int mxBlob;
-
- in = fopen(zName, "rb");
- if( in==0 ){
- /* File does not exist or is unreadable. Leave the result set to NULL. */
- return;
- }
- fseek(in, 0, SEEK_END);
- nIn = ftell(in);
- rewind(in);
- db = sqlite3_context_db_handle(ctx);
- mxBlob = sqlite3_limit(db, SQLITE_LIMIT_LENGTH, -1);
- if( nIn>mxBlob ){
- sqlite3_result_error_code(ctx, SQLITE_TOOBIG);
- fclose(in);
- return;
- }
- pBuf = sqlite3_malloc64( nIn ? nIn : 1 );
- if( pBuf==0 ){
- sqlite3_result_error_nomem(ctx);
- fclose(in);
- return;
- }
- if( nIn==(sqlite3_int64)fread(pBuf, 1, (size_t)nIn, in) ){
- sqlite3_result_blob64(ctx, pBuf, nIn, sqlite3_free);
- }else{
- sqlite3_result_error_code(ctx, SQLITE_IOERR);
- sqlite3_free(pBuf);
- }
- fclose(in);
-}
-
-/*
-** Implementation of the "readfile(X)" SQL function. The entire content
-** of the file named X is read and returned as a BLOB. NULL is returned
-** if the file does not exist or is unreadable.
-*/
-static void readfileFunc(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- const char *zName;
- (void)(argc); /* Unused parameter */
- zName = (const char*)sqlite3_value_text(argv[0]);
- if( zName==0 ) return;
- readFileContents(context, zName);
-}
-
-/*
-** Set the error message contained in context ctx to the results of
-** vprintf(zFmt, ...).
-*/
-static void ctxErrorMsg(sqlite3_context *ctx, const char *zFmt, ...){
- char *zMsg = 0;
- va_list ap;
- va_start(ap, zFmt);
- zMsg = sqlite3_vmprintf(zFmt, ap);
- sqlite3_result_error(ctx, zMsg, -1);
- sqlite3_free(zMsg);
- va_end(ap);
-}
-
-#if defined(_WIN32)
-/*
-** This function is designed to convert a Win32 FILETIME structure into the
-** number of seconds since the Unix Epoch (1970-01-01 00:00:00 UTC).
-*/
-static sqlite3_uint64 fileTimeToUnixTime(
- LPFILETIME pFileTime
-){
- SYSTEMTIME epochSystemTime;
- ULARGE_INTEGER epochIntervals;
- FILETIME epochFileTime;
- ULARGE_INTEGER fileIntervals;
-
- memset(&epochSystemTime, 0, sizeof(SYSTEMTIME));
- epochSystemTime.wYear = 1970;
- epochSystemTime.wMonth = 1;
- epochSystemTime.wDay = 1;
- SystemTimeToFileTime(&epochSystemTime, &epochFileTime);
- epochIntervals.LowPart = epochFileTime.dwLowDateTime;
- epochIntervals.HighPart = epochFileTime.dwHighDateTime;
-
- fileIntervals.LowPart = pFileTime->dwLowDateTime;
- fileIntervals.HighPart = pFileTime->dwHighDateTime;
-
- return (fileIntervals.QuadPart - epochIntervals.QuadPart) / 10000000;
-}
-
-/*
-** This function attempts to normalize the time values found in the stat()
-** buffer to UTC. This is necessary on Win32, where the runtime library
-** appears to return these values as local times.
-*/
-static void statTimesToUtc(
- const char *zPath,
- struct stat *pStatBuf
-){
- HANDLE hFindFile;
- WIN32_FIND_DATAW fd;
- LPWSTR zUnicodeName;
- extern LPWSTR sqlite3_win32_utf8_to_unicode(const char*);
- zUnicodeName = sqlite3_win32_utf8_to_unicode(zPath);
- if( zUnicodeName ){
- memset(&fd, 0, sizeof(WIN32_FIND_DATAW));
- hFindFile = FindFirstFileW(zUnicodeName, &fd);
- if( hFindFile!=NULL ){
- pStatBuf->st_ctime = (time_t)fileTimeToUnixTime(&fd.ftCreationTime);
- pStatBuf->st_atime = (time_t)fileTimeToUnixTime(&fd.ftLastAccessTime);
- pStatBuf->st_mtime = (time_t)fileTimeToUnixTime(&fd.ftLastWriteTime);
- FindClose(hFindFile);
- }
- sqlite3_free(zUnicodeName);
- }
-}
-#endif
-
-/*
-** This function is used in place of stat(). On Windows, special handling
-** is required in order for the included time to be returned as UTC. On all
-** other systems, this function simply calls stat().
-*/
-static int fileStat(
- const char *zPath,
- struct stat *pStatBuf
-){
-#if defined(_WIN32)
- int rc = stat(zPath, pStatBuf);
- if( rc==0 ) statTimesToUtc(zPath, pStatBuf);
- return rc;
-#else
- return stat(zPath, pStatBuf);
-#endif
-}
-
-/*
-** This function is used in place of lstat(). On Windows, special handling
-** is required in order for the included time to be returned as UTC. On all
-** other systems, this function simply calls lstat().
-*/
-static int fileLinkStat(
- const char *zPath,
- struct stat *pStatBuf
-){
-#if defined(_WIN32)
- int rc = lstat(zPath, pStatBuf);
- if( rc==0 ) statTimesToUtc(zPath, pStatBuf);
- return rc;
-#else
- return lstat(zPath, pStatBuf);
-#endif
-}
-
-/*
-** Argument zFile is the name of a file that will be created and/or written
-** by SQL function writefile(). This function ensures that the directory
-** zFile will be written to exists, creating it if required. The permissions
-** for any path components created by this function are set in accordance
-** with the current umask.
-**
-** If an OOM condition is encountered, SQLITE_NOMEM is returned. Otherwise,
-** SQLITE_OK is returned if the directory is successfully created, or
-** SQLITE_ERROR otherwise.
-*/
-static int makeDirectory(
- const char *zFile
-){
- char *zCopy = sqlite3_mprintf("%s", zFile);
- int rc = SQLITE_OK;
-
- if( zCopy==0 ){
- rc = SQLITE_NOMEM;
- }else{
- int nCopy = (int)strlen(zCopy);
- int i = 1;
-
- while( rc==SQLITE_OK ){
- struct stat sStat;
- int rc2;
-
- for(; zCopy[i]!='/' && i=0 ){
-#if defined(_WIN32)
- /* Windows */
- FILETIME lastAccess;
- FILETIME lastWrite;
- SYSTEMTIME currentTime;
- LONGLONG intervals;
- HANDLE hFile;
- LPWSTR zUnicodeName;
- extern LPWSTR sqlite3_win32_utf8_to_unicode(const char*);
-
- GetSystemTime(¤tTime);
- SystemTimeToFileTime(¤tTime, &lastAccess);
- intervals = Int32x32To64(mtime, 10000000) + 116444736000000000;
- lastWrite.dwLowDateTime = (DWORD)intervals;
- lastWrite.dwHighDateTime = intervals >> 32;
- zUnicodeName = sqlite3_win32_utf8_to_unicode(zFile);
- if( zUnicodeName==0 ){
- return 1;
- }
- hFile = CreateFileW(
- zUnicodeName, FILE_WRITE_ATTRIBUTES, 0, NULL, OPEN_EXISTING,
- FILE_FLAG_BACKUP_SEMANTICS, NULL
- );
- sqlite3_free(zUnicodeName);
- if( hFile!=INVALID_HANDLE_VALUE ){
- BOOL bResult = SetFileTime(hFile, NULL, &lastAccess, &lastWrite);
- CloseHandle(hFile);
- return !bResult;
- }else{
- return 1;
- }
-#elif defined(AT_FDCWD) && 0 /* utimensat() is not universally available */
- /* Recent unix */
- struct timespec times[2];
- times[0].tv_nsec = times[1].tv_nsec = 0;
- times[0].tv_sec = time(0);
- times[1].tv_sec = mtime;
- if( utimensat(AT_FDCWD, zFile, times, AT_SYMLINK_NOFOLLOW) ){
- return 1;
- }
-#else
- /* Legacy unix */
- struct timeval times[2];
- times[0].tv_usec = times[1].tv_usec = 0;
- times[0].tv_sec = time(0);
- times[1].tv_sec = mtime;
- if( utimes(zFile, times) ){
- return 1;
- }
-#endif
- }
-
- return 0;
-}
-
-/*
-** Implementation of the "writefile(W,X[,Y[,Z]]])" SQL function.
-** Refer to header comments at the top of this file for details.
-*/
-static void writefileFunc(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- const char *zFile;
- mode_t mode = 0;
- int res;
- sqlite3_int64 mtime = -1;
-
- if( argc<2 || argc>4 ){
- sqlite3_result_error(context,
- "wrong number of arguments to function writefile()", -1
- );
- return;
- }
-
- zFile = (const char*)sqlite3_value_text(argv[0]);
- if( zFile==0 ) return;
- if( argc>=3 ){
- mode = (mode_t)sqlite3_value_int(argv[2]);
- }
- if( argc==4 ){
- mtime = sqlite3_value_int64(argv[3]);
- }
-
- res = writeFile(context, zFile, argv[1], mode, mtime);
- if( res==1 && errno==ENOENT ){
- if( makeDirectory(zFile)==SQLITE_OK ){
- res = writeFile(context, zFile, argv[1], mode, mtime);
- }
- }
-
- if( argc>2 && res!=0 ){
- if( S_ISLNK(mode) ){
- ctxErrorMsg(context, "failed to create symlink: %s", zFile);
- }else if( S_ISDIR(mode) ){
- ctxErrorMsg(context, "failed to create directory: %s", zFile);
- }else{
- ctxErrorMsg(context, "failed to write file: %s", zFile);
- }
- }
-}
-
-/*
-** SQL function: lsmode(MODE)
-**
-** Given a numberic st_mode from stat(), convert it into a human-readable
-** text string in the style of "ls -l".
-*/
-static void lsModeFunc(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- int i;
- int iMode = sqlite3_value_int(argv[0]);
- char z[16];
- (void)argc;
- if( S_ISLNK(iMode) ){
- z[0] = 'l';
- }else if( S_ISREG(iMode) ){
- z[0] = '-';
- }else if( S_ISDIR(iMode) ){
- z[0] = 'd';
- }else{
- z[0] = '?';
- }
- for(i=0; i<3; i++){
- int m = (iMode >> ((2-i)*3));
- char *a = &z[1 + i*3];
- a[0] = (m & 0x4) ? 'r' : '-';
- a[1] = (m & 0x2) ? 'w' : '-';
- a[2] = (m & 0x1) ? 'x' : '-';
- }
- z[10] = '\0';
- sqlite3_result_text(context, z, -1, SQLITE_TRANSIENT);
-}
-
-#ifndef SQLITE_OMIT_VIRTUALTABLE
-
-/*
-** Cursor type for recursively iterating through a directory structure.
-*/
-typedef struct fsdir_cursor fsdir_cursor;
-typedef struct FsdirLevel FsdirLevel;
-
-struct FsdirLevel {
- DIR *pDir; /* From opendir() */
- char *zDir; /* Name of directory (nul-terminated) */
-};
-
-struct fsdir_cursor {
- sqlite3_vtab_cursor base; /* Base class - must be first */
-
- int nLvl; /* Number of entries in aLvl[] array */
- int iLvl; /* Index of current entry */
- FsdirLevel *aLvl; /* Hierarchy of directories being traversed */
-
- const char *zBase;
- int nBase;
-
- struct stat sStat; /* Current lstat() results */
- char *zPath; /* Path to current entry */
- sqlite3_int64 iRowid; /* Current rowid */
-};
-
-typedef struct fsdir_tab fsdir_tab;
-struct fsdir_tab {
- sqlite3_vtab base; /* Base class - must be first */
-};
-
-/*
-** Construct a new fsdir virtual table object.
-*/
-static int fsdirConnect(
- sqlite3 *db,
- void *pAux,
- int argc, const char *const*argv,
- sqlite3_vtab **ppVtab,
- char **pzErr
-){
- fsdir_tab *pNew = 0;
- int rc;
- (void)pAux;
- (void)argc;
- (void)argv;
- (void)pzErr;
- rc = sqlite3_declare_vtab(db, "CREATE TABLE x" FSDIR_SCHEMA);
- if( rc==SQLITE_OK ){
- pNew = (fsdir_tab*)sqlite3_malloc( sizeof(*pNew) );
- if( pNew==0 ) return SQLITE_NOMEM;
- memset(pNew, 0, sizeof(*pNew));
- sqlite3_vtab_config(db, SQLITE_VTAB_DIRECTONLY);
- }
- *ppVtab = (sqlite3_vtab*)pNew;
- return rc;
-}
-
-/*
-** This method is the destructor for fsdir vtab objects.
-*/
-static int fsdirDisconnect(sqlite3_vtab *pVtab){
- sqlite3_free(pVtab);
- return SQLITE_OK;
-}
-
-/*
-** Constructor for a new fsdir_cursor object.
-*/
-static int fsdirOpen(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){
- fsdir_cursor *pCur;
- (void)p;
- pCur = sqlite3_malloc( sizeof(*pCur) );
- if( pCur==0 ) return SQLITE_NOMEM;
- memset(pCur, 0, sizeof(*pCur));
- pCur->iLvl = -1;
- *ppCursor = &pCur->base;
- return SQLITE_OK;
-}
-
-/*
-** Reset a cursor back to the state it was in when first returned
-** by fsdirOpen().
-*/
-static void fsdirResetCursor(fsdir_cursor *pCur){
- int i;
- for(i=0; i<=pCur->iLvl; i++){
- FsdirLevel *pLvl = &pCur->aLvl[i];
- if( pLvl->pDir ) closedir(pLvl->pDir);
- sqlite3_free(pLvl->zDir);
- }
- sqlite3_free(pCur->zPath);
- sqlite3_free(pCur->aLvl);
- pCur->aLvl = 0;
- pCur->zPath = 0;
- pCur->zBase = 0;
- pCur->nBase = 0;
- pCur->nLvl = 0;
- pCur->iLvl = -1;
- pCur->iRowid = 1;
-}
-
-/*
-** Destructor for an fsdir_cursor.
-*/
-static int fsdirClose(sqlite3_vtab_cursor *cur){
- fsdir_cursor *pCur = (fsdir_cursor*)cur;
-
- fsdirResetCursor(pCur);
- sqlite3_free(pCur);
- return SQLITE_OK;
-}
-
-/*
-** Set the error message for the virtual table associated with cursor
-** pCur to the results of vprintf(zFmt, ...).
-*/
-static void fsdirSetErrmsg(fsdir_cursor *pCur, const char *zFmt, ...){
- va_list ap;
- va_start(ap, zFmt);
- pCur->base.pVtab->zErrMsg = sqlite3_vmprintf(zFmt, ap);
- va_end(ap);
-}
-
-
-/*
-** Advance an fsdir_cursor to its next row of output.
-*/
-static int fsdirNext(sqlite3_vtab_cursor *cur){
- fsdir_cursor *pCur = (fsdir_cursor*)cur;
- mode_t m = pCur->sStat.st_mode;
-
- pCur->iRowid++;
- if( S_ISDIR(m) ){
- /* Descend into this directory */
- int iNew = pCur->iLvl + 1;
- FsdirLevel *pLvl;
- if( iNew>=pCur->nLvl ){
- int nNew = iNew+1;
- sqlite3_int64 nByte = nNew*sizeof(FsdirLevel);
- FsdirLevel *aNew = (FsdirLevel*)sqlite3_realloc64(pCur->aLvl, nByte);
- if( aNew==0 ) return SQLITE_NOMEM;
- memset(&aNew[pCur->nLvl], 0, sizeof(FsdirLevel)*(nNew-pCur->nLvl));
- pCur->aLvl = aNew;
- pCur->nLvl = nNew;
- }
- pCur->iLvl = iNew;
- pLvl = &pCur->aLvl[iNew];
-
- pLvl->zDir = pCur->zPath;
- pCur->zPath = 0;
- pLvl->pDir = opendir(pLvl->zDir);
- if( pLvl->pDir==0 ){
- fsdirSetErrmsg(pCur, "cannot read directory: %s", pCur->zPath);
- return SQLITE_ERROR;
- }
- }
-
- while( pCur->iLvl>=0 ){
- FsdirLevel *pLvl = &pCur->aLvl[pCur->iLvl];
- struct dirent *pEntry = readdir(pLvl->pDir);
- if( pEntry ){
- if( pEntry->d_name[0]=='.' ){
- if( pEntry->d_name[1]=='.' && pEntry->d_name[2]=='\0' ) continue;
- if( pEntry->d_name[1]=='\0' ) continue;
- }
- sqlite3_free(pCur->zPath);
- pCur->zPath = sqlite3_mprintf("%s/%s", pLvl->zDir, pEntry->d_name);
- if( pCur->zPath==0 ) return SQLITE_NOMEM;
- if( fileLinkStat(pCur->zPath, &pCur->sStat) ){
- fsdirSetErrmsg(pCur, "cannot stat file: %s", pCur->zPath);
- return SQLITE_ERROR;
- }
- return SQLITE_OK;
- }
- closedir(pLvl->pDir);
- sqlite3_free(pLvl->zDir);
- pLvl->pDir = 0;
- pLvl->zDir = 0;
- pCur->iLvl--;
- }
-
- /* EOF */
- sqlite3_free(pCur->zPath);
- pCur->zPath = 0;
- return SQLITE_OK;
-}
-
-/*
-** Return values of columns for the row at which the series_cursor
-** is currently pointing.
-*/
-static int fsdirColumn(
- sqlite3_vtab_cursor *cur, /* The cursor */
- sqlite3_context *ctx, /* First argument to sqlite3_result_...() */
- int i /* Which column to return */
-){
- fsdir_cursor *pCur = (fsdir_cursor*)cur;
- switch( i ){
- case FSDIR_COLUMN_NAME: {
- sqlite3_result_text(ctx, &pCur->zPath[pCur->nBase], -1, SQLITE_TRANSIENT);
- break;
- }
-
- case FSDIR_COLUMN_MODE:
- sqlite3_result_int64(ctx, pCur->sStat.st_mode);
- break;
-
- case FSDIR_COLUMN_MTIME:
- sqlite3_result_int64(ctx, pCur->sStat.st_mtime);
- break;
-
- case FSDIR_COLUMN_DATA: {
- mode_t m = pCur->sStat.st_mode;
- if( S_ISDIR(m) ){
- sqlite3_result_null(ctx);
-#if !defined(_WIN32) && !defined(WIN32)
- }else if( S_ISLNK(m) ){
- char aStatic[64];
- char *aBuf = aStatic;
- sqlite3_int64 nBuf = 64;
- int n;
-
- while( 1 ){
- n = readlink(pCur->zPath, aBuf, nBuf);
- if( nzPath);
- }
- }
- case FSDIR_COLUMN_PATH:
- default: {
- /* The FSDIR_COLUMN_PATH and FSDIR_COLUMN_DIR are input parameters.
- ** always return their values as NULL */
- break;
- }
- }
- return SQLITE_OK;
-}
-
-/*
-** Return the rowid for the current row. In this implementation, the
-** first row returned is assigned rowid value 1, and each subsequent
-** row a value 1 more than that of the previous.
-*/
-static int fsdirRowid(sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid){
- fsdir_cursor *pCur = (fsdir_cursor*)cur;
- *pRowid = pCur->iRowid;
- return SQLITE_OK;
-}
-
-/*
-** Return TRUE if the cursor has been moved off of the last
-** row of output.
-*/
-static int fsdirEof(sqlite3_vtab_cursor *cur){
- fsdir_cursor *pCur = (fsdir_cursor*)cur;
- return (pCur->zPath==0);
-}
-
-/*
-** xFilter callback.
-**
-** idxNum==1 PATH parameter only
-** idxNum==2 Both PATH and DIR supplied
-*/
-static int fsdirFilter(
- sqlite3_vtab_cursor *cur,
- int idxNum, const char *idxStr,
- int argc, sqlite3_value **argv
-){
- const char *zDir = 0;
- fsdir_cursor *pCur = (fsdir_cursor*)cur;
- (void)idxStr;
- fsdirResetCursor(pCur);
-
- if( idxNum==0 ){
- fsdirSetErrmsg(pCur, "table function fsdir requires an argument");
- return SQLITE_ERROR;
- }
-
- assert( argc==idxNum && (argc==1 || argc==2) );
- zDir = (const char*)sqlite3_value_text(argv[0]);
- if( zDir==0 ){
- fsdirSetErrmsg(pCur, "table function fsdir requires a non-NULL argument");
- return SQLITE_ERROR;
- }
- if( argc==2 ){
- pCur->zBase = (const char*)sqlite3_value_text(argv[1]);
- }
- if( pCur->zBase ){
- pCur->nBase = (int)strlen(pCur->zBase)+1;
- pCur->zPath = sqlite3_mprintf("%s/%s", pCur->zBase, zDir);
- }else{
- pCur->zPath = sqlite3_mprintf("%s", zDir);
- }
-
- if( pCur->zPath==0 ){
- return SQLITE_NOMEM;
- }
- if( fileLinkStat(pCur->zPath, &pCur->sStat) ){
- fsdirSetErrmsg(pCur, "cannot stat file: %s", pCur->zPath);
- return SQLITE_ERROR;
- }
-
- return SQLITE_OK;
-}
-
-/*
-** SQLite will invoke this method one or more times while planning a query
-** that uses the generate_series virtual table. This routine needs to create
-** a query plan for each invocation and compute an estimated cost for that
-** plan.
-**
-** In this implementation idxNum is used to represent the
-** query plan. idxStr is unused.
-**
-** The query plan is represented by values of idxNum:
-**
-** (1) The path value is supplied by argv[0]
-** (2) Path is in argv[0] and dir is in argv[1]
-*/
-static int fsdirBestIndex(
- sqlite3_vtab *tab,
- sqlite3_index_info *pIdxInfo
-){
- int i; /* Loop over constraints */
- int idxPath = -1; /* Index in pIdxInfo->aConstraint of PATH= */
- int idxDir = -1; /* Index in pIdxInfo->aConstraint of DIR= */
- int seenPath = 0; /* True if an unusable PATH= constraint is seen */
- int seenDir = 0; /* True if an unusable DIR= constraint is seen */
- const struct sqlite3_index_constraint *pConstraint;
-
- (void)tab;
- pConstraint = pIdxInfo->aConstraint;
- for(i=0; inConstraint; i++, pConstraint++){
- if( pConstraint->op!=SQLITE_INDEX_CONSTRAINT_EQ ) continue;
- switch( pConstraint->iColumn ){
- case FSDIR_COLUMN_PATH: {
- if( pConstraint->usable ){
- idxPath = i;
- seenPath = 0;
- }else if( idxPath<0 ){
- seenPath = 1;
- }
- break;
- }
- case FSDIR_COLUMN_DIR: {
- if( pConstraint->usable ){
- idxDir = i;
- seenDir = 0;
- }else if( idxDir<0 ){
- seenDir = 1;
- }
- break;
- }
- }
- }
- if( seenPath || seenDir ){
- /* If input parameters are unusable, disallow this plan */
- return SQLITE_CONSTRAINT;
- }
-
- if( idxPath<0 ){
- pIdxInfo->idxNum = 0;
- /* The pIdxInfo->estimatedCost should have been initialized to a huge
- ** number. Leave it unchanged. */
- pIdxInfo->estimatedRows = 0x7fffffff;
- }else{
- pIdxInfo->aConstraintUsage[idxPath].omit = 1;
- pIdxInfo->aConstraintUsage[idxPath].argvIndex = 1;
- if( idxDir>=0 ){
- pIdxInfo->aConstraintUsage[idxDir].omit = 1;
- pIdxInfo->aConstraintUsage[idxDir].argvIndex = 2;
- pIdxInfo->idxNum = 2;
- pIdxInfo->estimatedCost = 10.0;
- }else{
- pIdxInfo->idxNum = 1;
- pIdxInfo->estimatedCost = 100.0;
- }
- }
-
- return SQLITE_OK;
-}
-
-/*
-** Register the "fsdir" virtual table.
-*/
-static int fsdirRegister(sqlite3 *db){
- static sqlite3_module fsdirModule = {
- 0, /* iVersion */
- 0, /* xCreate */
- fsdirConnect, /* xConnect */
- fsdirBestIndex, /* xBestIndex */
- fsdirDisconnect, /* xDisconnect */
- 0, /* xDestroy */
- fsdirOpen, /* xOpen - open a cursor */
- fsdirClose, /* xClose - close a cursor */
- fsdirFilter, /* xFilter - configure scan constraints */
- fsdirNext, /* xNext - advance a cursor */
- fsdirEof, /* xEof - check for end of scan */
- fsdirColumn, /* xColumn - read data */
- fsdirRowid, /* xRowid - read data */
- 0, /* xUpdate */
- 0, /* xBegin */
- 0, /* xSync */
- 0, /* xCommit */
- 0, /* xRollback */
- 0, /* xFindMethod */
- 0, /* xRename */
- 0, /* xSavepoint */
- 0, /* xRelease */
- 0, /* xRollbackTo */
- 0, /* xShadowName */
- };
-
- int rc = sqlite3_create_module(db, "fsdir", &fsdirModule, 0);
- return rc;
-}
-#else /* SQLITE_OMIT_VIRTUALTABLE */
-# define fsdirRegister(x) SQLITE_OK
-#endif
-
-#ifdef _WIN32
-
-#endif
-int sqlite3_fileio_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
- rc = sqlite3_create_function(db, "readfile", 1,
- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
- readfileFunc, 0, 0);
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "writefile", -1,
- SQLITE_UTF8|SQLITE_DIRECTONLY, 0,
- writefileFunc, 0, 0);
- }
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "lsmode", 1, SQLITE_UTF8, 0,
- lsModeFunc, 0, 0);
- }
- if( rc==SQLITE_OK ){
- rc = fsdirRegister(db);
- }
- return rc;
-}
-
-/************************* End ../ext/misc/fileio.c ********************/
-/************************* Begin ../ext/misc/completion.c ******************/
-/*
-** 2017-07-10
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-**
-** This file implements an eponymous virtual table that returns suggested
-** completions for a partial SQL input.
-**
-** Suggested usage:
-**
-** SELECT DISTINCT candidate COLLATE nocase
-** FROM completion($prefix,$wholeline)
-** ORDER BY 1;
-**
-** The two query parameters are optional. $prefix is the text of the
-** current word being typed and that is to be completed. $wholeline is
-** the complete input line, used for context.
-**
-** The raw completion() table might return the same candidate multiple
-** times, for example if the same column name is used to two or more
-** tables. And the candidates are returned in an arbitrary order. Hence,
-** the DISTINCT and ORDER BY are recommended.
-**
-** This virtual table operates at the speed of human typing, and so there
-** is no attempt to make it fast. Even a slow implementation will be much
-** faster than any human can type.
-**
-*/
-/* #include "sqlite3ext.h" */
-SQLITE_EXTENSION_INIT1
-#include
-#include
-#include
-
-#ifndef SQLITE_OMIT_VIRTUALTABLE
-
-/* completion_vtab is a subclass of sqlite3_vtab which will
-** serve as the underlying representation of a completion virtual table
-*/
-typedef struct completion_vtab completion_vtab;
-struct completion_vtab {
- sqlite3_vtab base; /* Base class - must be first */
- sqlite3 *db; /* Database connection for this completion vtab */
-};
-
-/* completion_cursor is a subclass of sqlite3_vtab_cursor which will
-** serve as the underlying representation of a cursor that scans
-** over rows of the result
-*/
-typedef struct completion_cursor completion_cursor;
-struct completion_cursor {
- sqlite3_vtab_cursor base; /* Base class - must be first */
- sqlite3 *db; /* Database connection for this cursor */
- int nPrefix, nLine; /* Number of bytes in zPrefix and zLine */
- char *zPrefix; /* The prefix for the word we want to complete */
- char *zLine; /* The whole that we want to complete */
- const char *zCurrentRow; /* Current output row */
- int szRow; /* Length of the zCurrentRow string */
- sqlite3_stmt *pStmt; /* Current statement */
- sqlite3_int64 iRowid; /* The rowid */
- int ePhase; /* Current phase */
- int j; /* inter-phase counter */
-};
-
-/* Values for ePhase:
-*/
-#define COMPLETION_FIRST_PHASE 1
-#define COMPLETION_KEYWORDS 1
-#define COMPLETION_PRAGMAS 2
-#define COMPLETION_FUNCTIONS 3
-#define COMPLETION_COLLATIONS 4
-#define COMPLETION_INDEXES 5
-#define COMPLETION_TRIGGERS 6
-#define COMPLETION_DATABASES 7
-#define COMPLETION_TABLES 8 /* Also VIEWs and TRIGGERs */
-#define COMPLETION_COLUMNS 9
-#define COMPLETION_MODULES 10
-#define COMPLETION_EOF 11
-
-/*
-** The completionConnect() method is invoked to create a new
-** completion_vtab that describes the completion virtual table.
-**
-** Think of this routine as the constructor for completion_vtab objects.
-**
-** All this routine needs to do is:
-**
-** (1) Allocate the completion_vtab object and initialize all fields.
-**
-** (2) Tell SQLite (via the sqlite3_declare_vtab() interface) what the
-** result set of queries against completion will look like.
-*/
-static int completionConnect(
- sqlite3 *db,
- void *pAux,
- int argc, const char *const*argv,
- sqlite3_vtab **ppVtab,
- char **pzErr
-){
- completion_vtab *pNew;
- int rc;
-
- (void)(pAux); /* Unused parameter */
- (void)(argc); /* Unused parameter */
- (void)(argv); /* Unused parameter */
- (void)(pzErr); /* Unused parameter */
-
-/* Column numbers */
-#define COMPLETION_COLUMN_CANDIDATE 0 /* Suggested completion of the input */
-#define COMPLETION_COLUMN_PREFIX 1 /* Prefix of the word to be completed */
-#define COMPLETION_COLUMN_WHOLELINE 2 /* Entire line seen so far */
-#define COMPLETION_COLUMN_PHASE 3 /* ePhase - used for debugging only */
-
- sqlite3_vtab_config(db, SQLITE_VTAB_INNOCUOUS);
- rc = sqlite3_declare_vtab(db,
- "CREATE TABLE x("
- " candidate TEXT,"
- " prefix TEXT HIDDEN,"
- " wholeline TEXT HIDDEN,"
- " phase INT HIDDEN" /* Used for debugging only */
- ")");
- if( rc==SQLITE_OK ){
- pNew = sqlite3_malloc( sizeof(*pNew) );
- *ppVtab = (sqlite3_vtab*)pNew;
- if( pNew==0 ) return SQLITE_NOMEM;
- memset(pNew, 0, sizeof(*pNew));
- pNew->db = db;
- }
- return rc;
-}
-
-/*
-** This method is the destructor for completion_cursor objects.
-*/
-static int completionDisconnect(sqlite3_vtab *pVtab){
- sqlite3_free(pVtab);
- return SQLITE_OK;
-}
-
-/*
-** Constructor for a new completion_cursor object.
-*/
-static int completionOpen(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){
- completion_cursor *pCur;
- pCur = sqlite3_malloc( sizeof(*pCur) );
- if( pCur==0 ) return SQLITE_NOMEM;
- memset(pCur, 0, sizeof(*pCur));
- pCur->db = ((completion_vtab*)p)->db;
- *ppCursor = &pCur->base;
- return SQLITE_OK;
-}
-
-/*
-** Reset the completion_cursor.
-*/
-static void completionCursorReset(completion_cursor *pCur){
- sqlite3_free(pCur->zPrefix); pCur->zPrefix = 0; pCur->nPrefix = 0;
- sqlite3_free(pCur->zLine); pCur->zLine = 0; pCur->nLine = 0;
- sqlite3_finalize(pCur->pStmt); pCur->pStmt = 0;
- pCur->j = 0;
-}
-
-/*
-** Destructor for a completion_cursor.
-*/
-static int completionClose(sqlite3_vtab_cursor *cur){
- completionCursorReset((completion_cursor*)cur);
- sqlite3_free(cur);
- return SQLITE_OK;
-}
-
-/*
-** Advance a completion_cursor to its next row of output.
-**
-** The ->ePhase, ->j, and ->pStmt fields of the completion_cursor object
-** record the current state of the scan. This routine sets ->zCurrentRow
-** to the current row of output and then returns. If no more rows remain,
-** then ->ePhase is set to COMPLETION_EOF which will signal the virtual
-** table that has reached the end of its scan.
-**
-** The current implementation just lists potential identifiers and
-** keywords and filters them by zPrefix. Future enhancements should
-** take zLine into account to try to restrict the set of identifiers and
-** keywords based on what would be legal at the current point of input.
-*/
-static int completionNext(sqlite3_vtab_cursor *cur){
- completion_cursor *pCur = (completion_cursor*)cur;
- int eNextPhase = 0; /* Next phase to try if current phase reaches end */
- int iCol = -1; /* If >=0, step pCur->pStmt and use the i-th column */
- pCur->iRowid++;
- while( pCur->ePhase!=COMPLETION_EOF ){
- switch( pCur->ePhase ){
- case COMPLETION_KEYWORDS: {
- if( pCur->j >= sqlite3_keyword_count() ){
- pCur->zCurrentRow = 0;
- pCur->ePhase = COMPLETION_DATABASES;
- }else{
- sqlite3_keyword_name(pCur->j++, &pCur->zCurrentRow, &pCur->szRow);
- }
- iCol = -1;
- break;
- }
- case COMPLETION_DATABASES: {
- if( pCur->pStmt==0 ){
- sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1,
- &pCur->pStmt, 0);
- }
- iCol = 1;
- eNextPhase = COMPLETION_TABLES;
- break;
- }
- case COMPLETION_TABLES: {
- if( pCur->pStmt==0 ){
- sqlite3_stmt *pS2;
- char *zSql = 0;
- const char *zSep = "";
- sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1, &pS2, 0);
- while( sqlite3_step(pS2)==SQLITE_ROW ){
- const char *zDb = (const char*)sqlite3_column_text(pS2, 1);
- zSql = sqlite3_mprintf(
- "%z%s"
- "SELECT name FROM \"%w\".sqlite_master",
- zSql, zSep, zDb
- );
- if( zSql==0 ) return SQLITE_NOMEM;
- zSep = " UNION ";
- }
- sqlite3_finalize(pS2);
- sqlite3_prepare_v2(pCur->db, zSql, -1, &pCur->pStmt, 0);
- sqlite3_free(zSql);
- }
- iCol = 0;
- eNextPhase = COMPLETION_COLUMNS;
- break;
- }
- case COMPLETION_COLUMNS: {
- if( pCur->pStmt==0 ){
- sqlite3_stmt *pS2;
- char *zSql = 0;
- const char *zSep = "";
- sqlite3_prepare_v2(pCur->db, "PRAGMA database_list", -1, &pS2, 0);
- while( sqlite3_step(pS2)==SQLITE_ROW ){
- const char *zDb = (const char*)sqlite3_column_text(pS2, 1);
- zSql = sqlite3_mprintf(
- "%z%s"
- "SELECT pti.name FROM \"%w\".sqlite_master AS sm"
- " JOIN pragma_table_info(sm.name,%Q) AS pti"
- " WHERE sm.type='table'",
- zSql, zSep, zDb, zDb
- );
- if( zSql==0 ) return SQLITE_NOMEM;
- zSep = " UNION ";
- }
- sqlite3_finalize(pS2);
- sqlite3_prepare_v2(pCur->db, zSql, -1, &pCur->pStmt, 0);
- sqlite3_free(zSql);
- }
- iCol = 0;
- eNextPhase = COMPLETION_EOF;
- break;
- }
- }
- if( iCol<0 ){
- /* This case is when the phase presets zCurrentRow */
- if( pCur->zCurrentRow==0 ) continue;
- }else{
- if( sqlite3_step(pCur->pStmt)==SQLITE_ROW ){
- /* Extract the next row of content */
- pCur->zCurrentRow = (const char*)sqlite3_column_text(pCur->pStmt, iCol);
- pCur->szRow = sqlite3_column_bytes(pCur->pStmt, iCol);
- }else{
- /* When all rows are finished, advance to the next phase */
- sqlite3_finalize(pCur->pStmt);
- pCur->pStmt = 0;
- pCur->ePhase = eNextPhase;
- continue;
- }
- }
- if( pCur->nPrefix==0 ) break;
- if( pCur->nPrefix<=pCur->szRow
- && sqlite3_strnicmp(pCur->zPrefix, pCur->zCurrentRow, pCur->nPrefix)==0
- ){
- break;
- }
- }
-
- return SQLITE_OK;
-}
-
-/*
-** Return values of columns for the row at which the completion_cursor
-** is currently pointing.
-*/
-static int completionColumn(
- sqlite3_vtab_cursor *cur, /* The cursor */
- sqlite3_context *ctx, /* First argument to sqlite3_result_...() */
- int i /* Which column to return */
-){
- completion_cursor *pCur = (completion_cursor*)cur;
- switch( i ){
- case COMPLETION_COLUMN_CANDIDATE: {
- sqlite3_result_text(ctx, pCur->zCurrentRow, pCur->szRow,SQLITE_TRANSIENT);
- break;
- }
- case COMPLETION_COLUMN_PREFIX: {
- sqlite3_result_text(ctx, pCur->zPrefix, -1, SQLITE_TRANSIENT);
- break;
- }
- case COMPLETION_COLUMN_WHOLELINE: {
- sqlite3_result_text(ctx, pCur->zLine, -1, SQLITE_TRANSIENT);
- break;
- }
- case COMPLETION_COLUMN_PHASE: {
- sqlite3_result_int(ctx, pCur->ePhase);
- break;
- }
- }
- return SQLITE_OK;
-}
-
-/*
-** Return the rowid for the current row. In this implementation, the
-** rowid is the same as the output value.
-*/
-static int completionRowid(sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid){
- completion_cursor *pCur = (completion_cursor*)cur;
- *pRowid = pCur->iRowid;
- return SQLITE_OK;
-}
-
-/*
-** Return TRUE if the cursor has been moved off of the last
-** row of output.
-*/
-static int completionEof(sqlite3_vtab_cursor *cur){
- completion_cursor *pCur = (completion_cursor*)cur;
- return pCur->ePhase >= COMPLETION_EOF;
-}
-
-/*
-** This method is called to "rewind" the completion_cursor object back
-** to the first row of output. This method is always called at least
-** once prior to any call to completionColumn() or completionRowid() or
-** completionEof().
-*/
-static int completionFilter(
- sqlite3_vtab_cursor *pVtabCursor,
- int idxNum, const char *idxStr,
- int argc, sqlite3_value **argv
-){
- completion_cursor *pCur = (completion_cursor *)pVtabCursor;
- int iArg = 0;
- (void)(idxStr); /* Unused parameter */
- (void)(argc); /* Unused parameter */
- completionCursorReset(pCur);
- if( idxNum & 1 ){
- pCur->nPrefix = sqlite3_value_bytes(argv[iArg]);
- if( pCur->nPrefix>0 ){
- pCur->zPrefix = sqlite3_mprintf("%s", sqlite3_value_text(argv[iArg]));
- if( pCur->zPrefix==0 ) return SQLITE_NOMEM;
- }
- iArg = 1;
- }
- if( idxNum & 2 ){
- pCur->nLine = sqlite3_value_bytes(argv[iArg]);
- if( pCur->nLine>0 ){
- pCur->zLine = sqlite3_mprintf("%s", sqlite3_value_text(argv[iArg]));
- if( pCur->zLine==0 ) return SQLITE_NOMEM;
- }
- }
- if( pCur->zLine!=0 && pCur->zPrefix==0 ){
- int i = pCur->nLine;
- while( i>0 && (isalnum(pCur->zLine[i-1]) || pCur->zLine[i-1]=='_') ){
- i--;
- }
- pCur->nPrefix = pCur->nLine - i;
- if( pCur->nPrefix>0 ){
- pCur->zPrefix = sqlite3_mprintf("%.*s", pCur->nPrefix, pCur->zLine + i);
- if( pCur->zPrefix==0 ) return SQLITE_NOMEM;
- }
- }
- pCur->iRowid = 0;
- pCur->ePhase = COMPLETION_FIRST_PHASE;
- return completionNext(pVtabCursor);
-}
-
-/*
-** SQLite will invoke this method one or more times while planning a query
-** that uses the completion virtual table. This routine needs to create
-** a query plan for each invocation and compute an estimated cost for that
-** plan.
-**
-** There are two hidden parameters that act as arguments to the table-valued
-** function: "prefix" and "wholeline". Bit 0 of idxNum is set if "prefix"
-** is available and bit 1 is set if "wholeline" is available.
-*/
-static int completionBestIndex(
- sqlite3_vtab *tab,
- sqlite3_index_info *pIdxInfo
-){
- int i; /* Loop over constraints */
- int idxNum = 0; /* The query plan bitmask */
- int prefixIdx = -1; /* Index of the start= constraint, or -1 if none */
- int wholelineIdx = -1; /* Index of the stop= constraint, or -1 if none */
- int nArg = 0; /* Number of arguments that completeFilter() expects */
- const struct sqlite3_index_constraint *pConstraint;
-
- (void)(tab); /* Unused parameter */
- pConstraint = pIdxInfo->aConstraint;
- for(i=0; inConstraint; i++, pConstraint++){
- if( pConstraint->usable==0 ) continue;
- if( pConstraint->op!=SQLITE_INDEX_CONSTRAINT_EQ ) continue;
- switch( pConstraint->iColumn ){
- case COMPLETION_COLUMN_PREFIX:
- prefixIdx = i;
- idxNum |= 1;
- break;
- case COMPLETION_COLUMN_WHOLELINE:
- wholelineIdx = i;
- idxNum |= 2;
- break;
- }
- }
- if( prefixIdx>=0 ){
- pIdxInfo->aConstraintUsage[prefixIdx].argvIndex = ++nArg;
- pIdxInfo->aConstraintUsage[prefixIdx].omit = 1;
- }
- if( wholelineIdx>=0 ){
- pIdxInfo->aConstraintUsage[wholelineIdx].argvIndex = ++nArg;
- pIdxInfo->aConstraintUsage[wholelineIdx].omit = 1;
- }
- pIdxInfo->idxNum = idxNum;
- pIdxInfo->estimatedCost = (double)5000 - 1000*nArg;
- pIdxInfo->estimatedRows = 500 - 100*nArg;
- return SQLITE_OK;
-}
-
-/*
-** This following structure defines all the methods for the
-** completion virtual table.
-*/
-static sqlite3_module completionModule = {
- 0, /* iVersion */
- 0, /* xCreate */
- completionConnect, /* xConnect */
- completionBestIndex, /* xBestIndex */
- completionDisconnect, /* xDisconnect */
- 0, /* xDestroy */
- completionOpen, /* xOpen - open a cursor */
- completionClose, /* xClose - close a cursor */
- completionFilter, /* xFilter - configure scan constraints */
- completionNext, /* xNext - advance a cursor */
- completionEof, /* xEof - check for end of scan */
- completionColumn, /* xColumn - read data */
- completionRowid, /* xRowid - read data */
- 0, /* xUpdate */
- 0, /* xBegin */
- 0, /* xSync */
- 0, /* xCommit */
- 0, /* xRollback */
- 0, /* xFindMethod */
- 0, /* xRename */
- 0, /* xSavepoint */
- 0, /* xRelease */
- 0, /* xRollbackTo */
- 0 /* xShadowName */
-};
-
-#endif /* SQLITE_OMIT_VIRTUALTABLE */
-
-int sqlite3CompletionVtabInit(sqlite3 *db){
- int rc = SQLITE_OK;
-#ifndef SQLITE_OMIT_VIRTUALTABLE
- rc = sqlite3_create_module(db, "completion", &completionModule, 0);
-#endif
- return rc;
-}
-
-#ifdef _WIN32
-
-#endif
-int sqlite3_completion_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
- int rc = SQLITE_OK;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)(pzErrMsg); /* Unused parameter */
-#ifndef SQLITE_OMIT_VIRTUALTABLE
- rc = sqlite3CompletionVtabInit(db);
-#endif
- return rc;
-}
-
-/************************* End ../ext/misc/completion.c ********************/
-/************************* Begin ../ext/misc/appendvfs.c ******************/
-/*
-** 2017-10-20
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This file implements a VFS shim that allows an SQLite database to be
-** appended onto the end of some other file, such as an executable.
-**
-** A special record must appear at the end of the file that identifies the
-** file as an appended database and provides an offset to page 1. For
-** best performance page 1 should be located at a disk page boundary, though
-** that is not required.
-**
-** When opening a database using this VFS, the connection might treat
-** the file as an ordinary SQLite database, or it might treat is as a
-** database appended onto some other file. Here are the rules:
-**
-** (1) When opening a new empty file, that file is treated as an ordinary
-** database.
-**
-** (2) When opening a file that begins with the standard SQLite prefix
-** string "SQLite format 3", that file is treated as an ordinary
-** database.
-**
-** (3) When opening a file that ends with the appendvfs trailer string
-** "Start-Of-SQLite3-NNNNNNNN" that file is treated as an appended
-** database.
-**
-** (4) If none of the above apply and the SQLITE_OPEN_CREATE flag is
-** set, then a new database is appended to the already existing file.
-**
-** (5) Otherwise, SQLITE_CANTOPEN is returned.
-**
-** To avoid unnecessary complications with the PENDING_BYTE, the size of
-** the file containing the database is limited to 1GB. This VFS will refuse
-** to read or write past the 1GB mark. This restriction might be lifted in
-** future versions. For now, if you need a large database, then keep the
-** database in a separate file.
-**
-** If the file being opened is not an appended database, then this shim is
-** a pass-through into the default underlying VFS.
-**/
-/* #include "sqlite3ext.h" */
-SQLITE_EXTENSION_INIT1
-#include
-#include
-
-/* The append mark at the end of the database is:
-**
-** Start-Of-SQLite3-NNNNNNNN
-** 123456789 123456789 12345
-**
-** The NNNNNNNN represents a 64-bit big-endian unsigned integer which is
-** the offset to page 1.
-*/
-#define APND_MARK_PREFIX "Start-Of-SQLite3-"
-#define APND_MARK_PREFIX_SZ 17
-#define APND_MARK_SIZE 25
-
-/*
-** Maximum size of the combined prefix + database + append-mark. This
-** must be less than 0x40000000 to avoid locking issues on Windows.
-*/
-#define APND_MAX_SIZE (65536*15259)
-
-/*
-** Forward declaration of objects used by this utility
-*/
-typedef struct sqlite3_vfs ApndVfs;
-typedef struct ApndFile ApndFile;
-
-/* Access to a lower-level VFS that (might) implement dynamic loading,
-** access to randomness, etc.
-*/
-#define ORIGVFS(p) ((sqlite3_vfs*)((p)->pAppData))
-#define ORIGFILE(p) ((sqlite3_file*)(((ApndFile*)(p))+1))
-
-/* An open file */
-struct ApndFile {
- sqlite3_file base; /* IO methods */
- sqlite3_int64 iPgOne; /* File offset to page 1 */
- sqlite3_int64 iMark; /* Start of the append-mark */
-};
-
-/*
-** Methods for ApndFile
-*/
-static int apndClose(sqlite3_file*);
-static int apndRead(sqlite3_file*, void*, int iAmt, sqlite3_int64 iOfst);
-static int apndWrite(sqlite3_file*,const void*,int iAmt, sqlite3_int64 iOfst);
-static int apndTruncate(sqlite3_file*, sqlite3_int64 size);
-static int apndSync(sqlite3_file*, int flags);
-static int apndFileSize(sqlite3_file*, sqlite3_int64 *pSize);
-static int apndLock(sqlite3_file*, int);
-static int apndUnlock(sqlite3_file*, int);
-static int apndCheckReservedLock(sqlite3_file*, int *pResOut);
-static int apndFileControl(sqlite3_file*, int op, void *pArg);
-static int apndSectorSize(sqlite3_file*);
-static int apndDeviceCharacteristics(sqlite3_file*);
-static int apndShmMap(sqlite3_file*, int iPg, int pgsz, int, void volatile**);
-static int apndShmLock(sqlite3_file*, int offset, int n, int flags);
-static void apndShmBarrier(sqlite3_file*);
-static int apndShmUnmap(sqlite3_file*, int deleteFlag);
-static int apndFetch(sqlite3_file*, sqlite3_int64 iOfst, int iAmt, void **pp);
-static int apndUnfetch(sqlite3_file*, sqlite3_int64 iOfst, void *p);
-
-/*
-** Methods for ApndVfs
-*/
-static int apndOpen(sqlite3_vfs*, const char *, sqlite3_file*, int , int *);
-static int apndDelete(sqlite3_vfs*, const char *zName, int syncDir);
-static int apndAccess(sqlite3_vfs*, const char *zName, int flags, int *);
-static int apndFullPathname(sqlite3_vfs*, const char *zName, int, char *zOut);
-static void *apndDlOpen(sqlite3_vfs*, const char *zFilename);
-static void apndDlError(sqlite3_vfs*, int nByte, char *zErrMsg);
-static void (*apndDlSym(sqlite3_vfs *pVfs, void *p, const char*zSym))(void);
-static void apndDlClose(sqlite3_vfs*, void*);
-static int apndRandomness(sqlite3_vfs*, int nByte, char *zOut);
-static int apndSleep(sqlite3_vfs*, int microseconds);
-static int apndCurrentTime(sqlite3_vfs*, double*);
-static int apndGetLastError(sqlite3_vfs*, int, char *);
-static int apndCurrentTimeInt64(sqlite3_vfs*, sqlite3_int64*);
-static int apndSetSystemCall(sqlite3_vfs*, const char*,sqlite3_syscall_ptr);
-static sqlite3_syscall_ptr apndGetSystemCall(sqlite3_vfs*, const char *z);
-static const char *apndNextSystemCall(sqlite3_vfs*, const char *zName);
-
-static sqlite3_vfs apnd_vfs = {
- 3, /* iVersion (set when registered) */
- 0, /* szOsFile (set when registered) */
- 1024, /* mxPathname */
- 0, /* pNext */
- "apndvfs", /* zName */
- 0, /* pAppData (set when registered) */
- apndOpen, /* xOpen */
- apndDelete, /* xDelete */
- apndAccess, /* xAccess */
- apndFullPathname, /* xFullPathname */
- apndDlOpen, /* xDlOpen */
- apndDlError, /* xDlError */
- apndDlSym, /* xDlSym */
- apndDlClose, /* xDlClose */
- apndRandomness, /* xRandomness */
- apndSleep, /* xSleep */
- apndCurrentTime, /* xCurrentTime */
- apndGetLastError, /* xGetLastError */
- apndCurrentTimeInt64, /* xCurrentTimeInt64 */
- apndSetSystemCall, /* xSetSystemCall */
- apndGetSystemCall, /* xGetSystemCall */
- apndNextSystemCall /* xNextSystemCall */
-};
-
-static const sqlite3_io_methods apnd_io_methods = {
- 3, /* iVersion */
- apndClose, /* xClose */
- apndRead, /* xRead */
- apndWrite, /* xWrite */
- apndTruncate, /* xTruncate */
- apndSync, /* xSync */
- apndFileSize, /* xFileSize */
- apndLock, /* xLock */
- apndUnlock, /* xUnlock */
- apndCheckReservedLock, /* xCheckReservedLock */
- apndFileControl, /* xFileControl */
- apndSectorSize, /* xSectorSize */
- apndDeviceCharacteristics, /* xDeviceCharacteristics */
- apndShmMap, /* xShmMap */
- apndShmLock, /* xShmLock */
- apndShmBarrier, /* xShmBarrier */
- apndShmUnmap, /* xShmUnmap */
- apndFetch, /* xFetch */
- apndUnfetch /* xUnfetch */
-};
-
-
-
-/*
-** Close an apnd-file.
-*/
-static int apndClose(sqlite3_file *pFile){
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xClose(pFile);
-}
-
-/*
-** Read data from an apnd-file.
-*/
-static int apndRead(
- sqlite3_file *pFile,
- void *zBuf,
- int iAmt,
- sqlite_int64 iOfst
-){
- ApndFile *p = (ApndFile *)pFile;
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xRead(pFile, zBuf, iAmt, iOfst+p->iPgOne);
-}
-
-/*
-** Add the append-mark onto the end of the file.
-*/
-static int apndWriteMark(ApndFile *p, sqlite3_file *pFile){
- int i;
- unsigned char a[APND_MARK_SIZE];
- memcpy(a, APND_MARK_PREFIX, APND_MARK_PREFIX_SZ);
- for(i=0; i<8; i++){
- a[APND_MARK_PREFIX_SZ+i] = (p->iPgOne >> (56 - i*8)) & 0xff;
- }
- return pFile->pMethods->xWrite(pFile, a, APND_MARK_SIZE, p->iMark);
-}
-
-/*
-** Write data to an apnd-file.
-*/
-static int apndWrite(
- sqlite3_file *pFile,
- const void *zBuf,
- int iAmt,
- sqlite_int64 iOfst
-){
- int rc;
- ApndFile *p = (ApndFile *)pFile;
- pFile = ORIGFILE(pFile);
- if( iOfst+iAmt>=APND_MAX_SIZE ) return SQLITE_FULL;
- rc = pFile->pMethods->xWrite(pFile, zBuf, iAmt, iOfst+p->iPgOne);
- if( rc==SQLITE_OK && iOfst + iAmt + p->iPgOne > p->iMark ){
- sqlite3_int64 sz = 0;
- rc = pFile->pMethods->xFileSize(pFile, &sz);
- if( rc==SQLITE_OK ){
- p->iMark = sz - APND_MARK_SIZE;
- if( iOfst + iAmt + p->iPgOne > p->iMark ){
- p->iMark = p->iPgOne + iOfst + iAmt;
- rc = apndWriteMark(p, pFile);
- }
- }
- }
- return rc;
-}
-
-/*
-** Truncate an apnd-file.
-*/
-static int apndTruncate(sqlite3_file *pFile, sqlite_int64 size){
- int rc;
- ApndFile *p = (ApndFile *)pFile;
- pFile = ORIGFILE(pFile);
- rc = pFile->pMethods->xTruncate(pFile, size+p->iPgOne+APND_MARK_SIZE);
- if( rc==SQLITE_OK ){
- p->iMark = p->iPgOne+size;
- rc = apndWriteMark(p, pFile);
- }
- return rc;
-}
-
-/*
-** Sync an apnd-file.
-*/
-static int apndSync(sqlite3_file *pFile, int flags){
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xSync(pFile, flags);
-}
-
-/*
-** Return the current file-size of an apnd-file.
-*/
-static int apndFileSize(sqlite3_file *pFile, sqlite_int64 *pSize){
- ApndFile *p = (ApndFile *)pFile;
- int rc;
- pFile = ORIGFILE(p);
- rc = pFile->pMethods->xFileSize(pFile, pSize);
- if( rc==SQLITE_OK && p->iPgOne ){
- *pSize -= p->iPgOne + APND_MARK_SIZE;
- }
- return rc;
-}
-
-/*
-** Lock an apnd-file.
-*/
-static int apndLock(sqlite3_file *pFile, int eLock){
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xLock(pFile, eLock);
-}
-
-/*
-** Unlock an apnd-file.
-*/
-static int apndUnlock(sqlite3_file *pFile, int eLock){
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xUnlock(pFile, eLock);
-}
-
-/*
-** Check if another file-handle holds a RESERVED lock on an apnd-file.
-*/
-static int apndCheckReservedLock(sqlite3_file *pFile, int *pResOut){
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xCheckReservedLock(pFile, pResOut);
-}
-
-/*
-** File control method. For custom operations on an apnd-file.
-*/
-static int apndFileControl(sqlite3_file *pFile, int op, void *pArg){
- ApndFile *p = (ApndFile *)pFile;
- int rc;
- pFile = ORIGFILE(pFile);
- rc = pFile->pMethods->xFileControl(pFile, op, pArg);
- if( rc==SQLITE_OK && op==SQLITE_FCNTL_VFSNAME ){
- *(char**)pArg = sqlite3_mprintf("apnd(%lld)/%z", p->iPgOne, *(char**)pArg);
- }
- return rc;
-}
-
-/*
-** Return the sector-size in bytes for an apnd-file.
-*/
-static int apndSectorSize(sqlite3_file *pFile){
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xSectorSize(pFile);
-}
-
-/*
-** Return the device characteristic flags supported by an apnd-file.
-*/
-static int apndDeviceCharacteristics(sqlite3_file *pFile){
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xDeviceCharacteristics(pFile);
-}
-
-/* Create a shared memory file mapping */
-static int apndShmMap(
- sqlite3_file *pFile,
- int iPg,
- int pgsz,
- int bExtend,
- void volatile **pp
-){
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xShmMap(pFile,iPg,pgsz,bExtend,pp);
-}
-
-/* Perform locking on a shared-memory segment */
-static int apndShmLock(sqlite3_file *pFile, int offset, int n, int flags){
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xShmLock(pFile,offset,n,flags);
-}
-
-/* Memory barrier operation on shared memory */
-static void apndShmBarrier(sqlite3_file *pFile){
- pFile = ORIGFILE(pFile);
- pFile->pMethods->xShmBarrier(pFile);
-}
-
-/* Unmap a shared memory segment */
-static int apndShmUnmap(sqlite3_file *pFile, int deleteFlag){
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xShmUnmap(pFile,deleteFlag);
-}
-
-/* Fetch a page of a memory-mapped file */
-static int apndFetch(
- sqlite3_file *pFile,
- sqlite3_int64 iOfst,
- int iAmt,
- void **pp
-){
- ApndFile *p = (ApndFile *)pFile;
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xFetch(pFile, iOfst+p->iPgOne, iAmt, pp);
-}
-
-/* Release a memory-mapped page */
-static int apndUnfetch(sqlite3_file *pFile, sqlite3_int64 iOfst, void *pPage){
- ApndFile *p = (ApndFile *)pFile;
- pFile = ORIGFILE(pFile);
- return pFile->pMethods->xUnfetch(pFile, iOfst+p->iPgOne, pPage);
-}
-
-/*
-** Check to see if the file is an ordinary SQLite database file.
-*/
-static int apndIsOrdinaryDatabaseFile(sqlite3_int64 sz, sqlite3_file *pFile){
- int rc;
- char zHdr[16];
- static const char aSqliteHdr[] = "SQLite format 3";
- if( sz<512 ) return 0;
- rc = pFile->pMethods->xRead(pFile, zHdr, sizeof(zHdr), 0);
- if( rc ) return 0;
- return memcmp(zHdr, aSqliteHdr, sizeof(zHdr))==0;
-}
-
-/*
-** Try to read the append-mark off the end of a file. Return the
-** start of the appended database if the append-mark is present. If
-** there is no append-mark, return -1;
-*/
-static sqlite3_int64 apndReadMark(sqlite3_int64 sz, sqlite3_file *pFile){
- int rc, i;
- sqlite3_int64 iMark;
- unsigned char a[APND_MARK_SIZE];
-
- if( sz<=APND_MARK_SIZE ) return -1;
- rc = pFile->pMethods->xRead(pFile, a, APND_MARK_SIZE, sz-APND_MARK_SIZE);
- if( rc ) return -1;
- if( memcmp(a, APND_MARK_PREFIX, APND_MARK_PREFIX_SZ)!=0 ) return -1;
- iMark = ((sqlite3_int64)(a[APND_MARK_PREFIX_SZ]&0x7f))<<56;
- for(i=1; i<8; i++){
- iMark += (sqlite3_int64)a[APND_MARK_PREFIX_SZ+i]<<(56-8*i);
- }
- return iMark;
-}
-
-/*
-** Open an apnd file handle.
-*/
-static int apndOpen(
- sqlite3_vfs *pVfs,
- const char *zName,
- sqlite3_file *pFile,
- int flags,
- int *pOutFlags
-){
- ApndFile *p;
- sqlite3_file *pSubFile;
- sqlite3_vfs *pSubVfs;
- int rc;
- sqlite3_int64 sz;
- pSubVfs = ORIGVFS(pVfs);
- if( (flags & SQLITE_OPEN_MAIN_DB)==0 ){
- return pSubVfs->xOpen(pSubVfs, zName, pFile, flags, pOutFlags);
- }
- p = (ApndFile*)pFile;
- memset(p, 0, sizeof(*p));
- pSubFile = ORIGFILE(pFile);
- p->base.pMethods = &apnd_io_methods;
- rc = pSubVfs->xOpen(pSubVfs, zName, pSubFile, flags, pOutFlags);
- if( rc ) goto apnd_open_done;
- rc = pSubFile->pMethods->xFileSize(pSubFile, &sz);
- if( rc ){
- pSubFile->pMethods->xClose(pSubFile);
- goto apnd_open_done;
- }
- if( apndIsOrdinaryDatabaseFile(sz, pSubFile) ){
- memmove(pFile, pSubFile, pSubVfs->szOsFile);
- return SQLITE_OK;
- }
- p->iMark = 0;
- p->iPgOne = apndReadMark(sz, pFile);
- if( p->iPgOne>0 ){
- return SQLITE_OK;
- }
- if( (flags & SQLITE_OPEN_CREATE)==0 ){
- pSubFile->pMethods->xClose(pSubFile);
- rc = SQLITE_CANTOPEN;
- }
- p->iPgOne = (sz+0xfff) & ~(sqlite3_int64)0xfff;
-apnd_open_done:
- if( rc ) pFile->pMethods = 0;
- return rc;
-}
-
-/*
-** All other VFS methods are pass-thrus.
-*/
-static int apndDelete(sqlite3_vfs *pVfs, const char *zPath, int dirSync){
- return ORIGVFS(pVfs)->xDelete(ORIGVFS(pVfs), zPath, dirSync);
-}
-static int apndAccess(
- sqlite3_vfs *pVfs,
- const char *zPath,
- int flags,
- int *pResOut
-){
- return ORIGVFS(pVfs)->xAccess(ORIGVFS(pVfs), zPath, flags, pResOut);
-}
-static int apndFullPathname(
- sqlite3_vfs *pVfs,
- const char *zPath,
- int nOut,
- char *zOut
-){
- return ORIGVFS(pVfs)->xFullPathname(ORIGVFS(pVfs),zPath,nOut,zOut);
-}
-static void *apndDlOpen(sqlite3_vfs *pVfs, const char *zPath){
- return ORIGVFS(pVfs)->xDlOpen(ORIGVFS(pVfs), zPath);
-}
-static void apndDlError(sqlite3_vfs *pVfs, int nByte, char *zErrMsg){
- ORIGVFS(pVfs)->xDlError(ORIGVFS(pVfs), nByte, zErrMsg);
-}
-static void (*apndDlSym(sqlite3_vfs *pVfs, void *p, const char *zSym))(void){
- return ORIGVFS(pVfs)->xDlSym(ORIGVFS(pVfs), p, zSym);
-}
-static void apndDlClose(sqlite3_vfs *pVfs, void *pHandle){
- ORIGVFS(pVfs)->xDlClose(ORIGVFS(pVfs), pHandle);
-}
-static int apndRandomness(sqlite3_vfs *pVfs, int nByte, char *zBufOut){
- return ORIGVFS(pVfs)->xRandomness(ORIGVFS(pVfs), nByte, zBufOut);
-}
-static int apndSleep(sqlite3_vfs *pVfs, int nMicro){
- return ORIGVFS(pVfs)->xSleep(ORIGVFS(pVfs), nMicro);
-}
-static int apndCurrentTime(sqlite3_vfs *pVfs, double *pTimeOut){
- return ORIGVFS(pVfs)->xCurrentTime(ORIGVFS(pVfs), pTimeOut);
-}
-static int apndGetLastError(sqlite3_vfs *pVfs, int a, char *b){
- return ORIGVFS(pVfs)->xGetLastError(ORIGVFS(pVfs), a, b);
-}
-static int apndCurrentTimeInt64(sqlite3_vfs *pVfs, sqlite3_int64 *p){
- return ORIGVFS(pVfs)->xCurrentTimeInt64(ORIGVFS(pVfs), p);
-}
-static int apndSetSystemCall(
- sqlite3_vfs *pVfs,
- const char *zName,
- sqlite3_syscall_ptr pCall
-){
- return ORIGVFS(pVfs)->xSetSystemCall(ORIGVFS(pVfs),zName,pCall);
-}
-static sqlite3_syscall_ptr apndGetSystemCall(
- sqlite3_vfs *pVfs,
- const char *zName
-){
- return ORIGVFS(pVfs)->xGetSystemCall(ORIGVFS(pVfs),zName);
-}
-static const char *apndNextSystemCall(sqlite3_vfs *pVfs, const char *zName){
- return ORIGVFS(pVfs)->xNextSystemCall(ORIGVFS(pVfs), zName);
-}
-
-
-#ifdef _WIN32
-
-#endif
-/*
-** This routine is called when the extension is loaded.
-** Register the new VFS.
-*/
-int sqlite3_appendvfs_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
- int rc = SQLITE_OK;
- sqlite3_vfs *pOrig;
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg;
- (void)db;
- pOrig = sqlite3_vfs_find(0);
- apnd_vfs.iVersion = pOrig->iVersion;
- apnd_vfs.pAppData = pOrig;
- apnd_vfs.szOsFile = pOrig->szOsFile + sizeof(ApndFile);
- rc = sqlite3_vfs_register(&apnd_vfs, 0);
-#ifdef APPENDVFS_TEST
- if( rc==SQLITE_OK ){
- rc = sqlite3_auto_extension((void(*)(void))apndvfsRegister);
- }
-#endif
- if( rc==SQLITE_OK ) rc = SQLITE_OK_LOAD_PERMANENTLY;
- return rc;
-}
-
-/************************* End ../ext/misc/appendvfs.c ********************/
-/************************* Begin ../ext/misc/memtrace.c ******************/
-/*
-** 2019-01-21
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-**
-** This file implements an extension that uses the SQLITE_CONFIG_MALLOC
-** mechanism to add a tracing layer on top of SQLite. If this extension
-** is registered prior to sqlite3_initialize(), it will cause all memory
-** allocation activities to be logged on standard output, or to some other
-** FILE specified by the initializer.
-**
-** This file needs to be compiled into the application that uses it.
-**
-** This extension is used to implement the --memtrace option of the
-** command-line shell.
-*/
-#include
-#include
-#include
-
-/* The original memory allocation routines */
-static sqlite3_mem_methods memtraceBase;
-static FILE *memtraceOut;
-
-/* Methods that trace memory allocations */
-static void *memtraceMalloc(int n){
- if( memtraceOut ){
- fprintf(memtraceOut, "MEMTRACE: allocate %d bytes\n",
- memtraceBase.xRoundup(n));
- }
- return memtraceBase.xMalloc(n);
-}
-static void memtraceFree(void *p){
- if( p==0 ) return;
- if( memtraceOut ){
- fprintf(memtraceOut, "MEMTRACE: free %d bytes\n", memtraceBase.xSize(p));
- }
- memtraceBase.xFree(p);
-}
-static void *memtraceRealloc(void *p, int n){
- if( p==0 ) return memtraceMalloc(n);
- if( n==0 ){
- memtraceFree(p);
- return 0;
- }
- if( memtraceOut ){
- fprintf(memtraceOut, "MEMTRACE: resize %d -> %d bytes\n",
- memtraceBase.xSize(p), memtraceBase.xRoundup(n));
- }
- return memtraceBase.xRealloc(p, n);
-}
-static int memtraceSize(void *p){
- return memtraceBase.xSize(p);
-}
-static int memtraceRoundup(int n){
- return memtraceBase.xRoundup(n);
-}
-static int memtraceInit(void *p){
- return memtraceBase.xInit(p);
-}
-static void memtraceShutdown(void *p){
- memtraceBase.xShutdown(p);
-}
-
-/* The substitute memory allocator */
-static sqlite3_mem_methods ersaztMethods = {
- memtraceMalloc,
- memtraceFree,
- memtraceRealloc,
- memtraceSize,
- memtraceRoundup,
- memtraceInit,
- memtraceShutdown,
- 0
-};
-
-/* Begin tracing memory allocations to out. */
-int sqlite3MemTraceActivate(FILE *out){
- int rc = SQLITE_OK;
- if( memtraceBase.xMalloc==0 ){
- rc = sqlite3_config(SQLITE_CONFIG_GETMALLOC, &memtraceBase);
- if( rc==SQLITE_OK ){
- rc = sqlite3_config(SQLITE_CONFIG_MALLOC, &ersaztMethods);
- }
- }
- memtraceOut = out;
- return rc;
-}
-
-/* Deactivate memory tracing */
-int sqlite3MemTraceDeactivate(void){
- int rc = SQLITE_OK;
- if( memtraceBase.xMalloc!=0 ){
- rc = sqlite3_config(SQLITE_CONFIG_MALLOC, &memtraceBase);
- if( rc==SQLITE_OK ){
- memset(&memtraceBase, 0, sizeof(memtraceBase));
- }
- }
- memtraceOut = 0;
- return rc;
-}
-
-/************************* End ../ext/misc/memtrace.c ********************/
-#ifdef SQLITE_HAVE_ZLIB
-/************************* Begin ../ext/misc/zipfile.c ******************/
-/*
-** 2017-12-26
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This file implements a virtual table for reading and writing ZIP archive
-** files.
-**
-** Usage example:
-**
-** SELECT name, sz, datetime(mtime,'unixepoch') FROM zipfile($filename);
-**
-** Current limitations:
-**
-** * No support for encryption
-** * No support for ZIP archives spanning multiple files
-** * No support for zip64 extensions
-** * Only the "inflate/deflate" (zlib) compression method is supported
-*/
-/* #include "sqlite3ext.h" */
-SQLITE_EXTENSION_INIT1
-#include
-#include
-#include
-
-#include
-
-#ifndef SQLITE_OMIT_VIRTUALTABLE
-
-#ifndef SQLITE_AMALGAMATION
-
-/* typedef sqlite3_int64 i64; */
-/* typedef unsigned char u8; */
-typedef unsigned short u16;
-typedef unsigned long u32;
-#define MIN(a,b) ((a)<(b) ? (a) : (b))
-
-#if defined(SQLITE_COVERAGE_TEST) || defined(SQLITE_MUTATION_TEST)
-# define ALWAYS(X) (1)
-# define NEVER(X) (0)
-#elif !defined(NDEBUG)
-# define ALWAYS(X) ((X)?1:(assert(0),0))
-# define NEVER(X) ((X)?(assert(0),1):0)
-#else
-# define ALWAYS(X) (X)
-# define NEVER(X) (X)
-#endif
-
-#endif /* SQLITE_AMALGAMATION */
-
-/*
-** Definitions for mode bitmasks S_IFDIR, S_IFREG and S_IFLNK.
-**
-** In some ways it would be better to obtain these values from system
-** header files. But, the dependency is undesirable and (a) these
-** have been stable for decades, (b) the values are part of POSIX and
-** are also made explicit in [man stat], and (c) are part of the
-** file format for zip archives.
-*/
-#ifndef S_IFDIR
-# define S_IFDIR 0040000
-#endif
-#ifndef S_IFREG
-# define S_IFREG 0100000
-#endif
-#ifndef S_IFLNK
-# define S_IFLNK 0120000
-#endif
-
-static const char ZIPFILE_SCHEMA[] =
- "CREATE TABLE y("
- "name PRIMARY KEY," /* 0: Name of file in zip archive */
- "mode," /* 1: POSIX mode for file */
- "mtime," /* 2: Last modification time (secs since 1970)*/
- "sz," /* 3: Size of object */
- "rawdata," /* 4: Raw data */
- "data," /* 5: Uncompressed data */
- "method," /* 6: Compression method (integer) */
- "z HIDDEN" /* 7: Name of zip file */
- ") WITHOUT ROWID;";
-
-#define ZIPFILE_F_COLUMN_IDX 7 /* Index of column "file" in the above */
-#define ZIPFILE_BUFFER_SIZE (64*1024)
-
-
-/*
-** Magic numbers used to read and write zip files.
-**
-** ZIPFILE_NEWENTRY_MADEBY:
-** Use this value for the "version-made-by" field in new zip file
-** entries. The upper byte indicates "unix", and the lower byte
-** indicates that the zip file matches pkzip specification 3.0.
-** This is what info-zip seems to do.
-**
-** ZIPFILE_NEWENTRY_REQUIRED:
-** Value for "version-required-to-extract" field of new entries.
-** Version 2.0 is required to support folders and deflate compression.
-**
-** ZIPFILE_NEWENTRY_FLAGS:
-** Value for "general-purpose-bit-flags" field of new entries. Bit
-** 11 means "utf-8 filename and comment".
-**
-** ZIPFILE_SIGNATURE_CDS:
-** First 4 bytes of a valid CDS record.
-**
-** ZIPFILE_SIGNATURE_LFH:
-** First 4 bytes of a valid LFH record.
-**
-** ZIPFILE_SIGNATURE_EOCD
-** First 4 bytes of a valid EOCD record.
-*/
-#define ZIPFILE_EXTRA_TIMESTAMP 0x5455
-#define ZIPFILE_NEWENTRY_MADEBY ((3<<8) + 30)
-#define ZIPFILE_NEWENTRY_REQUIRED 20
-#define ZIPFILE_NEWENTRY_FLAGS 0x800
-#define ZIPFILE_SIGNATURE_CDS 0x02014b50
-#define ZIPFILE_SIGNATURE_LFH 0x04034b50
-#define ZIPFILE_SIGNATURE_EOCD 0x06054b50
-
-/*
-** The sizes of the fixed-size part of each of the three main data
-** structures in a zip archive.
-*/
-#define ZIPFILE_LFH_FIXED_SZ 30
-#define ZIPFILE_EOCD_FIXED_SZ 22
-#define ZIPFILE_CDS_FIXED_SZ 46
-
-/*
-*** 4.3.16 End of central directory record:
-***
-*** end of central dir signature 4 bytes (0x06054b50)
-*** number of this disk 2 bytes
-*** number of the disk with the
-*** start of the central directory 2 bytes
-*** total number of entries in the
-*** central directory on this disk 2 bytes
-*** total number of entries in
-*** the central directory 2 bytes
-*** size of the central directory 4 bytes
-*** offset of start of central
-*** directory with respect to
-*** the starting disk number 4 bytes
-*** .ZIP file comment length 2 bytes
-*** .ZIP file comment (variable size)
-*/
-typedef struct ZipfileEOCD ZipfileEOCD;
-struct ZipfileEOCD {
- u16 iDisk;
- u16 iFirstDisk;
- u16 nEntry;
- u16 nEntryTotal;
- u32 nSize;
- u32 iOffset;
-};
-
-/*
-*** 4.3.12 Central directory structure:
-***
-*** ...
-***
-*** central file header signature 4 bytes (0x02014b50)
-*** version made by 2 bytes
-*** version needed to extract 2 bytes
-*** general purpose bit flag 2 bytes
-*** compression method 2 bytes
-*** last mod file time 2 bytes
-*** last mod file date 2 bytes
-*** crc-32 4 bytes
-*** compressed size 4 bytes
-*** uncompressed size 4 bytes
-*** file name length 2 bytes
-*** extra field length 2 bytes
-*** file comment length 2 bytes
-*** disk number start 2 bytes
-*** internal file attributes 2 bytes
-*** external file attributes 4 bytes
-*** relative offset of local header 4 bytes
-*/
-typedef struct ZipfileCDS ZipfileCDS;
-struct ZipfileCDS {
- u16 iVersionMadeBy;
- u16 iVersionExtract;
- u16 flags;
- u16 iCompression;
- u16 mTime;
- u16 mDate;
- u32 crc32;
- u32 szCompressed;
- u32 szUncompressed;
- u16 nFile;
- u16 nExtra;
- u16 nComment;
- u16 iDiskStart;
- u16 iInternalAttr;
- u32 iExternalAttr;
- u32 iOffset;
- char *zFile; /* Filename (sqlite3_malloc()) */
-};
-
-/*
-*** 4.3.7 Local file header:
-***
-*** local file header signature 4 bytes (0x04034b50)
-*** version needed to extract 2 bytes
-*** general purpose bit flag 2 bytes
-*** compression method 2 bytes
-*** last mod file time 2 bytes
-*** last mod file date 2 bytes
-*** crc-32 4 bytes
-*** compressed size 4 bytes
-*** uncompressed size 4 bytes
-*** file name length 2 bytes
-*** extra field length 2 bytes
-***
-*/
-typedef struct ZipfileLFH ZipfileLFH;
-struct ZipfileLFH {
- u16 iVersionExtract;
- u16 flags;
- u16 iCompression;
- u16 mTime;
- u16 mDate;
- u32 crc32;
- u32 szCompressed;
- u32 szUncompressed;
- u16 nFile;
- u16 nExtra;
-};
-
-typedef struct ZipfileEntry ZipfileEntry;
-struct ZipfileEntry {
- ZipfileCDS cds; /* Parsed CDS record */
- u32 mUnixTime; /* Modification time, in UNIX format */
- u8 *aExtra; /* cds.nExtra+cds.nComment bytes of extra data */
- i64 iDataOff; /* Offset to data in file (if aData==0) */
- u8 *aData; /* cds.szCompressed bytes of compressed data */
- ZipfileEntry *pNext; /* Next element in in-memory CDS */
-};
-
-/*
-** Cursor type for zipfile tables.
-*/
-typedef struct ZipfileCsr ZipfileCsr;
-struct ZipfileCsr {
- sqlite3_vtab_cursor base; /* Base class - must be first */
- i64 iId; /* Cursor ID */
- u8 bEof; /* True when at EOF */
- u8 bNoop; /* If next xNext() call is no-op */
-
- /* Used outside of write transactions */
- FILE *pFile; /* Zip file */
- i64 iNextOff; /* Offset of next record in central directory */
- ZipfileEOCD eocd; /* Parse of central directory record */
-
- ZipfileEntry *pFreeEntry; /* Free this list when cursor is closed or reset */
- ZipfileEntry *pCurrent; /* Current entry */
- ZipfileCsr *pCsrNext; /* Next cursor on same virtual table */
-};
-
-typedef struct ZipfileTab ZipfileTab;
-struct ZipfileTab {
- sqlite3_vtab base; /* Base class - must be first */
- char *zFile; /* Zip file this table accesses (may be NULL) */
- sqlite3 *db; /* Host database connection */
- u8 *aBuffer; /* Temporary buffer used for various tasks */
-
- ZipfileCsr *pCsrList; /* List of cursors */
- i64 iNextCsrid;
-
- /* The following are used by write transactions only */
- ZipfileEntry *pFirstEntry; /* Linked list of all files (if pWriteFd!=0) */
- ZipfileEntry *pLastEntry; /* Last element in pFirstEntry list */
- FILE *pWriteFd; /* File handle open on zip archive */
- i64 szCurrent; /* Current size of zip archive */
- i64 szOrig; /* Size of archive at start of transaction */
-};
-
-/*
-** Set the error message contained in context ctx to the results of
-** vprintf(zFmt, ...).
-*/
-static void zipfileCtxErrorMsg(sqlite3_context *ctx, const char *zFmt, ...){
- char *zMsg = 0;
- va_list ap;
- va_start(ap, zFmt);
- zMsg = sqlite3_vmprintf(zFmt, ap);
- sqlite3_result_error(ctx, zMsg, -1);
- sqlite3_free(zMsg);
- va_end(ap);
-}
-
-/*
-** If string zIn is quoted, dequote it in place. Otherwise, if the string
-** is not quoted, do nothing.
-*/
-static void zipfileDequote(char *zIn){
- char q = zIn[0];
- if( q=='"' || q=='\'' || q=='`' || q=='[' ){
- int iIn = 1;
- int iOut = 0;
- if( q=='[' ) q = ']';
- while( ALWAYS(zIn[iIn]) ){
- char c = zIn[iIn++];
- if( c==q && zIn[iIn++]!=q ) break;
- zIn[iOut++] = c;
- }
- zIn[iOut] = '\0';
- }
-}
-
-/*
-** Construct a new ZipfileTab virtual table object.
-**
-** argv[0] -> module name ("zipfile")
-** argv[1] -> database name
-** argv[2] -> table name
-** argv[...] -> "column name" and other module argument fields.
-*/
-static int zipfileConnect(
- sqlite3 *db,
- void *pAux,
- int argc, const char *const*argv,
- sqlite3_vtab **ppVtab,
- char **pzErr
-){
- int nByte = sizeof(ZipfileTab) + ZIPFILE_BUFFER_SIZE;
- int nFile = 0;
- const char *zFile = 0;
- ZipfileTab *pNew = 0;
- int rc;
-
- /* If the table name is not "zipfile", require that the argument be
- ** specified. This stops zipfile tables from being created as:
- **
- ** CREATE VIRTUAL TABLE zzz USING zipfile();
- **
- ** It does not prevent:
- **
- ** CREATE VIRTUAL TABLE zipfile USING zipfile();
- */
- assert( 0==sqlite3_stricmp(argv[0], "zipfile") );
- if( (0!=sqlite3_stricmp(argv[2], "zipfile") && argc<4) || argc>4 ){
- *pzErr = sqlite3_mprintf("zipfile constructor requires one argument");
- return SQLITE_ERROR;
- }
-
- if( argc>3 ){
- zFile = argv[3];
- nFile = (int)strlen(zFile)+1;
- }
-
- rc = sqlite3_declare_vtab(db, ZIPFILE_SCHEMA);
- if( rc==SQLITE_OK ){
- pNew = (ZipfileTab*)sqlite3_malloc64((sqlite3_int64)nByte+nFile);
- if( pNew==0 ) return SQLITE_NOMEM;
- memset(pNew, 0, nByte+nFile);
- pNew->db = db;
- pNew->aBuffer = (u8*)&pNew[1];
- if( zFile ){
- pNew->zFile = (char*)&pNew->aBuffer[ZIPFILE_BUFFER_SIZE];
- memcpy(pNew->zFile, zFile, nFile);
- zipfileDequote(pNew->zFile);
- }
- }
- sqlite3_vtab_config(db, SQLITE_VTAB_DIRECTONLY);
- *ppVtab = (sqlite3_vtab*)pNew;
- return rc;
-}
-
-/*
-** Free the ZipfileEntry structure indicated by the only argument.
-*/
-static void zipfileEntryFree(ZipfileEntry *p){
- if( p ){
- sqlite3_free(p->cds.zFile);
- sqlite3_free(p);
- }
-}
-
-/*
-** Release resources that should be freed at the end of a write
-** transaction.
-*/
-static void zipfileCleanupTransaction(ZipfileTab *pTab){
- ZipfileEntry *pEntry;
- ZipfileEntry *pNext;
-
- if( pTab->pWriteFd ){
- fclose(pTab->pWriteFd);
- pTab->pWriteFd = 0;
- }
- for(pEntry=pTab->pFirstEntry; pEntry; pEntry=pNext){
- pNext = pEntry->pNext;
- zipfileEntryFree(pEntry);
- }
- pTab->pFirstEntry = 0;
- pTab->pLastEntry = 0;
- pTab->szCurrent = 0;
- pTab->szOrig = 0;
-}
-
-/*
-** This method is the destructor for zipfile vtab objects.
-*/
-static int zipfileDisconnect(sqlite3_vtab *pVtab){
- zipfileCleanupTransaction((ZipfileTab*)pVtab);
- sqlite3_free(pVtab);
- return SQLITE_OK;
-}
-
-/*
-** Constructor for a new ZipfileCsr object.
-*/
-static int zipfileOpen(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCsr){
- ZipfileTab *pTab = (ZipfileTab*)p;
- ZipfileCsr *pCsr;
- pCsr = sqlite3_malloc(sizeof(*pCsr));
- *ppCsr = (sqlite3_vtab_cursor*)pCsr;
- if( pCsr==0 ){
- return SQLITE_NOMEM;
- }
- memset(pCsr, 0, sizeof(*pCsr));
- pCsr->iId = ++pTab->iNextCsrid;
- pCsr->pCsrNext = pTab->pCsrList;
- pTab->pCsrList = pCsr;
- return SQLITE_OK;
-}
-
-/*
-** Reset a cursor back to the state it was in when first returned
-** by zipfileOpen().
-*/
-static void zipfileResetCursor(ZipfileCsr *pCsr){
- ZipfileEntry *p;
- ZipfileEntry *pNext;
-
- pCsr->bEof = 0;
- if( pCsr->pFile ){
- fclose(pCsr->pFile);
- pCsr->pFile = 0;
- zipfileEntryFree(pCsr->pCurrent);
- pCsr->pCurrent = 0;
- }
-
- for(p=pCsr->pFreeEntry; p; p=pNext){
- pNext = p->pNext;
- zipfileEntryFree(p);
- }
-}
-
-/*
-** Destructor for an ZipfileCsr.
-*/
-static int zipfileClose(sqlite3_vtab_cursor *cur){
- ZipfileCsr *pCsr = (ZipfileCsr*)cur;
- ZipfileTab *pTab = (ZipfileTab*)(pCsr->base.pVtab);
- ZipfileCsr **pp;
- zipfileResetCursor(pCsr);
-
- /* Remove this cursor from the ZipfileTab.pCsrList list. */
- for(pp=&pTab->pCsrList; *pp!=pCsr; pp=&((*pp)->pCsrNext));
- *pp = pCsr->pCsrNext;
-
- sqlite3_free(pCsr);
- return SQLITE_OK;
-}
-
-/*
-** Set the error message for the virtual table associated with cursor
-** pCsr to the results of vprintf(zFmt, ...).
-*/
-static void zipfileTableErr(ZipfileTab *pTab, const char *zFmt, ...){
- va_list ap;
- va_start(ap, zFmt);
- sqlite3_free(pTab->base.zErrMsg);
- pTab->base.zErrMsg = sqlite3_vmprintf(zFmt, ap);
- va_end(ap);
-}
-static void zipfileCursorErr(ZipfileCsr *pCsr, const char *zFmt, ...){
- va_list ap;
- va_start(ap, zFmt);
- sqlite3_free(pCsr->base.pVtab->zErrMsg);
- pCsr->base.pVtab->zErrMsg = sqlite3_vmprintf(zFmt, ap);
- va_end(ap);
-}
-
-/*
-** Read nRead bytes of data from offset iOff of file pFile into buffer
-** aRead[]. Return SQLITE_OK if successful, or an SQLite error code
-** otherwise.
-**
-** If an error does occur, output variable (*pzErrmsg) may be set to point
-** to an English language error message. It is the responsibility of the
-** caller to eventually free this buffer using
-** sqlite3_free().
-*/
-static int zipfileReadData(
- FILE *pFile, /* Read from this file */
- u8 *aRead, /* Read into this buffer */
- int nRead, /* Number of bytes to read */
- i64 iOff, /* Offset to read from */
- char **pzErrmsg /* OUT: Error message (from sqlite3_malloc) */
-){
- size_t n;
- fseek(pFile, (long)iOff, SEEK_SET);
- n = fread(aRead, 1, nRead, pFile);
- if( (int)n!=nRead ){
- *pzErrmsg = sqlite3_mprintf("error in fread()");
- return SQLITE_ERROR;
- }
- return SQLITE_OK;
-}
-
-static int zipfileAppendData(
- ZipfileTab *pTab,
- const u8 *aWrite,
- int nWrite
-){
- size_t n;
- fseek(pTab->pWriteFd, (long)pTab->szCurrent, SEEK_SET);
- n = fwrite(aWrite, 1, nWrite, pTab->pWriteFd);
- if( (int)n!=nWrite ){
- pTab->base.zErrMsg = sqlite3_mprintf("error in fwrite()");
- return SQLITE_ERROR;
- }
- pTab->szCurrent += nWrite;
- return SQLITE_OK;
-}
-
-/*
-** Read and return a 16-bit little-endian unsigned integer from buffer aBuf.
-*/
-static u16 zipfileGetU16(const u8 *aBuf){
- return (aBuf[1] << 8) + aBuf[0];
-}
-
-/*
-** Read and return a 32-bit little-endian unsigned integer from buffer aBuf.
-*/
-static u32 zipfileGetU32(const u8 *aBuf){
- return ((u32)(aBuf[3]) << 24)
- + ((u32)(aBuf[2]) << 16)
- + ((u32)(aBuf[1]) << 8)
- + ((u32)(aBuf[0]) << 0);
-}
-
-/*
-** Write a 16-bit little endiate integer into buffer aBuf.
-*/
-static void zipfilePutU16(u8 *aBuf, u16 val){
- aBuf[0] = val & 0xFF;
- aBuf[1] = (val>>8) & 0xFF;
-}
-
-/*
-** Write a 32-bit little endiate integer into buffer aBuf.
-*/
-static void zipfilePutU32(u8 *aBuf, u32 val){
- aBuf[0] = val & 0xFF;
- aBuf[1] = (val>>8) & 0xFF;
- aBuf[2] = (val>>16) & 0xFF;
- aBuf[3] = (val>>24) & 0xFF;
-}
-
-#define zipfileRead32(aBuf) ( aBuf+=4, zipfileGetU32(aBuf-4) )
-#define zipfileRead16(aBuf) ( aBuf+=2, zipfileGetU16(aBuf-2) )
-
-#define zipfileWrite32(aBuf,val) { zipfilePutU32(aBuf,val); aBuf+=4; }
-#define zipfileWrite16(aBuf,val) { zipfilePutU16(aBuf,val); aBuf+=2; }
-
-/*
-** Magic numbers used to read CDS records.
-*/
-#define ZIPFILE_CDS_NFILE_OFF 28
-#define ZIPFILE_CDS_SZCOMPRESSED_OFF 20
-
-/*
-** Decode the CDS record in buffer aBuf into (*pCDS). Return SQLITE_ERROR
-** if the record is not well-formed, or SQLITE_OK otherwise.
-*/
-static int zipfileReadCDS(u8 *aBuf, ZipfileCDS *pCDS){
- u8 *aRead = aBuf;
- u32 sig = zipfileRead32(aRead);
- int rc = SQLITE_OK;
- if( sig!=ZIPFILE_SIGNATURE_CDS ){
- rc = SQLITE_ERROR;
- }else{
- pCDS->iVersionMadeBy = zipfileRead16(aRead);
- pCDS->iVersionExtract = zipfileRead16(aRead);
- pCDS->flags = zipfileRead16(aRead);
- pCDS->iCompression = zipfileRead16(aRead);
- pCDS->mTime = zipfileRead16(aRead);
- pCDS->mDate = zipfileRead16(aRead);
- pCDS->crc32 = zipfileRead32(aRead);
- pCDS->szCompressed = zipfileRead32(aRead);
- pCDS->szUncompressed = zipfileRead32(aRead);
- assert( aRead==&aBuf[ZIPFILE_CDS_NFILE_OFF] );
- pCDS->nFile = zipfileRead16(aRead);
- pCDS->nExtra = zipfileRead16(aRead);
- pCDS->nComment = zipfileRead16(aRead);
- pCDS->iDiskStart = zipfileRead16(aRead);
- pCDS->iInternalAttr = zipfileRead16(aRead);
- pCDS->iExternalAttr = zipfileRead32(aRead);
- pCDS->iOffset = zipfileRead32(aRead);
- assert( aRead==&aBuf[ZIPFILE_CDS_FIXED_SZ] );
- }
-
- return rc;
-}
-
-/*
-** Decode the LFH record in buffer aBuf into (*pLFH). Return SQLITE_ERROR
-** if the record is not well-formed, or SQLITE_OK otherwise.
-*/
-static int zipfileReadLFH(
- u8 *aBuffer,
- ZipfileLFH *pLFH
-){
- u8 *aRead = aBuffer;
- int rc = SQLITE_OK;
-
- u32 sig = zipfileRead32(aRead);
- if( sig!=ZIPFILE_SIGNATURE_LFH ){
- rc = SQLITE_ERROR;
- }else{
- pLFH->iVersionExtract = zipfileRead16(aRead);
- pLFH->flags = zipfileRead16(aRead);
- pLFH->iCompression = zipfileRead16(aRead);
- pLFH->mTime = zipfileRead16(aRead);
- pLFH->mDate = zipfileRead16(aRead);
- pLFH->crc32 = zipfileRead32(aRead);
- pLFH->szCompressed = zipfileRead32(aRead);
- pLFH->szUncompressed = zipfileRead32(aRead);
- pLFH->nFile = zipfileRead16(aRead);
- pLFH->nExtra = zipfileRead16(aRead);
- }
- return rc;
-}
-
-
-/*
-** Buffer aExtra (size nExtra bytes) contains zip archive "extra" fields.
-** Scan through this buffer to find an "extra-timestamp" field. If one
-** exists, extract the 32-bit modification-timestamp from it and store
-** the value in output parameter *pmTime.
-**
-** Zero is returned if no extra-timestamp record could be found (and so
-** *pmTime is left unchanged), or non-zero otherwise.
-**
-** The general format of an extra field is:
-**
-** Header ID 2 bytes
-** Data Size 2 bytes
-** Data N bytes
-*/
-static int zipfileScanExtra(u8 *aExtra, int nExtra, u32 *pmTime){
- int ret = 0;
- u8 *p = aExtra;
- u8 *pEnd = &aExtra[nExtra];
-
- while( p modtime is present */
- *pmTime = zipfileGetU32(&p[1]);
- ret = 1;
- }
- break;
- }
- }
-
- p += nByte;
- }
- return ret;
-}
-
-/*
-** Convert the standard MS-DOS timestamp stored in the mTime and mDate
-** fields of the CDS structure passed as the only argument to a 32-bit
-** UNIX seconds-since-the-epoch timestamp. Return the result.
-**
-** "Standard" MS-DOS time format:
-**
-** File modification time:
-** Bits 00-04: seconds divided by 2
-** Bits 05-10: minute
-** Bits 11-15: hour
-** File modification date:
-** Bits 00-04: day
-** Bits 05-08: month (1-12)
-** Bits 09-15: years from 1980
-**
-** https://msdn.microsoft.com/en-us/library/9kkf9tah.aspx
-*/
-static u32 zipfileMtime(ZipfileCDS *pCDS){
- int Y = (1980 + ((pCDS->mDate >> 9) & 0x7F));
- int M = ((pCDS->mDate >> 5) & 0x0F);
- int D = (pCDS->mDate & 0x1F);
- int B = -13;
-
- int sec = (pCDS->mTime & 0x1F)*2;
- int min = (pCDS->mTime >> 5) & 0x3F;
- int hr = (pCDS->mTime >> 11) & 0x1F;
- i64 JD;
-
- /* JD = INT(365.25 * (Y+4716)) + INT(30.6001 * (M+1)) + D + B - 1524.5 */
-
- /* Calculate the JD in seconds for noon on the day in question */
- if( M<3 ){
- Y = Y-1;
- M = M+12;
- }
- JD = (i64)(24*60*60) * (
- (int)(365.25 * (Y + 4716))
- + (int)(30.6001 * (M + 1))
- + D + B - 1524
- );
-
- /* Correct the JD for the time within the day */
- JD += (hr-12) * 3600 + min * 60 + sec;
-
- /* Convert JD to unix timestamp (the JD epoch is 2440587.5) */
- return (u32)(JD - (i64)(24405875) * 24*60*6);
-}
-
-/*
-** The opposite of zipfileMtime(). This function populates the mTime and
-** mDate fields of the CDS structure passed as the first argument according
-** to the UNIX timestamp value passed as the second.
-*/
-static void zipfileMtimeToDos(ZipfileCDS *pCds, u32 mUnixTime){
- /* Convert unix timestamp to JD (2440588 is noon on 1/1/1970) */
- i64 JD = (i64)2440588 + mUnixTime / (24*60*60);
-
- int A, B, C, D, E;
- int yr, mon, day;
- int hr, min, sec;
-
- A = (int)((JD - 1867216.25)/36524.25);
- A = (int)(JD + 1 + A - (A/4));
- B = A + 1524;
- C = (int)((B - 122.1)/365.25);
- D = (36525*(C&32767))/100;
- E = (int)((B-D)/30.6001);
-
- day = B - D - (int)(30.6001*E);
- mon = (E<14 ? E-1 : E-13);
- yr = mon>2 ? C-4716 : C-4715;
-
- hr = (mUnixTime % (24*60*60)) / (60*60);
- min = (mUnixTime % (60*60)) / 60;
- sec = (mUnixTime % 60);
-
- if( yr>=1980 ){
- pCds->mDate = (u16)(day + (mon << 5) + ((yr-1980) << 9));
- pCds->mTime = (u16)(sec/2 + (min<<5) + (hr<<11));
- }else{
- pCds->mDate = pCds->mTime = 0;
- }
-
- assert( mUnixTime<315507600
- || mUnixTime==zipfileMtime(pCds)
- || ((mUnixTime % 2) && mUnixTime-1==zipfileMtime(pCds))
- /* || (mUnixTime % 2) */
- );
-}
-
-/*
-** If aBlob is not NULL, then it is a pointer to a buffer (nBlob bytes in
-** size) containing an entire zip archive image. Or, if aBlob is NULL,
-** then pFile is a file-handle open on a zip file. In either case, this
-** function creates a ZipfileEntry object based on the zip archive entry
-** for which the CDS record is at offset iOff.
-**
-** If successful, SQLITE_OK is returned and (*ppEntry) set to point to
-** the new object. Otherwise, an SQLite error code is returned and the
-** final value of (*ppEntry) undefined.
-*/
-static int zipfileGetEntry(
- ZipfileTab *pTab, /* Store any error message here */
- const u8 *aBlob, /* Pointer to in-memory file image */
- int nBlob, /* Size of aBlob[] in bytes */
- FILE *pFile, /* If aBlob==0, read from this file */
- i64 iOff, /* Offset of CDS record */
- ZipfileEntry **ppEntry /* OUT: Pointer to new object */
-){
- u8 *aRead;
- char **pzErr = &pTab->base.zErrMsg;
- int rc = SQLITE_OK;
-
- if( aBlob==0 ){
- aRead = pTab->aBuffer;
- rc = zipfileReadData(pFile, aRead, ZIPFILE_CDS_FIXED_SZ, iOff, pzErr);
- }else{
- aRead = (u8*)&aBlob[iOff];
- }
-
- if( rc==SQLITE_OK ){
- sqlite3_int64 nAlloc;
- ZipfileEntry *pNew;
-
- int nFile = zipfileGetU16(&aRead[ZIPFILE_CDS_NFILE_OFF]);
- int nExtra = zipfileGetU16(&aRead[ZIPFILE_CDS_NFILE_OFF+2]);
- nExtra += zipfileGetU16(&aRead[ZIPFILE_CDS_NFILE_OFF+4]);
-
- nAlloc = sizeof(ZipfileEntry) + nExtra;
- if( aBlob ){
- nAlloc += zipfileGetU32(&aRead[ZIPFILE_CDS_SZCOMPRESSED_OFF]);
- }
-
- pNew = (ZipfileEntry*)sqlite3_malloc64(nAlloc);
- if( pNew==0 ){
- rc = SQLITE_NOMEM;
- }else{
- memset(pNew, 0, sizeof(ZipfileEntry));
- rc = zipfileReadCDS(aRead, &pNew->cds);
- if( rc!=SQLITE_OK ){
- *pzErr = sqlite3_mprintf("failed to read CDS at offset %lld", iOff);
- }else if( aBlob==0 ){
- rc = zipfileReadData(
- pFile, aRead, nExtra+nFile, iOff+ZIPFILE_CDS_FIXED_SZ, pzErr
- );
- }else{
- aRead = (u8*)&aBlob[iOff + ZIPFILE_CDS_FIXED_SZ];
- }
- }
-
- if( rc==SQLITE_OK ){
- u32 *pt = &pNew->mUnixTime;
- pNew->cds.zFile = sqlite3_mprintf("%.*s", nFile, aRead);
- pNew->aExtra = (u8*)&pNew[1];
- memcpy(pNew->aExtra, &aRead[nFile], nExtra);
- if( pNew->cds.zFile==0 ){
- rc = SQLITE_NOMEM;
- }else if( 0==zipfileScanExtra(&aRead[nFile], pNew->cds.nExtra, pt) ){
- pNew->mUnixTime = zipfileMtime(&pNew->cds);
- }
- }
-
- if( rc==SQLITE_OK ){
- static const int szFix = ZIPFILE_LFH_FIXED_SZ;
- ZipfileLFH lfh;
- if( pFile ){
- rc = zipfileReadData(pFile, aRead, szFix, pNew->cds.iOffset, pzErr);
- }else{
- aRead = (u8*)&aBlob[pNew->cds.iOffset];
- }
-
- rc = zipfileReadLFH(aRead, &lfh);
- if( rc==SQLITE_OK ){
- pNew->iDataOff = pNew->cds.iOffset + ZIPFILE_LFH_FIXED_SZ;
- pNew->iDataOff += lfh.nFile + lfh.nExtra;
- if( aBlob && pNew->cds.szCompressed ){
- pNew->aData = &pNew->aExtra[nExtra];
- memcpy(pNew->aData, &aBlob[pNew->iDataOff], pNew->cds.szCompressed);
- }
- }else{
- *pzErr = sqlite3_mprintf("failed to read LFH at offset %d",
- (int)pNew->cds.iOffset
- );
- }
- }
-
- if( rc!=SQLITE_OK ){
- zipfileEntryFree(pNew);
- }else{
- *ppEntry = pNew;
- }
- }
-
- return rc;
-}
-
-/*
-** Advance an ZipfileCsr to its next row of output.
-*/
-static int zipfileNext(sqlite3_vtab_cursor *cur){
- ZipfileCsr *pCsr = (ZipfileCsr*)cur;
- int rc = SQLITE_OK;
-
- if( pCsr->pFile ){
- i64 iEof = pCsr->eocd.iOffset + pCsr->eocd.nSize;
- zipfileEntryFree(pCsr->pCurrent);
- pCsr->pCurrent = 0;
- if( pCsr->iNextOff>=iEof ){
- pCsr->bEof = 1;
- }else{
- ZipfileEntry *p = 0;
- ZipfileTab *pTab = (ZipfileTab*)(cur->pVtab);
- rc = zipfileGetEntry(pTab, 0, 0, pCsr->pFile, pCsr->iNextOff, &p);
- if( rc==SQLITE_OK ){
- pCsr->iNextOff += ZIPFILE_CDS_FIXED_SZ;
- pCsr->iNextOff += (int)p->cds.nExtra + p->cds.nFile + p->cds.nComment;
- }
- pCsr->pCurrent = p;
- }
- }else{
- if( !pCsr->bNoop ){
- pCsr->pCurrent = pCsr->pCurrent->pNext;
- }
- if( pCsr->pCurrent==0 ){
- pCsr->bEof = 1;
- }
- }
-
- pCsr->bNoop = 0;
- return rc;
-}
-
-static void zipfileFree(void *p) {
- sqlite3_free(p);
-}
-
-/*
-** Buffer aIn (size nIn bytes) contains compressed data. Uncompressed, the
-** size is nOut bytes. This function uncompresses the data and sets the
-** return value in context pCtx to the result (a blob).
-**
-** If an error occurs, an error code is left in pCtx instead.
-*/
-static void zipfileInflate(
- sqlite3_context *pCtx, /* Store result here */
- const u8 *aIn, /* Compressed data */
- int nIn, /* Size of buffer aIn[] in bytes */
- int nOut /* Expected output size */
-){
- u8 *aRes = sqlite3_malloc(nOut);
- if( aRes==0 ){
- sqlite3_result_error_nomem(pCtx);
- }else{
- int err;
- z_stream str;
- memset(&str, 0, sizeof(str));
-
- str.next_in = (Byte*)aIn;
- str.avail_in = nIn;
- str.next_out = (Byte*)aRes;
- str.avail_out = nOut;
-
- err = inflateInit2(&str, -15);
- if( err!=Z_OK ){
- zipfileCtxErrorMsg(pCtx, "inflateInit2() failed (%d)", err);
- }else{
- err = inflate(&str, Z_NO_FLUSH);
- if( err!=Z_STREAM_END ){
- zipfileCtxErrorMsg(pCtx, "inflate() failed (%d)", err);
- }else{
- sqlite3_result_blob(pCtx, aRes, nOut, zipfileFree);
- aRes = 0;
- }
- }
- sqlite3_free(aRes);
- inflateEnd(&str);
- }
-}
-
-/*
-** Buffer aIn (size nIn bytes) contains uncompressed data. This function
-** compresses it and sets (*ppOut) to point to a buffer containing the
-** compressed data. The caller is responsible for eventually calling
-** sqlite3_free() to release buffer (*ppOut). Before returning, (*pnOut)
-** is set to the size of buffer (*ppOut) in bytes.
-**
-** If no error occurs, SQLITE_OK is returned. Otherwise, an SQLite error
-** code is returned and an error message left in virtual-table handle
-** pTab. The values of (*ppOut) and (*pnOut) are left unchanged in this
-** case.
-*/
-static int zipfileDeflate(
- const u8 *aIn, int nIn, /* Input */
- u8 **ppOut, int *pnOut, /* Output */
- char **pzErr /* OUT: Error message */
-){
- int rc = SQLITE_OK;
- sqlite3_int64 nAlloc;
- z_stream str;
- u8 *aOut;
-
- memset(&str, 0, sizeof(str));
- str.next_in = (Bytef*)aIn;
- str.avail_in = nIn;
- deflateInit2(&str, 9, Z_DEFLATED, -15, 8, Z_DEFAULT_STRATEGY);
-
- nAlloc = deflateBound(&str, nIn);
- aOut = (u8*)sqlite3_malloc64(nAlloc);
- if( aOut==0 ){
- rc = SQLITE_NOMEM;
- }else{
- int res;
- str.next_out = aOut;
- str.avail_out = nAlloc;
- res = deflate(&str, Z_FINISH);
- if( res==Z_STREAM_END ){
- *ppOut = aOut;
- *pnOut = (int)str.total_out;
- }else{
- sqlite3_free(aOut);
- *pzErr = sqlite3_mprintf("zipfile: deflate() error");
- rc = SQLITE_ERROR;
- }
- deflateEnd(&str);
- }
-
- return rc;
-}
-
-
-/*
-** Return values of columns for the row at which the series_cursor
-** is currently pointing.
-*/
-static int zipfileColumn(
- sqlite3_vtab_cursor *cur, /* The cursor */
- sqlite3_context *ctx, /* First argument to sqlite3_result_...() */
- int i /* Which column to return */
-){
- ZipfileCsr *pCsr = (ZipfileCsr*)cur;
- ZipfileCDS *pCDS = &pCsr->pCurrent->cds;
- int rc = SQLITE_OK;
- switch( i ){
- case 0: /* name */
- sqlite3_result_text(ctx, pCDS->zFile, -1, SQLITE_TRANSIENT);
- break;
- case 1: /* mode */
- /* TODO: Whether or not the following is correct surely depends on
- ** the platform on which the archive was created. */
- sqlite3_result_int(ctx, pCDS->iExternalAttr >> 16);
- break;
- case 2: { /* mtime */
- sqlite3_result_int64(ctx, pCsr->pCurrent->mUnixTime);
- break;
- }
- case 3: { /* sz */
- if( sqlite3_vtab_nochange(ctx)==0 ){
- sqlite3_result_int64(ctx, pCDS->szUncompressed);
- }
- break;
- }
- case 4: /* rawdata */
- if( sqlite3_vtab_nochange(ctx) ) break;
- case 5: { /* data */
- if( i==4 || pCDS->iCompression==0 || pCDS->iCompression==8 ){
- int sz = pCDS->szCompressed;
- int szFinal = pCDS->szUncompressed;
- if( szFinal>0 ){
- u8 *aBuf;
- u8 *aFree = 0;
- if( pCsr->pCurrent->aData ){
- aBuf = pCsr->pCurrent->aData;
- }else{
- aBuf = aFree = sqlite3_malloc64(sz);
- if( aBuf==0 ){
- rc = SQLITE_NOMEM;
- }else{
- FILE *pFile = pCsr->pFile;
- if( pFile==0 ){
- pFile = ((ZipfileTab*)(pCsr->base.pVtab))->pWriteFd;
- }
- rc = zipfileReadData(pFile, aBuf, sz, pCsr->pCurrent->iDataOff,
- &pCsr->base.pVtab->zErrMsg
- );
- }
- }
- if( rc==SQLITE_OK ){
- if( i==5 && pCDS->iCompression ){
- zipfileInflate(ctx, aBuf, sz, szFinal);
- }else{
- sqlite3_result_blob(ctx, aBuf, sz, SQLITE_TRANSIENT);
- }
- }
- sqlite3_free(aFree);
- }else{
- /* Figure out if this is a directory or a zero-sized file. Consider
- ** it to be a directory either if the mode suggests so, or if
- ** the final character in the name is '/'. */
- u32 mode = pCDS->iExternalAttr >> 16;
- if( !(mode & S_IFDIR) && pCDS->zFile[pCDS->nFile-1]!='/' ){
- sqlite3_result_blob(ctx, "", 0, SQLITE_STATIC);
- }
- }
- }
- break;
- }
- case 6: /* method */
- sqlite3_result_int(ctx, pCDS->iCompression);
- break;
- default: /* z */
- assert( i==7 );
- sqlite3_result_int64(ctx, pCsr->iId);
- break;
- }
-
- return rc;
-}
-
-/*
-** Return TRUE if the cursor is at EOF.
-*/
-static int zipfileEof(sqlite3_vtab_cursor *cur){
- ZipfileCsr *pCsr = (ZipfileCsr*)cur;
- return pCsr->bEof;
-}
-
-/*
-** If aBlob is not NULL, then it points to a buffer nBlob bytes in size
-** containing an entire zip archive image. Or, if aBlob is NULL, then pFile
-** is guaranteed to be a file-handle open on a zip file.
-**
-** This function attempts to locate the EOCD record within the zip archive
-** and populate *pEOCD with the results of decoding it. SQLITE_OK is
-** returned if successful. Otherwise, an SQLite error code is returned and
-** an English language error message may be left in virtual-table pTab.
-*/
-static int zipfileReadEOCD(
- ZipfileTab *pTab, /* Return errors here */
- const u8 *aBlob, /* Pointer to in-memory file image */
- int nBlob, /* Size of aBlob[] in bytes */
- FILE *pFile, /* Read from this file if aBlob==0 */
- ZipfileEOCD *pEOCD /* Object to populate */
-){
- u8 *aRead = pTab->aBuffer; /* Temporary buffer */
- int nRead; /* Bytes to read from file */
- int rc = SQLITE_OK;
-
- if( aBlob==0 ){
- i64 iOff; /* Offset to read from */
- i64 szFile; /* Total size of file in bytes */
- fseek(pFile, 0, SEEK_END);
- szFile = (i64)ftell(pFile);
- if( szFile==0 ){
- memset(pEOCD, 0, sizeof(ZipfileEOCD));
- return SQLITE_OK;
- }
- nRead = (int)(MIN(szFile, ZIPFILE_BUFFER_SIZE));
- iOff = szFile - nRead;
- rc = zipfileReadData(pFile, aRead, nRead, iOff, &pTab->base.zErrMsg);
- }else{
- nRead = (int)(MIN(nBlob, ZIPFILE_BUFFER_SIZE));
- aRead = (u8*)&aBlob[nBlob-nRead];
- }
-
- if( rc==SQLITE_OK ){
- int i;
-
- /* Scan backwards looking for the signature bytes */
- for(i=nRead-20; i>=0; i--){
- if( aRead[i]==0x50 && aRead[i+1]==0x4b
- && aRead[i+2]==0x05 && aRead[i+3]==0x06
- ){
- break;
- }
- }
- if( i<0 ){
- pTab->base.zErrMsg = sqlite3_mprintf(
- "cannot find end of central directory record"
- );
- return SQLITE_ERROR;
- }
-
- aRead += i+4;
- pEOCD->iDisk = zipfileRead16(aRead);
- pEOCD->iFirstDisk = zipfileRead16(aRead);
- pEOCD->nEntry = zipfileRead16(aRead);
- pEOCD->nEntryTotal = zipfileRead16(aRead);
- pEOCD->nSize = zipfileRead32(aRead);
- pEOCD->iOffset = zipfileRead32(aRead);
- }
-
- return rc;
-}
-
-/*
-** Add object pNew to the linked list that begins at ZipfileTab.pFirstEntry
-** and ends with pLastEntry. If argument pBefore is NULL, then pNew is added
-** to the end of the list. Otherwise, it is added to the list immediately
-** before pBefore (which is guaranteed to be a part of said list).
-*/
-static void zipfileAddEntry(
- ZipfileTab *pTab,
- ZipfileEntry *pBefore,
- ZipfileEntry *pNew
-){
- assert( (pTab->pFirstEntry==0)==(pTab->pLastEntry==0) );
- assert( pNew->pNext==0 );
- if( pBefore==0 ){
- if( pTab->pFirstEntry==0 ){
- pTab->pFirstEntry = pTab->pLastEntry = pNew;
- }else{
- assert( pTab->pLastEntry->pNext==0 );
- pTab->pLastEntry->pNext = pNew;
- pTab->pLastEntry = pNew;
- }
- }else{
- ZipfileEntry **pp;
- for(pp=&pTab->pFirstEntry; *pp!=pBefore; pp=&((*pp)->pNext));
- pNew->pNext = pBefore;
- *pp = pNew;
- }
-}
-
-static int zipfileLoadDirectory(ZipfileTab *pTab, const u8 *aBlob, int nBlob){
- ZipfileEOCD eocd;
- int rc;
- int i;
- i64 iOff;
-
- rc = zipfileReadEOCD(pTab, aBlob, nBlob, pTab->pWriteFd, &eocd);
- iOff = eocd.iOffset;
- for(i=0; rc==SQLITE_OK && ipWriteFd, iOff, &pNew);
-
- if( rc==SQLITE_OK ){
- zipfileAddEntry(pTab, 0, pNew);
- iOff += ZIPFILE_CDS_FIXED_SZ;
- iOff += (int)pNew->cds.nExtra + pNew->cds.nFile + pNew->cds.nComment;
- }
- }
- return rc;
-}
-
-/*
-** xFilter callback.
-*/
-static int zipfileFilter(
- sqlite3_vtab_cursor *cur,
- int idxNum, const char *idxStr,
- int argc, sqlite3_value **argv
-){
- ZipfileTab *pTab = (ZipfileTab*)cur->pVtab;
- ZipfileCsr *pCsr = (ZipfileCsr*)cur;
- const char *zFile = 0; /* Zip file to scan */
- int rc = SQLITE_OK; /* Return Code */
- int bInMemory = 0; /* True for an in-memory zipfile */
-
- zipfileResetCursor(pCsr);
-
- if( pTab->zFile ){
- zFile = pTab->zFile;
- }else if( idxNum==0 ){
- zipfileCursorErr(pCsr, "zipfile() function requires an argument");
- return SQLITE_ERROR;
- }else if( sqlite3_value_type(argv[0])==SQLITE_BLOB ){
- const u8 *aBlob = (const u8*)sqlite3_value_blob(argv[0]);
- int nBlob = sqlite3_value_bytes(argv[0]);
- assert( pTab->pFirstEntry==0 );
- rc = zipfileLoadDirectory(pTab, aBlob, nBlob);
- pCsr->pFreeEntry = pTab->pFirstEntry;
- pTab->pFirstEntry = pTab->pLastEntry = 0;
- if( rc!=SQLITE_OK ) return rc;
- bInMemory = 1;
- }else{
- zFile = (const char*)sqlite3_value_text(argv[0]);
- }
-
- if( 0==pTab->pWriteFd && 0==bInMemory ){
- pCsr->pFile = fopen(zFile, "rb");
- if( pCsr->pFile==0 ){
- zipfileCursorErr(pCsr, "cannot open file: %s", zFile);
- rc = SQLITE_ERROR;
- }else{
- rc = zipfileReadEOCD(pTab, 0, 0, pCsr->pFile, &pCsr->eocd);
- if( rc==SQLITE_OK ){
- if( pCsr->eocd.nEntry==0 ){
- pCsr->bEof = 1;
- }else{
- pCsr->iNextOff = pCsr->eocd.iOffset;
- rc = zipfileNext(cur);
- }
- }
- }
- }else{
- pCsr->bNoop = 1;
- pCsr->pCurrent = pCsr->pFreeEntry ? pCsr->pFreeEntry : pTab->pFirstEntry;
- rc = zipfileNext(cur);
- }
-
- return rc;
-}
-
-/*
-** xBestIndex callback.
-*/
-static int zipfileBestIndex(
- sqlite3_vtab *tab,
- sqlite3_index_info *pIdxInfo
-){
- int i;
- int idx = -1;
- int unusable = 0;
-
- for(i=0; inConstraint; i++){
- const struct sqlite3_index_constraint *pCons = &pIdxInfo->aConstraint[i];
- if( pCons->iColumn!=ZIPFILE_F_COLUMN_IDX ) continue;
- if( pCons->usable==0 ){
- unusable = 1;
- }else if( pCons->op==SQLITE_INDEX_CONSTRAINT_EQ ){
- idx = i;
- }
- }
- pIdxInfo->estimatedCost = 1000.0;
- if( idx>=0 ){
- pIdxInfo->aConstraintUsage[idx].argvIndex = 1;
- pIdxInfo->aConstraintUsage[idx].omit = 1;
- pIdxInfo->idxNum = 1;
- }else if( unusable ){
- return SQLITE_CONSTRAINT;
- }
- return SQLITE_OK;
-}
-
-static ZipfileEntry *zipfileNewEntry(const char *zPath){
- ZipfileEntry *pNew;
- pNew = sqlite3_malloc(sizeof(ZipfileEntry));
- if( pNew ){
- memset(pNew, 0, sizeof(ZipfileEntry));
- pNew->cds.zFile = sqlite3_mprintf("%s", zPath);
- if( pNew->cds.zFile==0 ){
- sqlite3_free(pNew);
- pNew = 0;
- }
- }
- return pNew;
-}
-
-static int zipfileSerializeLFH(ZipfileEntry *pEntry, u8 *aBuf){
- ZipfileCDS *pCds = &pEntry->cds;
- u8 *a = aBuf;
-
- pCds->nExtra = 9;
-
- /* Write the LFH itself */
- zipfileWrite32(a, ZIPFILE_SIGNATURE_LFH);
- zipfileWrite16(a, pCds->iVersionExtract);
- zipfileWrite16(a, pCds->flags);
- zipfileWrite16(a, pCds->iCompression);
- zipfileWrite16(a, pCds->mTime);
- zipfileWrite16(a, pCds->mDate);
- zipfileWrite32(a, pCds->crc32);
- zipfileWrite32(a, pCds->szCompressed);
- zipfileWrite32(a, pCds->szUncompressed);
- zipfileWrite16(a, (u16)pCds->nFile);
- zipfileWrite16(a, pCds->nExtra);
- assert( a==&aBuf[ZIPFILE_LFH_FIXED_SZ] );
-
- /* Add the file name */
- memcpy(a, pCds->zFile, (int)pCds->nFile);
- a += (int)pCds->nFile;
-
- /* The "extra" data */
- zipfileWrite16(a, ZIPFILE_EXTRA_TIMESTAMP);
- zipfileWrite16(a, 5);
- *a++ = 0x01;
- zipfileWrite32(a, pEntry->mUnixTime);
-
- return a-aBuf;
-}
-
-static int zipfileAppendEntry(
- ZipfileTab *pTab,
- ZipfileEntry *pEntry,
- const u8 *pData,
- int nData
-){
- u8 *aBuf = pTab->aBuffer;
- int nBuf;
- int rc;
-
- nBuf = zipfileSerializeLFH(pEntry, aBuf);
- rc = zipfileAppendData(pTab, aBuf, nBuf);
- if( rc==SQLITE_OK ){
- pEntry->iDataOff = pTab->szCurrent;
- rc = zipfileAppendData(pTab, pData, nData);
- }
-
- return rc;
-}
-
-static int zipfileGetMode(
- sqlite3_value *pVal,
- int bIsDir, /* If true, default to directory */
- u32 *pMode, /* OUT: Mode value */
- char **pzErr /* OUT: Error message */
-){
- const char *z = (const char*)sqlite3_value_text(pVal);
- u32 mode = 0;
- if( z==0 ){
- mode = (bIsDir ? (S_IFDIR + 0755) : (S_IFREG + 0644));
- }else if( z[0]>='0' && z[0]<='9' ){
- mode = (unsigned int)sqlite3_value_int(pVal);
- }else{
- const char zTemplate[11] = "-rwxrwxrwx";
- int i;
- if( strlen(z)!=10 ) goto parse_error;
- switch( z[0] ){
- case '-': mode |= S_IFREG; break;
- case 'd': mode |= S_IFDIR; break;
- case 'l': mode |= S_IFLNK; break;
- default: goto parse_error;
- }
- for(i=1; i<10; i++){
- if( z[i]==zTemplate[i] ) mode |= 1 << (9-i);
- else if( z[i]!='-' ) goto parse_error;
- }
- }
- if( ((mode & S_IFDIR)==0)==bIsDir ){
- /* The "mode" attribute is a directory, but data has been specified.
- ** Or vice-versa - no data but "mode" is a file or symlink. */
- *pzErr = sqlite3_mprintf("zipfile: mode does not match data");
- return SQLITE_CONSTRAINT;
- }
- *pMode = mode;
- return SQLITE_OK;
-
- parse_error:
- *pzErr = sqlite3_mprintf("zipfile: parse error in mode: %s", z);
- return SQLITE_ERROR;
-}
-
-/*
-** Both (const char*) arguments point to nul-terminated strings. Argument
-** nB is the value of strlen(zB). This function returns 0 if the strings are
-** identical, ignoring any trailing '/' character in either path. */
-static int zipfileComparePath(const char *zA, const char *zB, int nB){
- int nA = (int)strlen(zA);
- if( nA>0 && zA[nA-1]=='/' ) nA--;
- if( nB>0 && zB[nB-1]=='/' ) nB--;
- if( nA==nB && memcmp(zA, zB, nA)==0 ) return 0;
- return 1;
-}
-
-static int zipfileBegin(sqlite3_vtab *pVtab){
- ZipfileTab *pTab = (ZipfileTab*)pVtab;
- int rc = SQLITE_OK;
-
- assert( pTab->pWriteFd==0 );
- if( pTab->zFile==0 || pTab->zFile[0]==0 ){
- pTab->base.zErrMsg = sqlite3_mprintf("zipfile: missing filename");
- return SQLITE_ERROR;
- }
-
- /* Open a write fd on the file. Also load the entire central directory
- ** structure into memory. During the transaction any new file data is
- ** appended to the archive file, but the central directory is accumulated
- ** in main-memory until the transaction is committed. */
- pTab->pWriteFd = fopen(pTab->zFile, "ab+");
- if( pTab->pWriteFd==0 ){
- pTab->base.zErrMsg = sqlite3_mprintf(
- "zipfile: failed to open file %s for writing", pTab->zFile
- );
- rc = SQLITE_ERROR;
- }else{
- fseek(pTab->pWriteFd, 0, SEEK_END);
- pTab->szCurrent = pTab->szOrig = (i64)ftell(pTab->pWriteFd);
- rc = zipfileLoadDirectory(pTab, 0, 0);
- }
-
- if( rc!=SQLITE_OK ){
- zipfileCleanupTransaction(pTab);
- }
-
- return rc;
-}
-
-/*
-** Return the current time as a 32-bit timestamp in UNIX epoch format (like
-** time(2)).
-*/
-static u32 zipfileTime(void){
- sqlite3_vfs *pVfs = sqlite3_vfs_find(0);
- u32 ret;
- if( pVfs->iVersion>=2 && pVfs->xCurrentTimeInt64 ){
- i64 ms;
- pVfs->xCurrentTimeInt64(pVfs, &ms);
- ret = (u32)((ms/1000) - ((i64)24405875 * 8640));
- }else{
- double day;
- pVfs->xCurrentTime(pVfs, &day);
- ret = (u32)((day - 2440587.5) * 86400);
- }
- return ret;
-}
-
-/*
-** Return a 32-bit timestamp in UNIX epoch format.
-**
-** If the value passed as the only argument is either NULL or an SQL NULL,
-** return the current time. Otherwise, return the value stored in (*pVal)
-** cast to a 32-bit unsigned integer.
-*/
-static u32 zipfileGetTime(sqlite3_value *pVal){
- if( pVal==0 || sqlite3_value_type(pVal)==SQLITE_NULL ){
- return zipfileTime();
- }
- return (u32)sqlite3_value_int64(pVal);
-}
-
-/*
-** Unless it is NULL, entry pOld is currently part of the pTab->pFirstEntry
-** linked list. Remove it from the list and free the object.
-*/
-static void zipfileRemoveEntryFromList(ZipfileTab *pTab, ZipfileEntry *pOld){
- if( pOld ){
- ZipfileEntry **pp;
- for(pp=&pTab->pFirstEntry; (*pp)!=pOld; pp=&((*pp)->pNext));
- *pp = (*pp)->pNext;
- zipfileEntryFree(pOld);
- }
-}
-
-/*
-** xUpdate method.
-*/
-static int zipfileUpdate(
- sqlite3_vtab *pVtab,
- int nVal,
- sqlite3_value **apVal,
- sqlite_int64 *pRowid
-){
- ZipfileTab *pTab = (ZipfileTab*)pVtab;
- int rc = SQLITE_OK; /* Return Code */
- ZipfileEntry *pNew = 0; /* New in-memory CDS entry */
-
- u32 mode = 0; /* Mode for new entry */
- u32 mTime = 0; /* Modification time for new entry */
- i64 sz = 0; /* Uncompressed size */
- const char *zPath = 0; /* Path for new entry */
- int nPath = 0; /* strlen(zPath) */
- const u8 *pData = 0; /* Pointer to buffer containing content */
- int nData = 0; /* Size of pData buffer in bytes */
- int iMethod = 0; /* Compression method for new entry */
- u8 *pFree = 0; /* Free this */
- char *zFree = 0; /* Also free this */
- ZipfileEntry *pOld = 0;
- ZipfileEntry *pOld2 = 0;
- int bUpdate = 0; /* True for an update that modifies "name" */
- int bIsDir = 0;
- u32 iCrc32 = 0;
-
- if( pTab->pWriteFd==0 ){
- rc = zipfileBegin(pVtab);
- if( rc!=SQLITE_OK ) return rc;
- }
-
- /* If this is a DELETE or UPDATE, find the archive entry to delete. */
- if( sqlite3_value_type(apVal[0])!=SQLITE_NULL ){
- const char *zDelete = (const char*)sqlite3_value_text(apVal[0]);
- int nDelete = (int)strlen(zDelete);
- if( nVal>1 ){
- const char *zUpdate = (const char*)sqlite3_value_text(apVal[1]);
- if( zUpdate && zipfileComparePath(zUpdate, zDelete, nDelete)!=0 ){
- bUpdate = 1;
- }
- }
- for(pOld=pTab->pFirstEntry; 1; pOld=pOld->pNext){
- if( zipfileComparePath(pOld->cds.zFile, zDelete, nDelete)==0 ){
- break;
- }
- assert( pOld->pNext );
- }
- }
-
- if( nVal>1 ){
- /* Check that "sz" and "rawdata" are both NULL: */
- if( sqlite3_value_type(apVal[5])!=SQLITE_NULL ){
- zipfileTableErr(pTab, "sz must be NULL");
- rc = SQLITE_CONSTRAINT;
- }
- if( sqlite3_value_type(apVal[6])!=SQLITE_NULL ){
- zipfileTableErr(pTab, "rawdata must be NULL");
- rc = SQLITE_CONSTRAINT;
- }
-
- if( rc==SQLITE_OK ){
- if( sqlite3_value_type(apVal[7])==SQLITE_NULL ){
- /* data=NULL. A directory */
- bIsDir = 1;
- }else{
- /* Value specified for "data", and possibly "method". This must be
- ** a regular file or a symlink. */
- const u8 *aIn = sqlite3_value_blob(apVal[7]);
- int nIn = sqlite3_value_bytes(apVal[7]);
- int bAuto = sqlite3_value_type(apVal[8])==SQLITE_NULL;
-
- iMethod = sqlite3_value_int(apVal[8]);
- sz = nIn;
- pData = aIn;
- nData = nIn;
- if( iMethod!=0 && iMethod!=8 ){
- zipfileTableErr(pTab, "unknown compression method: %d", iMethod);
- rc = SQLITE_CONSTRAINT;
- }else{
- if( bAuto || iMethod ){
- int nCmp;
- rc = zipfileDeflate(aIn, nIn, &pFree, &nCmp, &pTab->base.zErrMsg);
- if( rc==SQLITE_OK ){
- if( iMethod || nCmpbase.zErrMsg);
- }
-
- if( rc==SQLITE_OK ){
- zPath = (const char*)sqlite3_value_text(apVal[2]);
- if( zPath==0 ) zPath = "";
- nPath = (int)strlen(zPath);
- mTime = zipfileGetTime(apVal[4]);
- }
-
- if( rc==SQLITE_OK && bIsDir ){
- /* For a directory, check that the last character in the path is a
- ** '/'. This appears to be required for compatibility with info-zip
- ** (the unzip command on unix). It does not create directories
- ** otherwise. */
- if( nPath<=0 || zPath[nPath-1]!='/' ){
- zFree = sqlite3_mprintf("%s/", zPath);
- zPath = (const char*)zFree;
- if( zFree==0 ){
- rc = SQLITE_NOMEM;
- nPath = 0;
- }else{
- nPath = (int)strlen(zPath);
- }
- }
- }
-
- /* Check that we're not inserting a duplicate entry -OR- updating an
- ** entry with a path, thereby making it into a duplicate. */
- if( (pOld==0 || bUpdate) && rc==SQLITE_OK ){
- ZipfileEntry *p;
- for(p=pTab->pFirstEntry; p; p=p->pNext){
- if( zipfileComparePath(p->cds.zFile, zPath, nPath)==0 ){
- switch( sqlite3_vtab_on_conflict(pTab->db) ){
- case SQLITE_IGNORE: {
- goto zipfile_update_done;
- }
- case SQLITE_REPLACE: {
- pOld2 = p;
- break;
- }
- default: {
- zipfileTableErr(pTab, "duplicate name: \"%s\"", zPath);
- rc = SQLITE_CONSTRAINT;
- break;
- }
- }
- break;
- }
- }
- }
-
- if( rc==SQLITE_OK ){
- /* Create the new CDS record. */
- pNew = zipfileNewEntry(zPath);
- if( pNew==0 ){
- rc = SQLITE_NOMEM;
- }else{
- pNew->cds.iVersionMadeBy = ZIPFILE_NEWENTRY_MADEBY;
- pNew->cds.iVersionExtract = ZIPFILE_NEWENTRY_REQUIRED;
- pNew->cds.flags = ZIPFILE_NEWENTRY_FLAGS;
- pNew->cds.iCompression = (u16)iMethod;
- zipfileMtimeToDos(&pNew->cds, mTime);
- pNew->cds.crc32 = iCrc32;
- pNew->cds.szCompressed = nData;
- pNew->cds.szUncompressed = (u32)sz;
- pNew->cds.iExternalAttr = (mode<<16);
- pNew->cds.iOffset = (u32)pTab->szCurrent;
- pNew->cds.nFile = (u16)nPath;
- pNew->mUnixTime = (u32)mTime;
- rc = zipfileAppendEntry(pTab, pNew, pData, nData);
- zipfileAddEntry(pTab, pOld, pNew);
- }
- }
- }
-
- if( rc==SQLITE_OK && (pOld || pOld2) ){
- ZipfileCsr *pCsr;
- for(pCsr=pTab->pCsrList; pCsr; pCsr=pCsr->pCsrNext){
- if( pCsr->pCurrent && (pCsr->pCurrent==pOld || pCsr->pCurrent==pOld2) ){
- pCsr->pCurrent = pCsr->pCurrent->pNext;
- pCsr->bNoop = 1;
- }
- }
-
- zipfileRemoveEntryFromList(pTab, pOld);
- zipfileRemoveEntryFromList(pTab, pOld2);
- }
-
-zipfile_update_done:
- sqlite3_free(pFree);
- sqlite3_free(zFree);
- return rc;
-}
-
-static int zipfileSerializeEOCD(ZipfileEOCD *p, u8 *aBuf){
- u8 *a = aBuf;
- zipfileWrite32(a, ZIPFILE_SIGNATURE_EOCD);
- zipfileWrite16(a, p->iDisk);
- zipfileWrite16(a, p->iFirstDisk);
- zipfileWrite16(a, p->nEntry);
- zipfileWrite16(a, p->nEntryTotal);
- zipfileWrite32(a, p->nSize);
- zipfileWrite32(a, p->iOffset);
- zipfileWrite16(a, 0); /* Size of trailing comment in bytes*/
-
- return a-aBuf;
-}
-
-static int zipfileAppendEOCD(ZipfileTab *pTab, ZipfileEOCD *p){
- int nBuf = zipfileSerializeEOCD(p, pTab->aBuffer);
- assert( nBuf==ZIPFILE_EOCD_FIXED_SZ );
- return zipfileAppendData(pTab, pTab->aBuffer, nBuf);
-}
-
-/*
-** Serialize the CDS structure into buffer aBuf[]. Return the number
-** of bytes written.
-*/
-static int zipfileSerializeCDS(ZipfileEntry *pEntry, u8 *aBuf){
- u8 *a = aBuf;
- ZipfileCDS *pCDS = &pEntry->cds;
-
- if( pEntry->aExtra==0 ){
- pCDS->nExtra = 9;
- }
-
- zipfileWrite32(a, ZIPFILE_SIGNATURE_CDS);
- zipfileWrite16(a, pCDS->iVersionMadeBy);
- zipfileWrite16(a, pCDS->iVersionExtract);
- zipfileWrite16(a, pCDS->flags);
- zipfileWrite16(a, pCDS->iCompression);
- zipfileWrite16(a, pCDS->mTime);
- zipfileWrite16(a, pCDS->mDate);
- zipfileWrite32(a, pCDS->crc32);
- zipfileWrite32(a, pCDS->szCompressed);
- zipfileWrite32(a, pCDS->szUncompressed);
- assert( a==&aBuf[ZIPFILE_CDS_NFILE_OFF] );
- zipfileWrite16(a, pCDS->nFile);
- zipfileWrite16(a, pCDS->nExtra);
- zipfileWrite16(a, pCDS->nComment);
- zipfileWrite16(a, pCDS->iDiskStart);
- zipfileWrite16(a, pCDS->iInternalAttr);
- zipfileWrite32(a, pCDS->iExternalAttr);
- zipfileWrite32(a, pCDS->iOffset);
-
- memcpy(a, pCDS->zFile, pCDS->nFile);
- a += pCDS->nFile;
-
- if( pEntry->aExtra ){
- int n = (int)pCDS->nExtra + (int)pCDS->nComment;
- memcpy(a, pEntry->aExtra, n);
- a += n;
- }else{
- assert( pCDS->nExtra==9 );
- zipfileWrite16(a, ZIPFILE_EXTRA_TIMESTAMP);
- zipfileWrite16(a, 5);
- *a++ = 0x01;
- zipfileWrite32(a, pEntry->mUnixTime);
- }
-
- return a-aBuf;
-}
-
-static int zipfileCommit(sqlite3_vtab *pVtab){
- ZipfileTab *pTab = (ZipfileTab*)pVtab;
- int rc = SQLITE_OK;
- if( pTab->pWriteFd ){
- i64 iOffset = pTab->szCurrent;
- ZipfileEntry *p;
- ZipfileEOCD eocd;
- int nEntry = 0;
-
- /* Write out all entries */
- for(p=pTab->pFirstEntry; rc==SQLITE_OK && p; p=p->pNext){
- int n = zipfileSerializeCDS(p, pTab->aBuffer);
- rc = zipfileAppendData(pTab, pTab->aBuffer, n);
- nEntry++;
- }
-
- /* Write out the EOCD record */
- eocd.iDisk = 0;
- eocd.iFirstDisk = 0;
- eocd.nEntry = (u16)nEntry;
- eocd.nEntryTotal = (u16)nEntry;
- eocd.nSize = (u32)(pTab->szCurrent - iOffset);
- eocd.iOffset = (u32)iOffset;
- rc = zipfileAppendEOCD(pTab, &eocd);
-
- zipfileCleanupTransaction(pTab);
- }
- return rc;
-}
-
-static int zipfileRollback(sqlite3_vtab *pVtab){
- return zipfileCommit(pVtab);
-}
-
-static ZipfileCsr *zipfileFindCursor(ZipfileTab *pTab, i64 iId){
- ZipfileCsr *pCsr;
- for(pCsr=pTab->pCsrList; pCsr; pCsr=pCsr->pCsrNext){
- if( iId==pCsr->iId ) break;
- }
- return pCsr;
-}
-
-static void zipfileFunctionCds(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- ZipfileCsr *pCsr;
- ZipfileTab *pTab = (ZipfileTab*)sqlite3_user_data(context);
- assert( argc>0 );
-
- pCsr = zipfileFindCursor(pTab, sqlite3_value_int64(argv[0]));
- if( pCsr ){
- ZipfileCDS *p = &pCsr->pCurrent->cds;
- char *zRes = sqlite3_mprintf("{"
- "\"version-made-by\" : %u, "
- "\"version-to-extract\" : %u, "
- "\"flags\" : %u, "
- "\"compression\" : %u, "
- "\"time\" : %u, "
- "\"date\" : %u, "
- "\"crc32\" : %u, "
- "\"compressed-size\" : %u, "
- "\"uncompressed-size\" : %u, "
- "\"file-name-length\" : %u, "
- "\"extra-field-length\" : %u, "
- "\"file-comment-length\" : %u, "
- "\"disk-number-start\" : %u, "
- "\"internal-attr\" : %u, "
- "\"external-attr\" : %u, "
- "\"offset\" : %u }",
- (u32)p->iVersionMadeBy, (u32)p->iVersionExtract,
- (u32)p->flags, (u32)p->iCompression,
- (u32)p->mTime, (u32)p->mDate,
- (u32)p->crc32, (u32)p->szCompressed,
- (u32)p->szUncompressed, (u32)p->nFile,
- (u32)p->nExtra, (u32)p->nComment,
- (u32)p->iDiskStart, (u32)p->iInternalAttr,
- (u32)p->iExternalAttr, (u32)p->iOffset
- );
-
- if( zRes==0 ){
- sqlite3_result_error_nomem(context);
- }else{
- sqlite3_result_text(context, zRes, -1, SQLITE_TRANSIENT);
- sqlite3_free(zRes);
- }
- }
-}
-
-/*
-** xFindFunction method.
-*/
-static int zipfileFindFunction(
- sqlite3_vtab *pVtab, /* Virtual table handle */
- int nArg, /* Number of SQL function arguments */
- const char *zName, /* Name of SQL function */
- void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), /* OUT: Result */
- void **ppArg /* OUT: User data for *pxFunc */
-){
- if( sqlite3_stricmp("zipfile_cds", zName)==0 ){
- *pxFunc = zipfileFunctionCds;
- *ppArg = (void*)pVtab;
- return 1;
- }
- return 0;
-}
-
-typedef struct ZipfileBuffer ZipfileBuffer;
-struct ZipfileBuffer {
- u8 *a; /* Pointer to buffer */
- int n; /* Size of buffer in bytes */
- int nAlloc; /* Byte allocated at a[] */
-};
-
-typedef struct ZipfileCtx ZipfileCtx;
-struct ZipfileCtx {
- int nEntry;
- ZipfileBuffer body;
- ZipfileBuffer cds;
-};
-
-static int zipfileBufferGrow(ZipfileBuffer *pBuf, int nByte){
- if( pBuf->n+nByte>pBuf->nAlloc ){
- u8 *aNew;
- sqlite3_int64 nNew = pBuf->n ? pBuf->n*2 : 512;
- int nReq = pBuf->n + nByte;
-
- while( nNewa, nNew);
- if( aNew==0 ) return SQLITE_NOMEM;
- pBuf->a = aNew;
- pBuf->nAlloc = (int)nNew;
- }
- return SQLITE_OK;
-}
-
-/*
-** xStep() callback for the zipfile() aggregate. This can be called in
-** any of the following ways:
-**
-** SELECT zipfile(name,data) ...
-** SELECT zipfile(name,mode,mtime,data) ...
-** SELECT zipfile(name,mode,mtime,data,method) ...
-*/
-void zipfileStep(sqlite3_context *pCtx, int nVal, sqlite3_value **apVal){
- ZipfileCtx *p; /* Aggregate function context */
- ZipfileEntry e; /* New entry to add to zip archive */
-
- sqlite3_value *pName = 0;
- sqlite3_value *pMode = 0;
- sqlite3_value *pMtime = 0;
- sqlite3_value *pData = 0;
- sqlite3_value *pMethod = 0;
-
- int bIsDir = 0;
- u32 mode;
- int rc = SQLITE_OK;
- char *zErr = 0;
-
- int iMethod = -1; /* Compression method to use (0 or 8) */
-
- const u8 *aData = 0; /* Possibly compressed data for new entry */
- int nData = 0; /* Size of aData[] in bytes */
- int szUncompressed = 0; /* Size of data before compression */
- u8 *aFree = 0; /* Free this before returning */
- u32 iCrc32 = 0; /* crc32 of uncompressed data */
-
- char *zName = 0; /* Path (name) of new entry */
- int nName = 0; /* Size of zName in bytes */
- char *zFree = 0; /* Free this before returning */
- int nByte;
-
- memset(&e, 0, sizeof(e));
- p = (ZipfileCtx*)sqlite3_aggregate_context(pCtx, sizeof(ZipfileCtx));
- if( p==0 ) return;
-
- /* Martial the arguments into stack variables */
- if( nVal!=2 && nVal!=4 && nVal!=5 ){
- zErr = sqlite3_mprintf("wrong number of arguments to function zipfile()");
- rc = SQLITE_ERROR;
- goto zipfile_step_out;
- }
- pName = apVal[0];
- if( nVal==2 ){
- pData = apVal[1];
- }else{
- pMode = apVal[1];
- pMtime = apVal[2];
- pData = apVal[3];
- if( nVal==5 ){
- pMethod = apVal[4];
- }
- }
-
- /* Check that the 'name' parameter looks ok. */
- zName = (char*)sqlite3_value_text(pName);
- nName = sqlite3_value_bytes(pName);
- if( zName==0 ){
- zErr = sqlite3_mprintf("first argument to zipfile() must be non-NULL");
- rc = SQLITE_ERROR;
- goto zipfile_step_out;
- }
-
- /* Inspect the 'method' parameter. This must be either 0 (store), 8 (use
- ** deflate compression) or NULL (choose automatically). */
- if( pMethod && SQLITE_NULL!=sqlite3_value_type(pMethod) ){
- iMethod = (int)sqlite3_value_int64(pMethod);
- if( iMethod!=0 && iMethod!=8 ){
- zErr = sqlite3_mprintf("illegal method value: %d", iMethod);
- rc = SQLITE_ERROR;
- goto zipfile_step_out;
- }
- }
-
- /* Now inspect the data. If this is NULL, then the new entry must be a
- ** directory. Otherwise, figure out whether or not the data should
- ** be deflated or simply stored in the zip archive. */
- if( sqlite3_value_type(pData)==SQLITE_NULL ){
- bIsDir = 1;
- iMethod = 0;
- }else{
- aData = sqlite3_value_blob(pData);
- szUncompressed = nData = sqlite3_value_bytes(pData);
- iCrc32 = crc32(0, aData, nData);
- if( iMethod<0 || iMethod==8 ){
- int nOut = 0;
- rc = zipfileDeflate(aData, nData, &aFree, &nOut, &zErr);
- if( rc!=SQLITE_OK ){
- goto zipfile_step_out;
- }
- if( iMethod==8 || nOut0 && zName[nName-1]=='/' ){
- zErr = sqlite3_mprintf("non-directory name must not end with /");
- rc = SQLITE_ERROR;
- goto zipfile_step_out;
- }
- }else{
- if( nName==0 || zName[nName-1]!='/' ){
- zName = zFree = sqlite3_mprintf("%s/", zName);
- if( zName==0 ){
- rc = SQLITE_NOMEM;
- goto zipfile_step_out;
- }
- nName = (int)strlen(zName);
- }else{
- while( nName>1 && zName[nName-2]=='/' ) nName--;
- }
- }
-
- /* Assemble the ZipfileEntry object for the new zip archive entry */
- e.cds.iVersionMadeBy = ZIPFILE_NEWENTRY_MADEBY;
- e.cds.iVersionExtract = ZIPFILE_NEWENTRY_REQUIRED;
- e.cds.flags = ZIPFILE_NEWENTRY_FLAGS;
- e.cds.iCompression = (u16)iMethod;
- zipfileMtimeToDos(&e.cds, (u32)e.mUnixTime);
- e.cds.crc32 = iCrc32;
- e.cds.szCompressed = nData;
- e.cds.szUncompressed = szUncompressed;
- e.cds.iExternalAttr = (mode<<16);
- e.cds.iOffset = p->body.n;
- e.cds.nFile = (u16)nName;
- e.cds.zFile = zName;
-
- /* Append the LFH to the body of the new archive */
- nByte = ZIPFILE_LFH_FIXED_SZ + e.cds.nFile + 9;
- if( (rc = zipfileBufferGrow(&p->body, nByte)) ) goto zipfile_step_out;
- p->body.n += zipfileSerializeLFH(&e, &p->body.a[p->body.n]);
-
- /* Append the data to the body of the new archive */
- if( nData>0 ){
- if( (rc = zipfileBufferGrow(&p->body, nData)) ) goto zipfile_step_out;
- memcpy(&p->body.a[p->body.n], aData, nData);
- p->body.n += nData;
- }
-
- /* Append the CDS record to the directory of the new archive */
- nByte = ZIPFILE_CDS_FIXED_SZ + e.cds.nFile + 9;
- if( (rc = zipfileBufferGrow(&p->cds, nByte)) ) goto zipfile_step_out;
- p->cds.n += zipfileSerializeCDS(&e, &p->cds.a[p->cds.n]);
-
- /* Increment the count of entries in the archive */
- p->nEntry++;
-
- zipfile_step_out:
- sqlite3_free(aFree);
- sqlite3_free(zFree);
- if( rc ){
- if( zErr ){
- sqlite3_result_error(pCtx, zErr, -1);
- }else{
- sqlite3_result_error_code(pCtx, rc);
- }
- }
- sqlite3_free(zErr);
-}
-
-/*
-** xFinalize() callback for zipfile aggregate function.
-*/
-void zipfileFinal(sqlite3_context *pCtx){
- ZipfileCtx *p;
- ZipfileEOCD eocd;
- sqlite3_int64 nZip;
- u8 *aZip;
-
- p = (ZipfileCtx*)sqlite3_aggregate_context(pCtx, sizeof(ZipfileCtx));
- if( p==0 ) return;
- if( p->nEntry>0 ){
- memset(&eocd, 0, sizeof(eocd));
- eocd.nEntry = (u16)p->nEntry;
- eocd.nEntryTotal = (u16)p->nEntry;
- eocd.nSize = p->cds.n;
- eocd.iOffset = p->body.n;
-
- nZip = p->body.n + p->cds.n + ZIPFILE_EOCD_FIXED_SZ;
- aZip = (u8*)sqlite3_malloc64(nZip);
- if( aZip==0 ){
- sqlite3_result_error_nomem(pCtx);
- }else{
- memcpy(aZip, p->body.a, p->body.n);
- memcpy(&aZip[p->body.n], p->cds.a, p->cds.n);
- zipfileSerializeEOCD(&eocd, &aZip[p->body.n + p->cds.n]);
- sqlite3_result_blob(pCtx, aZip, (int)nZip, zipfileFree);
- }
- }
-
- sqlite3_free(p->body.a);
- sqlite3_free(p->cds.a);
-}
-
-
-/*
-** Register the "zipfile" virtual table.
-*/
-static int zipfileRegister(sqlite3 *db){
- static sqlite3_module zipfileModule = {
- 1, /* iVersion */
- zipfileConnect, /* xCreate */
- zipfileConnect, /* xConnect */
- zipfileBestIndex, /* xBestIndex */
- zipfileDisconnect, /* xDisconnect */
- zipfileDisconnect, /* xDestroy */
- zipfileOpen, /* xOpen - open a cursor */
- zipfileClose, /* xClose - close a cursor */
- zipfileFilter, /* xFilter - configure scan constraints */
- zipfileNext, /* xNext - advance a cursor */
- zipfileEof, /* xEof - check for end of scan */
- zipfileColumn, /* xColumn - read data */
- 0, /* xRowid - read data */
- zipfileUpdate, /* xUpdate */
- zipfileBegin, /* xBegin */
- 0, /* xSync */
- zipfileCommit, /* xCommit */
- zipfileRollback, /* xRollback */
- zipfileFindFunction, /* xFindMethod */
- 0, /* xRename */
- };
-
- int rc = sqlite3_create_module(db, "zipfile" , &zipfileModule, 0);
- if( rc==SQLITE_OK ) rc = sqlite3_overload_function(db, "zipfile_cds", -1);
- if( rc==SQLITE_OK ){
- rc = sqlite3_create_function(db, "zipfile", -1, SQLITE_UTF8, 0, 0,
- zipfileStep, zipfileFinal
- );
- }
- return rc;
-}
-#else /* SQLITE_OMIT_VIRTUALTABLE */
-# define zipfileRegister(x) SQLITE_OK
-#endif
-
-#ifdef _WIN32
-
-#endif
-int sqlite3_zipfile_init(
- sqlite3 *db,
- char **pzErrMsg,
- const sqlite3_api_routines *pApi
-){
- SQLITE_EXTENSION_INIT2(pApi);
- (void)pzErrMsg; /* Unused parameter */
- return zipfileRegister(db);
-}
-
-/************************* End ../ext/misc/zipfile.c ********************/
-/************************* Begin ../ext/misc/sqlar.c ******************/
-/*
-** 2017-12-17
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** Utility functions sqlar_compress() and sqlar_uncompress(). Useful
-** for working with sqlar archives and used by the shell tool's built-in
-** sqlar support.
-*/
-/* #include "sqlite3ext.h" */
-SQLITE_EXTENSION_INIT1
-#include
-
-/*
-** Implementation of the "sqlar_compress(X)" SQL function.
-**
-** If the type of X is SQLITE_BLOB, and compressing that blob using
-** zlib utility function compress() yields a smaller blob, return the
-** compressed blob. Otherwise, return a copy of X.
-**
-** SQLar uses the "zlib format" for compressed content. The zlib format
-** contains a two-byte identification header and a four-byte checksum at
-** the end. This is different from ZIP which uses the raw deflate format.
-**
-** Future enhancements to SQLar might add support for new compression formats.
-** If so, those new formats will be identified by alternative headers in the
-** compressed data.
-*/
-static void sqlarCompressFunc(
- sqlite3_context *context,
- int argc,
- sqlite3_value **argv
-){
- assert( argc==1 );
- if( sqlite3_value_type(argv[0])==SQLITE_BLOB ){
- const Bytef *pData = sqlite3_value_blob(argv[0]);
- uLong nData = sqlite3_value_bytes(argv[0]);
- uLongf nOut = compressBound(nData);
- Bytef *pOut;
-
- pOut = (Bytef*)sqlite3_malloc(nOut);
- if( pOut==0 ){
- sqlite3_result_error_nomem(context);
- return;
- }else{
- if( Z_OK!=compress(pOut, &nOut, pData, nData) ){
- sqlite3_result_error(context, "error in compress()", -1);
- }else if( nOut
-#include
-#include
-
-#ifndef SQLITE_OMIT_VIRTUALTABLE
-
-/* typedef sqlite3_int64 i64; */
-/* typedef sqlite3_uint64 u64; */
-
-typedef struct IdxColumn IdxColumn;
-typedef struct IdxConstraint IdxConstraint;
-typedef struct IdxScan IdxScan;
-typedef struct IdxStatement IdxStatement;
-typedef struct IdxTable IdxTable;
-typedef struct IdxWrite IdxWrite;
-
-#define STRLEN (int)strlen
-
-/*
-** A temp table name that we assume no user database will actually use.
-** If this assumption proves incorrect triggers on the table with the
-** conflicting name will be ignored.
-*/
-#define UNIQUE_TABLE_NAME "t592690916721053953805701627921227776"
-
-/*
-** A single constraint. Equivalent to either "col = ?" or "col < ?" (or
-** any other type of single-ended range constraint on a column).
-**
-** pLink:
-** Used to temporarily link IdxConstraint objects into lists while
-** creating candidate indexes.
-*/
-struct IdxConstraint {
- char *zColl; /* Collation sequence */
- int bRange; /* True for range, false for eq */
- int iCol; /* Constrained table column */
- int bFlag; /* Used by idxFindCompatible() */
- int bDesc; /* True if ORDER BY DESC */
- IdxConstraint *pNext; /* Next constraint in pEq or pRange list */
- IdxConstraint *pLink; /* See above */
-};
-
-/*
-** A single scan of a single table.
-*/
-struct IdxScan {
- IdxTable *pTab; /* Associated table object */
- int iDb; /* Database containing table zTable */
- i64 covering; /* Mask of columns required for cov. index */
- IdxConstraint *pOrder; /* ORDER BY columns */
- IdxConstraint *pEq; /* List of == constraints */
- IdxConstraint *pRange; /* List of < constraints */
- IdxScan *pNextScan; /* Next IdxScan object for same analysis */
-};
-
-/*
-** Information regarding a single database table. Extracted from
-** "PRAGMA table_info" by function idxGetTableInfo().
-*/
-struct IdxColumn {
- char *zName;
- char *zColl;
- int iPk;
-};
-struct IdxTable {
- int nCol;
- char *zName; /* Table name */
- IdxColumn *aCol;
- IdxTable *pNext; /* Next table in linked list of all tables */
-};
-
-/*
-** An object of the following type is created for each unique table/write-op
-** seen. The objects are stored in a singly-linked list beginning at
-** sqlite3expert.pWrite.
-*/
-struct IdxWrite {
- IdxTable *pTab;
- int eOp; /* SQLITE_UPDATE, DELETE or INSERT */
- IdxWrite *pNext;
-};
-
-/*
-** Each statement being analyzed is represented by an instance of this
-** structure.
-*/
-struct IdxStatement {
- int iId; /* Statement number */
- char *zSql; /* SQL statement */
- char *zIdx; /* Indexes */
- char *zEQP; /* Plan */
- IdxStatement *pNext;
-};
-
-
-/*
-** A hash table for storing strings. With space for a payload string
-** with each entry. Methods are:
-**
-** idxHashInit()
-** idxHashClear()
-** idxHashAdd()
-** idxHashSearch()
-*/
-#define IDX_HASH_SIZE 1023
-typedef struct IdxHashEntry IdxHashEntry;
-typedef struct IdxHash IdxHash;
-struct IdxHashEntry {
- char *zKey; /* nul-terminated key */
- char *zVal; /* nul-terminated value string */
- char *zVal2; /* nul-terminated value string 2 */
- IdxHashEntry *pHashNext; /* Next entry in same hash bucket */
- IdxHashEntry *pNext; /* Next entry in hash */
-};
-struct IdxHash {
- IdxHashEntry *pFirst;
- IdxHashEntry *aHash[IDX_HASH_SIZE];
-};
-
-/*
-** sqlite3expert object.
-*/
-struct sqlite3expert {
- int iSample; /* Percentage of tables to sample for stat1 */
- sqlite3 *db; /* User database */
- sqlite3 *dbm; /* In-memory db for this analysis */
- sqlite3 *dbv; /* Vtab schema for this analysis */
- IdxTable *pTable; /* List of all IdxTable objects */
- IdxScan *pScan; /* List of scan objects */
- IdxWrite *pWrite; /* List of write objects */
- IdxStatement *pStatement; /* List of IdxStatement objects */
- int bRun; /* True once analysis has run */
- char **pzErrmsg;
- int rc; /* Error code from whereinfo hook */
- IdxHash hIdx; /* Hash containing all candidate indexes */
- char *zCandidates; /* For EXPERT_REPORT_CANDIDATES */
-};
-
-
-/*
-** Allocate and return nByte bytes of zeroed memory using sqlite3_malloc().
-** If the allocation fails, set *pRc to SQLITE_NOMEM and return NULL.
-*/
-static void *idxMalloc(int *pRc, int nByte){
- void *pRet;
- assert( *pRc==SQLITE_OK );
- assert( nByte>0 );
- pRet = sqlite3_malloc(nByte);
- if( pRet ){
- memset(pRet, 0, nByte);
- }else{
- *pRc = SQLITE_NOMEM;
- }
- return pRet;
-}
-
-/*
-** Initialize an IdxHash hash table.
-*/
-static void idxHashInit(IdxHash *pHash){
- memset(pHash, 0, sizeof(IdxHash));
-}
-
-/*
-** Reset an IdxHash hash table.
-*/
-static void idxHashClear(IdxHash *pHash){
- int i;
- for(i=0; iaHash[i]; pEntry; pEntry=pNext){
- pNext = pEntry->pHashNext;
- sqlite3_free(pEntry->zVal2);
- sqlite3_free(pEntry);
- }
- }
- memset(pHash, 0, sizeof(IdxHash));
-}
-
-/*
-** Return the index of the hash bucket that the string specified by the
-** arguments to this function belongs.
-*/
-static int idxHashString(const char *z, int n){
- unsigned int ret = 0;
- int i;
- for(i=0; i=0 );
- for(pEntry=pHash->aHash[iHash]; pEntry; pEntry=pEntry->pHashNext){
- if( STRLEN(pEntry->zKey)==nKey && 0==memcmp(pEntry->zKey, zKey, nKey) ){
- return 1;
- }
- }
- pEntry = idxMalloc(pRc, sizeof(IdxHashEntry) + nKey+1 + nVal+1);
- if( pEntry ){
- pEntry->zKey = (char*)&pEntry[1];
- memcpy(pEntry->zKey, zKey, nKey);
- if( zVal ){
- pEntry->zVal = &pEntry->zKey[nKey+1];
- memcpy(pEntry->zVal, zVal, nVal);
- }
- pEntry->pHashNext = pHash->aHash[iHash];
- pHash->aHash[iHash] = pEntry;
-
- pEntry->pNext = pHash->pFirst;
- pHash->pFirst = pEntry;
- }
- return 0;
-}
-
-/*
-** If zKey/nKey is present in the hash table, return a pointer to the
-** hash-entry object.
-*/
-static IdxHashEntry *idxHashFind(IdxHash *pHash, const char *zKey, int nKey){
- int iHash;
- IdxHashEntry *pEntry;
- if( nKey<0 ) nKey = STRLEN(zKey);
- iHash = idxHashString(zKey, nKey);
- assert( iHash>=0 );
- for(pEntry=pHash->aHash[iHash]; pEntry; pEntry=pEntry->pHashNext){
- if( STRLEN(pEntry->zKey)==nKey && 0==memcmp(pEntry->zKey, zKey, nKey) ){
- return pEntry;
- }
- }
- return 0;
-}
-
-/*
-** If the hash table contains an entry with a key equal to the string
-** passed as the final two arguments to this function, return a pointer
-** to the payload string. Otherwise, if zKey/nKey is not present in the
-** hash table, return NULL.
-*/
-static const char *idxHashSearch(IdxHash *pHash, const char *zKey, int nKey){
- IdxHashEntry *pEntry = idxHashFind(pHash, zKey, nKey);
- if( pEntry ) return pEntry->zVal;
- return 0;
-}
-
-/*
-** Allocate and return a new IdxConstraint object. Set the IdxConstraint.zColl
-** variable to point to a copy of nul-terminated string zColl.
-*/
-static IdxConstraint *idxNewConstraint(int *pRc, const char *zColl){
- IdxConstraint *pNew;
- int nColl = STRLEN(zColl);
-
- assert( *pRc==SQLITE_OK );
- pNew = (IdxConstraint*)idxMalloc(pRc, sizeof(IdxConstraint) * nColl + 1);
- if( pNew ){
- pNew->zColl = (char*)&pNew[1];
- memcpy(pNew->zColl, zColl, nColl+1);
- }
- return pNew;
-}
-
-/*
-** An error associated with database handle db has just occurred. Pass
-** the error message to callback function xOut.
-*/
-static void idxDatabaseError(
- sqlite3 *db, /* Database handle */
- char **pzErrmsg /* Write error here */
-){
- *pzErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(db));
-}
-
-/*
-** Prepare an SQL statement.
-*/
-static int idxPrepareStmt(
- sqlite3 *db, /* Database handle to compile against */
- sqlite3_stmt **ppStmt, /* OUT: Compiled SQL statement */
- char **pzErrmsg, /* OUT: sqlite3_malloc()ed error message */
- const char *zSql /* SQL statement to compile */
-){
- int rc = sqlite3_prepare_v2(db, zSql, -1, ppStmt, 0);
- if( rc!=SQLITE_OK ){
- *ppStmt = 0;
- idxDatabaseError(db, pzErrmsg);
- }
- return rc;
-}
-
-/*
-** Prepare an SQL statement using the results of a printf() formatting.
-*/
-static int idxPrintfPrepareStmt(
- sqlite3 *db, /* Database handle to compile against */
- sqlite3_stmt **ppStmt, /* OUT: Compiled SQL statement */
- char **pzErrmsg, /* OUT: sqlite3_malloc()ed error message */
- const char *zFmt, /* printf() format of SQL statement */
- ... /* Trailing printf() arguments */
-){
- va_list ap;
- int rc;
- char *zSql;
- va_start(ap, zFmt);
- zSql = sqlite3_vmprintf(zFmt, ap);
- if( zSql==0 ){
- rc = SQLITE_NOMEM;
- }else{
- rc = idxPrepareStmt(db, ppStmt, pzErrmsg, zSql);
- sqlite3_free(zSql);
- }
- va_end(ap);
- return rc;
-}
-
-
-/*************************************************************************
-** Beginning of virtual table implementation.
-*/
-typedef struct ExpertVtab ExpertVtab;
-struct ExpertVtab {
- sqlite3_vtab base;
- IdxTable *pTab;
- sqlite3expert *pExpert;
-};
-
-typedef struct ExpertCsr ExpertCsr;
-struct ExpertCsr {
- sqlite3_vtab_cursor base;
- sqlite3_stmt *pData;
-};
-
-static char *expertDequote(const char *zIn){
- int n = STRLEN(zIn);
- char *zRet = sqlite3_malloc(n);
-
- assert( zIn[0]=='\'' );
- assert( zIn[n-1]=='\'' );
-
- if( zRet ){
- int iOut = 0;
- int iIn = 0;
- for(iIn=1; iIn<(n-1); iIn++){
- if( zIn[iIn]=='\'' ){
- assert( zIn[iIn+1]=='\'' );
- iIn++;
- }
- zRet[iOut++] = zIn[iIn];
- }
- zRet[iOut] = '\0';
- }
-
- return zRet;
-}
-
-/*
-** This function is the implementation of both the xConnect and xCreate
-** methods of the r-tree virtual table.
-**
-** argv[0] -> module name
-** argv[1] -> database name
-** argv[2] -> table name
-** argv[...] -> column names...
-*/
-static int expertConnect(
- sqlite3 *db,
- void *pAux,
- int argc, const char *const*argv,
- sqlite3_vtab **ppVtab,
- char **pzErr
-){
- sqlite3expert *pExpert = (sqlite3expert*)pAux;
- ExpertVtab *p = 0;
- int rc;
-
- if( argc!=4 ){
- *pzErr = sqlite3_mprintf("internal error!");
- rc = SQLITE_ERROR;
- }else{
- char *zCreateTable = expertDequote(argv[3]);
- if( zCreateTable ){
- rc = sqlite3_declare_vtab(db, zCreateTable);
- if( rc==SQLITE_OK ){
- p = idxMalloc(&rc, sizeof(ExpertVtab));
- }
- if( rc==SQLITE_OK ){
- p->pExpert = pExpert;
- p->pTab = pExpert->pTable;
- assert( sqlite3_stricmp(p->pTab->zName, argv[2])==0 );
- }
- sqlite3_free(zCreateTable);
- }else{
- rc = SQLITE_NOMEM;
- }
- }
-
- *ppVtab = (sqlite3_vtab*)p;
- return rc;
-}
-
-static int expertDisconnect(sqlite3_vtab *pVtab){
- ExpertVtab *p = (ExpertVtab*)pVtab;
- sqlite3_free(p);
- return SQLITE_OK;
-}
-
-static int expertBestIndex(sqlite3_vtab *pVtab, sqlite3_index_info *pIdxInfo){
- ExpertVtab *p = (ExpertVtab*)pVtab;
- int rc = SQLITE_OK;
- int n = 0;
- IdxScan *pScan;
- const int opmask =
- SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_GT |
- SQLITE_INDEX_CONSTRAINT_LT | SQLITE_INDEX_CONSTRAINT_GE |
- SQLITE_INDEX_CONSTRAINT_LE;
-
- pScan = idxMalloc(&rc, sizeof(IdxScan));
- if( pScan ){
- int i;
-
- /* Link the new scan object into the list */
- pScan->pTab = p->pTab;
- pScan->pNextScan = p->pExpert->pScan;
- p->pExpert->pScan = pScan;
-
- /* Add the constraints to the IdxScan object */
- for(i=0; inConstraint; i++){
- struct sqlite3_index_constraint *pCons = &pIdxInfo->aConstraint[i];
- if( pCons->usable
- && pCons->iColumn>=0
- && p->pTab->aCol[pCons->iColumn].iPk==0
- && (pCons->op & opmask)
- ){
- IdxConstraint *pNew;
- const char *zColl = sqlite3_vtab_collation(pIdxInfo, i);
- pNew = idxNewConstraint(&rc, zColl);
- if( pNew ){
- pNew->iCol = pCons->iColumn;
- if( pCons->op==SQLITE_INDEX_CONSTRAINT_EQ ){
- pNew->pNext = pScan->pEq;
- pScan->pEq = pNew;
- }else{
- pNew->bRange = 1;
- pNew->pNext = pScan->pRange;
- pScan->pRange = pNew;
- }
- }
- n++;
- pIdxInfo->aConstraintUsage[i].argvIndex = n;
- }
- }
-
- /* Add the ORDER BY to the IdxScan object */
- for(i=pIdxInfo->nOrderBy-1; i>=0; i--){
- int iCol = pIdxInfo->aOrderBy[i].iColumn;
- if( iCol>=0 ){
- IdxConstraint *pNew = idxNewConstraint(&rc, p->pTab->aCol[iCol].zColl);
- if( pNew ){
- pNew->iCol = iCol;
- pNew->bDesc = pIdxInfo->aOrderBy[i].desc;
- pNew->pNext = pScan->pOrder;
- pNew->pLink = pScan->pOrder;
- pScan->pOrder = pNew;
- n++;
- }
- }
- }
- }
-
- pIdxInfo->estimatedCost = 1000000.0 / (n+1);
- return rc;
-}
-
-static int expertUpdate(
- sqlite3_vtab *pVtab,
- int nData,
- sqlite3_value **azData,
- sqlite_int64 *pRowid
-){
- (void)pVtab;
- (void)nData;
- (void)azData;
- (void)pRowid;
- return SQLITE_OK;
-}
-
-/*
-** Virtual table module xOpen method.
-*/
-static int expertOpen(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor){
- int rc = SQLITE_OK;
- ExpertCsr *pCsr;
- (void)pVTab;
- pCsr = idxMalloc(&rc, sizeof(ExpertCsr));
- *ppCursor = (sqlite3_vtab_cursor*)pCsr;
- return rc;
-}
-
-/*
-** Virtual table module xClose method.
-*/
-static int expertClose(sqlite3_vtab_cursor *cur){
- ExpertCsr *pCsr = (ExpertCsr*)cur;
- sqlite3_finalize(pCsr->pData);
- sqlite3_free(pCsr);
- return SQLITE_OK;
-}
-
-/*
-** Virtual table module xEof method.
-**
-** Return non-zero if the cursor does not currently point to a valid
-** record (i.e if the scan has finished), or zero otherwise.
-*/
-static int expertEof(sqlite3_vtab_cursor *cur){
- ExpertCsr *pCsr = (ExpertCsr*)cur;
- return pCsr->pData==0;
-}
-
-/*
-** Virtual table module xNext method.
-*/
-static int expertNext(sqlite3_vtab_cursor *cur){
- ExpertCsr *pCsr = (ExpertCsr*)cur;
- int rc = SQLITE_OK;
-
- assert( pCsr->pData );
- rc = sqlite3_step(pCsr->pData);
- if( rc!=SQLITE_ROW ){
- rc = sqlite3_finalize(pCsr->pData);
- pCsr->pData = 0;
- }else{
- rc = SQLITE_OK;
- }
-
- return rc;
-}
-
-/*
-** Virtual table module xRowid method.
-*/
-static int expertRowid(sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid){
- (void)cur;
- *pRowid = 0;
- return SQLITE_OK;
-}
-
-/*
-** Virtual table module xColumn method.
-*/
-static int expertColumn(sqlite3_vtab_cursor *cur, sqlite3_context *ctx, int i){
- ExpertCsr *pCsr = (ExpertCsr*)cur;
- sqlite3_value *pVal;
- pVal = sqlite3_column_value(pCsr->pData, i);
- if( pVal ){
- sqlite3_result_value(ctx, pVal);
- }
- return SQLITE_OK;
-}
-
-/*
-** Virtual table module xFilter method.
-*/
-static int expertFilter(
- sqlite3_vtab_cursor *cur,
- int idxNum, const char *idxStr,
- int argc, sqlite3_value **argv
-){
- ExpertCsr *pCsr = (ExpertCsr*)cur;
- ExpertVtab *pVtab = (ExpertVtab*)(cur->pVtab);
- sqlite3expert *pExpert = pVtab->pExpert;
- int rc;
-
- (void)idxNum;
- (void)idxStr;
- (void)argc;
- (void)argv;
- rc = sqlite3_finalize(pCsr->pData);
- pCsr->pData = 0;
- if( rc==SQLITE_OK ){
- rc = idxPrintfPrepareStmt(pExpert->db, &pCsr->pData, &pVtab->base.zErrMsg,
- "SELECT * FROM main.%Q WHERE sample()", pVtab->pTab->zName
- );
- }
-
- if( rc==SQLITE_OK ){
- rc = expertNext(cur);
- }
- return rc;
-}
-
-static int idxRegisterVtab(sqlite3expert *p){
- static sqlite3_module expertModule = {
- 2, /* iVersion */
- expertConnect, /* xCreate - create a table */
- expertConnect, /* xConnect - connect to an existing table */
- expertBestIndex, /* xBestIndex - Determine search strategy */
- expertDisconnect, /* xDisconnect - Disconnect from a table */
- expertDisconnect, /* xDestroy - Drop a table */
- expertOpen, /* xOpen - open a cursor */
- expertClose, /* xClose - close a cursor */
- expertFilter, /* xFilter - configure scan constraints */
- expertNext, /* xNext - advance a cursor */
- expertEof, /* xEof */
- expertColumn, /* xColumn - read data */
- expertRowid, /* xRowid - read data */
- expertUpdate, /* xUpdate - write data */
- 0, /* xBegin - begin transaction */
- 0, /* xSync - sync transaction */
- 0, /* xCommit - commit transaction */
- 0, /* xRollback - rollback transaction */
- 0, /* xFindFunction - function overloading */
- 0, /* xRename - rename the table */
- 0, /* xSavepoint */
- 0, /* xRelease */
- 0, /* xRollbackTo */
- 0, /* xShadowName */
- };
-
- return sqlite3_create_module(p->dbv, "expert", &expertModule, (void*)p);
-}
-/*
-** End of virtual table implementation.
-*************************************************************************/
-/*
-** Finalize SQL statement pStmt. If (*pRc) is SQLITE_OK when this function
-** is called, set it to the return value of sqlite3_finalize() before
-** returning. Otherwise, discard the sqlite3_finalize() return value.
-*/
-static void idxFinalize(int *pRc, sqlite3_stmt *pStmt){
- int rc = sqlite3_finalize(pStmt);
- if( *pRc==SQLITE_OK ) *pRc = rc;
-}
-
-/*
-** Attempt to allocate an IdxTable structure corresponding to table zTab
-** in the main database of connection db. If successful, set (*ppOut) to
-** point to the new object and return SQLITE_OK. Otherwise, return an
-** SQLite error code and set (*ppOut) to NULL. In this case *pzErrmsg may be
-** set to point to an error string.
-**
-** It is the responsibility of the caller to eventually free either the
-** IdxTable object or error message using sqlite3_free().
-*/
-static int idxGetTableInfo(
- sqlite3 *db, /* Database connection to read details from */
- const char *zTab, /* Table name */
- IdxTable **ppOut, /* OUT: New object (if successful) */
- char **pzErrmsg /* OUT: Error message (if not) */
-){
- sqlite3_stmt *p1 = 0;
- int nCol = 0;
- int nTab = STRLEN(zTab);
- int nByte = sizeof(IdxTable) + nTab + 1;
- IdxTable *pNew = 0;
- int rc, rc2;
- char *pCsr = 0;
-
- rc = idxPrintfPrepareStmt(db, &p1, pzErrmsg, "PRAGMA table_info=%Q", zTab);
- while( rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(p1) ){
- const char *zCol = (const char*)sqlite3_column_text(p1, 1);
- nByte += 1 + STRLEN(zCol);
- rc = sqlite3_table_column_metadata(
- db, "main", zTab, zCol, 0, &zCol, 0, 0, 0
- );
- nByte += 1 + STRLEN(zCol);
- nCol++;
- }
- rc2 = sqlite3_reset(p1);
- if( rc==SQLITE_OK ) rc = rc2;
-
- nByte += sizeof(IdxColumn) * nCol;
- if( rc==SQLITE_OK ){
- pNew = idxMalloc(&rc, nByte);
- }
- if( rc==SQLITE_OK ){
- pNew->aCol = (IdxColumn*)&pNew[1];
- pNew->nCol = nCol;
- pCsr = (char*)&pNew->aCol[nCol];
- }
-
- nCol = 0;
- while( rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(p1) ){
- const char *zCol = (const char*)sqlite3_column_text(p1, 1);
- int nCopy = STRLEN(zCol) + 1;
- pNew->aCol[nCol].zName = pCsr;
- pNew->aCol[nCol].iPk = sqlite3_column_int(p1, 5);
- memcpy(pCsr, zCol, nCopy);
- pCsr += nCopy;
-
- rc = sqlite3_table_column_metadata(
- db, "main", zTab, zCol, 0, &zCol, 0, 0, 0
- );
- if( rc==SQLITE_OK ){
- nCopy = STRLEN(zCol) + 1;
- pNew->aCol[nCol].zColl = pCsr;
- memcpy(pCsr, zCol, nCopy);
- pCsr += nCopy;
- }
-
- nCol++;
- }
- idxFinalize(&rc, p1);
-
- if( rc!=SQLITE_OK ){
- sqlite3_free(pNew);
- pNew = 0;
- }else{
- pNew->zName = pCsr;
- memcpy(pNew->zName, zTab, nTab+1);
- }
-
- *ppOut = pNew;
- return rc;
-}
-
-/*
-** This function is a no-op if *pRc is set to anything other than
-** SQLITE_OK when it is called.
-**
-** If *pRc is initially set to SQLITE_OK, then the text specified by
-** the printf() style arguments is appended to zIn and the result returned
-** in a buffer allocated by sqlite3_malloc(). sqlite3_free() is called on
-** zIn before returning.
-*/
-static char *idxAppendText(int *pRc, char *zIn, const char *zFmt, ...){
- va_list ap;
- char *zAppend = 0;
- char *zRet = 0;
- int nIn = zIn ? STRLEN(zIn) : 0;
- int nAppend = 0;
- va_start(ap, zFmt);
- if( *pRc==SQLITE_OK ){
- zAppend = sqlite3_vmprintf(zFmt, ap);
- if( zAppend ){
- nAppend = STRLEN(zAppend);
- zRet = (char*)sqlite3_malloc(nIn + nAppend + 1);
- }
- if( zAppend && zRet ){
- if( nIn ) memcpy(zRet, zIn, nIn);
- memcpy(&zRet[nIn], zAppend, nAppend+1);
- }else{
- sqlite3_free(zRet);
- zRet = 0;
- *pRc = SQLITE_NOMEM;
- }
- sqlite3_free(zAppend);
- sqlite3_free(zIn);
- }
- va_end(ap);
- return zRet;
-}
-
-/*
-** Return true if zId must be quoted in order to use it as an SQL
-** identifier, or false otherwise.
-*/
-static int idxIdentifierRequiresQuotes(const char *zId){
- int i;
- for(i=0; zId[i]; i++){
- if( !(zId[i]=='_')
- && !(zId[i]>='0' && zId[i]<='9')
- && !(zId[i]>='a' && zId[i]<='z')
- && !(zId[i]>='A' && zId[i]<='Z')
- ){
- return 1;
- }
- }
- return 0;
-}
-
-/*
-** This function appends an index column definition suitable for constraint
-** pCons to the string passed as zIn and returns the result.
-*/
-static char *idxAppendColDefn(
- int *pRc, /* IN/OUT: Error code */
- char *zIn, /* Column defn accumulated so far */
- IdxTable *pTab, /* Table index will be created on */
- IdxConstraint *pCons
-){
- char *zRet = zIn;
- IdxColumn *p = &pTab->aCol[pCons->iCol];
- if( zRet ) zRet = idxAppendText(pRc, zRet, ", ");
-
- if( idxIdentifierRequiresQuotes(p->zName) ){
- zRet = idxAppendText(pRc, zRet, "%Q", p->zName);
- }else{
- zRet = idxAppendText(pRc, zRet, "%s", p->zName);
- }
-
- if( sqlite3_stricmp(p->zColl, pCons->zColl) ){
- if( idxIdentifierRequiresQuotes(pCons->zColl) ){
- zRet = idxAppendText(pRc, zRet, " COLLATE %Q", pCons->zColl);
- }else{
- zRet = idxAppendText(pRc, zRet, " COLLATE %s", pCons->zColl);
- }
- }
-
- if( pCons->bDesc ){
- zRet = idxAppendText(pRc, zRet, " DESC");
- }
- return zRet;
-}
-
-/*
-** Search database dbm for an index compatible with the one idxCreateFromCons()
-** would create from arguments pScan, pEq and pTail. If no error occurs and
-** such an index is found, return non-zero. Or, if no such index is found,
-** return zero.
-**
-** If an error occurs, set *pRc to an SQLite error code and return zero.
-*/
-static int idxFindCompatible(
- int *pRc, /* OUT: Error code */
- sqlite3* dbm, /* Database to search */
- IdxScan *pScan, /* Scan for table to search for index on */
- IdxConstraint *pEq, /* List of == constraints */
- IdxConstraint *pTail /* List of range constraints */
-){
- const char *zTbl = pScan->pTab->zName;
- sqlite3_stmt *pIdxList = 0;
- IdxConstraint *pIter;
- int nEq = 0; /* Number of elements in pEq */
- int rc;
-
- /* Count the elements in list pEq */
- for(pIter=pEq; pIter; pIter=pIter->pLink) nEq++;
-
- rc = idxPrintfPrepareStmt(dbm, &pIdxList, 0, "PRAGMA index_list=%Q", zTbl);
- while( rc==SQLITE_OK && sqlite3_step(pIdxList)==SQLITE_ROW ){
- int bMatch = 1;
- IdxConstraint *pT = pTail;
- sqlite3_stmt *pInfo = 0;
- const char *zIdx = (const char*)sqlite3_column_text(pIdxList, 1);
-
- /* Zero the IdxConstraint.bFlag values in the pEq list */
- for(pIter=pEq; pIter; pIter=pIter->pLink) pIter->bFlag = 0;
-
- rc = idxPrintfPrepareStmt(dbm, &pInfo, 0, "PRAGMA index_xInfo=%Q", zIdx);
- while( rc==SQLITE_OK && sqlite3_step(pInfo)==SQLITE_ROW ){
- int iIdx = sqlite3_column_int(pInfo, 0);
- int iCol = sqlite3_column_int(pInfo, 1);
- const char *zColl = (const char*)sqlite3_column_text(pInfo, 4);
-
- if( iIdxpLink){
- if( pIter->bFlag ) continue;
- if( pIter->iCol!=iCol ) continue;
- if( sqlite3_stricmp(pIter->zColl, zColl) ) continue;
- pIter->bFlag = 1;
- break;
- }
- if( pIter==0 ){
- bMatch = 0;
- break;
- }
- }else{
- if( pT ){
- if( pT->iCol!=iCol || sqlite3_stricmp(pT->zColl, zColl) ){
- bMatch = 0;
- break;
- }
- pT = pT->pLink;
- }
- }
- }
- idxFinalize(&rc, pInfo);
-
- if( rc==SQLITE_OK && bMatch ){
- sqlite3_finalize(pIdxList);
- return 1;
- }
- }
- idxFinalize(&rc, pIdxList);
-
- *pRc = rc;
- return 0;
-}
-
-static int idxCreateFromCons(
- sqlite3expert *p,
- IdxScan *pScan,
- IdxConstraint *pEq,
- IdxConstraint *pTail
-){
- sqlite3 *dbm = p->dbm;
- int rc = SQLITE_OK;
- if( (pEq || pTail) && 0==idxFindCompatible(&rc, dbm, pScan, pEq, pTail) ){
- IdxTable *pTab = pScan->pTab;
- char *zCols = 0;
- char *zIdx = 0;
- IdxConstraint *pCons;
- unsigned int h = 0;
- const char *zFmt;
-
- for(pCons=pEq; pCons; pCons=pCons->pLink){
- zCols = idxAppendColDefn(&rc, zCols, pTab, pCons);
- }
- for(pCons=pTail; pCons; pCons=pCons->pLink){
- zCols = idxAppendColDefn(&rc, zCols, pTab, pCons);
- }
-
- if( rc==SQLITE_OK ){
- /* Hash the list of columns to come up with a name for the index */
- const char *zTable = pScan->pTab->zName;
- char *zName; /* Index name */
- int i;
- for(i=0; zCols[i]; i++){
- h += ((h<<3) + zCols[i]);
- }
- zName = sqlite3_mprintf("%s_idx_%08x", zTable, h);
- if( zName==0 ){
- rc = SQLITE_NOMEM;
- }else{
- if( idxIdentifierRequiresQuotes(zTable) ){
- zFmt = "CREATE INDEX '%q' ON %Q(%s)";
- }else{
- zFmt = "CREATE INDEX %s ON %s(%s)";
- }
- zIdx = sqlite3_mprintf(zFmt, zName, zTable, zCols);
- if( !zIdx ){
- rc = SQLITE_NOMEM;
- }else{
- rc = sqlite3_exec(dbm, zIdx, 0, 0, p->pzErrmsg);
- idxHashAdd(&rc, &p->hIdx, zName, zIdx);
- }
- sqlite3_free(zName);
- sqlite3_free(zIdx);
- }
- }
-
- sqlite3_free(zCols);
- }
- return rc;
-}
-
-/*
-** Return true if list pList (linked by IdxConstraint.pLink) contains
-** a constraint compatible with *p. Otherwise return false.
-*/
-static int idxFindConstraint(IdxConstraint *pList, IdxConstraint *p){
- IdxConstraint *pCmp;
- for(pCmp=pList; pCmp; pCmp=pCmp->pLink){
- if( p->iCol==pCmp->iCol ) return 1;
- }
- return 0;
-}
-
-static int idxCreateFromWhere(
- sqlite3expert *p,
- IdxScan *pScan, /* Create indexes for this scan */
- IdxConstraint *pTail /* range/ORDER BY constraints for inclusion */
-){
- IdxConstraint *p1 = 0;
- IdxConstraint *pCon;
- int rc;
-
- /* Gather up all the == constraints. */
- for(pCon=pScan->pEq; pCon; pCon=pCon->pNext){
- if( !idxFindConstraint(p1, pCon) && !idxFindConstraint(pTail, pCon) ){
- pCon->pLink = p1;
- p1 = pCon;
- }
- }
-
- /* Create an index using the == constraints collected above. And the
- ** range constraint/ORDER BY terms passed in by the caller, if any. */
- rc = idxCreateFromCons(p, pScan, p1, pTail);
-
- /* If no range/ORDER BY passed by the caller, create a version of the
- ** index for each range constraint. */
- if( pTail==0 ){
- for(pCon=pScan->pRange; rc==SQLITE_OK && pCon; pCon=pCon->pNext){
- assert( pCon->pLink==0 );
- if( !idxFindConstraint(p1, pCon) && !idxFindConstraint(pTail, pCon) ){
- rc = idxCreateFromCons(p, pScan, p1, pCon);
- }
- }
- }
-
- return rc;
-}
-
-/*
-** Create candidate indexes in database [dbm] based on the data in
-** linked-list pScan.
-*/
-static int idxCreateCandidates(sqlite3expert *p){
- int rc = SQLITE_OK;
- IdxScan *pIter;
-
- for(pIter=p->pScan; pIter && rc==SQLITE_OK; pIter=pIter->pNextScan){
- rc = idxCreateFromWhere(p, pIter, 0);
- if( rc==SQLITE_OK && pIter->pOrder ){
- rc = idxCreateFromWhere(p, pIter, pIter->pOrder);
- }
- }
-
- return rc;
-}
-
-/*
-** Free all elements of the linked list starting at pConstraint.
-*/
-static void idxConstraintFree(IdxConstraint *pConstraint){
- IdxConstraint *pNext;
- IdxConstraint *p;
-
- for(p=pConstraint; p; p=pNext){
- pNext = p->pNext;
- sqlite3_free(p);
- }
-}
-
-/*
-** Free all elements of the linked list starting from pScan up until pLast
-** (pLast is not freed).
-*/
-static void idxScanFree(IdxScan *pScan, IdxScan *pLast){
- IdxScan *p;
- IdxScan *pNext;
- for(p=pScan; p!=pLast; p=pNext){
- pNext = p->pNextScan;
- idxConstraintFree(p->pOrder);
- idxConstraintFree(p->pEq);
- idxConstraintFree(p->pRange);
- sqlite3_free(p);
- }
-}
-
-/*
-** Free all elements of the linked list starting from pStatement up
-** until pLast (pLast is not freed).
-*/
-static void idxStatementFree(IdxStatement *pStatement, IdxStatement *pLast){
- IdxStatement *p;
- IdxStatement *pNext;
- for(p=pStatement; p!=pLast; p=pNext){
- pNext = p->pNext;
- sqlite3_free(p->zEQP);
- sqlite3_free(p->zIdx);
- sqlite3_free(p);
- }
-}
-
-/*
-** Free the linked list of IdxTable objects starting at pTab.
-*/
-static void idxTableFree(IdxTable *pTab){
- IdxTable *pIter;
- IdxTable *pNext;
- for(pIter=pTab; pIter; pIter=pNext){
- pNext = pIter->pNext;
- sqlite3_free(pIter);
- }
-}
-
-/*
-** Free the linked list of IdxWrite objects starting at pTab.
-*/
-static void idxWriteFree(IdxWrite *pTab){
- IdxWrite *pIter;
- IdxWrite *pNext;
- for(pIter=pTab; pIter; pIter=pNext){
- pNext = pIter->pNext;
- sqlite3_free(pIter);
- }
-}
-
-
-
-/*
-** This function is called after candidate indexes have been created. It
-** runs all the queries to see which indexes they prefer, and populates
-** IdxStatement.zIdx and IdxStatement.zEQP with the results.
-*/
-int idxFindIndexes(
- sqlite3expert *p,
- char **pzErr /* OUT: Error message (sqlite3_malloc) */
-){
- IdxStatement *pStmt;
- sqlite3 *dbm = p->dbm;
- int rc = SQLITE_OK;
-
- IdxHash hIdx;
- idxHashInit(&hIdx);
-
- for(pStmt=p->pStatement; rc==SQLITE_OK && pStmt; pStmt=pStmt->pNext){
- IdxHashEntry *pEntry;
- sqlite3_stmt *pExplain = 0;
- idxHashClear(&hIdx);
- rc = idxPrintfPrepareStmt(dbm, &pExplain, pzErr,
- "EXPLAIN QUERY PLAN %s", pStmt->zSql
- );
- while( rc==SQLITE_OK && sqlite3_step(pExplain)==SQLITE_ROW ){
- /* int iId = sqlite3_column_int(pExplain, 0); */
- /* int iParent = sqlite3_column_int(pExplain, 1); */
- /* int iNotUsed = sqlite3_column_int(pExplain, 2); */
- const char *zDetail = (const char*)sqlite3_column_text(pExplain, 3);
- int nDetail = STRLEN(zDetail);
- int i;
-
- for(i=0; ihIdx, zIdx, nIdx);
- if( zSql ){
- idxHashAdd(&rc, &hIdx, zSql, 0);
- if( rc ) goto find_indexes_out;
- }
- break;
- }
- }
-
- if( zDetail[0]!='-' ){
- pStmt->zEQP = idxAppendText(&rc, pStmt->zEQP, "%s\n", zDetail);
- }
- }
-
- for(pEntry=hIdx.pFirst; pEntry; pEntry=pEntry->pNext){
- pStmt->zIdx = idxAppendText(&rc, pStmt->zIdx, "%s;\n", pEntry->zKey);
- }
-
- idxFinalize(&rc, pExplain);
- }
-
- find_indexes_out:
- idxHashClear(&hIdx);
- return rc;
-}
-
-static int idxAuthCallback(
- void *pCtx,
- int eOp,
- const char *z3,
- const char *z4,
- const char *zDb,
- const char *zTrigger
-){
- int rc = SQLITE_OK;
- (void)z4;
- (void)zTrigger;
- if( eOp==SQLITE_INSERT || eOp==SQLITE_UPDATE || eOp==SQLITE_DELETE ){
- if( sqlite3_stricmp(zDb, "main")==0 ){
- sqlite3expert *p = (sqlite3expert*)pCtx;
- IdxTable *pTab;
- for(pTab=p->pTable; pTab; pTab=pTab->pNext){
- if( 0==sqlite3_stricmp(z3, pTab->zName) ) break;
- }
- if( pTab ){
- IdxWrite *pWrite;
- for(pWrite=p->pWrite; pWrite; pWrite=pWrite->pNext){
- if( pWrite->pTab==pTab && pWrite->eOp==eOp ) break;
- }
- if( pWrite==0 ){
- pWrite = idxMalloc(&rc, sizeof(IdxWrite));
- if( rc==SQLITE_OK ){
- pWrite->pTab = pTab;
- pWrite->eOp = eOp;
- pWrite->pNext = p->pWrite;
- p->pWrite = pWrite;
- }
- }
- }
- }
- }
- return rc;
-}
-
-static int idxProcessOneTrigger(
- sqlite3expert *p,
- IdxWrite *pWrite,
- char **pzErr
-){
- static const char *zInt = UNIQUE_TABLE_NAME;
- static const char *zDrop = "DROP TABLE " UNIQUE_TABLE_NAME;
- IdxTable *pTab = pWrite->pTab;
- const char *zTab = pTab->zName;
- const char *zSql =
- "SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_master "
- "WHERE tbl_name = %Q AND type IN ('table', 'trigger') "
- "ORDER BY type;";
- sqlite3_stmt *pSelect = 0;
- int rc = SQLITE_OK;
- char *zWrite = 0;
-
- /* Create the table and its triggers in the temp schema */
- rc = idxPrintfPrepareStmt(p->db, &pSelect, pzErr, zSql, zTab, zTab);
- while( rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pSelect) ){
- const char *zCreate = (const char*)sqlite3_column_text(pSelect, 0);
- rc = sqlite3_exec(p->dbv, zCreate, 0, 0, pzErr);
- }
- idxFinalize(&rc, pSelect);
-
- /* Rename the table in the temp schema to zInt */
- if( rc==SQLITE_OK ){
- char *z = sqlite3_mprintf("ALTER TABLE temp.%Q RENAME TO %Q", zTab, zInt);
- if( z==0 ){
- rc = SQLITE_NOMEM;
- }else{
- rc = sqlite3_exec(p->dbv, z, 0, 0, pzErr);
- sqlite3_free(z);
- }
- }
-
- switch( pWrite->eOp ){
- case SQLITE_INSERT: {
- int i;
- zWrite = idxAppendText(&rc, zWrite, "INSERT INTO %Q VALUES(", zInt);
- for(i=0; inCol; i++){
- zWrite = idxAppendText(&rc, zWrite, "%s?", i==0 ? "" : ", ");
- }
- zWrite = idxAppendText(&rc, zWrite, ")");
- break;
- }
- case SQLITE_UPDATE: {
- int i;
- zWrite = idxAppendText(&rc, zWrite, "UPDATE %Q SET ", zInt);
- for(i=0; inCol; i++){
- zWrite = idxAppendText(&rc, zWrite, "%s%Q=?", i==0 ? "" : ", ",
- pTab->aCol[i].zName
- );
- }
- break;
- }
- default: {
- assert( pWrite->eOp==SQLITE_DELETE );
- if( rc==SQLITE_OK ){
- zWrite = sqlite3_mprintf("DELETE FROM %Q", zInt);
- if( zWrite==0 ) rc = SQLITE_NOMEM;
- }
- }
- }
-
- if( rc==SQLITE_OK ){
- sqlite3_stmt *pX = 0;
- rc = sqlite3_prepare_v2(p->dbv, zWrite, -1, &pX, 0);
- idxFinalize(&rc, pX);
- if( rc!=SQLITE_OK ){
- idxDatabaseError(p->dbv, pzErr);
- }
- }
- sqlite3_free(zWrite);
-
- if( rc==SQLITE_OK ){
- rc = sqlite3_exec(p->dbv, zDrop, 0, 0, pzErr);
- }
-
- return rc;
-}
-
-static int idxProcessTriggers(sqlite3expert *p, char **pzErr){
- int rc = SQLITE_OK;
- IdxWrite *pEnd = 0;
- IdxWrite *pFirst = p->pWrite;
-
- while( rc==SQLITE_OK && pFirst!=pEnd ){
- IdxWrite *pIter;
- for(pIter=pFirst; rc==SQLITE_OK && pIter!=pEnd; pIter=pIter->pNext){
- rc = idxProcessOneTrigger(p, pIter, pzErr);
- }
- pEnd = pFirst;
- pFirst = p->pWrite;
- }
-
- return rc;
-}
-
-
-static int idxCreateVtabSchema(sqlite3expert *p, char **pzErrmsg){
- int rc = idxRegisterVtab(p);
- sqlite3_stmt *pSchema = 0;
-
- /* For each table in the main db schema:
- **
- ** 1) Add an entry to the p->pTable list, and
- ** 2) Create the equivalent virtual table in dbv.
- */
- rc = idxPrepareStmt(p->db, &pSchema, pzErrmsg,
- "SELECT type, name, sql, 1 FROM sqlite_master "
- "WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' "
- " UNION ALL "
- "SELECT type, name, sql, 2 FROM sqlite_master "
- "WHERE type = 'trigger'"
- " AND tbl_name IN(SELECT name FROM sqlite_master WHERE type = 'view') "
- "ORDER BY 4, 1"
- );
- while( rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pSchema) ){
- const char *zType = (const char*)sqlite3_column_text(pSchema, 0);
- const char *zName = (const char*)sqlite3_column_text(pSchema, 1);
- const char *zSql = (const char*)sqlite3_column_text(pSchema, 2);
-
- if( zType[0]=='v' || zType[1]=='r' ){
- rc = sqlite3_exec(p->dbv, zSql, 0, 0, pzErrmsg);
- }else{
- IdxTable *pTab;
- rc = idxGetTableInfo(p->db, zName, &pTab, pzErrmsg);
- if( rc==SQLITE_OK ){
- int i;
- char *zInner = 0;
- char *zOuter = 0;
- pTab->pNext = p->pTable;
- p->pTable = pTab;
-
- /* The statement the vtab will pass to sqlite3_declare_vtab() */
- zInner = idxAppendText(&rc, 0, "CREATE TABLE x(");
- for(i=0; i