[Lldb-commits] [PATCH] D33409: Add support for new (3.0.11+) swigs

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Mon May 22 07:34:04 PDT 2017


Lgtm
On Mon, May 22, 2017 at 6:49 AM Pavel Labath via Phabricator <
reviews at reviews.llvm.org> wrote:

> labath created this revision.
>
> A change in swig 3.0.9 has caused it to generate modules incompatible
> with us using them as __init__.py (bug #769). Swig 3.0.11 adds a setting
> to help
> fix this problem, so use that. Support for older versions of swig remains
> unaffected.
>
>
> https://reviews.llvm.org/D33409
>
> Files:
>   scripts/lldb.swig
>
>
> Index: scripts/lldb.swig
> ===================================================================
> --- scripts/lldb.swig
> +++ scripts/lldb.swig
> @@ -31,8 +31,24 @@
>        and a source file location. SBCompileUnit contains SBLineEntry(s)."
>  %enddef
>
> +/*
> +Since version 3.0.9, swig's logic for importing the native module has
> changed in
> +a way that is incompatible with our usage of the python module as
> __init__.py
> +(See swig bug #769).  Fortunately, since version 3.0.11, swig provides a
> way for
> +us to override the module import logic to suit our needs. This does that.
> +
> +Older swig versions will simply ignore this setting.
> +*/
> +%define MODULEIMPORT
> +"import $module"
> +%enddef
> +// These versions will not generate working python modules, so error out
> early.
> +#if SWIG_VERSION >= 0x030009 && SWIG_VERSION < 0x030011
> +#error Swig versions 3.0.9 and 3.0.10 are incompatible with lldb.
> +#endif
> +
>  // The name of the module to be created.
> -%module(docstring=DOCSTRING) lldb
> +%module(docstring=DOCSTRING, moduleimport=MODULEIMPORT) lldb
>
>  // Parameter types will be used in the autodoc string.
>  %feature("autodoc", "1");
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20170522/9846bfc8/attachment.html>


More information about the lldb-commits mailing list