scons/swig: refactor some of the scons/SWIG code

- Move the random bits of SWIG code generation out of src/SConscript
  file and into methods on the objects being wrapped.
- Cleaned up some variable naming and added some comments to make
  the process a little clearer.
- Did a little generated file/module renaming:
   - vptype_Foo now Foo_vector
   - init_Foo is now Foo_init
  This makes it easier to see all the Foo-related files in a
  sorted directory listing.
- Made cxx_predecls and swig_predecls normal SimObject classmethods.
- Got rid of swig_objdecls hook, even though this breaks the System
  objects get/setMemoryMode method exports.  Will be fixing this in
  a future changeset.
This commit is contained in:
Steve Reinhardt
2011-10-20 13:08:49 -07:00
parent f2bfef90c4
commit 45d14e02c4
4 changed files with 153 additions and 176 deletions

View File

@@ -40,6 +40,8 @@ class MemoryMode(Enum): vals = ['invalid', 'atomic', 'timing']
class System(SimObject):
type = 'System'
# This method is temporarily obsolete. Its functionality will be
# restored in a future changeset.
@classmethod
def swig_objdecls(cls, code):
code('%include "python/swig/system.i"')