diff options
author | Gustavo J. A. M. Carneiro <gjc@src.gnome.org> | 2006-07-19 13:10:43 +0000 |
---|---|---|
committer | Gustavo J. A. M. Carneiro <gjc@src.gnome.org> | 2006-07-19 13:10:43 +0000 |
commit | 6020628618da6a351fa7243350e9c7837cf12b8a (patch) | |
tree | 53e153e4378ee63405146ba00e398d7b33f39b6f | |
parent | 7102d3143fb84a6922d7c7e83110235325964ef3 (diff) | |
download | pygtk-6020628618da6a351fa7243350e9c7837cf12b8a.tar.gz |
Bug 347825 – exports internal symbols
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | codegen/codegen.py | 9 |
2 files changed, 12 insertions, 4 deletions
@@ -1,3 +1,10 @@ +2006-07-19 Rafael Espíndola <rafael.espindola@gmail.com> + + reviewed by: Gustavo Carneiro + + * codegen/codegen.py: Mark generated PyTypeObject structures with + G_GNUC_INTERNAL to reduce the size of the PLT. Fixes #347825. + 2006-07-19 John Finlay <finlay@moeraki.com> * docs/fixxref.py: Add utility to fix links to pygobject docs. diff --git a/codegen/codegen.py b/codegen/codegen.py index 2750bdd3..360f9d69 100644 --- a/codegen/codegen.py +++ b/codegen/codegen.py @@ -91,7 +91,7 @@ class FileOutput: class Wrapper: type_tmpl = ( - 'PyTypeObject Py%(typename)s_Type = {\n' + 'PyTypeObject G_GNUC_INTERNAL Py%(typename)s_Type = {\n' ' PyObject_HEAD_INIT(NULL)\n' ' 0, /* ob_size */\n' ' "%(classname)s", /* tp_name */\n' @@ -1287,16 +1287,17 @@ class SourceWriter: self.fp.write('\n\n') def write_type_declarations(self): + #todo use 'static' if used only in one file self.fp.write('/* ---------- forward type declarations ---------- */\n') for obj in self.parser.boxes: if not self.overrides.is_type_ignored(obj.c_name): - self.fp.write('PyTypeObject Py' + obj.c_name + '_Type;\n') + self.fp.write('PyTypeObject G_GNUC_INTERNAL Py' + obj.c_name + '_Type;\n') for obj in self.parser.objects: if not self.overrides.is_type_ignored(obj.c_name): - self.fp.write('PyTypeObject Py' + obj.c_name + '_Type;\n') + self.fp.write('PyTypeObject G_GNUC_INTERNAL Py' + obj.c_name + '_Type;\n') for interface in self.parser.interfaces: if not self.overrides.is_type_ignored(interface.c_name): - self.fp.write('PyTypeObject Py' + interface.c_name + '_Type;\n') + self.fp.write('PyTypeObject G_GNUC_INTERNAL Py' + interface.c_name + '_Type;\n') self.fp.write('\n') def write_body(self): |