aboutsummaryrefslogtreecommitdiffstats
path: root/tools/glib-interfaces-gen.py
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2012-09-17 16:26:43 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2012-09-17 16:44:06 +0800
commit8750c21d6838bd83065f735470fb96de867ed31f (patch)
tree3ff8457567480e3fc6dbca285c3559b19acec2c4 /tools/glib-interfaces-gen.py
parentf9a38137925ff6f712afe21961614a1efb3b35ea (diff)
downloadgsoc2013-empathy-8750c21d6838bd83065f735470fb96de867ed31f.tar
gsoc2013-empathy-8750c21d6838bd83065f735470fb96de867ed31f.tar.gz
gsoc2013-empathy-8750c21d6838bd83065f735470fb96de867ed31f.tar.bz2
gsoc2013-empathy-8750c21d6838bd83065f735470fb96de867ed31f.tar.lz
gsoc2013-empathy-8750c21d6838bd83065f735470fb96de867ed31f.tar.xz
gsoc2013-empathy-8750c21d6838bd83065f735470fb96de867ed31f.tar.zst
gsoc2013-empathy-8750c21d6838bd83065f735470fb96de867ed31f.zip
sync tools/* with tp-glib master
Fix extensions/Makefile.am to build with the new tools.
Diffstat (limited to 'tools/glib-interfaces-gen.py')
-rw-r--r--tools/glib-interfaces-gen.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/tools/glib-interfaces-gen.py b/tools/glib-interfaces-gen.py
index 69c721be3..410762cde 100644
--- a/tools/glib-interfaces-gen.py
+++ b/tools/glib-interfaces-gen.py
@@ -3,6 +3,7 @@
from sys import argv, stdout, stderr
import xml.dom.minidom
+from libtpcodegen import file_set_contents
from libglibcodegen import NS_TP, get_docstring, \
get_descendant_text, get_by_path
@@ -13,25 +14,33 @@ class Generator(object):
assert declfile.endswith('.h')
docfile = declfile[:-2] + '-gtk-doc.h'
- self.impls = open(implfile, 'w')
- self.decls = open(declfile, 'w')
- self.docs = open(docfile, 'w')
+ self.implfile = implfile
+ self.declfile = declfile
+ self.docfile = docfile
+
+ self.impls = []
+ self.decls = []
+ self.docs = []
self.spec = get_by_path(dom, "spec")[0]
def h(self, code):
- self.decls.write(code.encode('utf-8'))
+ self.decls.append(code.encode('utf-8'))
def c(self, code):
- self.impls.write(code.encode('utf-8'))
+ self.impls.append(code.encode('utf-8'))
def d(self, code):
- self.docs.write(code.encode('utf-8'))
+ self.docs.append(code.encode('utf-8'))
def __call__(self):
for f in self.h, self.c:
self.do_header(f)
self.do_body()
+ file_set_contents(self.implfile, ''.join(self.impls))
+ file_set_contents(self.declfile, ''.join(self.decls))
+ file_set_contents(self.docfile, ''.join(self.docs))
+
# Header
def do_header(self, f):
f('/* Generated from: ')
@@ -49,6 +58,7 @@ class Generator(object):
f("""
*/
+#include <glib.h>
""")
# Body