summaryrefslogtreecommitdiff
path: root/extra/scripts/conf-header.sh
diff options
context:
space:
mode:
Diffstat (limited to 'extra/scripts/conf-header.sh')
-rwxr-xr-xextra/scripts/conf-header.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/extra/scripts/conf-header.sh b/extra/scripts/conf-header.sh
new file mode 100755
index 000000000..90dfa999a
--- /dev/null
+++ b/extra/scripts/conf-header.sh
@@ -0,0 +1,27 @@
+#!/bin/sh -e
+
+# Turn .config into a header file
+
+if [ -z "$1" ] ; then
+ echo "Usage: conf-header.sh <.config>"
+ exit 1
+fi
+
+cat <<EOF
+#if !defined __FEATURES_H && !defined __need_uClibc_config_h
+# error Never include <bits/uClibc_config.h> directly; use <features.h> instead
+#endif
+
+#define __UCLIBC_MAJOR__ ${MAJOR_VERSION}
+#define __UCLIBC_MINOR__ ${MINOR_VERSION}
+#define __UCLIBC_SUBLEVEL__ ${SUBLEVEL}
+EOF
+
+exec \
+sed \
+ -e '/^#$/d' \
+ -e '/^[^#]/s:^\([^=]*\)=\(.*\):#define __\1__ \2:' \
+ -e '/^#define /s: y$: 1:' \
+ -e '/^# .* is not set$/s:^# \(.*\) is not set$:#undef __\1__:' \
+ -e 's:^# \(.*\)$:/* \1 */:' \
+ $1