python: do not export HAVE_CXX11 definition
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Thu, 18 Oct 2018 02:23:59 +0000 (22:23 -0400)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Thu, 18 Oct 2018 04:30:32 +0000 (00:30 -0400)
commit9de1c96ac3cf6fa126325002b61a1b606037ca88
tree59ddc0e7f371be9aada71783041bece0e4c6d55f
parent12b0b5c8941b4ef9ec06002c868ba2bc09216674
python: do not export HAVE_CXX11 definition

* lang/python/gpgme.i: ignore HAVE_CXX11 in SWIG interface

--

If there are two distinct builds (a) and (b) of gpgme which both build
python bindings, and build (a) also happens to build the C++ bindings,
then the generated gpg/gpgme.py file from build (a) will not be usable
with the .so generated in build (b), despite them being exactly the
same, and having nothing to do with C++.

In particular, it will fail with:

-----------
  File "…/gpg/__init__.py", line 99, in <module>
    from . import core
  File "…/gpg/core.py", line 10, in <module>
    from . import gpgme
  File "…/gpg/gpgme.py", line 152, in <module>
    HAVE_CXX11 = _gpgme.HAVE_CXX11
AttributeError: module 'gpg._gpgme' has no attribute 'HAVE_CXX11'
-----------

By asking SWIG to ignore this definition, we stabilize the generated
.py and the .so, ensuring that they are more cleanly interoperable.
lang/python/gpgme.i