aboutsummaryrefslogtreecommitdiff
path: root/scripts/flatcc-doc.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/flatcc-doc.sh')
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/flatcc-doc.sh b/scripts/flatcc-doc.sh
new file mode 100755
index 0000000..902ae5c
--- /dev/null
+++ b/scripts/flatcc-doc.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+HOME=$(dirname $0)/..
+SCHEMA=${SCHEMA:-$1}
+PREFIX=${PREFIX:-$2}
+OUTDIR=${OUTDIR:-$3}
+OUTDIR=${OUTDIR:-'.'}
+INCLUDE=${INCLUDE:-$HOME/include}
+FLATCC=${FLATCC:-$HOME/bin/flatcc}
+
+if [ "x$SCHEMA" = "x" ]; then
+ echo "Missing schema arg"
+ echo "usage: $(basename $0) schema-file name-prefix [outdir]"
+ exit 1
+fi
+
+if [ "x$PREFIX" = "x" ]; then
+ echo "Missing prefix arg"
+ echo "usage: $(basename $0) schema-file name-prefix [outdir]"
+ exit 1
+fi
+
+echo "flatcc doc for schema: '$SCHEMA' with name prefix: '$PREFIX'"
+
+echo "generating $OUTDIR/$PREFIX.doc"
+
+$FLATCC $SCHEMA -a --json --stdout | \
+ clang - -E -DNDEBUG -I $INCLUDE | \
+ clang-format -style="WebKit" | \
+ grep "^static.* $PREFIX\w*(" | \
+ cut -f 1 -d '{' | \
+ grep -v deprecated | \
+ grep -v ");$" | \
+ sed 's/__tmp//g' | \
+ sed 's/)/);/g' \
+ > $OUTDIR/$PREFIX.doc