--- /dev/null
+#!/usr/make
+#
+# Makefile for SQLITE
+#
+# This is a template makefile for SQLite. Most people prefer to
+# use the autoconf generated "configure" script to generate the
+# makefile automatically. But that does not work for everybody
+# and in every situation. If you are having problems with the
+# "configure" script, you might want to try this makefile as an
+# alternative. Create a copy of this file, edit the parameters
+# below and type "make".
+#
+
+#### The toplevel directory of the source tree. This is the directory
+# that contains this "Makefile.in" and the "configure.in" script.
+#
+TOP = ../sqlite
+
+#### C Compiler and options for use in building executables that
+# will run on the platform that is doing the build.
+#
+BCC = gcc -g -O2
+#BCC = /opt/ancic/bin/c89 -0
+
+#### If the target operating system supports the "usleep()" system
+# call, then define the HAVE_USLEEP macro for all C modules.
+#
+#USLEEP =
+USLEEP = -DHAVE_USLEEP=1
+
+#### If you want the SQLite library to be safe for use within a
+# multi-threaded program, then define the following macro
+# appropriately:
+#
+#THREADSAFE = -DTHREADSAFE=1
+THREADSAFE = -DTHREADSAFE=0
+
+#### Specify any extra linker options needed to make the library
+# thread safe
+#
+#THREADLIB = -lpthread
+THREADLIB =
+
+#### Leave MEMORY_DEBUG undefined for maximum speed. Use MEMORY_DEBUG=1
+# to check for memory leaks. Use MEMORY_DEBUG=2 to print a log of all
+# malloc()s and free()s in order to track down memory leaks.
+#
+# SQLite uses some expensive assert() statements in the inner loop.
+# You can make the library go almost twice as fast if you compile
+# with -DNDEBUG=1
+#
+#OPTS = -DMEMORY_DEBUG=2
+#OPTS = -DMEMORY_DEBUG=1
+#OPTS =
+OPTS = -DNDEBUG=1
+
+#### The suffix to add to executable files. ".exe" for windows.
+# Nothing for unix.
+#
+#EXE = .exe
+EXE =
+
+#### C Compile and options for use in building executables that
+# will run on the target platform. This is usually the same
+# as BCC, unless you are cross-compiling.
+#
+TCC = gcc -O6
+#TCC = gcc -g -O0 -Wall
+#TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage
+#TCC = /opt/mingw/bin/i386-mingw32-gcc -O6
+#TCC = /opt/ansic/bin/c89 -O +z -Wl,-a,archive
+
+#### Tools used to build a static library.
+#
+AR = ar cr
+#AR = /opt/mingw/bin/i386-mingw32-ar cr
+RANLIB = ranlib
+#RANLIB = /opt/mingw/bin/i386-mingw32-ranlib
+
+#### Extra compiler options needed for programs that use the TCL library.
+#
+#TCL_FLAGS =
+#TCL_FLAGS = -DSTATIC_BUILD=1
+TCL_FLAGS = -I/home/drh/tcltk/8.4linux
+#TCL_FLAGS = -I/home/drh/tcltk/8.4win -DSTATIC_BUILD=1
+#TCL_FLAGS = -I/home/drh/tcltk/8.3hpux
+
+#### Linker options needed to link against the TCL library.
+#
+#LIBTCL = -ltcl -lm -ldl
+LIBTCL = /home/drh/tcltk/8.4linux/libtcl8.4g.a -lm -ldl
+#LIBTCL = /home/drh/tcltk/8.4win/libtcl84s.a -lmsvcrt
+#LIBTCL = /home/drh/tcltk/8.3hpux/libtcl8.3.a -ldld -lm -lc
+
+#### Compiler options needed for programs that use the readline() library.
+#
+#READLINE_FLAGS =
+READLINE_FLAGS = -DHAVE_READLINE=1 -I/usr/include/readline
+
+#### Linker options needed by programs using readline() must link against.
+#
+#LIBREADLINE =
+LIBREADLINE = -static -lreadline -ltermcap
+
+#### Should the database engine assume text is coded as UTF-8 or iso8859?
+#
+# ENCODING = UTF8
+ENCODING = ISO8859
+
+# You should not have to change anything below this line
+###############################################################################
+include $(TOP)/main.mk
This directory contains source code to
- SQLite: An SQL Database Engine in a C Library
+ SQLite: An Embeddable SQL Database Engine
To compile the project, first create a directory in which to place
the build products. It is recommended, but not required, that the
The configure script uses autoconf 2.50 and libtool. If the configure
script does not work out for you, there is a generic makefile named
-"Makefile.template" in the top directory of the source tree that you
+"Makefile.linux-gcc" in the top directory of the source tree that you
can copy and edit to suite your needs. Comments on the generic makefile
show what changes are needed.
+The linux binaries on the website are created using the generic makefile,
+not the configure script. The configure script is unmaintained. (You
+can volunteer to take over maintenance of the configure script, if you want!)
The windows binaries on the website are created using MinGW32 configured
as a cross-compiler running under Linux. For details, see the ./publish.sh
script at the top-level of the source tree.
Contacts:
+ http://www.sqlite.org/
http://www.hwaci.com/sw/sqlite/
http://groups.yahoo.com/group/sqlite/
drh@hwaci.com
-#!/usr/make
+###############################################################################
+# The following macros should be defined before this script is
+# invoked:
#
-# Makefile for SQLITE
+# TOP The toplevel directory of the source tree. This is the
+# directory that contains this "Makefile.in" and the
+# "configure.in" script.
#
-# This is a template makefile for SQLite. Most people prefer to
-# use the autoconf generated "configure" script to generate the
-# makefile automatically. But that does not work for everybody
-# and in every situation. If you are having problems with the
-# "configure" script, you might want to try this makefile as an
-# alternative. Create a copy of this file, edit the parameters
-# below and type "make".
+# BCC C Compiler and options for use in building executables that
+# will run on the platform that is doing the build.
#
-
-#### The toplevel directory of the source tree. This is the directory
-# that contains this "Makefile.in" and the "configure.in" script.
+# USLEEP If the target operating system supports the "usleep()" system
+# call, then define the HAVE_USLEEP macro for all C modules.
#
-TOP = ../sqlite
-
-#### C Compiler and options for use in building executables that
-# will run on the platform that is doing the build.
+# THREADSAFE If you want the SQLite library to be safe for use within a
+# multi-threaded program, then define the following macro
+# appropriately:
#
-BCC = gcc -g -O2
-#BCC = /opt/ancic/bin/c89 -0
-
-#### If the target operating system supports the "usleep()" system
-# call, then define the HAVE_USLEEP macro for all C modules.
+# THREADLIB Specify any extra linker options needed to make the library
+# thread safe
#
-#USLEEP =
-USLEEP = -DHAVE_USLEEP=1
-
-#### If you want the SQLite library to be safe for use within a
-# multi-threaded program, then define the following macro
-# appropriately:
+# OPTS Extra compiler command-line options.
#
-#THREADSAFE = -DTHREADSAFE=1
-THREADSAFE = -DTHREADSAFE=0
-
-#### Specify any extra linker options needed to make the library
-# thread safe
+# EXE The suffix to add to executable files. ".exe" for windows
+# and "" for Unix.
#
-#THREADLIB = -lpthread
-THREADLIB =
-
-#### Leave MEMORY_DEBUG undefined for maximum speed. Use MEMORY_DEBUG=1
-# to check for memory leaks. Use MEMORY_DEBUG=2 to print a log of all
-# malloc()s and free()s in order to track down memory leaks.
-#
-# SQLite uses some expensive assert() statements in the inner loop.
-# You can make the library go almost twice as fast if you compile
-# with -DNDEBUG=1
+# TCC C Compiler and options for use in building executables that
+# will run on the target platform. This is usually the same
+# as BCC, unless you are cross-compiling.
#
-#OPTS = -DMEMORY_DEBUG=2
-#OPTS = -DMEMORY_DEBUG=1
-#OPTS =
-OPTS = -DNDEBUG=1
-
-#### The suffix to add to executable files. ".exe" for windows.
-# Nothing for unix.
+# AR Tools used to build a static library.
+# RANLIB
#
-#EXE = .exe
-EXE =
-
-#### C Compile and options for use in building executables that
-# will run on the target platform. This is usually the same
-# as BCC, unless you are cross-compiling.
+# TCL_FLAGS Extra compiler options needed for programs that use the
+# TCL library.
#
-TCC = gcc -O6
-#TCC = gcc -g -O0 -Wall
-#TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage
-#TCC = /opt/mingw/bin/i386-mingw32-gcc -O6
-#TCC = /opt/ansic/bin/c89 -O +z -Wl,-a,archive
-
-#### Tools used to build a static library.
+# LIBTCL Linker options needed to link against the TCL library.
#
-AR = ar cr
-#AR = /opt/mingw/bin/i386-mingw32-ar cr
-RANLIB = ranlib
-#RANLIB = /opt/mingw/bin/i386-mingw32-ranlib
-
-#### Extra compiler options needed for programs that use the TCL library.
+# READLINE_FLAGS Compiler options needed for programs that use the
+# readline() library.
#
-#TCL_FLAGS =
-#TCL_FLAGS = -DSTATIC_BUILD=1
-TCL_FLAGS = -I/home/drh/tcltk/8.4linux
-#TCL_FLAGS = -I/home/drh/tcltk/8.4win -DSTATIC_BUILD=1
-#TCL_FLAGS = -I/home/drh/tcltk/8.3hpux
-
-#### Linker options needed to link against the TCL library.
+# LIBREADLINE Linker options needed by programs using readline() must
+# link against.
#
-#LIBTCL = -ltcl -lm -ldl
-LIBTCL = /home/drh/tcltk/8.4linux/libtcl8.4g.a -lm -ldl
-#LIBTCL = /home/drh/tcltk/8.4win/libtcl84s.a -lmsvcrt
-#LIBTCL = /home/drh/tcltk/8.3hpux/libtcl8.3.a -ldld -lm -lc
-
-#### Compiler options needed for programs that use the readline() library.
+# ENCODING "UTF8" or "ISO8859"
#
-#READLINE_FLAGS =
-READLINE_FLAGS = -DHAVE_READLINE=1 -I/usr/include/readline
-
-#### Linker options needed by programs using readline() must link against.
-#
-#LIBREADLINE =
-LIBREADLINE = -static -lreadline -ltermcap
-
-#### Should the database engine assume text is coded as UTF-8 or iso8859?
-#
-# ENCODING = UTF8
-ENCODING = ISO8859
-
-# You should not have to change anything below this line
-###############################################################################
+# Once the macros above are defined, the rest of this make script will
+# build the SQLite library and testing tools.
+################################################################################
# This is how we compile
#
download.html: $(TOP)/www/download.tcl
tclsh $(TOP)/www/download.tcl >download.html
+omitted.html: $(TOP)/www/omitted.tcl
+ tclsh $(TOP)/www/omitted.tcl >omitted.html
+
# Files to be published on the website.
#
speed.html \
faq.html \
formatchng.html \
- conflict.html
+ conflict.html \
+ omitted.html
doc: $(DOC)
mkdir -p doc
-C Bug\sfix\sto\sthe\sleft\souter\sjoin\slogic.\s(CVS\s708)
-D 2002-08-13T13:15:51
+C Documentation\sand\smakefile\supdates.\s(CVS\s709)
+D 2002-08-13T20:45:40
F Makefile.in 6291a33b87d2a395aafd7646ee1ed562c6f2c28c
-F Makefile.template 0f288908fb6b1186b1594d753f79dc06c32b1dd7
-F README a4c0ba11354ef6ba0776b400d057c59da47a4cc0
+F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
+F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
F VERSION f860323f95b110e5af69b3754d006f39304390a0
F aclocal.m4 11faa843caa38fd451bc6aeb43e248d1723a269d
F config.guess f38b1e93d1e0fa6f5a6913e9e7b12774b9232588
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895
F libtool c56e618713c9510a103bda6b95f3ea3900dcacd6
F ltmain.sh e9ed72eb1d690f447c13945eaf69e28af531eda1
-F publish.sh 29f86624db9253353ae159a9e015f81e16f9dd5b
+F main.mk 34e976d914ac76ba90a93d2b7c41c1a7498e8c59
+F publish.sh a7a8d23e6525bd25d4f5ba9b0fc6edc107d94050
F spec.template 238f7db425a78dc1bb7682e56e3834c7270a3f5e
F sqlite.1 83f4a9d37bdf2b7ef079a82d54eaf2e3509ee6ea
F src/btree.c 16d1712321e91e77562ffc673ed97b0b1a791db4
F src/hash.c 6a6236b89c8c060c65dabd300a1c8ce7c10edb72
F src/hash.h cd0433998bc1a3759d244e1637fe5a3c13b53bf8
F src/insert.c 8aefc998c86a3bd53082e2f8fdd049345fcf3463
-F src/main.c 0f5d0f6f27333a851d848bfdd7bfa67a37cea12b
+F src/main.c 69f85a56200df5f5ce24ba38b6590d2a9c9f542b
F src/md5.c 0ae1f3e2cac92d06fc6246d1b4b8f61a2fe66d3b
F src/os.c 9665974085ebe1d40d56d1145045b3d64f12cbce
F src/os.h 4a361fccfbc4e7609b3e1557f604f94c1e96ad10
F www/crosscompile.tcl 3622ebbe518927a3854a12de51344673eb2dd060
F www/download.tcl 29aa6679ca29621d10613f60ebbbda18f4b91c49
F www/dynload.tcl 02eb8273aa78cfa9070dd4501dca937fb22b466c
-F www/faq.tcl 5e3f71ced26a6dc863bd8d7afd711bf16c99acf6
+F www/faq.tcl e5a752ff431a8408ae24a91ab88ded2dfe699e16
F www/formatchng.tcl 502847353450adaf76d187d87374bce20dd07e0e
-F www/index.tcl 4ee3750153a5eaaabc3e5d9b1e96cfbe78c62086
+F www/index.tcl 47945cc79706e9f2caf797330412c112d54ad72b
F www/lang.tcl 8c3d0bda030f110c754b5edbad75eddf5dbe2ed1
F www/mingw.tcl f1c7c0a7f53387dd9bb4f8c7e8571b7561510ebc
F www/opcode.tcl 33c5f2061a05c5d227c72b84c080b3bf74c74f8b
F www/sqlite.tcl ae3dcfb077e53833b59d4fcc94d8a12c50a44098
F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
-P 957d908e6b84cd599b5cfd82af80c8fac79c1dbd
-R 3e7291c79a919fa2cefc3efc93c90571
+P f9d3d4c1230a7f1176b2002d72e94857e251c04e
+R d02766c7d8bb513006dc1e531944f320
U drh
-Z de838e68957e6e35c849e80fb3e5a484
+Z ee2dcaa9cadd52a5fbd5a9424f9bf06e
-f9d3d4c1230a7f1176b2002d72e94857e251c04e
\ No newline at end of file
+92c403f485390bbd83a5be472e61c974f76d46b1
\ No newline at end of file
# Get the makefile.
#
-cp $srcdir/Makefile.template ./Makefile
+cp $srcdir/Makefile.linux-gcc ./Makefile
# Start building stuff.
#
** other files are for internal use by SQLite and should not be
** accessed by users of the library.
**
-** $Id: main.c,v 1.95 2002/08/02 10:36:10 drh Exp $
+** $Id: main.c,v 1.96 2002/08/13 20:45:41 drh Exp $
*/
#include "sqliteInt.h"
#include "os.h"
** separate databases and acting on them as if they were one.
**
** This routine closes the existing auxiliary database file, which will
-** cause any previously created TEMP tables to be created.
+** cause any previously created TEMP tables to be dropped.
**
** The zName parameter can be a NULL pointer or an empty string to cause
** a temporary file to be opened and automatically deleted when closed.
#
# Run this script to generated a faq.html output file
#
-set rcsid {$Id: faq.tcl,v 1.14 2002/08/11 20:10:49 drh Exp $}
+set rcsid {$Id: faq.tcl,v 1.15 2002/08/13 20:45:41 drh Exp $}
puts {<html>
<head>
except that it is only visible to the application that created the
temporary tables. To get a list of all tables, both permanent and
temporary, one can use a command similar to the following:
-</blockquote><pre>
+<blockquote><pre>
SELECT name FROM
(SELECT * FROM sqlite_master UNION ALL
SELECT * FROM sqlite_temp_master)
the data does not contain any NUL characters. If you want to store binary
data, consider encoding your data in such a way that it contains no NUL
characters and inserting it that way. You might use URL-style encoding:
- encode NUL as "%00" and "%" as "%25". Or you might consider encoding your
- binary data using base-64.</p>
+ encode NUL as "%00" and "%" as "%25". Or, you might consider encoding your
+ binary data using base-64. There is a source file named
+ "<b>src/encode.c</b>" in the SQLite distribution that contains
+ implementations of functions named "<b>sqlite_encode_binary()</b>
+ and <b>sqlite_decode_binary()</b> that can be used for converting
+ binary data to ASCII and back again, if you like.</p>
+
+
}
faq {
#
# Run this TCL script to generate HTML for the index.html file.
#
-set rcsid {$Id: index.tcl,v 1.63 2002/08/13 00:01:18 drh Exp $}
+set rcsid {$Id: index.tcl,v 1.64 2002/08/13 20:45:41 drh Exp $}
puts {<html>
<head><title>SQLite: An SQL Database Engine In A C Library</title></head>
puts {<h2>Features</h2>
<p><ul>
-<li>Implements most of SQL92.</li>
+<li>Implements most of SQL92.
+ (<a href="omitted.html">Features not supported</a>)</li>
<li>A complete database (with multiple tables and indices) is
stored in a single disk file.</li>
<li>Atomic commit and rollback protect data integrity.</li>
<li>Very simple
<a href="c_interface.html">C/C++ interface</a> requires the use of only
three functions and one opaque structure.</li>
-<li><a href="tclsqlite.html">TCL bindings</a> included.</li>
+<li><a href="tclsqlite.html">TCL bindings</a> included.
+ Bindings for many other languages available separately.</li>
<li>Simple, well-commented source code.</li>
-<li>A TCL-based test suite provides near 100% code coverage.</li>
+<li>Automated test suite provides near 100% code coverage.</li>
<li>Self-contained: no external dependencies.</li>
-<li>Built and tested under Linux and Win2K.</li>
-<li>Sources are uncopyrighted. Use for any purpose.</li>
+<li>Built and tested under Linux and Windows.</li>
+<li>Sources are in the public domain. Use for any purpose.</li>
</ul>
</p>
}