mkso.sh 937 B

1234567891011121314151617181920212223242526272829303132
  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 ..