drh | 4aec8b6 | 2004-08-28 16:19:00 +0000 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # |
| 3 | # This script is used to compile SQLite into a shared library on Linux. |
| 4 | # |
| 5 | # Two separate shared libraries are generated. "sqlite3.so" is the core |
| 6 | # library. "tclsqlite3.so" contains the TCL bindings and is the |
| 7 | # library that is loaded into TCL in order to run SQLite. |
| 8 | # |
| 9 | make target_source |
| 10 | cd tsrc |
| 11 | rm shell.c |
| 12 | TCLDIR=/home/drh/tcltk/846/linux/846linux |
| 13 | TCLSTUBLIB=$TCLDIR/libtclstub8.4g.a |
drh | 383736b | 2006-10-08 18:56:57 +0000 | [diff] [blame] | 14 | OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1 -DHAVE_DLOPEN=1' |
drh | 66f9de0 | 2008-08-05 21:42:37 +0000 | [diff] [blame] | 15 | OPTS="$OPTS -DSQLITE_THREADSAFE=1" |
| 16 | OPTS="$OPTS -DSQLITE_ENABLE_FTS3=1" |
| 17 | OPTS="$OPTS -DSQLITE_ENABLE_COLUMN_METADATA=1" |
drh | 4aec8b6 | 2004-08-28 16:19:00 +0000 | [diff] [blame] | 18 | for i in *.c; do |
drh | 49766d6 | 2005-01-08 18:42:28 +0000 | [diff] [blame] | 19 | if test $i != 'keywordhash.c'; then |
| 20 | CMD="cc -fPIC $OPTS -O2 -I. -I$TCLDIR -c $i" |
| 21 | echo $CMD |
| 22 | $CMD |
| 23 | fi |
drh | 4aec8b6 | 2004-08-28 16:19:00 +0000 | [diff] [blame] | 24 | done |
| 25 | echo gcc -shared *.o $TCLSTUBLIB -o tclsqlite3.so |
| 26 | gcc -shared *.o $TCLSTUBLIB -o tclsqlite3.so |
| 27 | strip tclsqlite3.so |
| 28 | rm tclsqlite.c tclsqlite.o |
| 29 | echo gcc -shared *.o -o sqlite3.so |
| 30 | gcc -shared *.o -o sqlite3.so |
| 31 | strip sqlite3.so |
| 32 | cd .. |