summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGustavo J. A. M. Carneiro <gjc@src.gnome.org>2006-07-19 13:10:43 +0000
committerGustavo J. A. M. Carneiro <gjc@src.gnome.org>2006-07-19 13:10:43 +0000
commit6020628618da6a351fa7243350e9c7837cf12b8a (patch)
tree53e153e4378ee63405146ba00e398d7b33f39b6f
parent7102d3143fb84a6922d7c7e83110235325964ef3 (diff)
downloadpygtk-6020628618da6a351fa7243350e9c7837cf12b8a.tar.gz
Bug 347825 – exports internal symbols
-rw-r--r--ChangeLog7
-rw-r--r--codegen/codegen.py9
2 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 75056a23..ce67c6ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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):