[vala/parallel] add 'parvala' script



commit c62f10ab332f87477a81043a62adade645e21804
Author: Ryan Lortie <desrt desrt ca>
Date:   Mon Aug 23 10:31:01 2010 -0400

    add 'parvala' script

 parvala/parvala    |   35 +++++++++++++++++++++++++++++++++++
 parvala/parvala.mk |   25 +++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 0 deletions(-)
---
diff --git a/parvala/parvala b/parvala/parvala
new file mode 100755
index 0000000..d15496e
--- /dev/null
+++ b/parvala/parvala
@@ -0,0 +1,35 @@
+#!/bin/sh -e
+
+VALAC=valac
+VALAFLAGS=''
+makeflags=''
+
+while test -n "$*"; do
+  case "$1" in
+    --disable-version-header) VALAFLAGS="${VALAFLAGS} $1";;
+    --vapidir) shift; VALAFLAGS="${VALAFLAGS} --vapidir $1";;
+    --pkg) shift; VALAFLAGS="${VALAFLAGS} --pkg $1";;
+    *.vala) valafiles="${valafiles} $1";;
+    --library) shift; makeflags="${makeflags} OUT_VAPI=$1 $1";;
+    -H) shift; makeflags="${makeflags} OUT_HFILE=$1 $1";;
+    -C) c_mode="yes";;
+
+    *) echo "parvala: unrecognised argument: $1"; exit 1;;
+  esac
+  shift
+done
+
+if test -z "${c_mode}"; then
+  echo 'parvala: required argument -C not specified'
+  exit 1
+fi
+
+if test -n "${h_file}"; then
+  echo warning: Generating public .h file is still very slow.
+  mkdir -p .tmp
+  ${VALAC} -d .tmp -C ${VALAFLAGS} -H ${h_file} ${valafiles}
+  rm -rf .tmp
+fi
+
+echo make -f /home/desrt/bin/parvala.mk VALAC="${VALAC}" VALAFLAGS="${VALAFLAGS}" VALAFILES="${valafiles}" ${makeflags} all-c
+make -f /home/desrt/bin/parvala.mk VALAC="${VALAC}" VALAFLAGS="${VALAFLAGS}" VALAFILES="${valafiles}" ${makeflags} all-c
diff --git a/parvala/parvala.mk b/parvala/parvala.mk
new file mode 100644
index 0000000..668e64a
--- /dev/null
+++ b/parvala/parvala.mk
@@ -0,0 +1,25 @@
+VAPIFILES = $(addprefix .vapis/, $(VALAFILES:.vala=.vapi))
+
+all-vapi: $(VAPIFILES)
+all-c: $(VALAFILES:.vala=.c)
+
+.vapis:
+	mkdir -p .vapis
+
+.vapis/%.vapi: %.vala .vapis
+	$(VALAC) --fast-vapi=$@ $<
+
+%.c: %.vala $(VAPIFILES)
+	$(VALAC) -C $(VALAFLAGS) $(addprefix --use-fast-vapi=,$(subst $(addprefix .vapis/, $(@:.c=.vapi)),, $(VAPIFILES))) $<
+
+ifdef OUT_HFILE
+$(OUT_HFILE): $(VALAFILES)
+	mkdir -p .very_much_tmp
+	$(VALAC) -C -d .very_much_tmp -H $@ $(VALAFLAGS) $(VALAFILES)
+	rm -r .very_much_tmp
+endif
+
+ifdef OUT_VAPI
+$(OUT_VAPI): $(VAPIFILES)
+	$(VALAC) -C $(VALAFLAGS) --library $@ $(addprefix --use-fast-vapi=, $(VAPIFILES))
+endif



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]