summaryrefslogtreecommitdiff
path: root/boilerplate/make-cairo-boilerplate-constructors.sh
diff options
context:
space:
mode:
authormh0310.choi <mh0310.choi@samsung.com>2016-09-01 11:09:28 +0900
committermh0310.choi <mh0310.choi@samsung.com>2016-09-01 11:20:33 +0900
commit9e8ae53154d680b1aabf39cddcb1fde0eb52752f (patch)
tree956a482027409ce8f9ba3ef9c5e4585286521325 /boilerplate/make-cairo-boilerplate-constructors.sh
parentcce6a0e298fac08c588204b085e7a807fa75813d (diff)
downloadcairo-upstream_ref.tar.gz
cairo-upstream_ref.tar.bz2
cairo-upstream_ref.zip
Uploading Cairo version 1.14.2upstream_ref
Change-Id: I895b70fd7996b5c15f43480bdc449822636b2366
Diffstat (limited to 'boilerplate/make-cairo-boilerplate-constructors.sh')
-rw-r--r--boilerplate/make-cairo-boilerplate-constructors.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/boilerplate/make-cairo-boilerplate-constructors.sh b/boilerplate/make-cairo-boilerplate-constructors.sh
new file mode 100644
index 000000000..09716ca9e
--- /dev/null
+++ b/boilerplate/make-cairo-boilerplate-constructors.sh
@@ -0,0 +1,29 @@
+#! /bin/sh
+
+if test $# -eq 0; then
+ echo "$0: no input files." >&2
+ exit 0
+fi
+
+cat <<HERE
+/* WARNING: Autogenerated file - see $0! */
+
+#include "cairo-boilerplate-private.h"
+
+void _cairo_boilerplate_register_all (void);
+
+HERE
+
+cat "$@" | sed '/^CAIRO_BOILERPLATE/!d; s/CAIRO_BOILERPLATE.*(\(.*\),.*/extern void _register_\1 (void);/'
+
+cat <<HERE
+
+void
+_cairo_boilerplate_register_all (void)
+{
+HERE
+
+cat "$@" | sed '/^CAIRO_BOILERPLATE/!d; s/CAIRO_BOILERPLATE.*(\(.*\),.*/ _register_\1 ();/'
+
+echo "}"
+