SWIG: Make gem5 compile and link with swig 2.0.4
To make gem5 compile and run with swig 2.0.4 a few minor fixes are necessary, the fail label issues by swig must not be treated as an error by gcc (tested with gcc 4.2.1), and the vector wrappers must have SWIGPY_SLICE_ARG defined which happens in pycontainer.swg, included through std_container.i. By adding the aforementioned include to the vector wrappers everything seems to work.
This commit is contained in:
parent
c2dbfc1d6c
commit
59b7cad3ec
2 changed files with 4 additions and 1 deletions
|
@ -851,8 +851,8 @@ def makeEnv(label, objsfx, strip = False, **kwargs):
|
||||||
swig_env.Append(CCFLAGS='-Wno-uninitialized')
|
swig_env.Append(CCFLAGS='-Wno-uninitialized')
|
||||||
swig_env.Append(CCFLAGS='-Wno-sign-compare')
|
swig_env.Append(CCFLAGS='-Wno-sign-compare')
|
||||||
swig_env.Append(CCFLAGS='-Wno-parentheses')
|
swig_env.Append(CCFLAGS='-Wno-parentheses')
|
||||||
|
swig_env.Append(CCFLAGS='-Wno-unused-label')
|
||||||
if compareVersions(env['GCC_VERSION'], '4.6.0') != -1:
|
if compareVersions(env['GCC_VERSION'], '4.6.0') != -1:
|
||||||
swig_env.Append(CCFLAGS='-Wno-unused-label')
|
|
||||||
swig_env.Append(CCFLAGS='-Wno-unused-but-set-variable')
|
swig_env.Append(CCFLAGS='-Wno-unused-but-set-variable')
|
||||||
|
|
||||||
werror_env = new_env.Clone()
|
werror_env = new_env.Clone()
|
||||||
|
|
|
@ -256,6 +256,9 @@ class VectorParamDesc(ParamDesc):
|
||||||
self.ptype.cxx_predecls(code)
|
self.ptype.cxx_predecls(code)
|
||||||
code('%}')
|
code('%}')
|
||||||
code()
|
code()
|
||||||
|
# Make sure the SWIGPY_SLICE_ARG is defined through this inclusion
|
||||||
|
code('%include "std_container.i"')
|
||||||
|
code()
|
||||||
self.ptype.swig_predecls(code)
|
self.ptype.swig_predecls(code)
|
||||||
code()
|
code()
|
||||||
code('%include "std_vector.i"')
|
code('%include "std_vector.i"')
|
||||||
|
|
Loading…
Reference in a new issue