summaryrefslogtreecommitdiff
path: root/generate-configlist.sh
diff options
context:
space:
mode:
Diffstat (limited to 'generate-configlist.sh')
-rwxr-xr-xgenerate-configlist.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/generate-configlist.sh b/generate-configlist.sh
new file mode 100755
index 0000000000..75c39ade20
--- /dev/null
+++ b/generate-configlist.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+SOURCE_DIR="$1"
+OUTPUT="$2"
+
+if test -z "$SOURCE_DIR" || ! test -d "$SOURCE_DIR" || test -z "$OUTPUT"
+then
+ echo >&2 "USAGE: $0 <SOURCE_DIR> <OUTPUT>"
+ exit 1
+fi
+
+print_config_list () {
+ cat <<EOF
+static const char *config_name_list[] = {
+EOF
+ sed -e '
+ /^`*[a-zA-Z].*\..*`*::$/ {
+ /deprecated/d;
+ s/::$//;
+ s/`//g;
+ s/^.*$/ "&",/;
+ p;};
+ d' \
+ "$SOURCE_DIR"/Documentation/*config.adoc \
+ "$SOURCE_DIR"/Documentation/config/*.adoc |
+ sort
+ cat <<EOF
+ NULL,
+};
+EOF
+}
+
+{
+ echo "/* Automatically generated by generate-configlist.sh */"
+ echo
+ echo
+ print_config_list
+} >"$OUTPUT"