| #!/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 .. |