cp $(SRC) $(VDBEHDR) tsrc
rm tsrc/sqlite.h.in tsrc/parse.y
cp parse.c opcodes.c tsrc
+ cp $(TOP)/sqlite3.def tsrc
# Rules to build the LEMON compiler generator
#
cp $(SRC) $(VDBEHDR) tsrc
rm tsrc/sqlite.h.in tsrc/parse.y
cp parse.c opcodes.c tsrc
+ cp $(TOP)/sqlite3.def tsrc
# Rules to build the LEMON compiler generator
#
-C Add\snew\sdefenses\sagainst\smisuse\sof\sthe\sC\sAPI.\s\sTicket\s#870.\s(CVS\s1906)
-D 2004-08-28T14:49:47
-F Makefile.in 4a5e570a9e2d35b09c31b3cf01b78cea764ade4b
+C Add\sthe\ssqlite3_libversion()\sAPI\s(ticket\s#834).\s\sFix\sthe\sbuild\sscripts\sto\ncorrectly\sbuild\sthe\sshared\slibraries\swith\sversion\s8.4\sof\sTcl.\s(CVS\s1908)
+D 2004-08-28T16:19:01
+F Makefile.in 65a7c43fcaf9a710d62f120b11b6e435eeb4a450
F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
F VERSION 17f839d72355f3b8d4b1e4715cfcc7aa03443e2a
F doc/report1.txt a031aaf37b185e4fa540223cb516d3bccec7eeac
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895
F ltmain.sh f6b283068efa69f06eb8aa1fe4bddfdbdeb35826
-F main.mk 430cb919fb25515058186674ea0ab7d27fa19c95
-F mkdll.sh 68d34a961a1fdfa15ef27fc4f4740be583112124
-F publish.sh fa3c5ad1a6ac59925f2b37e422db378a7bec621c
+F main.mk 2eb2826d6bd82d54e768902e5e1929e550409273
+F mkdll.sh 468d4f41d3ea98221371df4825cfbffbaac4d7e4
+F mkso.sh 7b67da1d63070875ba948e749aee9ef50ce36e3d
+F publish.sh 72bde067dda3fc2d33e92f20253b924e3b97da30
F spec.template b2f6c4e488cbc3b993a57deba22cbc36203c4da3
F sqlite.1 83f4a9d37bdf2b7ef079a82d54eaf2e3509ee6ea
F sqlite.pc.in 30552343140c53304c2a658c080fbe810cd09ca2
-F sqlite3.def c139a6b17293d71759a7c301ad76707243ce5d54
+F sqlite3.def cf325d366f167029a971de7333f32b74bfe2e375
F sqlite3.pc.in 985b9bf34192a549d7d370e0f0b6b34a4f61369a
F src/attach.c 0bd4f11da6999665da30625665a4096ba7898de6
F src/auth.c 60db23b98bb94c8b0178180faaf49dc116674217
F src/hash.h 1b0c445e1c89ff2aaad9b4605ba61375af001e84
F src/insert.c fc1ce65a0fe68f226143de9b43c3582164a92aff
F src/legacy.c 2f3617c61bcdcd1d776154a9cfebf99facda8ad8
-F src/main.c c00e3f9e8c4fa9bc0fdad43ce366958db73ac9c6
+F src/main.c 63f77b83a518fda4d8405204b45ae016c5f35a2d
F src/md5.c 7ae1c39044b95de2f62e066f47bb1deb880a1070
F src/os.h d1780e0db95cad01f213d48da22ab490eb4fd345
F src/os_common.h cd7eb025fdab7dc91e0e97bf6310f1648205857f
F www/audit.tcl 90e09d580f79c7efec0c7d6f447b7ec5c2dce5c0
F www/c_interface.tcl 2176519fc2bd2d2cf6fe74fd806fc2d8362de2c8
F www/capi3.tcl 5c1cb163f4d2a54e2d0e22dcc399dd71245c8b89
-F www/capi3ref.tcl 740d222be4d66e8947b60a0627dd760a2e019e9f
+F www/capi3ref.tcl bead38516efb0227ffa6ac76beb3f7ea405bb389
F www/changes.tcl 8c36aab96163bbb64f5f07a12606a242c0a820f2
F www/common.tcl f786e6be86fb2627ceb30e770e9efa83b9c67a3a
F www/conflict.tcl fb8a2ba83746c7fdfd9e52fa7f6aaf5c422b8246
F www/vdbe.tcl 59288db1ac5c0616296b26dce071c36cb611dfe9
F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P f5b0e5b0b2f17d179c23c7e4542dbbb452096056
-R 19adc0034f3d181b6cae6f1ebdba626d
+P 6ef1f662d71c75bdb7f61b2fff03f5b1b41e5586
+R 5b251c944f99c3bf147bc10eb4f70f96
U drh
-Z 8b14a526a7800c9ee03abeba359d39e9
+Z 5c52cbb1dda1a18b82f5188a439efbf0
-6ef1f662d71c75bdb7f61b2fff03f5b1b41e5586
\ No newline at end of file
+6db26a19ea7ac77be41a7416dedaef1b9dfd9e16
\ No newline at end of file
#!/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.
+# This script is used to compile SQLite into a DLL.
#
-
-# Build the tclsqlite.dll shared library that can be imported into tclsh
-# or wish on windows.
+# Two separate DLLs are generated. "sqlite3.dll" is the core
+# library. "tclsqlite3.dll" contains the TCL bindings and is the
+# library that is loaded into TCL in order to run SQLite.
#
make target_source
cd tsrc
PATH=$PATH:/opt/mingw/bin
+TCLDIR=/home/drh/tcltk/846/win/846win
+TCLSTUBLIB=$TCLDIR/libtcl84stub.a
OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1 -DTHREADSAFE=1'
-CC="i386-mingw32msvc-gcc -O2 $OPTS -I."
+CC="i386-mingw32msvc-gcc -O2 $OPTS -I. -I$TCLDIR"
rm shell.c
-rm tclsqlite.c
for i in *.c; do
CMD="$CC -c $i"
echo $CMD
$CMD
done
-cat >sqlite3.def <<\END_OF_FILE
-EXPORTS
-sqlite3_aggregate_context
-sqlite3_aggregate_count
-sqlite3_bind_blob
-sqlite3_bind_double
-sqlite3_bind_int
-sqlite3_bind_int64
-sqlite3_bind_null
-sqlite3_bind_text
-sqlite3_bind_text16
-sqlite3_busy_handler
-sqlite3_busy_timeout
-sqlite3_close
-sqlite3_column_blob
-sqlite3_column_bytes
-sqlite3_column_bytes16
-sqlite3_column_count
-sqlite3_column_decltype
-sqlite3_column_decltype16
-sqlite3_column_double
-sqlite3_column_int
-sqlite3_column_int64
-sqlite3_column_name
-sqlite3_column_name16
-sqlite3_column_text
-sqlite3_column_text16
-sqlite3_column_type
-sqlite3_complete
-sqlite3_complete16
-sqlite3_create_function
-sqlite3_create_function16
-sqlite3_errcode
-sqlite3_errmsg
-sqlite3_errmsg16
-sqlite3_finalize
-sqlite3_free
-sqlite3_interrupt
-sqlite3_last_insert_rowid
-sqlite3_mprintf
-sqlite3_open
-sqlite3_open16
-sqlite3_prepare
-sqlite3_prepare16
-sqlite3_reset
-sqlite3_result_blob
-sqlite3_result_double
-sqlite3_result_error
-sqlite3_result_error16
-sqlite3_result_int
-sqlite3_result_int64
-sqlite3_result_null
-sqlite3_result_text
-sqlite3_result_text16
-sqlite3_result_value
-sqlite3_set_authorizer
-sqlite3_step
-sqlite3_user_data
-sqlite3_value_blob
-sqlite3_value_bytes
-sqlite3_value_bytes16
-sqlite3_value_double
-sqlite3_value_int
-sqlite3_value_int64
-sqlite3_value_text
-sqlite3_value_text16
-sqlite3_value_type
-sqlite3_vmprintf
-END_OF_FILE
+echo 'EXPORTS' >tclsqlite3.def
+echo 'Tclsqlite3_Init' >>tclsqlite3.def
+echo 'Sqlite3_Init' >>tclsqlite3.def
+i386-mingw32msvc-dllwrap \
+ --def tclsqlite3.def -v --export-all \
+ --driver-name i386-mingw32msvc-gcc \
+ --dlltool-name i386-mingw32msvc-dlltool \
+ --as i386-mingw32msvc-as \
+ --target i386-mingw32 \
+ -dllname tclsqlite3.dll -lmsvcrt *.o $TCLSTUBLIB
+i386-mingw32msvc-strip tclsqlite3.dll
+rm tclsqlite.o
i386-mingw32msvc-dllwrap \
--def sqlite3.def -v --export-all \
--driver-name i386-mingw32msvc-gcc \
--target i386-mingw32 \
-dllname sqlite3.dll -lmsvcrt *.o
i386-mingw32msvc-strip sqlite3.dll
-mv sqlite3.dll sqlite3.def ..
cd ..
-rm -f sqlite3dll.zip
-zip sqlite3dll.zip sqlite3.dll sqlite3.def
--- /dev/null
+#!/bin/sh
+#
+# This script is used to compile SQLite into a shared library on Linux.
+#
+# Two separate shared libraries are generated. "sqlite3.so" is the core
+# library. "tclsqlite3.so" contains the TCL bindings and is the
+# library that is loaded into TCL in order to run SQLite.
+#
+make target_source
+cd tsrc
+rm shell.c
+TCLDIR=/home/drh/tcltk/846/linux/846linux
+TCLSTUBLIB=$TCLDIR/libtclstub8.4g.a
+OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1'
+for i in *.c; do
+ CMD="cc -fPIC $OPTS -O2 -I. -I$TCLDIR -c $i"
+ echo $CMD
+ $CMD
+done
+echo gcc -shared *.o $TCLSTUBLIB -o tclsqlite3.so
+gcc -shared *.o $TCLSTUBLIB -o tclsqlite3.so
+strip tclsqlite3.so
+rm tclsqlite.c tclsqlite.o
+echo gcc -shared *.o -o sqlite3.so
+gcc -shared *.o -o sqlite3.so
+strip sqlite3.so
+cd ..
# Get the makefile.
#
cp $srcdir/Makefile.linux-gcc ./Makefile
-cp $srcdir/sqlite3.def ./sqlite3.def
chmod +x $srcdir/install-sh
# Get the current version number - needed to help build filenames
gzip sqlite3-$VERS.bin
mv sqlite3-$VERS.bin.gz doc
-# Build the tclsqlite.so shared library for import into tclsh or wish
-# under Linux
+# Build a source archive useful for windows.
#
make target_source
cd tsrc
zip ../doc/sqlite-source-$VERSW.zip *
-rm shell.c
-TCLDIR=/home/drh/tcltk/8.2linux
-TCLSTUBLIB=$TCLDIR/libtclstub8.2g.a
-OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1'
-gcc -fPIC $OPTS -O2 -I. -I$TCLDIR -shared *.c $TCLSTUBLIB -o tclsqlite.so
-strip tclsqlite.so
-mv tclsqlite.so tclsqlite-$VERS.so
+cd ..
+
+# Build the sqlite.so and tclsqlite.so shared libraries
+# under Linux
+#
+. $srcdir/mkso.sh
+cd tsrc
+mv tclsqlite3.so tclsqlite-$VERS.so
gzip tclsqlite-$VERS.so
mv tclsqlite-$VERS.so.gz ../doc
-rm tclsqlite.c
-gcc -fPIC -DNDEBUG=1 -O2 -I. -shared *.c -o sqlite.so
-strip sqlite.so
-mv sqlite.so sqlite-$VERS.so
+mv sqlite3.so sqlite-$VERS.so
gzip sqlite-$VERS.so
mv sqlite-$VERS.so.gz ../doc
cd ..
-# Build the tclsqlite.dll shared library that can be imported into tclsh
-# or wish on windows.
+# Build the tclsqlite3.dll and sqlite3.dll shared libraries.
#
-make target_source
+. $srcdir/mkdll.sh
cd tsrc
-rm shell.c
-TCLDIR=/home/drh/tcltk/8.2win
-TCLSTUBLIB=$TCLDIR/tclstub82.a
-PATH=$PATH:/opt/mingw/bin
-OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1 -DTHREADSAFE=1'
-CC="i386-mingw32msvc-gcc -O2 $OPTS -I. -I$TCLDIR"
-rm shell.c
-for i in *.c; do
- CMD="$CC -c $i"
- echo $CMD
- $CMD
-done
-echo 'EXPORTS' >tclsqlite3.def
-echo 'Tclsqlite3_Init' >>tclsqlite3.def
-echo 'Sqlite3_Init' >>tclsqlite3.def
-i386-mingw32msvc-dllwrap \
- --def tclsqlite3.def -v --export-all \
- --driver-name i386-mingw32msvc-gcc \
- --dlltool-name i386-mingw32msvc-dlltool \
- --as i386-mingw32msvc-as \
- --target i386-mingw32 \
- -dllname tclsqlite3.dll -lmsvcrt *.o $TCLSTUBLIB
-i386-mingw32msvc-strip tclsqlite3.dll
-rm tclsqlite.o
-cp ../sqlite3.def .
-i386-mingw32msvc-dllwrap \
- --def sqlite3.def -v --export-all \
- --driver-name i386-mingw32msvc-gcc \
- --dlltool-name i386-mingw32msvc-dlltool \
- --as i386-mingw32msvc-as \
- --target i386-mingw32 \
- -dllname sqlite3.dll -lmsvcrt *.o
-i386-mingw32msvc-strip sqlite3.dll
-zip ../doc/tclsqlite-$VERSW.zip tclsqlite3.dll
echo zip ../doc/tclsqlite-$VERSW.zip tclsqlite3.dll
-zip ../doc/sqlitedll-$VERSW.zip sqlite3.dll sqlite3.def
+zip ../doc/tclsqlite-$VERSW.zip tclsqlite3.dll
echo zip ../doc/sqlitedll-$VERSW.zip sqlite3.dll sqlite3.def
+zip ../doc/sqlitedll-$VERSW.zip sqlite3.dll sqlite3.def
cd ..
# Build the sqlite.exe executable for windows.
sqlite3_get_table
sqlite3_interrupt
sqlite3_last_insert_rowid
+sqlite3_libversion
sqlite3_mprintf
sqlite3_open
sqlite3_open16
** other files are for internal use by SQLite and should not be
** accessed by users of the library.
**
-** $Id: main.c,v 1.254 2004/08/28 14:49:47 drh Exp $
+** $Id: main.c,v 1.255 2004/08/28 16:19:01 drh Exp $
*/
#include "sqliteInt.h"
#include "os.h"
*/
const char rcsid3[] = "@(#) \044Id: SQLite version " SQLITE_VERSION " $";
const char sqlite3_version[] = SQLITE_VERSION;
+const char *sqlite3_libversion(void){ return sqlite3_version; }
/*
** This is the default collating function named "BINARY" which is always
-set rcsid {$Id: capi3ref.tcl,v 1.9 2004/08/25 04:07:03 drh Exp $}
+set rcsid {$Id: capi3ref.tcl,v 1.10 2004/08/28 16:19:01 drh Exp $}
source common.tcl
header {C/C++ Interface For SQLite Version 3}
puts {
above in order to indicates success or failure.
}
+api {} {
+ const char *sqlite3_libversion(void);
+} {
+ Return a pointer to a string which contains the version number of
+ the library. The same string is available in the global
+ variable named "sqlite3_version". This interface is provided since
+ windows is unable to access global variables in DLLs.
+}
+
api {} {
void *sqlite3_aggregate_context(sqlite3_context*, int nBytes);
} {