diff --git a/gio/gdbus-2.0/codegen/meson.build b/gio/gdbus-2.0/codegen/meson.build index 65faae9b2..4297513d4 100644 --- a/gio/gdbus-2.0/codegen/meson.build +++ b/gio/gdbus-2.0/codegen/meson.build @@ -20,7 +20,7 @@ gdbus_codegen_conf.set('DATADIR', glib_datadir) # Install gdbus-codegen executable gdbus_codegen = configure_file(input : 'gdbus-codegen.in', output : 'gdbus-codegen', - install_dir : get_option('bindir'), + install_dir : get_option('devbindir'), install_tag : 'bin-devel', configuration : gdbus_codegen_conf ) diff --git a/gio/meson.build b/gio/meson.build index 75686bb3e..2f1a73482 100644 --- a/gio/meson.build +++ b/gio/meson.build @@ -882,14 +882,15 @@ pkg.generate(libgio, 'schemasdir=' + '${datadir}' / schemas_subdir, 'dtdsdir=' + '${datadir}' / dtds_subdir, 'bindir=' + '${prefix}' / get_option('bindir'), + 'devbindir=' + get_option('devbindir'), 'giomoduledir=' + pkgconfig_giomodulesdir, 'gio=' + '${bindir}' / 'gio', - 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules', - 'glib_compile_schemas=' + pkgconfig_multiarch_bindir / 'glib-compile-schemas', - 'glib_compile_resources=' + '${bindir}' / 'glib-compile-resources', + 'gio_querymodules=' + '${devbindir}' / 'gio-querymodules', + 'glib_compile_schemas=' + '${devbindir}' / 'glib-compile-schemas', + 'glib_compile_resources=' + '${devbindir}' / 'glib-compile-resources', 'gdbus=' + '${bindir}' /'gdbus', - 'gdbus_codegen=' + '${bindir}' / 'gdbus-codegen', - 'gresource=' + '${bindir}' / 'gresource', + 'gdbus_codegen=' + '${devbindir}' / 'gdbus-codegen', + 'gresource=' + '${devbindir}' / 'gresource', 'gsettings=' + '${bindir}' / 'gsettings', ], version : glib_version, @@ -992,6 +993,7 @@ executable('gio', gio_tool_sources, executable('gresource', 'gresource-tool.c', install : true, + install_dir : get_option('devbindir'), install_tag : 'bin', # intl.lib is not compatible with SAFESEH link_args : noseh_link_args, @@ -999,7 +1001,7 @@ executable('gresource', 'gresource-tool.c', gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodule-priv.c', install : true, - install_dir : multiarch_bindir, + install_dir : get_option('devbindir'), install_tag : 'bin', c_args : gio_c_args, # intl.lib is not compatible with SAFESEH @@ -1009,7 +1011,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu glib_compile_schemas = executable('glib-compile-schemas', ['glib-compile-schemas.c'], install : true, - install_dir : multiarch_bindir, + install_dir : get_option('devbindir'), install_tag : 'bin', # intl.lib is not compatible with SAFESEH link_args : noseh_link_args, @@ -1018,6 +1020,7 @@ glib_compile_schemas = executable('glib-compile-schemas', glib_compile_resources = executable('glib-compile-resources', [gconstructor_as_data_h, 'glib-compile-resources.c'], install : true, + install_dir : get_option('devbindir'), install_tag : 'bin-devel', c_args : gio_c_args, # intl.lib is not compatible with SAFESEH diff --git a/gio/tests/meson.build b/gio/tests/meson.build index 4ef3343ab..2a0a6b56b 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build @@ -1131,16 +1131,18 @@ if have_bash and have_pkg_config gio_binaries = [ 'gio', - 'glib-compile-resources', 'gdbus', - 'gdbus-codegen', - 'gresource', 'gsettings', ] - gio_multiarch_binaries = [ + gio_dev_binaries = [ + 'glib-compile-resources', + 'gdbus-codegen', + 'gresource', 'gio-querymodules', 'glib-compile-schemas', ] + gio_multiarch_binaries = [ + ] foreach binary: gio_binaries pkg_config_tests += [ @@ -1149,6 +1151,13 @@ if have_bash and have_pkg_config prefix / get_option('bindir') / binary) ] endforeach + foreach binary: gio_dev_binaries + pkg_config_tests += [ + 'test "$(pkg-config --variable=@0@ gio-2.0)" = "@1@"'.format( + binary.underscorify(), + prefix / get_option('devbindir') / binary) + ] + endforeach foreach binary: gio_multiarch_binaries pkg_config_tests += [ diff --git a/glib/meson.build b/glib/meson.build index c26a35e42..38effe12a 100644 --- a/glib/meson.build +++ b/glib/meson.build @@ -447,9 +447,10 @@ pkg.generate(libglib, variables : [ 'bindir=' + '${prefix}' / get_option('bindir'), 'datadir=' + '${prefix}' / get_option('datadir'), - 'glib_genmarshal=' + '${bindir}' / 'glib-genmarshal', - 'gobject_query=' + '${bindir}' / 'gobject-query', - 'glib_mkenums=' + '${bindir}' / 'glib-mkenums', + 'devbindir=' + get_option('devbindir'), + 'glib_genmarshal=' + '${devbindir}' / 'glib-genmarshal', + 'gobject_query=' + '${devbindir}' / 'gobject-query', + 'glib_mkenums=' + '${devbindir}' / 'glib-mkenums', 'glib_valgrind_suppressions=' + '${datadir}' / valgrind_suppression_file_install_subdir / fs.name(valgrind_suppression_file), @@ -490,6 +491,7 @@ if host_system == 'windows' else gtester = executable('gtester', 'gtester.c', install : true, + install_dir : get_option('devbindir'), install_tag : 'bin-devel', c_args : ['-UG_DISABLE_ASSERT'], include_directories : configinc, @@ -505,7 +507,7 @@ report_conf.set('PYTHON', python_name) configure_file( input: 'gtester-report.in', output: 'gtester-report', - install_dir: get_option('bindir'), + install_dir: get_option('devbindir'), install_tag : 'bin-devel', configuration: report_conf, install_mode: 'rwxr-xr-x' diff --git a/glib/tests/meson.build b/glib/tests/meson.build index 09ecd5ab3..9748d4122 100644 --- a/glib/tests/meson.build +++ b/glib/tests/meson.build @@ -508,9 +508,9 @@ if have_bash and have_pkg_config 'test "$(pkg-config --variable=datadir glib-2.0)" = "@0@"'.format( prefix / get_option('datadir')), 'test "$(pkg-config --variable=gobject_query glib-2.0)" = "@0@"'.format( - prefix / get_option('bindir') / 'gobject-query'), + prefix / get_option('devbindir') / 'gobject-query'), 'test "$(pkg-config --variable=glib_mkenums glib-2.0)" = "@0@"'.format( - prefix / get_option('bindir') / 'glib-mkenums'), + prefix / get_option('devbindir') / 'glib-mkenums'), 'test "$(pkg-config --variable=glib_valgrind_suppressions glib-2.0)" = "@0@"'.format( prefix / get_option('datadir') / valgrind_suppression_file_install_subdir / fs.name(valgrind_suppression_file)), diff --git a/gobject/meson.build b/gobject/meson.build index 2129aaf8a..da8462428 100644 --- a/gobject/meson.build +++ b/gobject/meson.build @@ -94,7 +94,7 @@ foreach tool: python_tools input : tool + '.in', output : tool, configuration : python_tools_conf, - install_dir : glib_bindir, + install_dir : get_option('devbindir'), install_tag : 'bin-devel', ) @@ -172,6 +172,7 @@ meson.override_dependency('gobject-2.0', libgobject_dep) gobject_query = executable('gobject-query', 'gobject-query.c', install : true, + install_dir : get_option('devbindir'), install_tag : 'bin-devel', dependencies : [libglib_dep, libgobject_dep]) diff --git a/meson_options.txt b/meson_options.txt index 517d5757c..198cc1b3c 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -4,6 +4,11 @@ option('runtime_libdir', description : 'install runtime libraries relative to libdir', deprecated: true) +option('devbindir', + type : 'string', + value : '', + description : 'bindir for development tools') + option('charsetalias_dir', type : 'string', value : '', diff --git a/tools/meson.build b/tools/meson.build index 257312ebf..f8315392b 100644 --- a/tools/meson.build +++ b/tools/meson.build @@ -8,7 +8,7 @@ if have_sh gettextize_conf.set('datarootdir', glib_datadir) gettextize_conf.set('datadir', glib_datadir) configure_file(input : 'glib-gettextize.in', - install_dir : glib_bindir, + install_dir : get_option('devbindir'), install_tag : 'bin-devel', output : 'glib-gettextize', configuration : gettextize_conf)