blob: befffce5c4c43403f7c6cd99aa25cf72fe26fe0d [file] [log] [blame]
drh3043ac72011-06-03 13:06:50 +00001#!/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#
6make sqlite3.c
7
8echo '****** Exported symbols from a build including RTREE, FTS4 & ICU ******'
9gcc -c -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE \
drhbeaba622011-10-13 14:18:51 +000010 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_STAT3 \
drh3043ac72011-06-03 13:06:50 +000011 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_ENABLE_UNLOCK_NOTIFY \
12 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_ATOMIC_WRITE \
13 -DSQLITE_ENABLE_ICU \
14 sqlite3.c
drhe363c1d2011-07-07 08:52:24 +000015nm sqlite3.o | grep ' [TD] ' | sort -k 3
drh3043ac72011-06-03 13:06:50 +000016
17echo '****** Surplus symbols from a build including RTREE, FTS4 & ICU ******'
drhe363c1d2011-07-07 08:52:24 +000018nm sqlite3.o | grep ' [TD] ' | grep -v ' .*sqlite3_'
drh3043ac72011-06-03 13:06:50 +000019
20echo '****** Dependencies of the core. No extensions. No OS interface *******'
drhbeaba622011-10-13 14:18:51 +000021gcc -c -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_STAT3 \
drh3043ac72011-06-03 13:06:50 +000022 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_ENABLE_UNLOCK_NOTIFY \
23 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_ATOMIC_WRITE \
24 -DSQLITE_OS_OTHER -DSQLITE_THREADSAFE=0 \
25 sqlite3.c
26nm sqlite3.o | grep ' U ' | sort -k 3
27
28echo '****** Dependencies including RTREE & FTS4 *******'
29gcc -c -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE \
drhbeaba622011-10-13 14:18:51 +000030 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_STAT3 \
drh3043ac72011-06-03 13:06:50 +000031 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_ENABLE_UNLOCK_NOTIFY \
32 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_ATOMIC_WRITE \
33 sqlite3.c
34nm sqlite3.o | grep ' U ' | sort -k 3