diff --git a/configure.ac b/configure.ac
index 7fddf8b..4f651ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ AC_CONFIG_FILES([Makefile btpd/Makefile misc/Makefile cli/Makefile])
 AC_PROG_CC
 AC_PROG_RANLIB
 
-CFLAGS="$CFLAGS -std=c99 -Wall -Werror"
+CFLAGS="$CFLAGS -std=c99"
 
 case $target_os in
      linux*)
@@ -40,6 +40,26 @@ AC_ARG_WITH(curlconf,
 ],
 [])
 
+AC_ARG_WITH(warn,
+[  --with-warn=level       select warning preset (no,all,allerr)],
+[
+    case $withval in
+    no)
+	;;
+    all)
+	CFLAGS="$CFLAGS -Wall"
+	;;
+    allerr)
+	CFLAGS="$CFLAGS -Wall -Werror"
+	;;
+    *)
+	echo "Warning preset \"$withval\" not recognized. See --help."
+	exit 1
+	;;
+    esac
+],
+[])
+
 old_LDFLAGS="$LDFLAGS"
 LDFLAGS="$LDFLAGS $event_LDFLAGS"
 AC_CHECK_LIB(event, event_init, :, echo Must have libevent; exit 1)