summaryrefslogtreecommitdiff
path: root/scripts/build/generate-autoconf.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build/generate-autoconf.sh')
-rwxr-xr-xscripts/build/generate-autoconf.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/scripts/build/generate-autoconf.sh b/scripts/build/generate-autoconf.sh
new file mode 100755
index 0000000..493d630
--- /dev/null
+++ b/scripts/build/generate-autoconf.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+set -eu
+output=$1
+shift
+tmp="$output.tmp.$$"
+mkdir -p "$(dirname "$output")"
+{
+ echo '/* AUTO-GENERATED — DO NOT EDIT */'
+ echo '#pragma once'
+ while [ "$#" -gt 0 ]; do
+ name=$1
+ value=$2
+ kind=$3
+ shift 3
+ if [ "$kind" = bool ]; then
+ [ "$value" = y ] && echo "#define $name 1"
+ else
+ echo "#define $name $value"
+ fi
+ done
+} > "$tmp"
+if [ -e "$output" ] && cmp -s "$tmp" "$output"; then
+ rm -f "$tmp"
+else
+ mv -f "$tmp" "$output"
+fi
+