symbols.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/sh
  2. #
  3. # Run this script in a directory that contains a valid SQLite makefile in
  4. # order to verify that unintentionally exported symbols.
  5. #
  6. make sqlite3.c
  7. echo '****** Exported symbols from a build including RTREE, FTS4 & ICU ******'
  8. gcc -c -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE \
  9. -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_STAT3 \
  10. -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_ENABLE_UNLOCK_NOTIFY \
  11. -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_ATOMIC_WRITE \
  12. -DSQLITE_ENABLE_ICU \
  13. sqlite3.c
  14. nm sqlite3.o | grep ' [TD] ' | sort -k 3
  15. echo '****** Surplus symbols from a build including RTREE, FTS4 & ICU ******'
  16. nm sqlite3.o | grep ' [TD] ' | grep -v ' .*sqlite3_'
  17. echo '****** Dependencies of the core. No extensions. No OS interface *******'
  18. gcc -c -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_STAT3 \
  19. -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_ENABLE_UNLOCK_NOTIFY \
  20. -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_ATOMIC_WRITE \
  21. -DSQLITE_OS_OTHER -DSQLITE_THREADSAFE=0 \
  22. sqlite3.c
  23. nm sqlite3.o | grep ' U ' | sort -k 3
  24. echo '****** Dependencies including RTREE & FTS4 *******'
  25. gcc -c -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE \
  26. -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_STAT3 \
  27. -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_ENABLE_UNLOCK_NOTIFY \
  28. -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_ATOMIC_WRITE \
  29. sqlite3.c
  30. nm sqlite3.o | grep ' U ' | sort -k 3