summaryrefslogtreecommitdiffstats
path: root/tools/config-gen-functions.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/config-gen-functions.sh')
-rw-r--r--tools/config-gen-functions.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/tools/config-gen-functions.sh b/tools/config-gen-functions.sh
new file mode 100644
index 0000000..ea62432
--- /dev/null
+++ b/tools/config-gen-functions.sh
@@ -0,0 +1,33 @@
+#
+# Copyright (C) 2011 Karel Zak <kzak@redhat.com>
+#
+
+
+# Returns configure options from selected config file
+#
+# ul_get_configuration <config-file>
+#
+# for example
+#
+# ul_get_configuration $top_srcdir/tools/config-gen.d/all
+#
+ul_get_configuration() {
+ local conf="$1"
+ local dir=$(dirname $1)
+ local opts=$(cat $conf)
+ local old_opts=
+
+ while [ "$opts" != "$old_opts" ]; do
+ local new_opts=
+
+ old_opts="$opts"
+ for citem in $opts; do
+ case $citem in
+ include:*) new_opts="$new_opts $(cat $dir/${citem##*:})" ;;
+ *) new_opts="$new_opts $citem" ;;
+ esac
+ done
+ opts="$new_opts"
+ done
+ echo $opts | tr " " "\n" | sort -u
+}