--- /dev/null
+#!/bin/sh
+#
+# Build with pretty-much all GCC warnings enabled.
+#
+
+# from FreeBSD's src/share/examples/etc/make.conf,v 1.279.10.3.2.1
+BDECFLAGS="-W -Wall -pedantic -Wbad-function-cast -Wcast-align \
+-Wcast-qual -Wchar-subscripts -Winline \
+-Wmissing-prototypes -Wnested-externs -Wpointer-arith \
+-Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings"
+# local change: removed -ansi above
+
+# disabling:
+# -Wunreachable-code
+# -Wconversion
+#
+# (usually wrong, too noisy, complain about macros from system headers)
+
+gcc -std=c99 $BDECFLAGS \
+-Wextra -Waddress -Waggregate-return \
+-Warray-bounds \
+-Wclobbered \
+-Wcomment -Wcoverage-mismatch \
+-Wdisabled-optimization \
+-Wempty-body \
+-Wfloat-equal -Wformat -Wformat=2 \
+-Wformat-nonliteral \
+-Wformat-security -Wformat-y2k \
+-Wignored-qualifiers -Wimplicit \
+-Winit-self \
+-Winvalid-pch \
+-Wunsafe-loop-optimizations -Wlogical-op -Wlong-long -Wmain \
+-Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute \
+-Wmissing-include-dirs -Wmissing-noreturn \
+-Woverlength-strings -Wpacked \
+-Wpacked-bitfield-compat -Wpadded -Wparentheses \
+-Wreturn-type -Wsequence-point -Wsign-compare \
+-Wsign-conversion -Wstack-protector -Wstrict-aliasing \
+-Wstrict-overflow -Wstrict-overflow=5 -Wswitch \
+-Wswitch-default -Wswitch-enum -Wsync-nand -Wtrigraphs \
+-Wtype-limits -Wundef -Wuninitialized -Wunknown-pragmas \
+-Wunused -Wunused-function -Wunused-label \
+-Wunused-parameter -Wunused-value -Wunused-variable \
+-Wvariadic-macros -Wvla -Wvolatile-register-var \
+-Wabi \
+-O -pipe -fstrict-aliasing ../darkhttpd.c
+
+echo errcode: $?
+rm -f a.out