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