mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-09 04:15:49 +01:00
Merge branch 'ewlsh/refactor-gir-generation' into 'main'
Refactor GIRepository GIR generation to avoid cyclical dependency See merge request GNOME/glib!3797
This commit is contained in:
commit
b862fe077a
@ -157,3 +157,30 @@ gio_gir = gnome.generate_gir(libgio,
|
|||||||
env: gi_gen_env_variables,
|
env: gi_gen_env_variables,
|
||||||
extra_args: gir_args + gio_gir_args,
|
extra_args: gir_args + gio_gir_args,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
libgirepository_gir_sources = [
|
||||||
|
gi_visibility_h,
|
||||||
|
girepo_headers,
|
||||||
|
girepo_sources,
|
||||||
|
]
|
||||||
|
libgirepository_gir_packages = [ 'girepository-2.0' ]
|
||||||
|
libgirepository_gir_args = [
|
||||||
|
'-DGI_COMPILATION',
|
||||||
|
'--symbol-prefix=gi',
|
||||||
|
'--identifier-prefix=GI',
|
||||||
|
]
|
||||||
|
|
||||||
|
girepository_gir = gnome.generate_gir(libgirepository,
|
||||||
|
sources: libgirepository_gir_sources,
|
||||||
|
namespace: 'GIRepository',
|
||||||
|
nsversion: '3.0',
|
||||||
|
identifier_prefix: 'GI',
|
||||||
|
symbol_prefix: 'gi',
|
||||||
|
export_packages: libgirepository_gir_packages,
|
||||||
|
header: 'girepository/girepository.h',
|
||||||
|
includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ],
|
||||||
|
install: true,
|
||||||
|
dependencies: [ libglib_dep, libgobject_dep, libgmodule_dep, libgio_dep ],
|
||||||
|
extra_args: gir_args + libgirepository_gir_args,
|
||||||
|
)
|
||||||
|
|
@ -235,31 +235,7 @@ pkg.generate(libgirepository,
|
|||||||
)
|
)
|
||||||
|
|
||||||
if enable_gir
|
if enable_gir
|
||||||
libgirepository_gir_sources = [
|
subdir('introspection')
|
||||||
gi_visibility_h,
|
|
||||||
girepo_headers,
|
|
||||||
girepo_sources,
|
|
||||||
]
|
|
||||||
libgirepository_gir_packages = [ 'girepository-2.0' ]
|
|
||||||
libgirepository_gir_args = [
|
|
||||||
'-DGI_COMPILATION',
|
|
||||||
'--symbol-prefix=gi',
|
|
||||||
'--identifier-prefix=GI',
|
|
||||||
]
|
|
||||||
|
|
||||||
girepository_gir = gnome.generate_gir(libgirepository,
|
|
||||||
sources: libgirepository_gir_sources,
|
|
||||||
namespace: 'GIRepository',
|
|
||||||
nsversion: '3.0',
|
|
||||||
identifier_prefix: 'GI',
|
|
||||||
symbol_prefix: 'gi',
|
|
||||||
export_packages: libgirepository_gir_packages,
|
|
||||||
header: 'girepository/girepository.h',
|
|
||||||
includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ],
|
|
||||||
install: true,
|
|
||||||
dependencies: [ libglib_dep, libgobject_dep, libgmodule_dep, libgio_dep ],
|
|
||||||
extra_args: gir_args + libgirepository_gir_args,
|
|
||||||
)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if build_tests
|
if build_tests
|
||||||
|
@ -1,18 +1,19 @@
|
|||||||
girepository_tests = {}
|
girepository_tests = {
|
||||||
|
|
||||||
# Some GIR files are needed to test against
|
|
||||||
if enable_gir
|
|
||||||
girepository_tests += {
|
|
||||||
'cmph-bdz': {
|
'cmph-bdz': {
|
||||||
'dependencies': [cmph_dep],
|
'dependencies': [cmph_dep],
|
||||||
},
|
},
|
||||||
|
'gthash' : {
|
||||||
|
'dependencies': [girepo_gthash_dep],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
# Some tests require GIR files to have been generated
|
||||||
|
if enable_gir
|
||||||
|
girepository_tests += {
|
||||||
'function-info' : {
|
'function-info' : {
|
||||||
'dependencies': [libffi_dep],
|
'dependencies': [libffi_dep],
|
||||||
'depends': [glib_gir],
|
'depends': [glib_gir],
|
||||||
},
|
},
|
||||||
'gthash' : {
|
|
||||||
'dependencies': [girepo_gthash_dep],
|
|
||||||
},
|
|
||||||
'repository' : {
|
'repository' : {
|
||||||
'depends': [glib_gir, gio_gir, gobject_gir],
|
'depends': [glib_gir, gio_gir, gobject_gir],
|
||||||
},
|
},
|
||||||
|
@ -46,7 +46,7 @@ repository_setup (RepositoryFixture *fx,
|
|||||||
fx->repository = gi_repository_new ();
|
fx->repository = gi_repository_new ();
|
||||||
g_assert_nonnull (fx->repository);
|
g_assert_nonnull (fx->repository);
|
||||||
|
|
||||||
fx->gobject_typelib_dir = g_test_build_filename (G_TEST_BUILT, "..", "..", "introspection", NULL);
|
fx->gobject_typelib_dir = g_test_build_filename (G_TEST_BUILT, "..", "introspection", NULL);
|
||||||
g_test_message ("Using GI_TYPELIB_DIR = %s", fx->gobject_typelib_dir);
|
g_test_message ("Using GI_TYPELIB_DIR = %s", fx->gobject_typelib_dir);
|
||||||
gi_repository_prepend_search_path (fx->repository, fx->gobject_typelib_dir);
|
gi_repository_prepend_search_path (fx->repository, fx->gobject_typelib_dir);
|
||||||
|
|
||||||
|
@ -2532,9 +2532,6 @@ subdir('gobject')
|
|||||||
subdir('gthread')
|
subdir('gthread')
|
||||||
subdir('gmodule')
|
subdir('gmodule')
|
||||||
subdir('gio')
|
subdir('gio')
|
||||||
if enable_gir
|
|
||||||
subdir('introspection')
|
|
||||||
endif
|
|
||||||
subdir('girepository')
|
subdir('girepository')
|
||||||
subdir('fuzzing')
|
subdir('fuzzing')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user