33 lines
937 B
Bash
33 lines
937 B
Bash
#!/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 -DHAVE_DLOPEN=1'
|
|
OPTS="$OPTS -DSQLITE_THREADSAFE=1"
|
|
OPTS="$OPTS -DSQLITE_ENABLE_FTS3=1"
|
|
OPTS="$OPTS -DSQLITE_ENABLE_COLUMN_METADATA=1"
|
|
for i in *.c; do
|
|
if test $i != 'keywordhash.c'; then
|
|
CMD="cc -fPIC $OPTS -O2 -I. -I$TCLDIR -c $i"
|
|
echo $CMD
|
|
$CMD
|
|
fi
|
|
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 ..
|