about summary refs log blame commit diff stats
path: root/cfg_defs.sh
blob: ee6985062d1e4407d6166e9f2d54f89f55556a9e (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15














                                                                         
                          





























                                       
#!/bin/sh
# Translate the lynx_cfg.h and config.cache data into a table, useful for
# display at runtime.

cat <<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/"/\\"/g' \
	-e 's/=}$/=""}/' \
	-e "s/'/\"/g" \
	-e 's/^.[^=]*_cv_/	{ "/' \
	-e 's/=${[^=]*="/", "/' \
	-e 's/=${[^=]*=/", "/' \
	-e 's/"}$/}/' \
	-e 's/}$/" },/' \
	config.cache | sort
cat <<EOF
};

static CONST struct {
	CONST char *name;
	CONST char *value;
} config_defines[] = {
EOF
fgrep	'#define' lynx_cfg.h |sort |
sed	-e 's@	@ @g' \
	-e 's@  @ @g' \
	-e 's@[ ]*#define @@' \
	-e 's@[ ]*/\*.*\*/@@' \
	-e 's@"$@@' \
	-e 's@"@@' \
	-e 's@ @", "@' \
	-e 's@^@	{ "@' \
	-e 's@$@" },@'
cat <<EOF
};

#endif /* CFG_DEFS_H */
EOF