diff options
-rw-r--r-- | bindings/vala/meson.build | 10 | ||||
-rw-r--r-- | meson.build | 28 | ||||
-rw-r--r-- | src/meson.build | 2 |
3 files changed, 27 insertions, 13 deletions
diff --git a/bindings/vala/meson.build b/bindings/vala/meson.build index 3190f00..9c2d9c0 100644 --- a/bindings/vala/meson.build +++ b/bindings/vala/meson.build @@ -5,13 +5,6 @@ # # Copyright (C) 2016 Igalia S.L. All rights reserved. -vapidir = join_paths([ - prefix, - get_option('datadir'), - 'vala', - 'vapi', -]) - vala_sources = [ # LIBRARY, GIR, DEPS ['grilo-@0@'.format(grl_majorminor), grl_gir[0], ['gmodule-2.0', 'gio-2.0']], ['grilo-net-@0@'.format(grl_majorminor), grlnet_gir[0], ['gio-2.0']], @@ -26,6 +19,7 @@ foreach s: vala_sources gnome.generate_vapi(lib, sources: [custom_vala, gir], packages: deps, - install: true) + install: true, + install_dir: vapidir) endforeach diff --git a/meson.build b/meson.build index 295939c..4a1c660 100644 --- a/meson.build +++ b/meson.build @@ -63,7 +63,7 @@ endif enable_vala = get_option('vapi') if enable_vala - vapigen = find_program('vapigen', required: true) + find_program('vapigen', required: true) endif enable_testui = get_option('test_ui') @@ -73,9 +73,27 @@ if enable_testui endif prefix = get_option('prefix') +includedir = join_paths(prefix, get_option('includedir')) libdir = join_paths(prefix, get_option('libdir')) plugins_dir = join_paths(libdir, grl_name) localedir = join_paths(prefix, get_option('localedir')) +datadir = join_paths(prefix, get_option('datadir')) + +gobject_introspection = dependency('gobject-introspection-1.0', required: false) +if gobject_introspection.found() + girdir = gobject_introspection.get_pkgconfig_variable('girdir', define_variable: ['datadir', datadir]) + typelibdir = gobject_introspection.get_pkgconfig_variable('typelibdir', define_variable: ['libdir', libdir]) +else + girdir = join_paths(datadir, 'gir-1.0') + typelibdir = join_paths(libdir, 'girepository-1.0') +endif + +vapigen = dependency('vapigen', required: false) +if vapigen.found() + vapidir = vapigen.get_pkgconfig_variable('vapidir', define_variable: ['datadir', datadir]) +else + vapidir = join_paths(datadir, 'vala', 'vapi') +endif cdata = configuration_data() cdata.set_quoted('VERSION', grilo_version) @@ -99,11 +117,11 @@ pkgconf = configuration_data() pkgconf.set('prefix', prefix) pkgconf.set('exec_prefix', '${prefix}') pkgconf.set('libdir', libdir) -pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir'))) +pkgconf.set('includedir', join_paths('${prefix}', includedir)) pkgconf.set('GRL_NAME', grl_name) pkgconf.set('GRL_PLUGINS_DIR', plugins_dir) -pkgconf.set('INTROSPECTION_GIRDIR', '${datarootdir}/gir-1.0') -pkgconf.set('INTROSPECTION_TYPELIBDIR', '${libdir}/girepository-1.0'.format(get_option('libdir'))) +pkgconf.set('INTROSPECTION_GIRDIR', join_paths('${prefix}', girdir)) +pkgconf.set('INTROSPECTION_TYPELIBDIR', join_paths('${prefix}', typelibdir)) pkgconf.set('VERSION', grilo_version) pkgconf.set('GRLNET_VERSION', grlnet_version) pkgconf.set('GRLPLS_VERSION', grlpls_version) @@ -114,7 +132,7 @@ foreach p: pkgconfig_files configure_file(input: infile, output: outfile, configuration: pkgconf, - install_dir: '@0@/pkgconfig'.format(get_option('libdir'))) + install_dir: join_paths(libdir, 'pkgconfig')) endforeach gnome = import('gnome') diff --git a/src/meson.build b/src/meson.build index 36c34b3..2eb46f6 100644 --- a/src/meson.build +++ b/src/meson.build @@ -120,5 +120,7 @@ if enable_gir dependencies: [ gobject_dep, gmodule_dep, gio_dep ], includes: [ 'GObject-2.0', 'GModule-2.0', 'Gio-2.0' ], install: true, + install_dir_gir: girdir, + install_dir_typelib: typelibdir, extra_args: gir_extra_args) endif |