[pygobject/meson-dont-link-libpython] meson: Don't link against libpython on non-Windows systems. Fixes #253
- From: Christoph Reiter <creiter src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pygobject/meson-dont-link-libpython] meson: Don't link against libpython on non-Windows systems. Fixes #253
- Date: Wed, 12 Sep 2018 11:55:46 +0000 (UTC)
commit b33d1a42726a1415cc8af703df1eacda09abee48
Author: Christoph Reiter <reiter christoph gmail com>
Date: Thu Sep 6 20:44:03 2018 +0200
meson: Don't link against libpython on non-Windows systems. Fixes #253
While on Windows it needs to link against it, on Unix systems
it doesn't have to if the process loading it has all the symbols
already loaded (python executable itself, or something dlopening
libpython with RTLD_GLOBAL before).
While on Fedora things get linked by default that's not the case with
Debian based distros and macOS, so most software has to deal with it
anyway and we ignore Fedora here for now.
Ideally this should get handled in meson itself, see:
https://github.com/mesonbuild/meson/issues/4117
gi/meson.build | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/gi/meson.build b/gi/meson.build
index ded10ace..c1afd689 100644
--- a/gi/meson.build
+++ b/gi/meson.build
@@ -65,8 +65,15 @@ python.install_sources(python_sources,
subdir : 'gi'
)
+# https://github.com/mesonbuild/meson/issues/4117
+if host_machine.system() == 'windows'
+ python_ext_dep = python_dep
+else
+ python_ext_dep = python_dep.partial_dependency(compile_args: true)
+endif
+
giext = python.extension_module('_gi', sources,
- dependencies : [python_dep, glib_dep, gi_dep, ffi_dep],
+ dependencies : [python_ext_dep, glib_dep, gi_dep, ffi_dep],
include_directories: include_directories('..'),
install: true,
subdir : 'gi',
@@ -75,7 +82,7 @@ giext = python.extension_module('_gi', sources,
if with_pycairo
gicairoext = python.extension_module('_gi_cairo', ['pygi-foreign-cairo.c'],
- dependencies : [python_dep, glib_dep, gi_dep, ffi_dep, pycairo_dep, cairo_dep, cairo_gobject_dep],
+ dependencies : [python_ext_dep, glib_dep, gi_dep, ffi_dep, pycairo_dep, cairo_dep, cairo_gobject_dep],
install: true,
subdir : 'gi',
c_args: pyext_c_args + main_c_args)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]