summaryrefslogtreecommitdiffstats
path: root/scripts/cfg_defs.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 17:56:50 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 17:56:50 +0000
commit8e9f8f2d0dcdddec35091ddbbdc79650763ec922 (patch)
tree4f88ed317d44fb4e5d9ab77e565bf1d910a8f560 /scripts/cfg_defs.sh
parentInitial commit. (diff)
downloadlynx-8e9f8f2d0dcdddec35091ddbbdc79650763ec922.tar.xz
lynx-8e9f8f2d0dcdddec35091ddbbdc79650763ec922.zip
Adding upstream version 2.9.0dev.6.upstream/2.9.0dev.6upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'scripts/cfg_defs.sh')
-rwxr-xr-xscripts/cfg_defs.sh48
1 files changed, 48 insertions, 0 deletions
diff --git a/scripts/cfg_defs.sh b/scripts/cfg_defs.sh
new file mode 100755
index 0000000..5f37e96
--- /dev/null
+++ b/scripts/cfg_defs.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+# Translate the lynx_cfg.h and config.cache data into a table, useful for
+# display at runtime.
+
+TOP="${1-.}"
+OUT=cfg_defs.h
+
+# just in case we want to run this outside the makefile
+: ${SHELL:=/bin/sh}
+
+cat >$OUT <<EOF
+#ifndef CFG_DEFS_H
+#define CFG_DEFS_H 1
+
+static const struct {
+ const char *name;
+ const char *value;
+} config_cache[] = {
+EOF
+
+sed \
+ -e '/^#/d' \
+ -e 's/^.[^=]*_cv_//' \
+ -e 's/=\${.*=/=/' \
+ -e 's/}$//' \
+ config.cache | $SHELL $TOP/scripts/cfg_edit.sh >>$OUT
+
+cat >>$OUT <<EOF
+};
+
+static const struct {
+ const char *name;
+ const char *value;
+} config_defines[] = {
+EOF
+fgrep '#define' lynx_cfg.h |
+sed -e 's@ @ @g' \
+ -e 's@ @ @g' \
+ -e 's@^[ ]*#define[ ]*@@' \
+ -e 's@[ ]*/\*.*\*/@@' \
+ -e 's@[ ][ ]*@=@' \
+ | $SHELL $TOP/scripts/cfg_edit.sh >>$OUT
+
+cat >>$OUT <<EOF
+};
+
+#endif /* CFG_DEFS_H */
+EOF