OLD | NEW |
1 #/bin/sh | 1 #/bin/sh |
2 # | 2 # |
3 # Run this script in a directory with a working makefile to check for | 3 # Run this script in a directory with a working makefile to check for |
4 # compiler warnings in SQLite. | 4 # compiler warnings in SQLite. |
5 # | 5 # |
| 6 |
| 7 # Use these for testing on Linux and Mac OSX: |
| 8 WARNING_OPTS="-Wshadow -Wall -Wextra -pedantic-errors -Wno-long-long" |
| 9 WARNING_ANDROID_OPTS="-Wshadow -Wall -Wextra" |
| 10 |
| 11 # Use these for testing on OpenBSD: |
| 12 # WARNING_OPTS=-Wall |
| 13 # WARNING_ANDROID_OPTS=-Wall |
| 14 |
6 rm -f sqlite3.c | 15 rm -f sqlite3.c |
7 make sqlite3.c | 16 make sqlite3.c |
8 echo '********** No optimizations. Includes FTS4 and RTREE *********' | 17 echo '********** No optimizations. Includes FTS4/5, RTREE, JSON1 ***' |
9 gcc -c -Wshadow -Wall -Wextra -pedantic-errors -Wno-long-long -std=c89 \ | 18 echo '********** ' Options: $WARNING_OPTS |
| 19 gcc -c $WARNING_OPTS -std=c89 \ |
10 -ansi -DHAVE_STDINT_H -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE \ | 20 -ansi -DHAVE_STDINT_H -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE \ |
| 21 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 \ |
11 sqlite3.c | 22 sqlite3.c |
| 23 if test x`uname` = 'xLinux'; then |
12 echo '********** Android configuration ******************************' | 24 echo '********** Android configuration ******************************' |
| 25 echo '********** ' Options: $WARNING_ANDROID_OPTS |
13 gcc -c \ | 26 gcc -c \ |
14 -DHAVE_USLEEP=1 \ | 27 -DHAVE_USLEEP=1 \ |
15 -DSQLITE_HAVE_ISNAN \ | 28 -DSQLITE_HAVE_ISNAN \ |
16 -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \ | 29 -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \ |
17 -DSQLITE_THREADSAFE=2 \ | 30 -DSQLITE_THREADSAFE=2 \ |
18 -DSQLITE_TEMP_STORE=3 \ | 31 -DSQLITE_TEMP_STORE=3 \ |
19 -DSQLITE_POWERSAFE_OVERWRITE=1 \ | 32 -DSQLITE_POWERSAFE_OVERWRITE=1 \ |
20 -DSQLITE_DEFAULT_FILE_FORMAT=4 \ | 33 -DSQLITE_DEFAULT_FILE_FORMAT=4 \ |
21 -DSQLITE_DEFAULT_AUTOVACUUM=1 \ | 34 -DSQLITE_DEFAULT_AUTOVACUUM=1 \ |
22 -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \ | 35 -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \ |
23 -DSQLITE_ENABLE_FTS3 \ | 36 -DSQLITE_ENABLE_FTS3 \ |
24 -DSQLITE_ENABLE_FTS3_BACKWARDS \ | 37 -DSQLITE_ENABLE_FTS3_BACKWARDS \ |
25 -DSQLITE_ENABLE_FTS4 \ | 38 -DSQLITE_ENABLE_FTS4 \ |
26 -DSQLITE_OMIT_BUILTIN_TEST \ | 39 -DSQLITE_OMIT_BUILTIN_TEST \ |
27 -DSQLITE_OMIT_COMPILEOPTION_DIAGS \ | 40 -DSQLITE_OMIT_COMPILEOPTION_DIAGS \ |
28 -DSQLITE_OMIT_LOAD_EXTENSION \ | 41 -DSQLITE_OMIT_LOAD_EXTENSION \ |
29 -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 \ | 42 -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 \ |
30 -DSQLITE_ENABLE_ICU \ | 43 -DSQLITE_ENABLE_ICU \ |
31 -DUSE_PREAD64 \ | 44 -DUSE_PREAD64 \ |
32 -Wshadow -Wall -Wextra \ | 45 $WARNING_ANDROID_OPTS \ |
33 -Os sqlite3.c shell.c | 46 -Os sqlite3.c shell.c |
| 47 fi |
34 echo '********** No optimizations. ENABLE_STAT4. THREADSAFE=0 *******' | 48 echo '********** No optimizations. ENABLE_STAT4. THREADSAFE=0 *******' |
35 gcc -c -Wshadow -Wall -Wextra -pedantic-errors -Wno-long-long -std=c89 \ | 49 echo '********** ' Options: $WARNING_OPTS |
| 50 gcc -c $WARNING_OPTS -std=c89 \ |
36 -ansi -DSQLITE_ENABLE_STAT4 -DSQLITE_THREADSAFE=0 \ | 51 -ansi -DSQLITE_ENABLE_STAT4 -DSQLITE_THREADSAFE=0 \ |
37 sqlite3.c | 52 sqlite3.c |
38 echo '********** Optimized -O3. Includes FTS4 and RTREE ************' | 53 echo '********** Optimized -O3. Includes FTS4/5, RTREE, JSON1 ******' |
39 gcc -O3 -c -Wshadow -Wall -Wextra -pedantic-errors -Wno-long-long -std=c89 \ | 54 echo '********** ' Options: $WARNING_OPTS |
| 55 gcc -O3 -c $WARNING_OPTS -std=c89 \ |
40 -ansi -DHAVE_STDINT_H -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE \ | 56 -ansi -DHAVE_STDINT_H -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE \ |
| 57 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 \ |
41 sqlite3.c | 58 sqlite3.c |
OLD | NEW |