diff --git a/Makefile.in b/Makefile.in index 071172c231..8c3f9a41f3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -230,11 +230,7 @@ fulltest: testfixture sqlite test: testfixture sqlite ./testfixture $(TOP)/test/quick.test -sqlite.tar.gz: - pwd=`pwd`; cd $(TOP)/..; tar czf $$pwd/sqlite.tar.gz sqlite - -index.html: $(TOP)/www/index.tcl sqlite.tar.gz last_change - cp ../sqlite-*.tar.gz . +index.html: $(TOP)/www/index.tcl last_change tclsh $(TOP)/www/index.tcl `cat $(TOP)/VERSION` >index.html sqlite.html: $(TOP)/www/sqlite.tcl @@ -273,11 +269,13 @@ tclsqlite.html: $(TOP)/www/tclsqlite.tcl speed.html: $(TOP)/www/speed.tcl tclsh $(TOP)/www/speed.tcl >speed.html +download.html: $(TOP)/www/download.tcl + tclsh $(TOP)/www/download.tcl >download.html + # Files to be published on the website. # -PUBLISH = \ - sqlite.tar.gz \ +DOC = \ index.html \ sqlite.html \ changes.html \ @@ -290,13 +288,12 @@ PUBLISH = \ crosscompile.html \ mingw.html \ tclsqlite.html \ + download.html \ speed.html -website: $(PUBLISH) - -publish: $(PUBLISH) - chmod 0644 $(PUBLISH) sqlite-*.tar.gz - scp $(PUBLISH) sqlite-*.tar.gz hwaci@oak.he.net:public_html/sw/sqlite +doc: $(DOC) + mkdir -p doc + mv $(DOC) doc install: sqlite libsqlite.la sqlite.h $(LIBTOOL) $(INSTALL) libsqlite.la $(prefix)/lib @@ -306,7 +303,7 @@ install: sqlite libsqlite.la sqlite.h clean: rm -f *.lo *.la *.o sqlite libsqlite.la sqlite.h rm -rf .libs .deps - rm -f lemon lempar.c parse.* sqlite.tar.gz + rm -f lemon lempar.c parse.* sqlite*.tar.gz rm -f $(PUBLISH) rm -f *.da *.bb *.bbg gmon.out rm -f testfixture test.db diff --git a/Makefile.template b/Makefile.template index 23db62d351..f76e22c786 100644 --- a/Makefile.template +++ b/Makefile.template @@ -284,11 +284,7 @@ fulltest: testfixture$(EXE) sqlite$(EXE) test: testfixture$(EXE) sqlite$(EXE) ./testfixture$(EXE) $(TOP)/test/quick.test -sqlite.tar.gz: - pwd=`pwd`; cd $(TOP)/..; tar czf $$pwd/sqlite.tar.gz sqlite - -index.html: $(TOP)/www/index.tcl sqlite.tar.gz last_change - cp ../sqlite-*.tar.gz . +index.html: $(TOP)/www/index.tcl last_change tclsh $(TOP)/www/index.tcl `cat $(TOP)/VERSION` >index.html sqlite.html: $(TOP)/www/sqlite.tcl @@ -327,11 +323,13 @@ tclsqlite.html: $(TOP)/www/tclsqlite.tcl speed.html: $(TOP)/www/speed.tcl tclsh $(TOP)/www/speed.tcl >speed.html +download.html: $(TOP)/www/download.tcl + tclsh $(TOP)/www/download.tcl >download.html + # Files to be published on the website. # -PUBLISH = \ - sqlite.tar.gz \ +DOC = \ index.html \ sqlite.html \ changes.html \ @@ -344,13 +342,12 @@ PUBLISH = \ crosscompile.html \ mingw.html \ tclsqlite.html \ + download.html \ speed.html -website: $(PUBLISH) - -publish: $(PUBLISH) - chmod 0644 $(PUBLISH) sqlite-*.tar.gz - scp $(PUBLISH) sqlite-*.tar.gz hwaci@oak.he.net:public_html/sw/sqlite +doc: $(DOC) + mkdir -p doc + mv $(DOC) doc install: sqlite libsqlite.a sqlite.h mv sqlite /usr/bin @@ -359,7 +356,7 @@ install: sqlite libsqlite.a sqlite.h clean: rm -f *.o sqlite libsqlite.a sqlite.h - rm -f lemon lempar.c parse.* sqlite.tar.gz + rm -f lemon lempar.c parse.* sqlite*.tar.gz rm -f $(PUBLISH) rm -f *.da *.bb *.bbg gmon.out rm -rf tsrc diff --git a/VERSION b/VERSION index 5cf092f4db..227cea2156 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0-alpha-3 +2.0.0 diff --git a/manifest b/manifest index 095bc520b1..51c841272f 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Put\sin\sthe\snew\sLIBTOOL\sbuild\ssystem.\s(CVS\s271) -D 2001-09-28T01:34:44 -F Makefile.in 4d29e58224476426cc8c78b631ae478cbad0e1ea -F Makefile.template 31de3ce7126e8325c759a94e5b72ee8febc43357 +C Version\s2.0.0\s(CVS\s272) +D 2001-09-28T17:47:14 +F Makefile.in 98d4627cb364537e4c3a29ee806171f3abf5211a +F Makefile.template 7179523fdf3d6e7933ec843e2352dcfc9785c700 F README 93d2977cc5c6595c448de16bdefc312b9d401533 -F VERSION 17fadc361fb942d644f92116388409c937c9fa79 +F VERSION 3861a21803fcd9eb92a403027b0da2bb7add4de1 F aclocal.m4 11faa843caa38fd451bc6aeb43e248d1723a269d F config.guess f38b1e93d1e0fa6f5a6913e9e7b12774b9232588 F config.log 6a73d03433669b10a3f0c221198c3f26b9413914 @@ -17,6 +17,7 @@ F doc/report1.txt a031aaf37b185e4fa540223cb516d3bccec7eeac F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 F libtool c56e618713c9510a103bda6b95f3ea3900dcacd6 F ltmain.sh e9ed72eb1d690f447c13945eaf69e28af531eda1 +F publish.sh 88bc1f96946582eb0323c4d31a89767ba6ae46ce F src/TODO af7f3cab0228e34149cf98e073aa83d45878e7e6 F src/btree.c a4a88dfef2072cedfdac09f3a51b7d70b017b9b4 F src/btree.h 57d653ef5137b91f2a068aaf71a2905468dd2cb7 @@ -41,7 +42,7 @@ F src/shell.tcl 27ecbd63dd88396ad16d81ab44f73e6c0ea9d20e F src/sqlite.h.in 08151912b382ded315b5c8fc6288d9d7a9332aa4 F src/sqliteInt.h 3ead85324704b79b2ae6799d6af3e5fd710756d9 F src/table.c abd0adbe0fee39d995287b3bcccd908d174dfcac -F src/tclsqlite.c 04a35d04f06046acc3944121dc6c36717f7f36d5 +F src/tclsqlite.c 765599686c19ed777ac379928d732c8bfc63ebac F src/test1.c e4b31f62ea71963cbae44338acf477a04fc8fc49 F src/test2.c 0168b39225b768cfdadd534406f9dec58c27879e F src/test3.c 4a0d7b882fdae731dbb759f512ad867122452f96 @@ -99,18 +100,18 @@ F www/arch.fig d5f9752a4dbf242e9cfffffd3f5762b6c63b3bcf F www/arch.png 82ef36db1143828a7abc88b1e308a5f55d4336f4 F www/arch.tcl c1891efdc00cd76eec72bdbf8b446195902932a3 F www/c_interface.tcl 52ae81c89bf906b358e04857bd3f76b1a7f61c1b -F www/changes.tcl d06af04f300162e47ac066e125ef34e863a19ca2 +F www/changes.tcl 47619693c843174b57d41482fcd00e2e70d41fd0 F www/crosscompile.tcl c99efacb3aefaa550c6e80d91b240f55eb9fd33e F www/dynload.tcl 02eb8273aa78cfa9070dd4501dca937fb22b466c -F www/index.tcl fd8ef2d78f22022d2baea03371a1add75d98d236 -F www/lang.tcl d093693db5d4d7b7127d134807e4e65dea0e5dee +F www/index.tcl 639a75165dc532a16ddb02055bc69541eecc3fa7 +F www/lang.tcl 33a74d727615ccbee8be7c8efd5876ce008c4b0e F www/mingw.tcl fc5f4ba9d336b6e8c97347cc6496d6162461ef60 F www/opcode.tcl 60222aeb57a7855b2582c374b8753cb5bb53c4ab F www/speed.tcl 91b53f9403a62bb322dc1f85a81531309bcfb41c F www/sqlite.tcl cb0d23d8f061a80543928755ec7775da6e4f362f F www/tclsqlite.tcl 13d50723f583888fc80ae1a38247c0ab415066fa F www/vdbe.tcl 0c8aaa529dd216ccbf7daaabd80985e413d5f9ad -P 3ae952933997c6422ec53b26391ba362c6e5c44a -R 9eb0a8a330099ee573677e4648d1a9dc +P 00575d167aea567bc38f8a329aeff7b814eb91c8 +R 81c8ca6ec47dd72d51e7ef41271549d2 U drh -Z dd38c213d9c2c1db847a360dc3d08644 +Z 04def0ebf7eae2e65632e77981c5002a diff --git a/manifest.uuid b/manifest.uuid index 806240d856..c5be8b95fe 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -00575d167aea567bc38f8a329aeff7b814eb91c8 \ No newline at end of file +1df5386a5557c1fc6a5433e9dbd23009026be369 \ No newline at end of file diff --git a/publish.sh b/publish.sh new file mode 100644 index 0000000000..083a25d10c --- /dev/null +++ b/publish.sh @@ -0,0 +1,98 @@ +#!/bin/sh +# +# This script is used to compile SQLite and all its documentation and +# ship everything up to the SQLite website. This script will only work +# on the system "zadok" at the Hwaci offices. But others might find +# the script useful as an example. +# + +# Set srcdir to the name of the directory that contains the publish.sh +# script. +# +srcdir=`echo "$0" | sed 's%\(^.*\)/[^/][^/]*$%\1%'` + +# Get the makefile. +# +cp $srcdir/Makefile.template ./Makefile + +# Start building stuff. +# +make clean +make sqlite +strip sqlite +mv sqlite sqlite.bin +gzip sqlite.bin + +# Build the tclsqlite.so shared library for import into tclsh or wish +# under Linux +# +make target_source +cd tsrc +rm shell.c +TCLDIR=/home/drh/tcltk/8.2linux +OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1 -DOS_UNIX=1 -DOS_WIN=0' +gcc -fPIC $OPTS -O2 -I. -I$TCLDIR -shared *.c -o tclsqlite.so +strip tclsqlite.so +mv tclsqlite.so .. +cd .. +gzip tclsqlite.so + +# Build the tclsqlite.dll shared library that can be imported into tclsh +# or wish on windows. +# +make target_source +cd tsrc +TCLDIR=/home/drh/tcltk/8.2win +TCLSTUBLIB=$TCLDIR/tclstub82.a +PATH=$PATH:/opt/mingw/bin +OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1 -DOS_UNIX=0 -DOS_WIN=1' +CC="i386-mingw32-gcc -O2 $OPTS -I. -I$TCLDIR" +rm shell.c +for i in *.c; do + CMD="$CC -c $i" + echo $CMD + $CMD +done +echo 'EXPORTS' >tclsqlite.def +echo 'Tclsqlite_Init' >>tclsqlite.def +echo 'Sqlite_Init' >>tclsqlite.def +i386-mingw32-dllwrap \ + --def tclsqlite.def -v --export-all \ + --driver-name i386-mingw32-gcc \ + --dlltool-name i386-mingw32-dlltool \ + --as i386-mingw32-as \ + --target i386-mingw32 \ + -dllname tclsqlite.dll -lmsvcrt *.o $TCLSTUBLIB +i386-mingw32-strip tclsqlite.dll +mv tclsqlite.dll .. +cd .. +rm -f tclsqlite.zip +zip tclsqlite.zip tclsqlite.dll + +# Build the sqlite.exe executable for windows. +# +make target_source +cd tsrc +rm tclsqlite.c +OPTS='-DSTATIC_BUILD=1 -DNDEBUG=1 -DOS_UNIX=0 -DOS_WIN=1' +i386-mingw32-gcc -O2 $OPTS -I. -I$TCLDIR *.c -o sqlite.exe +mv sqlite.exe .. +cd .. +rm -f sqlite.zip +zip sqlite.zip sqlite.exe + +# Construct a tarball of the source tree +# +ORIGIN=`pwd` +cd $srcdir +cd .. +tar czf $ORIGIN/sqlite.tar.gz sqlite +cd $ORIGIN +vers=`cat $srcdir/VERSION` +ln sqlite.tar.gz sqlite-$vers.tar.gz + +# Build the website +# +cp $srcdir/../historical/* . +make doc +ln sqlite.bin.gz sqlite.zip sqlite*.tar.gz tclsqlite.so.gz tclsqlite.zip doc diff --git a/src/tclsqlite.c b/src/tclsqlite.c index 9537a451c7..bf713e8e4e 100644 --- a/src/tclsqlite.c +++ b/src/tclsqlite.c @@ -11,7 +11,7 @@ ************************************************************************* ** A TCL Interface to SQLite ** -** $Id: tclsqlite.c,v 1.23 2001/09/16 00:13:27 drh Exp $ +** $Id: tclsqlite.c,v 1.24 2001/09/28 17:47:14 drh Exp $ */ #ifndef NO_TCL /* Omit this whole file if TCL is unavailable */ @@ -433,6 +433,15 @@ static int DbMain(void *cd, Tcl_Interp *interp, int argc, char **argv){ return TCL_OK; } +/* +** Provide a dummy Tcl_InitStubs if we are using this as a static +** library. +*/ +#ifndef USE_TCL_STUBS +# undef Tcl_InitStubs +# define Tcl_InitStubs(a,b,c) +#endif + /* ** Initialize this module. ** @@ -443,6 +452,13 @@ static int DbMain(void *cd, Tcl_Interp *interp, int argc, char **argv){ ** for additional information. */ int Sqlite_Init(Tcl_Interp *interp){ + Tcl_InitStubs(interp, "8.0", 0); + Tcl_CreateCommand(interp, "sqlite", DbMain, 0, 0); + Tcl_PkgProvide(interp, "sqlite", "1.0"); + return TCL_OK; +} +int Tclsqlite_Init(Tcl_Interp *interp){ + Tcl_InitStubs(interp, "8.0", 0); Tcl_CreateCommand(interp, "sqlite", DbMain, 0, 0); Tcl_PkgProvide(interp, "sqlite", "1.0"); return TCL_OK; @@ -450,6 +466,9 @@ int Sqlite_Init(Tcl_Interp *interp){ int Sqlite_SafeInit(Tcl_Interp *interp){ return TCL_OK; } +int Tclsqlite_SafeInit(Tcl_Interp *interp){ + return TCL_OK; +} #if 0 /* diff --git a/www/changes.tcl b/www/changes.tcl index 84f42239c1..4eb9609708 100644 --- a/www/changes.tcl +++ b/www/changes.tcl @@ -17,6 +17,15 @@ proc chng {date desc} { puts "

" } +chng {2001 Sep 28 (2.0.0)} { +
  • Automatically build binaries for Linux and Windows and put them on + the website.
  • +} + +chng {2001 Sep 28 (2.0-alpha-4)} { +
  • Incorporate makefile patches form A. Rottmann to use LIBTOOL
  • +} + chng {2001 Sep 27 (2.0-alpha-3)} {
  • SQLite now honors the UNIQUE keyword in CREATE UNIQUE INDEX. Primary keys are required to be unique.
  • diff --git a/www/index.tcl b/www/index.tcl index ab793652a2..23c4af1590 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.41 2001/09/25 01:51:00 drh Exp $} +set rcsid {$Id: index.tcl,v 1.42 2001/09/28 17:47:14 drh Exp $} puts { SQLite: An SQL Database Engine In A C Library @@ -27,9 +27,17 @@ an example of how to use the SQLite library.

    SQLite is not a client library used to connect to a big database server. SQLite is the server. The SQLite library reads and writes directly to and from the database files -on disk.

    +on disk.

    } -

    Features

    +puts { + +
    +
    +Download
    SQLite +
    +
    } + +puts {

    Features