From 76800328b2b170217f3db3f2d1eb4742a964b154 Mon Sep 17 00:00:00 2001
From: drh
Date: Tue, 13 Aug 2002 20:45:39 +0000
Subject: [PATCH] Documentation and makefile updates. (CVS 709)
FossilOrigin-Name: 92c403f485390bbd83a5be472e61c974f76d46b1
---
Makefile.linux-gcc | 112 ++++++++++++++++++++++++
README | 8 +-
Makefile.template => main.mk | 164 +++++++++++------------------------
manifest | 23 ++---
manifest.uuid | 2 +-
publish.sh | 2 +-
src/main.c | 4 +-
www/faq.tcl | 14 ++-
www/index.tcl | 14 +--
9 files changed, 205 insertions(+), 138 deletions(-)
create mode 100644 Makefile.linux-gcc
rename Makefile.template => main.mk (68%)
diff --git a/Makefile.linux-gcc b/Makefile.linux-gcc
new file mode 100644
index 0000000000..e9f667f09a
--- /dev/null
+++ b/Makefile.linux-gcc
@@ -0,0 +1,112 @@
+#!/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
diff --git a/README b/README
index 7beb62e8e4..326f3aa1ac 100644
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
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
@@ -18,16 +18,20 @@ For example:
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
diff --git a/Makefile.template b/main.mk
similarity index 68%
rename from Makefile.template
rename to main.mk
index 351ebf8850..aca99211a4 100644
--- a/Makefile.template
+++ b/main.mk
@@ -1,114 +1,52 @@
-#!/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
###############################################################################
+# The following macros should be defined before this script is
+# invoked:
+#
+# TOP The toplevel directory of the source tree. This is the
+# directory that contains this "Makefile.in" and the
+# "configure.in" script.
+#
+# BCC C Compiler and options for use in building executables that
+# will run on the platform that is doing the build.
+#
+# USLEEP If the target operating system supports the "usleep()" system
+# call, then define the HAVE_USLEEP macro for all C modules.
+#
+# THREADSAFE If you want the SQLite library to be safe for use within a
+# multi-threaded program, then define the following macro
+# appropriately:
+#
+# THREADLIB Specify any extra linker options needed to make the library
+# thread safe
+#
+# OPTS Extra compiler command-line options.
+#
+# EXE The suffix to add to executable files. ".exe" for windows
+# and "" for Unix.
+#
+# 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.
+#
+# AR Tools used to build a static library.
+# RANLIB
+#
+# TCL_FLAGS Extra compiler options needed for programs that use the
+# TCL library.
+#
+# LIBTCL Linker options needed to link against the TCL library.
+#
+# READLINE_FLAGS Compiler options needed for programs that use the
+# readline() library.
+#
+# LIBREADLINE Linker options needed by programs using readline() must
+# link against.
+#
+# ENCODING "UTF8" or "ISO8859"
+#
+# 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
#
@@ -358,6 +296,9 @@ conflict.html: $(TOP)/www/conflict.tcl
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.
#
@@ -378,7 +319,8 @@ DOC = \
speed.html \
faq.html \
formatchng.html \
- conflict.html
+ conflict.html \
+ omitted.html
doc: $(DOC)
mkdir -p doc
diff --git a/manifest b/manifest
index 6d9721d265..9f6c6603c2 100644
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
-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
@@ -14,7 +14,8 @@ F doc/report1.txt a031aaf37b185e4fa540223cb516d3bccec7eeac
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
@@ -27,7 +28,7 @@ F src/func.c e45cd908b9b723d9b91473d09e12c23f786b3fc2
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
@@ -132,9 +133,9 @@ F www/conflict.tcl 81dd21f9a679e60aae049e9dd8ab53d59570cda2
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
@@ -142,7 +143,7 @@ F www/speed.tcl 7fc83f1b018e1ecc451838449542c3079ed12425
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
diff --git a/manifest.uuid b/manifest.uuid
index 4dc32b3f1f..9942708138 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-f9d3d4c1230a7f1176b2002d72e94857e251c04e
\ No newline at end of file
+92c403f485390bbd83a5be472e61c974f76d46b1
\ No newline at end of file
diff --git a/publish.sh b/publish.sh
index 5eb6d04cfa..a15c756c06 100644
--- a/publish.sh
+++ b/publish.sh
@@ -13,7 +13,7 @@ srcdir=`echo "$0" | sed 's%\(^.*\)/[^/][^/]*$%\1%'`
# Get the makefile.
#
-cp $srcdir/Makefile.template ./Makefile
+cp $srcdir/Makefile.linux-gcc ./Makefile
# Start building stuff.
#
diff --git a/src/main.c b/src/main.c
index 453124f388..1bb740ffd8 100644
--- a/src/main.c
+++ b/src/main.c
@@ -14,7 +14,7 @@
** 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"
@@ -844,7 +844,7 @@ int sqlite_function_type(sqlite *db, const char *zName, int dataType){
** 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.
diff --git a/www/faq.tcl b/www/faq.tcl
index 84fa83160a..5236f4826c 100644
--- a/www/faq.tcl
+++ b/www/faq.tcl
@@ -1,7 +1,7 @@
#
# 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 {
@@ -275,7 +275,7 @@ ORDER BY name;
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:
-
+
SELECT name FROM
(SELECT * FROM sqlite_master UNION ALL
SELECT * FROM sqlite_temp_master)
@@ -334,8 +334,14 @@ faq {
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.
+ encode NUL as "%00" and "%" as "%25". Or, you might consider encoding your
+ binary data using base-64. There is a source file named
+ "src/encode.c" in the SQLite distribution that contains
+ implementations of functions named "sqlite_encode_binary()
+ and sqlite_decode_binary() that can be used for converting
+ binary data to ASCII and back again, if you like.
+
+
}
faq {
diff --git a/www/index.tcl b/www/index.tcl
index 120bf2ee0c..efbc62c05e 100644
--- a/www/index.tcl
+++ b/www/index.tcl
@@ -1,7 +1,7 @@
#
# 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 {
SQLite: An SQL Database Engine In A C Library
@@ -47,7 +47,8 @@ Quick Links:
puts {Features
-- Implements most of SQL92.
+- Implements most of SQL92.
+ (Features not supported)
- A complete database (with multiple tables and indices) is
stored in a single disk file.
- Atomic commit and rollback protect data integrity.
@@ -59,12 +60,13 @@ puts {Features
- Very simple
C/C++ interface requires the use of only
three functions and one opaque structure.
-- TCL bindings included.
+- TCL bindings included.
+ Bindings for many other languages available separately.
- Simple, well-commented source code.
-- A TCL-based test suite provides near 100% code coverage.
+- Automated test suite provides near 100% code coverage.
- Self-contained: no external dependencies.
-- Built and tested under Linux and Win2K.
-- Sources are uncopyrighted. Use for any purpose.
+- Built and tested under Linux and Windows.
+- Sources are in the public domain. Use for any purpose.
}