From 36b3a04b9a2a9d52a1db6e28697e7ec3b1118eb1 Mon Sep 17 00:00:00 2001 From: Albert Cervin Date: Tue, 14 May 2024 22:10:34 +0200 Subject: Improve configure with docs and help flag Also make targets dependent on config.mk so that the program is rebuilt when config.mk changes. --- configure | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'configure') diff --git a/configure b/configure index 8cce0d0..63aa2f8 100755 --- a/configure +++ b/configure @@ -1,5 +1,49 @@ #!/bin/sh +_usage="./configure -- configure the DGED build. + +Options: + --[enable|disable]-syntax Enable or disable syntax highlighting support. + --enable-asan Build DGED with address sanitizer enabled. + -h/--help Show this help text. +" + +enable_syntax=1 +enable_asan=0 +while [ "$#" -gt 0 ]; do + case $1 in + --disable-syntax) + enable_syntax=0 + shift 1 + ;; + + --enable-syntax) + enable_syntax=1 + shift 1 + ;; + + --enable-asan) + enable_asan=1 + shift 1 + ;; + + -h|--help) + echo "$_usage" + exit + ;; + + -*) + echo "Unknown flag \"$1\". Usage:" + echo "$_usage" + exit 1 + ;; + *) + shift 1 + ;; + esac +done + + echo "/* Generated by configure */" > src/config.h echo "#ifndef _CONFIG_H" >> src/config.h echo "#define _CONFIG_H" >> src/config.h @@ -19,6 +63,20 @@ else echo "none." fi +if [ "$enable_syntax" -ne 0 ]; then + echo "enabling syntax highlighting" + echo "SYNTAX_ENABLE = true" >> config.mk +else + echo "disabling syntax highlighting" + echo "SYNTAX_ENABLE = false" >> config.mk +fi + +if [ "$enable_asan" -ne 0 ]; then + echo "enabling address sanitizer" + echo "ASAN = true" >> config.mk +fi + + echo "#endif" >> src/config.h echo "wrote src/config.h" echo "wrote config.mk" -- cgit v1.2.3