Merge branch 'backport-4122-gir-deps-glib-2-80' into 'glib-2-80'

Backport !4020 and !4122: fixes to GIR install locations and build race fixes

See merge request GNOME/glib!4124
This commit is contained in:
Emmanuele Bassi 2024-06-27 09:55:02 +00:00
commit 9b6af495cf

View File

@ -7,6 +7,16 @@ gi_gen_shared_sources = [
gmodule_visibility_h, gmodule_visibility_h,
] ]
gi_gen_shared_dependencies = [
# libgirepository is not needed by most of the modules below, but it is needed
# by the g-ir-scanner generated dumper program. If we dont explicitly include
# the local version of it here, Meson will implicitly link against it anyway,
# and that might pull in a different version, or try to link against a
# half-built local version as the build ordering dependency tree wont
# reflect this relationship.
libgirepository_dep,
]
gi_gen_env_variables = environment() gi_gen_env_variables = environment()
if get_option('b_sanitize') != 'none' if get_option('b_sanitize') != 'none'
@ -49,7 +59,8 @@ glib_gir = gnome.generate_gir(libglib,
export_packages: 'glib-2.0', export_packages: 'glib-2.0',
header: 'glib.h', header: 'glib.h',
install: true, install: true,
dependencies: [ install_dir_gir: glib_girdir,
dependencies: gi_gen_shared_dependencies + [
libgobject_dep, libgobject_dep,
], ],
env: gi_gen_env_variables, env: gi_gen_env_variables,
@ -76,7 +87,8 @@ if host_system == 'windows'
header: 'glib.h', header: 'glib.h',
includes: [ glib_gir[0] ], includes: [ glib_gir[0] ],
install: true, install: true,
dependencies: [ install_dir_gir: glib_girdir,
dependencies: gi_gen_shared_dependencies + [
libgobject_dep, libgobject_dep,
], ],
env: gi_gen_env_variables, env: gi_gen_env_variables,
@ -104,7 +116,8 @@ else
header: 'glib.h', header: 'glib.h',
includes: [ glib_gir[0] ], includes: [ glib_gir[0] ],
install: true, install: true,
dependencies: [ install_dir_gir: glib_girdir,
dependencies: gi_gen_shared_dependencies + [
libgobject_dep, libgobject_dep,
], ],
env: gi_gen_env_variables, env: gi_gen_env_variables,
@ -137,6 +150,8 @@ gobject_gir = gnome.generate_gir(libgobject,
header: 'glib-object.h', header: 'glib-object.h',
includes: [ glib_gir[0] ], includes: [ glib_gir[0] ],
install: true, install: true,
install_dir_gir: glib_girdir,
dependencies: gi_gen_shared_dependencies,
env: gi_gen_env_variables, env: gi_gen_env_variables,
extra_args: gir_args + [ extra_args: gir_args + [
'-DGOBJECT_COMPILATION', '-DGOBJECT_COMPILATION',
@ -162,7 +177,8 @@ gmodule_gir = gnome.generate_gir(libgmodule,
header: 'gmodule.h', header: 'gmodule.h',
includes: [ glib_gir[0] ], includes: [ glib_gir[0] ],
install: true, install: true,
dependencies: [ install_dir_gir: glib_girdir,
dependencies: gi_gen_shared_dependencies + [
libglib_dep, libglib_dep,
], ],
env: gi_gen_env_variables, env: gi_gen_env_variables,
@ -224,7 +240,8 @@ gio_gir = gnome.generate_gir(libgio,
header: 'gio/gio.h', header: 'gio/gio.h',
includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0] ], includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0] ],
install: true, install: true,
dependencies: [ install_dir_gir: glib_girdir,
dependencies: gi_gen_shared_dependencies + [
libglib_dep, libglib_dep,
libgobject_dep, libgobject_dep,
libgmodule_dep, libgmodule_dep,
@ -249,7 +266,8 @@ if host_system == 'windows'
header: 'gio/gio.h', header: 'gio/gio.h',
includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ], includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ],
install: true, install: true,
dependencies: [ install_dir_gir: glib_girdir,
dependencies: gi_gen_shared_dependencies + [
libglib_dep, libglib_dep,
libgobject_dep, libgobject_dep,
libgmodule_dep, libgmodule_dep,
@ -278,7 +296,8 @@ else
header: 'gio/gio.h', header: 'gio/gio.h',
includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ], includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ],
install: true, install: true,
dependencies: [ install_dir_gir: glib_girdir,
dependencies: gi_gen_shared_dependencies + [
libglib_dep, libglib_dep,
libgobject_dep, libgobject_dep,
libgmodule_dep, libgmodule_dep,
@ -316,7 +335,13 @@ girepository_gir = gnome.generate_gir(libgirepository,
header: 'girepository/girepository.h', header: 'girepository/girepository.h',
includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ], includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ],
install: true, install: true,
dependencies: [ libglib_dep, libgobject_dep, libgmodule_dep, libgio_dep ], install_dir_gir: glib_girdir,
dependencies: gi_gen_shared_dependencies + [
libglib_dep,
libgobject_dep,
libgmodule_dep,
libgio_dep,
],
extra_args: gir_args + libgirepository_gir_args, extra_args: gir_args + libgirepository_gir_args,
) )