Home | History | Annotate | Download | only in src
      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
     14 OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1 -DHAVE_DLOPEN=1'
     15 OPTS="$OPTS -DSQLITE_THREADSAFE=1"
     16 OPTS="$OPTS -DSQLITE_ENABLE_FTS3=1"
     17 OPTS="$OPTS -DSQLITE_ENABLE_COLUMN_METADATA=1"
     18 for i in *.c; do
     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
     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 ..
     33