From: drh Date: Wed, 30 Jun 2004 11:41:55 +0000 (+0000) Subject: Add the crashtest target to Makefile.in. Add LL suffix to long long constants X-Git-Tag: version-3.6.10~4344 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=376deb182adb01f692753a58f4b7e350a29bb099;p=thirdparty%2Fsqlite.git Add the crashtest target to Makefile.in. Add LL suffix to long long constants in the vdbe. Comment changes to vdbeaux.c. (CVS 1780) FossilOrigin-Name: 42553001954356c942b874e95277efe235ef7692 --- diff --git a/Makefile.in b/Makefile.in index deb84c744b..1df8b32375 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,582 +1,590 @@ -#!/usr/make -# -# Makefile for SQLITE -# -# This makefile is suppose to be configured automatically using the -# autoconf. But if that does not work for you, you can configure -# the makefile manually. Just set the parameters below to values that -# work well for your system. -# -# If the configure script does not work out-of-the-box, you might -# be able to get it to work by giving it some hints. See the comment -# at the beginning of configure.in for additional information. -# - -# The toplevel directory of the source tree. This is the directory -# that contains this "Makefile.in" and the "configure.in" script. -# -TOP = @srcdir@ - -# C Compiler and options for use in building executables that -# will run on the platform that is doing the build. -# -BCC = @BUILD_CC@ @BUILD_CFLAGS@ - -# C Compile and options for use in building executables that -# will run on the target platform. (BCC and TCC are usually the -# same unless your are cross-compiling.) -# -TCC = @TARGET_CC@ @TARGET_CFLAGS@ -I. -I${TOP}/src - -# Some standard variables and programs -# -prefix = @prefix@ -exec_prefix = @exec_prefix@ -INSTALL = @INSTALL@ -LIBTOOL = ./libtool -RELEASE = @ALLOWRELEASE@ - -# libtool compile/link/install -LTCOMPILE = $(LIBTOOL) --mode=compile $(TCC) -LTLINK = $(LIBTOOL) --mode=link $(TCC) -LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL) - -# Compiler options needed for programs that use the TCL library. -# -TCL_FLAGS = @TARGET_TCL_INC@ - -# The library that programs using TCL must link against. -# -LIBTCL = @TARGET_TCL_LIBS@ - -# Compiler options needed for programs that use the readline() library. -# -READLINE_FLAGS = -DHAVE_READLINE=@TARGET_HAVE_READLINE@ @TARGET_READLINE_INC@ - -# The library that programs using readline() must link against. -# -LIBREADLINE = @TARGET_READLINE_LIBS@ - -# Should the database engine be compiled threadsafe -# -THREADSAFE = -DTHREADSAFE=@THREADSAFE@ - -# Flags controlling use of the in memory btree implementation -# -# TEMP_STORE is 0 to force temporary tables to be in a file, 1 to -# default to file, 2 to default to memory, and 3 to force temporary -# tables to always be in memory. -# -TEMP_STORE = -DTEMP_STORE=@TEMP_STORE@ - -# You should not have to change anything below this line -############################################################################### - -# Object files for the SQLite library. -# -LIBOBJ = attach.lo auth.lo btree.lo build.lo date.lo delete.lo \ - expr.lo func.lo hash.lo insert.lo \ - main.lo opcodes.lo os_mac.lo os_unix.lo os_win.lo \ - pager.lo parse.lo pragma.lo printf.lo random.lo \ - select.lo table.lo tokenize.lo trigger.lo update.lo util.lo vacuum.lo \ - vdbe.lo vdbeapi.lo vdbeaux.lo vdbemem.lo \ - where.lo utf.lo legacy.lo - -# All of the source code files. -# -SRC = \ - $(TOP)/src/attach.c \ - $(TOP)/src/auth.c \ - $(TOP)/src/btree.c \ - $(TOP)/src/btree.h \ - $(TOP)/src/build.c \ - $(TOP)/src/date.c \ - $(TOP)/src/delete.c \ - $(TOP)/src/encode.c \ - $(TOP)/src/expr.c \ - $(TOP)/src/func.c \ - $(TOP)/src/hash.c \ - $(TOP)/src/hash.h \ - $(TOP)/src/insert.c \ - $(TOP)/src/legacy.c \ - $(TOP)/src/main.c \ - $(TOP)/src/os_mac.c \ - $(TOP)/src/os_unix.c \ - $(TOP)/src/os_win.c \ - $(TOP)/src/pager.c \ - $(TOP)/src/pager.h \ - $(TOP)/src/parse.y \ - $(TOP)/src/pragma.c \ - $(TOP)/src/printf.c \ - $(TOP)/src/random.c \ - $(TOP)/src/select.c \ - $(TOP)/src/shell.c \ - $(TOP)/src/sqlite.h.in \ - $(TOP)/src/sqliteInt.h \ - $(TOP)/src/table.c \ - $(TOP)/src/tclsqlite.c \ - $(TOP)/src/tokenize.c \ - $(TOP)/src/trigger.c \ - $(TOP)/src/utf.c \ - $(TOP)/src/update.c \ - $(TOP)/src/util.c \ - $(TOP)/src/vacuum.c \ - $(TOP)/src/vdbe.c \ - $(TOP)/src/vdbe.h \ - $(TOP)/src/vdbeapi.c \ - $(TOP)/src/vdbeaux.c \ - $(TOP)/src/vdbemem.c \ - $(TOP)/src/vdbeInt.h \ - $(TOP)/src/where.c - -# Source code to the test files. -# -TESTSRC = \ - $(TOP)/src/btree.c \ - $(TOP)/src/func.c \ - $(TOP)/src/os_mac.c \ - $(TOP)/src/os_unix.c \ - $(TOP)/src/os_win.c \ - $(TOP)/src/pager.c \ - $(TOP)/src/pragma.c \ - $(TOP)/src/printf.c \ - $(TOP)/src/test1.c \ - $(TOP)/src/test2.c \ - $(TOP)/src/test3.c \ - $(TOP)/src/test4.c \ - $(TOP)/src/test5.c \ - $(TOP)/src/utf.c \ - $(TOP)/src/vdbe.c \ - $(TOP)/src/md5.c - -# Header files used by all library source files. -# -HDR = \ - sqlite3.h \ - $(TOP)/src/btree.h \ - config.h \ - $(TOP)/src/hash.h \ - opcodes.h \ - $(TOP)/src/os.h \ - $(TOP)/src/os_common.h \ - $(TOP)/src/os_mac.h \ - $(TOP)/src/os_unix.h \ - $(TOP)/src/os_win.h \ - $(TOP)/src/sqliteInt.h \ - $(TOP)/src/vdbe.h \ - parse.h - -# Header files used by the VDBE submodule -# -VDBEHDR = \ - $(HDR) \ - $(TOP)/src/vdbeInt.h - -# This is the default Makefile target. The objects listed here -# are what get build when you type just "make" with no arguments. -# -all: sqlite3.h libsqlite3.la sqlite3@TARGET_EXEEXT@ - -Makefile: $(TOP)/Makefile.in - ./config.status - -# Generate the file "last_change" which contains the date of change -# of the most recently modified source code file -# -last_change: $(SRC) - cat $(SRC) | grep '$$Id: ' | sort +4 | tail -1 \ - | awk '{print $$5,$$6}' >last_change - -libsqlite3.la: $(LIBOBJ) - $(LTLINK) -o libsqlite3.la $(LIBOBJ) ${RELEASE} -rpath @exec_prefix@/lib \ - -version-info "8:6:8" - -libtclsqlite3.la: tclsqlite.lo libsqlite3.la - $(LTLINK) -o libtclsqlite3.la tclsqlite.lo \ - libsqlite3.la $(LIBTCL) -rpath @exec_prefix@/lib/sqlite \ - -version-info "8:6:8" - -sqlite3@TARGET_EXEEXT@: $(TOP)/src/shell.c libsqlite3.la sqlite3.h - $(LTLINK) $(READLINE_FLAGS) -o sqlite3 $(TOP)/src/shell.c \ - libsqlite3.la $(LIBREADLINE) - -# This target creates a directory named "tsrc" and fills it with -# copies of all of the C source code and header files needed to -# build on the target system. Some of the C source code and header -# files are automatically generated. This target takes care of -# all that automatic generation. -# -target_source: $(SRC) $(VDBEHDR) - rm -rf tsrc - mkdir tsrc - cp $(SRC) $(VDBEHDR) tsrc - rm tsrc/sqlite.h.in tsrc/parse.y - cp parse.c opcodes.c tsrc - -# Rules to build the LEMON compiler generator -# -lemon@BUILD_EXEEXT@: $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c - $(BCC) -o lemon $(TOP)/tool/lemon.c - cp $(TOP)/tool/lempar.c . - - -# Rules to build individual files -# -attach.lo: $(TOP)/src/attach.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/attach.c - -auth.lo: $(TOP)/src/auth.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/auth.c - -btree.lo: $(TOP)/src/btree.c $(HDR) $(TOP)/src/pager.h - $(LTCOMPILE) -c $(TOP)/src/btree.c - -build.lo: $(TOP)/src/build.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/build.c - -# The config.h file will contain a single #define that tells us how -# many bytes are in a pointer. This only works if a pointer is the -# same size on the host as it is on the target. If you are cross-compiling -# to a target with a different pointer size, you'll need to manually -# configure the config.h file. -# -config.h: - echo '#include ' >temp.c - echo 'int main(){printf(' >>temp.c - echo '"#define SQLITE_PTR_SZ %d",sizeof(char*));' >>temp.c - echo 'exit(0);}' >>temp.c - $(BCC) -o temp temp.c - ./temp >config.h - echo >>config.h - rm -f temp.c temp - -date.lo: $(TOP)/src/date.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/date.c - -delete.lo: $(TOP)/src/delete.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/delete.c - -encode.lo: $(TOP)/src/encode.c - $(LTCOMPILE) -c $(TOP)/src/encode.c - -expr.lo: $(TOP)/src/expr.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/expr.c - -func.lo: $(TOP)/src/func.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/func.c - -hash.lo: $(TOP)/src/hash.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/hash.c - -insert.lo: $(TOP)/src/insert.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/insert.c - -legacy.lo: $(TOP)/src/legacy.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/legacy.c - -main.lo: $(TOP)/src/main.c $(HDR) - $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/main.c - -pager.lo: $(TOP)/src/pager.c $(HDR) $(TOP)/src/pager.h - $(LTCOMPILE) -c $(TOP)/src/pager.c - -opcodes.lo: opcodes.c - $(LTCOMPILE) -c opcodes.c - -opcodes.c: $(TOP)/src/vdbe.c - echo '/* Automatically generated file. Do not edit */' >opcodes.c - echo 'char *sqlite3OpcodeNames[] = { "???", ' >>opcodes.c - grep '^case OP_' $(TOP)/src/vdbe.c | \ - sed -e 's/^.*OP_/ "/' -e 's/:.*$$/", /' >>opcodes.c - echo '};' >>opcodes.c - -opcodes.h: $(TOP)/src/vdbe.h - echo '/* Automatically generated file. Do not edit */' >opcodes.h - grep '^case OP_' $(TOP)/src/vdbe.c | \ - sed -e 's/://' | \ - awk '{printf "#define %-30s %3d\n", $$2, ++cnt}' >>opcodes.h - -os_mac.lo: $(TOP)/src/os_mac.c $(HDR) - $(LTCOMPILE) $(THREADSAFE) -c $(TOP)/src/os_mac.c - -os_unix.lo: $(TOP)/src/os_unix.c $(HDR) - $(LTCOMPILE) $(THREADSAFE) -c $(TOP)/src/os_unix.c - -os_win.lo: $(TOP)/src/os_win.c $(HDR) - $(LTCOMPILE) $(THREADSAFE) -c $(TOP)/src/os_win.c - -parse.lo: parse.c $(HDR) - $(LTCOMPILE) -c parse.c - -parse.h: parse.c - -parse.c: $(TOP)/src/parse.y lemon@BUILD_EXEEXT@ - cp $(TOP)/src/parse.y . - ./lemon parse.y - -pragma.lo: $(TOP)/src/pragma.c $(HDR) - $(LTCOMPILE) $(TCL_FLAGS) -c $(TOP)/src/pragma.c - -printf.lo: $(TOP)/src/printf.c $(HDR) - $(LTCOMPILE) $(TCL_FLAGS) -c $(TOP)/src/printf.c - -random.lo: $(TOP)/src/random.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/random.c - -select.lo: $(TOP)/src/select.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/select.c - -sqlite3.h: $(TOP)/src/sqlite.h.in - sed -e s/--VERS--/`cat ${TOP}/VERSION`/ \ - $(TOP)/src/sqlite.h.in >sqlite3.h - -table.lo: $(TOP)/src/table.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/table.c - -tclsqlite.lo: $(TOP)/src/tclsqlite.c $(HDR) - $(LTCOMPILE) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c - -tokenize.lo: $(TOP)/src/tokenize.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/tokenize.c - -trigger.lo: $(TOP)/src/trigger.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/trigger.c - -update.lo: $(TOP)/src/update.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/update.c - -utf.lo: $(TOP)/src/utf.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/utf.c - -util.lo: $(TOP)/src/util.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/util.c - -vacuum.lo: $(TOP)/src/vacuum.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/vacuum.c - -vdbe.lo: $(TOP)/src/vdbe.c $(VDBEHDR) - $(LTCOMPILE) -c $(TOP)/src/vdbe.c - -vdbeapi.lo: $(TOP)/src/vdbeapi.c $(VDBEHDR) - $(LTCOMPILE) -c $(TOP)/src/vdbeapi.c - -vdbeaux.lo: $(TOP)/src/vdbeaux.c $(VDBEHDR) - $(LTCOMPILE) -c $(TOP)/src/vdbeaux.c - -vdbemem.lo: $(TOP)/src/vdbemem.c $(VDBEHDR) - $(LTCOMPILE) -c $(TOP)/src/vdbemem.c - -where.lo: $(TOP)/src/where.c $(HDR) - $(LTCOMPILE) -c $(TOP)/src/where.c - -tclsqlite-sh.lo: $(TOP)/src/tclsqlite.c $(HDR) - $(LTCOMPILE) $(TCL_FLAGS) -DTCLSH=1 -o $@ -c $(TOP)/src/tclsqlite.c - -tclsqlite3: tclsqlite-sh.lo libsqlite3.la - $(LTLINK) $(TCL_FLAGS) -o tclsqlite3 tclsqlite-sh.lo \ - libsqlite3.la $(LIBTCL) - -testfixture@TARGET_EXEEXT@: $(TOP)/src/tclsqlite.c libtclsqlite3.la libsqlite3.la $(TESTSRC) - $(LTLINK) $(TCL_FLAGS) -DTCLSH=1 -DSQLITE_TEST=1\ - $(THREADSAFE) $(TEMP_STORE)\ - -o testfixture $(TESTSRC) $(TOP)/src/tclsqlite.c \ - libtclsqlite3.la libsqlite3.la $(LIBTCL) - -fulltest: testfixture@TARGET_EXEEXT@ sqlite3@TARGET_EXEEXT@ - ./testfixture $(TOP)/test/all.test - -test: testfixture@TARGET_EXEEXT@ sqlite3@TARGET_EXEEXT@ - ./testfixture $(TOP)/test/quick.test - - -# Rules used to build documentation -# -arch.html: $(TOP)/www/arch.tcl - tclsh $(TOP)/www/arch.tcl >arch.html - -arch2.gif: $(TOP)/www/arch2.gif - cp $(TOP)/www/arch2.gif . - -c_interface.html: $(TOP)/www/c_interface.tcl - tclsh $(TOP)/www/c_interface.tcl >c_interface.html - -capi3.html: $(TOP)/www/capi3.tcl - tclsh $(TOP)/www/capi3.tcl >capi3.html - -capi3ref.html: $(TOP)/www/capi3ref.tcl - tclsh $(TOP)/www/capi3ref.tcl >capi3ref.html - -changes.html: $(TOP)/www/changes.tcl - tclsh $(TOP)/www/changes.tcl >changes.html - -copyright.html: $(TOP)/www/copyright.tcl - tclsh $(TOP)/www/copyright.tcl >copyright.html - -copyright-release.html: $(TOP)/www/copyright-release.html - cp $(TOP)/www/copyright-release.html . - -copyright-release.pdf: $(TOP)/www/copyright-release.pdf - cp $(TOP)/www/copyright-release.pdf . - -common.tcl: $(TOP)/www/common.tcl - cp $(TOP)/www/common.tcl . - -conflict.html: $(TOP)/www/conflict.tcl - tclsh $(TOP)/www/conflict.tcl >conflict.html - -datatypes.html: $(TOP)/www/datatypes.tcl - tclsh $(TOP)/www/datatypes.tcl >datatypes.html - -datatype3.html: $(TOP)/www/datatype3.tcl - tclsh $(TOP)/www/datatype3.tcl >datatype3.html - -docs.html: $(TOP)/www/docs.tcl - tclsh $(TOP)/www/docs.tcl >docs.html - -download.html: $(TOP)/www/download.tcl - mkdir doc - tclsh $(TOP)/www/download.tcl >download.html - -faq.html: $(TOP)/www/faq.tcl - tclsh $(TOP)/www/faq.tcl >faq.html - -fileformat.html: $(TOP)/www/fileformat.tcl - tclsh $(TOP)/www/fileformat.tcl >fileformat.html - -formatchng.html: $(TOP)/www/formatchng.tcl - tclsh $(TOP)/www/formatchng.tcl >formatchng.html - -index.html: $(TOP)/www/index.tcl last_change - tclsh $(TOP)/www/index.tcl >index.html - -lang.html: $(TOP)/www/lang.tcl - tclsh $(TOP)/www/lang.tcl >lang.html - -lockingv3.html: $(TOP)/www/lockingv3.tcl - tclsh $(TOP)/www/lockingv3.tcl >lockingv3.html - -oldnews.html: $(TOP)/www/oldnews.tcl - tclsh $(TOP)/www/oldnews.tcl >oldnews.html - -omitted.html: $(TOP)/www/omitted.tcl - tclsh $(TOP)/www/omitted.tcl >omitted.html - -opcode.html: $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c - tclsh $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c >opcode.html - -mingw.html: $(TOP)/www/mingw.tcl - tclsh $(TOP)/www/mingw.tcl >mingw.html - -nulls.html: $(TOP)/www/nulls.tcl - tclsh $(TOP)/www/nulls.tcl >nulls.html - -quickstart.html: $(TOP)/www/quickstart.tcl - tclsh $(TOP)/www/quickstart.tcl >quickstart.html - -speed.html: $(TOP)/www/speed.tcl - tclsh $(TOP)/www/speed.tcl >speed.html - -sqlite.gif: $(TOP)/art/SQLite.gif - cp $(TOP)/art/SQLite.gif sqlite.gif - -sqlite.html: $(TOP)/www/sqlite.tcl - tclsh $(TOP)/www/sqlite.tcl >sqlite.html - -support.html: $(TOP)/www/support.tcl - tclsh $(TOP)/www/support.tcl >support.html - -tclsqlite.html: $(TOP)/www/tclsqlite.tcl - tclsh $(TOP)/www/tclsqlite.tcl >tclsqlite.html - -vdbe.html: $(TOP)/www/vdbe.tcl - tclsh $(TOP)/www/vdbe.tcl >vdbe.html - -version3.html: $(TOP)/www/version3.tcl - tclsh $(TOP)/www/version3.tcl >version3.html - - -# Files to be published on the website. -# -DOC = \ - arch.html \ - arch2.gif \ - c_interface.html \ - capi3.html \ - capi3ref.html \ - changes.html \ - copyright.html \ - copyright-release.html \ - copyright-release.pdf \ - conflict.html \ - datatypes.html \ - datatype3.html \ - docs.html \ - download.html \ - faq.html \ - fileformat.html \ - formatchng.html \ - index.html \ - lang.html \ - lockingv3.html \ - mingw.html \ - nulls.html \ - oldnews.html \ - omitted.html \ - opcode.html \ - quickstart.html \ - speed.html \ - sqlite.gif \ - sqlite.html \ - support.html \ - tclsqlite.html \ - vdbe.html \ - version3.html - -doc: common.tcl $(DOC) - mkdir -p doc - mv $(DOC) doc - -install: sqlite3 libsqlite3.la sqlite3.h - $(INSTALL) -d $(DESTDIR)$(exec_prefix)/lib - $(LTINSTALL) libsqlite3.la $(DESTDIR)$(exec_prefix)/lib - $(INSTALL) -d $(DESTDIR)$(exec_prefix)/bin - $(LTINSTALL) sqlite3 $(DESTDIR)$(exec_prefix)/bin - $(INSTALL) -d $(DESTDIR)$(prefix)/include - $(INSTALL) -m 0644 sqlite3.h $(DESTDIR)$(prefix)/include - $(INSTALL) -d $(DESTDIR)$(exec_prefix)/lib/pkgconfig; - $(INSTALL) -m 0644 sqlite.pc $(DESTDIR)$(exec_prefix)/lib/pkgconfig; - -clean: - rm -f *.lo *.la *.o sqlite3@TARGET_EXEEXT@ libsqlite3.la - rm -f sqlite3.h opcodes.* - rm -rf .libs .deps - rm -f lemon@BUILD_EXEEXT@ lempar.c parse.* sqlite*.tar.gz - rm -f $(PUBLISH) - rm -f *.da *.bb *.bbg gmon.out - rm -f testfixture@TARGET_EXEEXT@ test.db - rm -rf doc - rm -f common.tcl - rm -f sqlite3.dll sqlite3.lib - -# -# Windows section; all this funky .dll stuff ;-) -# -dll: sqlite3.dll - -REAL_LIBOBJ = $(LIBOBJ:%.lo=.libs/%.o) - -sqlite3.dll: $(LIBOBJ) $(TOP)/sqlite3.def - dllwrap --dllname sqlite3.dll --def $(TOP)/sqlite3.def $(REAL_LIBOBJ) - strip sqlite3.dll - -#target for dll import libraries -implib: sqlite3.lib - -#make Borland C++ and/or Microsoft VC import library for the dll -# ignore any errors (usually due to missing programs) -sqlite3.lib: sqlite3.dll - -implib -a sqlite3.lib sqlite3.dll - -lib /machine:i386 /def:$(TOP)/sqlite3.def - -distclean: clean - rm -f config.log config.status libtool Makefile config.h +#!/usr/make +# +# Makefile for SQLITE +# +# This makefile is suppose to be configured automatically using the +# autoconf. But if that does not work for you, you can configure +# the makefile manually. Just set the parameters below to values that +# work well for your system. +# +# If the configure script does not work out-of-the-box, you might +# be able to get it to work by giving it some hints. See the comment +# at the beginning of configure.in for additional information. +# + +# The toplevel directory of the source tree. This is the directory +# that contains this "Makefile.in" and the "configure.in" script. +# +TOP = @srcdir@ + +# C Compiler and options for use in building executables that +# will run on the platform that is doing the build. +# +BCC = @BUILD_CC@ @BUILD_CFLAGS@ + +# C Compile and options for use in building executables that +# will run on the target platform. (BCC and TCC are usually the +# same unless your are cross-compiling.) +# +TCC = @TARGET_CC@ @TARGET_CFLAGS@ -I. -I${TOP}/src + +# Some standard variables and programs +# +prefix = @prefix@ +exec_prefix = @exec_prefix@ +INSTALL = @INSTALL@ +LIBTOOL = ./libtool +RELEASE = @ALLOWRELEASE@ + +# libtool compile/link/install +LTCOMPILE = $(LIBTOOL) --mode=compile $(TCC) +LTLINK = $(LIBTOOL) --mode=link $(TCC) +LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL) + +# Compiler options needed for programs that use the TCL library. +# +TCL_FLAGS = @TARGET_TCL_INC@ + +# The library that programs using TCL must link against. +# +LIBTCL = @TARGET_TCL_LIBS@ + +# Compiler options needed for programs that use the readline() library. +# +READLINE_FLAGS = -DHAVE_READLINE=@TARGET_HAVE_READLINE@ @TARGET_READLINE_INC@ + +# The library that programs using readline() must link against. +# +LIBREADLINE = @TARGET_READLINE_LIBS@ + +# Should the database engine be compiled threadsafe +# +THREADSAFE = -DTHREADSAFE=@THREADSAFE@ + +# Flags controlling use of the in memory btree implementation +# +# TEMP_STORE is 0 to force temporary tables to be in a file, 1 to +# default to file, 2 to default to memory, and 3 to force temporary +# tables to always be in memory. +# +TEMP_STORE = -DTEMP_STORE=@TEMP_STORE@ + +# You should not have to change anything below this line +############################################################################### + +# Object files for the SQLite library. +# +LIBOBJ = attach.lo auth.lo btree.lo build.lo date.lo delete.lo \ + expr.lo func.lo hash.lo insert.lo \ + main.lo opcodes.lo os_mac.lo os_unix.lo os_win.lo \ + pager.lo parse.lo pragma.lo printf.lo random.lo \ + select.lo table.lo tokenize.lo trigger.lo update.lo util.lo vacuum.lo \ + vdbe.lo vdbeapi.lo vdbeaux.lo vdbemem.lo \ + where.lo utf.lo legacy.lo + +# All of the source code files. +# +SRC = \ + $(TOP)/src/attach.c \ + $(TOP)/src/auth.c \ + $(TOP)/src/btree.c \ + $(TOP)/src/btree.h \ + $(TOP)/src/build.c \ + $(TOP)/src/date.c \ + $(TOP)/src/delete.c \ + $(TOP)/src/encode.c \ + $(TOP)/src/expr.c \ + $(TOP)/src/func.c \ + $(TOP)/src/hash.c \ + $(TOP)/src/hash.h \ + $(TOP)/src/insert.c \ + $(TOP)/src/legacy.c \ + $(TOP)/src/main.c \ + $(TOP)/src/os_mac.c \ + $(TOP)/src/os_unix.c \ + $(TOP)/src/os_win.c \ + $(TOP)/src/pager.c \ + $(TOP)/src/pager.h \ + $(TOP)/src/parse.y \ + $(TOP)/src/pragma.c \ + $(TOP)/src/printf.c \ + $(TOP)/src/random.c \ + $(TOP)/src/select.c \ + $(TOP)/src/shell.c \ + $(TOP)/src/sqlite.h.in \ + $(TOP)/src/sqliteInt.h \ + $(TOP)/src/table.c \ + $(TOP)/src/tclsqlite.c \ + $(TOP)/src/tokenize.c \ + $(TOP)/src/trigger.c \ + $(TOP)/src/utf.c \ + $(TOP)/src/update.c \ + $(TOP)/src/util.c \ + $(TOP)/src/vacuum.c \ + $(TOP)/src/vdbe.c \ + $(TOP)/src/vdbe.h \ + $(TOP)/src/vdbeapi.c \ + $(TOP)/src/vdbeaux.c \ + $(TOP)/src/vdbemem.c \ + $(TOP)/src/vdbeInt.h \ + $(TOP)/src/where.c + +# Source code to the test files. +# +TESTSRC = \ + $(TOP)/src/btree.c \ + $(TOP)/src/func.c \ + $(TOP)/src/os_mac.c \ + $(TOP)/src/os_unix.c \ + $(TOP)/src/os_win.c \ + $(TOP)/src/pager.c \ + $(TOP)/src/pragma.c \ + $(TOP)/src/printf.c \ + $(TOP)/src/test1.c \ + $(TOP)/src/test2.c \ + $(TOP)/src/test3.c \ + $(TOP)/src/test4.c \ + $(TOP)/src/test5.c \ + $(TOP)/src/utf.c \ + $(TOP)/src/vdbe.c \ + $(TOP)/src/md5.c + +# Header files used by all library source files. +# +HDR = \ + sqlite3.h \ + $(TOP)/src/btree.h \ + config.h \ + $(TOP)/src/hash.h \ + opcodes.h \ + $(TOP)/src/os.h \ + $(TOP)/src/os_common.h \ + $(TOP)/src/os_mac.h \ + $(TOP)/src/os_unix.h \ + $(TOP)/src/os_win.h \ + $(TOP)/src/sqliteInt.h \ + $(TOP)/src/vdbe.h \ + parse.h + +# Header files used by the VDBE submodule +# +VDBEHDR = \ + $(HDR) \ + $(TOP)/src/vdbeInt.h + +# This is the default Makefile target. The objects listed here +# are what get build when you type just "make" with no arguments. +# +all: sqlite3.h libsqlite3.la sqlite3@TARGET_EXEEXT@ + +Makefile: $(TOP)/Makefile.in + ./config.status + +# Generate the file "last_change" which contains the date of change +# of the most recently modified source code file +# +last_change: $(SRC) + cat $(SRC) | grep '$$Id: ' | sort +4 | tail -1 \ + | awk '{print $$5,$$6}' >last_change + +libsqlite3.la: $(LIBOBJ) + $(LTLINK) -o libsqlite3.la $(LIBOBJ) ${RELEASE} -rpath @exec_prefix@/lib \ + -version-info "8:6:8" + +libtclsqlite3.la: tclsqlite.lo libsqlite3.la + $(LTLINK) -o libtclsqlite3.la tclsqlite.lo \ + libsqlite3.la $(LIBTCL) -rpath @exec_prefix@/lib/sqlite \ + -version-info "8:6:8" + +sqlite3@TARGET_EXEEXT@: $(TOP)/src/shell.c libsqlite3.la sqlite3.h + $(LTLINK) $(READLINE_FLAGS) -o sqlite3 $(TOP)/src/shell.c \ + libsqlite3.la $(LIBREADLINE) + +# This target creates a directory named "tsrc" and fills it with +# copies of all of the C source code and header files needed to +# build on the target system. Some of the C source code and header +# files are automatically generated. This target takes care of +# all that automatic generation. +# +target_source: $(SRC) $(VDBEHDR) + rm -rf tsrc + mkdir tsrc + cp $(SRC) $(VDBEHDR) tsrc + rm tsrc/sqlite.h.in tsrc/parse.y + cp parse.c opcodes.c tsrc + +# Rules to build the LEMON compiler generator +# +lemon@BUILD_EXEEXT@: $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c + $(BCC) -o lemon $(TOP)/tool/lemon.c + cp $(TOP)/tool/lempar.c . + + +# Rules to build individual files +# +attach.lo: $(TOP)/src/attach.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/attach.c + +auth.lo: $(TOP)/src/auth.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/auth.c + +btree.lo: $(TOP)/src/btree.c $(HDR) $(TOP)/src/pager.h + $(LTCOMPILE) -c $(TOP)/src/btree.c + +build.lo: $(TOP)/src/build.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/build.c + +# The config.h file will contain a single #define that tells us how +# many bytes are in a pointer. This only works if a pointer is the +# same size on the host as it is on the target. If you are cross-compiling +# to a target with a different pointer size, you'll need to manually +# configure the config.h file. +# +config.h: + echo '#include ' >temp.c + echo 'int main(){printf(' >>temp.c + echo '"#define SQLITE_PTR_SZ %d",sizeof(char*));' >>temp.c + echo 'exit(0);}' >>temp.c + $(BCC) -o temp temp.c + ./temp >config.h + echo >>config.h + rm -f temp.c temp + +date.lo: $(TOP)/src/date.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/date.c + +delete.lo: $(TOP)/src/delete.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/delete.c + +encode.lo: $(TOP)/src/encode.c + $(LTCOMPILE) -c $(TOP)/src/encode.c + +expr.lo: $(TOP)/src/expr.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/expr.c + +func.lo: $(TOP)/src/func.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/func.c + +hash.lo: $(TOP)/src/hash.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/hash.c + +insert.lo: $(TOP)/src/insert.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/insert.c + +legacy.lo: $(TOP)/src/legacy.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/legacy.c + +main.lo: $(TOP)/src/main.c $(HDR) + $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/main.c + +pager.lo: $(TOP)/src/pager.c $(HDR) $(TOP)/src/pager.h + $(LTCOMPILE) -c $(TOP)/src/pager.c + +opcodes.lo: opcodes.c + $(LTCOMPILE) -c opcodes.c + +opcodes.c: $(TOP)/src/vdbe.c + echo '/* Automatically generated file. Do not edit */' >opcodes.c + echo 'char *sqlite3OpcodeNames[] = { "???", ' >>opcodes.c + grep '^case OP_' $(TOP)/src/vdbe.c | \ + sed -e 's/^.*OP_/ "/' -e 's/:.*$$/", /' >>opcodes.c + echo '};' >>opcodes.c + +opcodes.h: $(TOP)/src/vdbe.h + echo '/* Automatically generated file. Do not edit */' >opcodes.h + grep '^case OP_' $(TOP)/src/vdbe.c | \ + sed -e 's/://' | \ + awk '{printf "#define %-30s %3d\n", $$2, ++cnt}' >>opcodes.h + +os_mac.lo: $(TOP)/src/os_mac.c $(HDR) + $(LTCOMPILE) $(THREADSAFE) -c $(TOP)/src/os_mac.c + +os_unix.lo: $(TOP)/src/os_unix.c $(HDR) + $(LTCOMPILE) $(THREADSAFE) -c $(TOP)/src/os_unix.c + +os_win.lo: $(TOP)/src/os_win.c $(HDR) + $(LTCOMPILE) $(THREADSAFE) -c $(TOP)/src/os_win.c + +parse.lo: parse.c $(HDR) + $(LTCOMPILE) -c parse.c + +parse.h: parse.c + +parse.c: $(TOP)/src/parse.y lemon@BUILD_EXEEXT@ + cp $(TOP)/src/parse.y . + ./lemon parse.y + +pragma.lo: $(TOP)/src/pragma.c $(HDR) + $(LTCOMPILE) $(TCL_FLAGS) -c $(TOP)/src/pragma.c + +printf.lo: $(TOP)/src/printf.c $(HDR) + $(LTCOMPILE) $(TCL_FLAGS) -c $(TOP)/src/printf.c + +random.lo: $(TOP)/src/random.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/random.c + +select.lo: $(TOP)/src/select.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/select.c + +sqlite3.h: $(TOP)/src/sqlite.h.in + sed -e s/--VERS--/`cat ${TOP}/VERSION`/ \ + $(TOP)/src/sqlite.h.in >sqlite3.h + +table.lo: $(TOP)/src/table.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/table.c + +tclsqlite.lo: $(TOP)/src/tclsqlite.c $(HDR) + $(LTCOMPILE) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c + +tokenize.lo: $(TOP)/src/tokenize.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/tokenize.c + +trigger.lo: $(TOP)/src/trigger.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/trigger.c + +update.lo: $(TOP)/src/update.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/update.c + +utf.lo: $(TOP)/src/utf.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/utf.c + +util.lo: $(TOP)/src/util.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/util.c + +vacuum.lo: $(TOP)/src/vacuum.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/vacuum.c + +vdbe.lo: $(TOP)/src/vdbe.c $(VDBEHDR) + $(LTCOMPILE) -c $(TOP)/src/vdbe.c + +vdbeapi.lo: $(TOP)/src/vdbeapi.c $(VDBEHDR) + $(LTCOMPILE) -c $(TOP)/src/vdbeapi.c + +vdbeaux.lo: $(TOP)/src/vdbeaux.c $(VDBEHDR) + $(LTCOMPILE) -c $(TOP)/src/vdbeaux.c + +vdbemem.lo: $(TOP)/src/vdbemem.c $(VDBEHDR) + $(LTCOMPILE) -c $(TOP)/src/vdbemem.c + +where.lo: $(TOP)/src/where.c $(HDR) + $(LTCOMPILE) -c $(TOP)/src/where.c + +tclsqlite-sh.lo: $(TOP)/src/tclsqlite.c $(HDR) + $(LTCOMPILE) $(TCL_FLAGS) -DTCLSH=1 -o $@ -c $(TOP)/src/tclsqlite.c + +tclsqlite3: tclsqlite-sh.lo libsqlite3.la + $(LTLINK) $(TCL_FLAGS) -o tclsqlite3 tclsqlite-sh.lo \ + libsqlite3.la $(LIBTCL) + +testfixture@TARGET_EXEEXT@: $(TOP)/src/tclsqlite.c libtclsqlite3.la libsqlite3.la $(TESTSRC) + $(LTLINK) $(TCL_FLAGS) -DTCLSH=1 -DSQLITE_TEST=1\ + $(THREADSAFE) $(TEMP_STORE)\ + -o testfixture $(TESTSRC) $(TOP)/src/tclsqlite.c \ + libtclsqlite3.la libsqlite3.la $(LIBTCL) + +crashtest@TARGET_EXEEXT@: $(TOP)/src/tclsqlite.c libsqlite3.la $(TESTSRC) $(TOP)/src/os_test.c + $(LTLINK) $(TCL_FLAGS) -DOS_TEST=1 -DTCLSH=1 -DSQLITE_TEST=1 \ + -o crashtest \ + $(TESTSRC) $(TOP)/src/os_test.c $(TOP)/src/tclsqlite.c \ + libsqlite3.la $(LIBTCL) $(THREADLIB) + + + +fulltest: testfixture@TARGET_EXEEXT@ sqlite3@TARGET_EXEEXT@ crashtest@TARGET_EXEEXT@ + ./testfixture $(TOP)/test/all.test + +test: testfixture@TARGET_EXEEXT@ sqlite3@TARGET_EXEEXT@ + ./testfixture $(TOP)/test/quick.test + + +# Rules used to build documentation +# +arch.html: $(TOP)/www/arch.tcl + tclsh $(TOP)/www/arch.tcl >arch.html + +arch2.gif: $(TOP)/www/arch2.gif + cp $(TOP)/www/arch2.gif . + +c_interface.html: $(TOP)/www/c_interface.tcl + tclsh $(TOP)/www/c_interface.tcl >c_interface.html + +capi3.html: $(TOP)/www/capi3.tcl + tclsh $(TOP)/www/capi3.tcl >capi3.html + +capi3ref.html: $(TOP)/www/capi3ref.tcl + tclsh $(TOP)/www/capi3ref.tcl >capi3ref.html + +changes.html: $(TOP)/www/changes.tcl + tclsh $(TOP)/www/changes.tcl >changes.html + +copyright.html: $(TOP)/www/copyright.tcl + tclsh $(TOP)/www/copyright.tcl >copyright.html + +copyright-release.html: $(TOP)/www/copyright-release.html + cp $(TOP)/www/copyright-release.html . + +copyright-release.pdf: $(TOP)/www/copyright-release.pdf + cp $(TOP)/www/copyright-release.pdf . + +common.tcl: $(TOP)/www/common.tcl + cp $(TOP)/www/common.tcl . + +conflict.html: $(TOP)/www/conflict.tcl + tclsh $(TOP)/www/conflict.tcl >conflict.html + +datatypes.html: $(TOP)/www/datatypes.tcl + tclsh $(TOP)/www/datatypes.tcl >datatypes.html + +datatype3.html: $(TOP)/www/datatype3.tcl + tclsh $(TOP)/www/datatype3.tcl >datatype3.html + +docs.html: $(TOP)/www/docs.tcl + tclsh $(TOP)/www/docs.tcl >docs.html + +download.html: $(TOP)/www/download.tcl + mkdir doc + tclsh $(TOP)/www/download.tcl >download.html + +faq.html: $(TOP)/www/faq.tcl + tclsh $(TOP)/www/faq.tcl >faq.html + +fileformat.html: $(TOP)/www/fileformat.tcl + tclsh $(TOP)/www/fileformat.tcl >fileformat.html + +formatchng.html: $(TOP)/www/formatchng.tcl + tclsh $(TOP)/www/formatchng.tcl >formatchng.html + +index.html: $(TOP)/www/index.tcl last_change + tclsh $(TOP)/www/index.tcl >index.html + +lang.html: $(TOP)/www/lang.tcl + tclsh $(TOP)/www/lang.tcl >lang.html + +lockingv3.html: $(TOP)/www/lockingv3.tcl + tclsh $(TOP)/www/lockingv3.tcl >lockingv3.html + +oldnews.html: $(TOP)/www/oldnews.tcl + tclsh $(TOP)/www/oldnews.tcl >oldnews.html + +omitted.html: $(TOP)/www/omitted.tcl + tclsh $(TOP)/www/omitted.tcl >omitted.html + +opcode.html: $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c + tclsh $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c >opcode.html + +mingw.html: $(TOP)/www/mingw.tcl + tclsh $(TOP)/www/mingw.tcl >mingw.html + +nulls.html: $(TOP)/www/nulls.tcl + tclsh $(TOP)/www/nulls.tcl >nulls.html + +quickstart.html: $(TOP)/www/quickstart.tcl + tclsh $(TOP)/www/quickstart.tcl >quickstart.html + +speed.html: $(TOP)/www/speed.tcl + tclsh $(TOP)/www/speed.tcl >speed.html + +sqlite.gif: $(TOP)/art/SQLite.gif + cp $(TOP)/art/SQLite.gif sqlite.gif + +sqlite.html: $(TOP)/www/sqlite.tcl + tclsh $(TOP)/www/sqlite.tcl >sqlite.html + +support.html: $(TOP)/www/support.tcl + tclsh $(TOP)/www/support.tcl >support.html + +tclsqlite.html: $(TOP)/www/tclsqlite.tcl + tclsh $(TOP)/www/tclsqlite.tcl >tclsqlite.html + +vdbe.html: $(TOP)/www/vdbe.tcl + tclsh $(TOP)/www/vdbe.tcl >vdbe.html + +version3.html: $(TOP)/www/version3.tcl + tclsh $(TOP)/www/version3.tcl >version3.html + + +# Files to be published on the website. +# +DOC = \ + arch.html \ + arch2.gif \ + c_interface.html \ + capi3.html \ + capi3ref.html \ + changes.html \ + copyright.html \ + copyright-release.html \ + copyright-release.pdf \ + conflict.html \ + datatypes.html \ + datatype3.html \ + docs.html \ + download.html \ + faq.html \ + fileformat.html \ + formatchng.html \ + index.html \ + lang.html \ + lockingv3.html \ + mingw.html \ + nulls.html \ + oldnews.html \ + omitted.html \ + opcode.html \ + quickstart.html \ + speed.html \ + sqlite.gif \ + sqlite.html \ + support.html \ + tclsqlite.html \ + vdbe.html \ + version3.html + +doc: common.tcl $(DOC) + mkdir -p doc + mv $(DOC) doc + +install: sqlite3 libsqlite3.la sqlite3.h + $(INSTALL) -d $(DESTDIR)$(exec_prefix)/lib + $(LTINSTALL) libsqlite3.la $(DESTDIR)$(exec_prefix)/lib + $(INSTALL) -d $(DESTDIR)$(exec_prefix)/bin + $(LTINSTALL) sqlite3 $(DESTDIR)$(exec_prefix)/bin + $(INSTALL) -d $(DESTDIR)$(prefix)/include + $(INSTALL) -m 0644 sqlite3.h $(DESTDIR)$(prefix)/include + $(INSTALL) -d $(DESTDIR)$(exec_prefix)/lib/pkgconfig; + $(INSTALL) -m 0644 sqlite.pc $(DESTDIR)$(exec_prefix)/lib/pkgconfig; + +clean: + rm -f *.lo *.la *.o sqlite3@TARGET_EXEEXT@ libsqlite3.la + rm -f sqlite3.h opcodes.* + rm -rf .libs .deps + rm -f lemon@BUILD_EXEEXT@ lempar.c parse.* sqlite*.tar.gz + rm -f $(PUBLISH) + rm -f *.da *.bb *.bbg gmon.out + rm -f testfixture@TARGET_EXEEXT@ test.db + rm -rf doc + rm -f common.tcl + rm -f sqlite3.dll sqlite3.lib + +# +# Windows section; all this funky .dll stuff ;-) +# +dll: sqlite3.dll + +REAL_LIBOBJ = $(LIBOBJ:%.lo=.libs/%.o) + +sqlite3.dll: $(LIBOBJ) $(TOP)/sqlite3.def + dllwrap --dllname sqlite3.dll --def $(TOP)/sqlite3.def $(REAL_LIBOBJ) + strip sqlite3.dll + +#target for dll import libraries +implib: sqlite3.lib + +#make Borland C++ and/or Microsoft VC import library for the dll +# ignore any errors (usually due to missing programs) +sqlite3.lib: sqlite3.dll + -implib -a sqlite3.lib sqlite3.dll + -lib /machine:i386 /def:$(TOP)/sqlite3.def + +distclean: clean + rm -f config.log config.status libtool Makefile config.h diff --git a/manifest b/manifest index 145787d9c6..2a57b8910a 100644 --- a/manifest +++ b/manifest @@ -1,6 +1,6 @@ -C Skip\sbigfile.test\son\sMac\sOS\sX.\s\sDarwin\sdoes\snot\shandle\slarge\ssparse\sfiles\nefficiently\sand\sso\sthis\stest\stakes\sa\sreally\slong\stime.\s(CVS\s1779) -D 2004-06-30T11:28:13 -F Makefile.in cb7a9889c38723f72b2506c4236ff30a05ff172b +C Add\sthe\scrashtest\starget\sto\sMakefile.in.\s\sAdd\sLL\ssuffix\sto\slong\slong\sconstants\nin\sthe\svdbe.\s\sComment\schanges\sto\svdbeaux.c.\s(CVS\s1780) +D 2004-06-30T11:41:55 +F Makefile.in f5788bf4daea9b25424df5ccb529ac3438efb2b2 F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd F VERSION 34009b3459559db331ace9f14f8bb7f94cfbb787 @@ -73,11 +73,11 @@ F src/update.c b66b1896c9da54678ba3eff2bf0b4d291a95986a F src/utf.c f03535db72bfa09e24202ccdd245f21d2fc65f0a F src/util.c b267d0fe10cffa3301fe9fab6592a6808a38bce6 F src/vacuum.c b8546f4921719458cc537b9e736df52a8256399c -F src/vdbe.c 4629151c9995b8b6a895c42de8808df1969bdcc7 +F src/vdbe.c 4e756ef91c9eb9ffd3dd5be17bda9d5bf2755a3e F src/vdbe.h 75b241c02431b9c0f16eaa9cdbb34146c6287f52 F src/vdbeInt.h 7160653a006b6d2c4a00d204112a095bdf842ab6 F src/vdbeapi.c 7c3c3d818fad427881b65c51999d06bf393ebeaf -F src/vdbeaux.c f97b4b5e922fe74152e084bcea7b4468156bde50 +F src/vdbeaux.c 4de85e30ca4a83ea0a45eceb7e88ac7a48f4c237 F src/vdbemem.c 053f8adcb644bca1c1e4ad08f4016cb7ee6bf1b8 F src/where.c 6507074d8ce3f78e7a4cd33f667f11e62020553e F test/all.test 3b692eb43583b52c99c344b2fa8934512d179016 @@ -233,7 +233,7 @@ F www/tclsqlite.tcl 19191cf2a1010eaeff74c51d83fd5f5a4d899075 F www/vdbe.tcl 59288db1ac5c0616296b26dce071c36cb611dfe9 F www/version3.tcl 563ba3ac02f64da27ab17f3edbe8e56bfd0293fb F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4 -P 0fedf74e30026afe2c8caacff3d62cf5c1b1f528 -R f265cdcdb3e5a78d515ac3546d48dc57 +P a3c38a6d286ab37a9cdcc8b2243ea3258cc61ff0 +R f3dc92bc418113954f3540b52554dd34 U drh -Z 2c3428bd0192b36fbf29e70c8322b7d0 +Z 78fbbed92b6b5d99dca4a6b3397cf5af diff --git a/manifest.uuid b/manifest.uuid index 330995408a..3f39f5f8ca 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a3c38a6d286ab37a9cdcc8b2243ea3258cc61ff0 \ No newline at end of file +42553001954356c942b874e95277efe235ef7692 \ No newline at end of file diff --git a/src/vdbe.c b/src/vdbe.c index 13689f8090..0e7fc444f0 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -43,7 +43,7 @@ ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** -** $Id: vdbe.c,v 1.398 2004/06/30 09:49:24 danielk1977 Exp $ +** $Id: vdbe.c,v 1.399 2004/06/30 11:41:55 drh Exp $ */ #include "sqliteInt.h" #include "os.h" @@ -2954,14 +2954,14 @@ case OP_NewRecno: { }else{ sqlite3BtreeKeySize(pC->pCursor, &v); v = keyToInt(v); - if( v==0x7fffffffffffffff ){ + if( v==0x7fffffffffffffffLL ){ pC->useRandomRowid = 1; }else{ v++; } } } - if( v<0x7fffffffffffffff ){ + if( v<0x7fffffffffffffffLL ){ pC->nextRowidValid = 1; pC->nextRowid = v+1; }else{ diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 8e0522ff37..2e37e917d4 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -1092,7 +1092,10 @@ static int vdbeCommit(sqlite *db){ /* ** Find every active VM other than pVdbe and change its status to -** aborted. This happens when on VM causes a rollback. +** aborted. This happens when one VM causes a rollback due to an +** ON CONFLICT ROLLBACK clause (for example). The other VMs must be +** aborted so that they do not have data rolled out from underneath +** them leading to a segfault. */ static void abortOtherActiveVdbes(Vdbe *pVdbe){ Vdbe *pOther;