mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-23 12:41:50 +01:00
girepository: Move GIR generation into girepository and prior to tests
To enable tests which depend on libgirepository's GIR and typelib, we need to refactor the order we're currently building these items. We can also move everything under girepository/ to cleanup the top-level.
This commit is contained in:
parent
5f345a2653
commit
f75221c7ea
@ -157,3 +157,30 @@ gio_gir = gnome.generate_gir(libgio,
|
||||
env: gi_gen_env_variables,
|
||||
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
|
||||
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,
|
||||
)
|
||||
subdir('introspection')
|
||||
endif
|
||||
|
||||
if build_tests
|
||||
|
@ -1,18 +1,19 @@
|
||||
girepository_tests = {}
|
||||
girepository_tests = {
|
||||
'cmph-bdz': {
|
||||
'dependencies': [cmph_dep],
|
||||
},
|
||||
'gthash' : {
|
||||
'dependencies': [girepo_gthash_dep],
|
||||
},
|
||||
}
|
||||
|
||||
# Some GIR files are needed to test against
|
||||
# Some tests require GIR files to have been generated
|
||||
if enable_gir
|
||||
girepository_tests += {
|
||||
'cmph-bdz': {
|
||||
'dependencies': [cmph_dep],
|
||||
},
|
||||
'function-info' : {
|
||||
'dependencies': [libffi_dep],
|
||||
'depends': [glib_gir],
|
||||
},
|
||||
'gthash' : {
|
||||
'dependencies': [girepo_gthash_dep],
|
||||
},
|
||||
'repository' : {
|
||||
'depends': [glib_gir, gio_gir, gobject_gir],
|
||||
},
|
||||
|
@ -46,7 +46,7 @@ repository_setup (RepositoryFixture *fx,
|
||||
fx->repository = gi_repository_new ();
|
||||
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);
|
||||
gi_repository_prepend_search_path (fx->repository, fx->gobject_typelib_dir);
|
||||
|
||||
|
@ -2532,9 +2532,6 @@ subdir('gobject')
|
||||
subdir('gthread')
|
||||
subdir('gmodule')
|
||||
subdir('gio')
|
||||
if enable_gir
|
||||
subdir('introspection')
|
||||
endif
|
||||
subdir('girepository')
|
||||
subdir('fuzzing')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user