xref: /sqlite-3.40.0/tool/warnings.sh (revision 38d69855)
1#/bin/sh
2#
3# Run this script in a directory with a working makefile to check for
4# compiler warnings in SQLite.
5#
6rm -f sqlite3.c
7make sqlite3.c
8echo '********** No optimizations.  Includes FTS4/5, RTREE, JSON1 ***'
9gcc -c -Wshadow -Wall -Wextra -pedantic-errors -Wno-long-long -std=c89 \
10      -ansi -DHAVE_STDINT_H -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE \
11      -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 \
12      sqlite3.c
13if test x`uname` = 'xLinux'; then
14echo '********** Android configuration ******************************'
15gcc -c \
16  -DHAVE_USLEEP=1 \
17  -DSQLITE_HAVE_ISNAN \
18  -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \
19  -DSQLITE_THREADSAFE=2 \
20  -DSQLITE_TEMP_STORE=3 \
21  -DSQLITE_POWERSAFE_OVERWRITE=1 \
22  -DSQLITE_DEFAULT_FILE_FORMAT=4 \
23  -DSQLITE_DEFAULT_AUTOVACUUM=1 \
24  -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \
25  -DSQLITE_ENABLE_FTS3 \
26  -DSQLITE_ENABLE_FTS3_BACKWARDS \
27  -DSQLITE_ENABLE_FTS4 \
28  -DSQLITE_OMIT_BUILTIN_TEST \
29  -DSQLITE_OMIT_COMPILEOPTION_DIAGS \
30  -DSQLITE_OMIT_LOAD_EXTENSION \
31  -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 \
32  -DSQLITE_ENABLE_ICU \
33  -DUSE_PREAD64 \
34  -Wshadow -Wall -Wextra \
35  -Os sqlite3.c shell.c
36fi
37echo '********** No optimizations. ENABLE_STAT4. THREADSAFE=0 *******'
38gcc -c -Wshadow -Wall -Wextra -pedantic-errors -Wno-long-long -std=c89 \
39      -ansi -DSQLITE_ENABLE_STAT4 -DSQLITE_THREADSAFE=0 \
40      sqlite3.c
41echo '********** Optimized -O3.  Includes FTS4/5, RTREE, JSON1 ******'
42gcc -O3 -c -Wshadow -Wall -Wextra -pedantic-errors -Wno-long-long -std=c89 \
43      -ansi -DHAVE_STDINT_H -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE \
44      -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 \
45      sqlite3.c
46