diff options
Diffstat (limited to '')
| -rw-r--r-- | lang/python/helpers.c | 9 | ||||
| -rw-r--r-- | lang/python/helpers.h | 3 | ||||
| -rw-r--r-- | lang/python/pyme/version.py.in | 1 | ||||
| -rwxr-xr-x | lang/python/setup.py.in | 12 | 
4 files changed, 24 insertions, 1 deletions
| diff --git a/lang/python/helpers.c b/lang/python/helpers.c index 0406f9f8..0b4a7736 100644 --- a/lang/python/helpers.c +++ b/lang/python/helpers.c @@ -28,6 +28,15 @@  #include "helpers.h"  #include "private.h" +/* Flag specifying whether this is an in-tree build.  */ +int pyme_in_tree_build = +#if IN_TREE_BUILD +  1 +#else +  0 +#endif +  ; +  static PyObject *GPGMEError = NULL;  void _pyme_exception_init(void) { diff --git a/lang/python/helpers.h b/lang/python/helpers.h index 16a9b9fd..9200f937 100644 --- a/lang/python/helpers.h +++ b/lang/python/helpers.h @@ -26,6 +26,9 @@  #define write(fd, str, sz) {DWORD written; WriteFile((HANDLE) fd, str, sz, &written, 0);}  #endif +/* Flag specifying whether this is an in-tree build.  */ +extern int pyme_in_tree_build; +  PyObject *pyme_raise_callback_exception(PyObject *self);  PyObject *pyme_set_passphrase_cb(PyObject *self, PyObject *cb); diff --git a/lang/python/pyme/version.py.in b/lang/python/pyme/version.py.in index a40e02d3..e4a5a27b 100644 --- a/lang/python/pyme/version.py.in +++ b/lang/python/pyme/version.py.in @@ -21,6 +21,7 @@ from . import gpgme  productname = 'pyme'  versionstr = "@VERSION@"  gpgme_versionstr = gpgme.GPGME_VERSION +in_tree_build = bool(gpgme.cvar.pyme_in_tree_build)  versionlist = versionstr.split(".")  major = versionlist[0] diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in index 45b56a3e..a524c95c 100755 --- a/lang/python/setup.py.in +++ b/lang/python/setup.py.in @@ -28,7 +28,9 @@ gpg_error_config = "gpg-error-config"  gpgme_config = "gpgme-config"  gpgme_h = ""  library_dirs = [] +in_tree = False  extra_swig_opts = [] +extra_macros = dict()  if os.path.exists("../../src/gpgme-config"):      # In-tree build. @@ -36,7 +38,10 @@ if os.path.exists("../../src/gpgme-config"):      gpgme_config = "../../src/gpgme-config"      gpgme_h = "../../src/gpgme.h"      library_dirs = ["../../src/.libs"] # XXX uses libtool internals -    extra_swig_opts = ["-DHAVE_DATA_H=1"] +    extra_macros.update( +        HAVE_DATA_H=1, +        IN_TREE_BUILD=1, +    )  try:      subprocess.check_call([gpg_error_config, '--version'], @@ -87,6 +92,11 @@ include_dirs = [os.getcwd()]  define_macros = []  libs = getconfig('libs') +# Define extra_macros for both the SWIG and C code +for k, v in extra_macros.items(): +    extra_swig_opts.append("-D{0}={1}".format(k, v)) +    define_macros.append((k, str(v))) +  for item in getconfig('cflags'):      if item.startswith("-I"):          include_dirs.append(item[2:]) | 
