drh | 3043ac7 | 2011-06-03 13:06:50 +0000 | [diff] [blame] | 1 | #/bin/sh |
| 2 | # |
| 3 | # Run this script in a directory with a working makefile to check for |
| 4 | # compiler warnings in SQLite. |
| 5 | # |
dan | e288992 | 2016-10-08 09:21:34 +0000 | [diff] [blame] | 6 | |
dan | 9ea258d | 2017-05-16 09:49:42 +0000 | [diff] [blame] | 7 | if uname | grep -i openbsd ; then |
| 8 | # Use these for testing on OpenBSD: |
| 9 | WARNING_OPTS=-Wall |
| 10 | WARNING_ANDROID_OPTS=-Wall |
| 11 | else |
| 12 | # Use these for testing on Linux and Mac OSX: |
| 13 | WARNING_OPTS="-Wshadow -Wall -Wextra -pedantic-errors -Wno-long-long" |
drh | e0237c0 | 2023-01-04 18:32:14 +0000 | [diff] [blame] | 14 | gccvers=`gcc -v 2>&1 | grep '^gcc version'` |
| 15 | if test "$gccvers" '<' 'gcc version 6' |
| 16 | then |
| 17 | WARNING_ANDROID_OPTS="-Wshadow -Wall -Wextra" |
| 18 | else |
| 19 | WARNING_ANDROID_OPTS="-Wshadow -Wall -Wextra -Wimplicit-fallthrough=0" |
| 20 | fi |
dan | 9ea258d | 2017-05-16 09:49:42 +0000 | [diff] [blame] | 21 | fi |
dan | e288992 | 2016-10-08 09:21:34 +0000 | [diff] [blame] | 22 | |
drh | 88caeac | 2011-08-24 15:12:08 +0000 | [diff] [blame] | 23 | rm -f sqlite3.c |
drh | 3c559a8 | 2014-05-27 19:18:36 +0000 | [diff] [blame] | 24 | make sqlite3.c |
mistachkin | 23bfa80 | 2018-11-15 19:12:22 +0000 | [diff] [blame] | 25 | echo '********** No optimizations. Includes FTS4/5, GEOPOLY, JSON1 ***' |
dan | e288992 | 2016-10-08 09:21:34 +0000 | [diff] [blame] | 26 | echo '********** ' Options: $WARNING_OPTS |
| 27 | gcc -c $WARNING_OPTS -std=c89 \ |
drh | 36d2488 | 2018-11-15 16:56:33 +0000 | [diff] [blame] | 28 | -ansi -DHAVE_STDINT_H -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_GEOPOLY \ |
drh | dedd51a | 2022-02-17 14:33:13 +0000 | [diff] [blame] | 29 | -DSQLITE_ENABLE_FTS5 \ |
drh | 3043ac7 | 2011-06-03 13:06:50 +0000 | [diff] [blame] | 30 | sqlite3.c |
drh | 3719d10 | 2016-02-15 18:58:37 +0000 | [diff] [blame] | 31 | if test x`uname` = 'xLinux'; then |
drh | f5ed7ad | 2015-06-15 14:43:25 +0000 | [diff] [blame] | 32 | echo '********** Android configuration ******************************' |
dan | e288992 | 2016-10-08 09:21:34 +0000 | [diff] [blame] | 33 | echo '********** ' Options: $WARNING_ANDROID_OPTS |
drh | f5ed7ad | 2015-06-15 14:43:25 +0000 | [diff] [blame] | 34 | gcc -c \ |
| 35 | -DHAVE_USLEEP=1 \ |
| 36 | -DSQLITE_HAVE_ISNAN \ |
| 37 | -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \ |
| 38 | -DSQLITE_THREADSAFE=2 \ |
| 39 | -DSQLITE_TEMP_STORE=3 \ |
| 40 | -DSQLITE_POWERSAFE_OVERWRITE=1 \ |
| 41 | -DSQLITE_DEFAULT_FILE_FORMAT=4 \ |
| 42 | -DSQLITE_DEFAULT_AUTOVACUUM=1 \ |
| 43 | -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \ |
| 44 | -DSQLITE_ENABLE_FTS3 \ |
| 45 | -DSQLITE_ENABLE_FTS3_BACKWARDS \ |
| 46 | -DSQLITE_ENABLE_FTS4 \ |
| 47 | -DSQLITE_OMIT_BUILTIN_TEST \ |
| 48 | -DSQLITE_OMIT_COMPILEOPTION_DIAGS \ |
| 49 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 50 | -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 \ |
| 51 | -DSQLITE_ENABLE_ICU \ |
| 52 | -DUSE_PREAD64 \ |
dan | e288992 | 2016-10-08 09:21:34 +0000 | [diff] [blame] | 53 | $WARNING_ANDROID_OPTS \ |
drh | f5ed7ad | 2015-06-15 14:43:25 +0000 | [diff] [blame] | 54 | -Os sqlite3.c shell.c |
drh | 3719d10 | 2016-02-15 18:58:37 +0000 | [diff] [blame] | 55 | fi |
drh | 4f99189 | 2013-10-11 15:05:05 +0000 | [diff] [blame] | 56 | echo '********** No optimizations. ENABLE_STAT4. THREADSAFE=0 *******' |
dan | e288992 | 2016-10-08 09:21:34 +0000 | [diff] [blame] | 57 | echo '********** ' Options: $WARNING_OPTS |
| 58 | gcc -c $WARNING_OPTS -std=c89 \ |
drh | 4f99189 | 2013-10-11 15:05:05 +0000 | [diff] [blame] | 59 | -ansi -DSQLITE_ENABLE_STAT4 -DSQLITE_THREADSAFE=0 \ |
drh | df3aa16 | 2011-06-24 11:29:51 +0000 | [diff] [blame] | 60 | sqlite3.c |
mistachkin | 23bfa80 | 2018-11-15 19:12:22 +0000 | [diff] [blame] | 61 | echo '********** Optimized -O3. Includes FTS4/5, GEOPOLY, JSON1 ******' |
dan | e288992 | 2016-10-08 09:21:34 +0000 | [diff] [blame] | 62 | echo '********** ' Options: $WARNING_OPTS |
| 63 | gcc -O3 -c $WARNING_OPTS -std=c89 \ |
mistachkin | 23bfa80 | 2018-11-15 19:12:22 +0000 | [diff] [blame] | 64 | -ansi -DHAVE_STDINT_H -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_GEOPOLY \ |
drh | dedd51a | 2022-02-17 14:33:13 +0000 | [diff] [blame] | 65 | -DSQLITE_ENABLE_FTS5 \ |
drh | 3043ac7 | 2011-06-03 13:06:50 +0000 | [diff] [blame] | 66 | sqlite3.c |