summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorCimbali <me@cimba.li>2021-11-01 19:31:58 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2021-11-23 23:04:26 +0000
commitd81cad5ec57edb38f23b358c83e598c1609029a2 (patch)
treeabb72b660edd3cc8b34f270111278757b8402184 /meson.build
parent55a18f528e490f17c7fd5d790cca6075bb375c51 (diff)
downloadgobject-introspection-d81cad5ec57edb38f23b358c83e598c1609029a2.tar.gz
Avoid leaking memory from FFI closure if no segfault risk
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build14
1 files changed, 10 insertions, 4 deletions
diff --git a/meson.build b/meson.build
index 65aa4b06..fc503b54 100644
--- a/meson.build
+++ b/meson.build
@@ -8,6 +8,7 @@ project('gobject-introspection', 'c',
)
host_system = host_machine.system()
+host_arch = host_machine.cpu_family()
gi_versions = meson.project_version().split('.')
build_root = meson.current_build_dir()
source_root = meson.current_source_dir()
@@ -122,10 +123,6 @@ else
gi_hidden_visibility_cflags += '-fvisibility=hidden'
endif
-configure_file(
- configuration: config,
- output: 'config.h'
-)
# FIXME: Always bumped to match our version
#glib_version = '>=2.@0@.@1@'.format(gi_versions[1], gi_versions[2])
@@ -155,6 +152,15 @@ endif
libffi_dep = dependency('libffi',
fallback : ['libffi', 'ffi_dep'])
+if host_system == 'darwin' and host_arch == 'aarch64' or host_system == 'linux' and libffi_dep.version().version_compare('< 3.4')
+ config.set('LEGACY_GIRFFI_FREE', 1)
+endif
+
+configure_file(
+ configuration: config,
+ output: 'config.h'
+)
+
# python headers
cc.check_header('Python.h', dependencies: [python.dependency()], required: true)