summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/mk.sh b/mk.sh
index eaa4c743..1b6703a7 100644
--- a/mk.sh
+++ b/mk.sh
@@ -25,3 +25,23 @@ classify_source () {
echo FUNCTION
fi
}
+
+version_guard () {
+ parsed=/tmp/$(basename $1).v
+ grep -F -e 'STDC(' -e 'POSIX(' -e 'XOPEN(' $1 | sort | m4 $(dirname $0)/ftm.m4 - | grep . > $parsed
+ lines=$(wc -l $parsed | cut -f1 -d' ')
+
+ if [ $lines -ne 0 ]; then
+ printf '#if'
+ loop=1
+ while [ $loop -lt $lines ]; do
+ printf '\t(%s) || \\\n' "$(sed -ne "${loop}p;q" $parsed)"
+ loop=$((loop + 1))
+ done
+
+ sed -ne "${loop}p;q" $parsed > /tmp/sed.out.${loop}
+ printf '\t(%s)\n' "$(sed -ne "${loop}p;q" $parsed)"
+ fi
+
+ rm -f $parsed
+}