SWIG: Hack around SWIG segfault on private destructors

Apparently this problem has been fixed in SWIG 3.0.6. However,
until we can require that version, define "private" as "protected"
when running the SWIG parser.
This commit is contained in:
Daniel Elstner 2015-10-11 14:31:18 +02:00
parent 15bebf575d
commit 4c9208a799
2 changed files with 5 additions and 3 deletions

View File

@ -651,7 +651,8 @@ $(JCXX): $(srcdir)/$(JSWG) $(JDOC) bindings/swig/classes.i bindings/swig/enums.i
$(bindings_cxx_libsigrokcxx_la_include_HEADERS) \
$(nodist_bindings_cxx_libsigrokcxx_la_include_HEADERS)
-$(AM_V_at)rm -f $(java_cleanfiles)
$(AM_V_GEN)$(SWIG) -c++ -Dnoexcept= -java -package org.sigrok.core.classes \
$(AM_V_GEN)$(SWIG) -c++ -Dnoexcept= -Dprivate=protected \
-java -package org.sigrok.core.classes \
-Ibindings -I$(JCLS) $(local_includes) -I$(srcdir) $(JNI_CPPFLAGS) \
-outdir $(JCLS) -o $@ $(srcdir)/$(JSWG)

View File

@ -87,8 +87,9 @@ setup(
ext_modules = [
Extension('sigrok.core._classes',
sources = [vpath('sigrok/core/classes.i')],
swig_opts = ['-c++', '-threads', '-Dnoexcept=', '-Isigrok/core',
'-I..', '-I' + srcdir_parent] + ['-I%s' % i for i in includes],
swig_opts = ['-c++', '-threads', '-Dnoexcept=', '-Dprivate=protected',
'-Isigrok/core', '-I..', '-I' + srcdir_parent] +
['-I%s' % i for i in includes],
extra_compile_args = ['-Wno-uninitialized'],
include_dirs = includes,
library_dirs = libdirs,