From 69fe98bdccc9c1c50e51bdfffa26cddacf07b575 Mon Sep 17 00:00:00 2001 From: Patrick Griffis Date: Mon, 23 Oct 2017 04:53:04 -0400 Subject: Initial work on meson port --- girepository/meson.build | 163 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 girepository/meson.build (limited to 'girepository/meson.build') diff --git a/girepository/meson.build b/girepository/meson.build new file mode 100644 index 00000000..53486241 --- /dev/null +++ b/girepository/meson.build @@ -0,0 +1,163 @@ +subdir('cmph') + +girepo_gthash_lib = static_library('girepository-gthash', + sources: 'gthash.c', + c_args: gi_hidden_visibility_cflags, + dependencies: [ + cmph_dep, + gobject_dep, + ], +) + +girepo_gthash_dep = declare_dependency( + link_with: girepo_gthash_lib, + dependencies: gobject_dep, + include_directories: include_directories('.'), +) + +girepo_internals_lib = static_library('girepository-internals', + sources: [ + 'girmodule.c', + 'girnode.c', + 'giroffsets.c', + 'girparser.c', + 'girwriter.c', + ], + c_args: gi_hidden_visibility_cflags, + dependencies: [girepo_gthash_dep, libffi_dep], +) + +girepo_internals_dep = declare_dependency( + link_with: girepo_internals_lib, + dependencies: libffi_dep, + include_directories: include_directories('.'), +) + +girepo_headers = [ + 'giarginfo.h', + 'gibaseinfo.h', + 'gicallableinfo.h', + 'giconstantinfo.h', + 'gienuminfo.h', + 'gifieldinfo.h', + 'gifunctioninfo.h', + 'giinterfaceinfo.h', + 'giobjectinfo.h', + 'gipropertyinfo.h', + 'giregisteredtypeinfo.h', + 'girepository.h', + 'girffi.h', + 'gisignalinfo.h', + 'gistructinfo.h', + 'gitypeinfo.h', + 'gitypelib.h', + 'gitypes.h', + 'giunioninfo.h', + 'giversionmacros.h', + 'givfuncinfo.h', +] + +girepo_sources = [ + 'gdump.c', + 'giarginfo.c', + 'gibaseinfo.c', + 'gicallableinfo.c', + 'giconstantinfo.c', + 'gienuminfo.c', + 'gifieldinfo.c', + 'gifunctioninfo.c', + 'ginvoke.c', + 'giinterfaceinfo.c', + 'giobjectinfo.c', + 'gipropertyinfo.c', + 'giregisteredtypeinfo.c', + 'girepository.c', + 'girffi.c', + 'gisignalinfo.c', + 'gistructinfo.c', + 'gitypeinfo.c', + 'gitypelib.c', + 'giunioninfo.c', + 'givfuncinfo.c', +] + +# Used in gir/meson.build +girepo_gir_sources = files( + 'giarginfo.c', + 'gibaseinfo.c', + 'gicallableinfo.c', + 'giconstantinfo.c', + 'gienuminfo.c', + 'gifieldinfo.c', + 'gifunctioninfo.c', + 'giinterfaceinfo.c', + 'giobjectinfo.c', + 'gipropertyinfo.c', + 'giregisteredtypeinfo.c', + 'girepository.c', + 'gisignalinfo.c', + 'gistructinfo.c', + 'gitypeinfo.c', + 'giunioninfo.c', + 'givfuncinfo.c', + 'giarginfo.h', + 'gibaseinfo.h', + 'gicallableinfo.h', + 'giconstantinfo.h', + 'gienuminfo.h', + 'gifieldinfo.h', + 'gifunctioninfo.h', + 'giinterfaceinfo.h', + 'giobjectinfo.h', + 'gipropertyinfo.h', + 'giregisteredtypeinfo.h', + 'girepository.h', + 'gisignalinfo.h', + 'gistructinfo.h', + 'gitypeinfo.h', + 'gitypelib.h', + 'gitypes.h', + 'giunioninfo.h', + 'givfuncinfo.h', +) + +install_headers(girepo_headers, subdir: 'gobject-introspection-1.0') + +girepo_lib = shared_library('girepository-1.0', + sources: girepo_sources, + c_args: gi_hidden_visibility_cflags + ['-DG_IREPOSITORY_COMPILATION'], + dependencies: [ + gio_dep, + gmodule_dep, + girepo_internals_dep, + dependency('gio-2.0'), + ], + version: '1.0.0', + install: true, +) + +install_data('gdump.c', + install_dir: join_paths(get_option('datadir'), 'gobject-introspection-1.0') +) + +girepo_dep = declare_dependency( + link_with: girepo_lib, + dependencies: gio_dep, + include_directories: include_directories('.'), +) + +gthash_test = executable('gthash-test', 'gthash-test.c', + dependencies: girepo_gthash_dep, +) + +test('gthash-test', gthash_test) + +if giounix_dep.found() + executable('gi-dump-types', 'gi-dump-types.c', + dependencies: [ + girepo_dep, + gmodule_dep, + giounix_dep, + ] + ) +endif -- cgit v1.2.1