configure

changeset 193
d1420f5c5704
parent 119
333a16b76adf
--- a/configure	Mon Aug 24 16:13:51 2026 +0200
+++ b/configure	Tue Aug 25 18:35:18 2026 +0200
@@ -101,6 +101,7 @@
 
 Optional Features:
   --enable-asan           address sanitizer
+  --enable-strict-errors  treat compiler warnings as errors
 
 __EOF__
     abort_configure
@@ -176,6 +177,8 @@
         "--release") BUILD_TYPE="release" ;;
         "--enable-asan") FEATURE_ASAN=on ;;
         "--disable-asan") unset FEATURE_ASAN ;;
+        "--enable-strict-errors") FEATURE_STRICT_ERRORS=on ;;
+        "--disable-strict-errors") unset FEATURE_STRICT_ERRORS ;;
         "-"*) echo "unknown option: $ARG"; abort_configure ;;
     esac
 done
@@ -447,6 +450,19 @@
 else
     :
 fi
+if [ -n "$FEATURE_STRICT_ERRORS" ]; then
+    if [ -n "$DISABLE_FEATURE_STRICT_ERRORS" ]; then
+        unset FEATURE_STRICT_ERRORS
+    fi
+fi
+if [ -n "$FEATURE_STRICT_ERRORS" ]; then
+    :
+    cat >> "$TEMP_DIR/make.mk" << __EOF__
+CFLAGS+=-Werror
+__EOF__
+else
+    :
+fi
 
 
 if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then
@@ -496,6 +512,12 @@
 else
     echo 'off'
 fi
+printf '  %-16s' 'strict-errors:'
+if [ -n "$FEATURE_STRICT_ERRORS" ]; then
+    echo 'on'
+else
+    echo 'off'
+fi
 echo
 
 # generate the config.mk file

mercurial