diff --git a/gio/gdbus-2.0/codegen/meson.build b/gio/gdbus-2.0/codegen/meson.build index 5ea6bae2f..e0b584a86 100644 --- a/gio/gdbus-2.0/codegen/meson.build +++ b/gio/gdbus-2.0/codegen/meson.build @@ -16,7 +16,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'), configuration : gdbus_codegen_conf ) # Provide tools for others when we're a subproject and they use the Meson GNOME module diff --git a/gio/meson.build b/gio/meson.build index 3535788ab..99c3b48d6 100644 --- a/gio/meson.build +++ b/gio/meson.build @@ -831,14 +831,15 @@ pkg.generate(libgio, variables : ['datadir=' + join_paths('${prefix}', get_option('datadir')), 'schemasdir=' + join_paths('${datadir}', schemas_subdir), 'bindir=' + join_paths('${prefix}', get_option('bindir')), + 'devbindir=' + get_option('devbindir'), 'giomoduledir=' + pkgconfig_giomodulesdir, 'gio=' + join_paths('${bindir}', 'gio'), - 'gio_querymodules=' + join_paths('${bindir}', 'gio-querymodules'), - 'glib_compile_schemas=' + join_paths('${bindir}', 'glib-compile-schemas'), - 'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'), + 'gio_querymodules=' + join_paths('${devbindir}', 'gio-querymodules'), + 'glib_compile_schemas=' + join_paths('${devbindir}', 'glib-compile-schemas'), + 'glib_compile_resources=' + join_paths('${devbindir}', 'glib-compile-resources'), 'gdbus=' + join_paths('${bindir}', 'gdbus'), - 'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen'), - 'gresource=' + join_paths('${bindir}', 'gresource'), + 'gdbus_codegen=' + join_paths('${devbindir}', 'gdbus-codegen'), + 'gresource=' + join_paths('${devbindir}', 'gresource'), 'gsettings=' + join_paths('${bindir}', 'gsettings')], version : glib_version, install_dir : glib_pkgconfigreldir, @@ -939,12 +940,14 @@ executable('gio', gio_tool_sources, executable('gresource', 'gresource-tool.c', install : true, + install_dir : get_option('devbindir'), # intl.lib is not compatible with SAFESEH link_args : noseh_link_args, dependencies : [libelf, libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep]) gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodule-priv.c', install : true, + install_dir : get_option('devbindir'), c_args : gio_c_args, # intl.lib is not compatible with SAFESEH link_args : noseh_link_args, @@ -953,6 +956,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu glib_compile_schemas = executable('glib-compile-schemas', [gconstructor_as_data_h, 'gvdb/gvdb-builder.c', 'glib-compile-schemas.c'], install : true, + install_dir : get_option('devbindir'), # intl.lib is not compatible with SAFESEH link_args : noseh_link_args, dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep]) @@ -960,6 +964,7 @@ glib_compile_schemas = executable('glib-compile-schemas', glib_compile_resources = executable('glib-compile-resources', [gconstructor_as_data_h, 'gvdb/gvdb-builder.c', 'glib-compile-resources.c'], install : true, + install_dir : get_option('devbindir'), c_args : gio_c_args, # intl.lib is not compatible with SAFESEH link_args : noseh_link_args, diff --git a/glib/meson.build b/glib/meson.build index aaf5f00f5..09edd291a 100644 --- a/glib/meson.build +++ b/glib/meson.build @@ -375,9 +375,10 @@ pkg.generate(libglib, subdirs : ['glib-2.0'], extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags, variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')), - 'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'), - 'gobject_query=' + join_paths('${bindir}', 'gobject-query'), - 'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')], + 'devbindir=' + get_option('devbindir'), + 'glib_genmarshal=' + join_paths('${devbindir}', 'glib-genmarshal'), + 'gobject_query=' + join_paths('${devbindir}', 'gobject-query'), + 'glib_mkenums=' + join_paths('${devbindir}', 'glib-mkenums')], version : glib_version, install_dir : glib_pkgconfigreldir, filebase : 'glib-2.0', @@ -413,6 +414,7 @@ if host_system == 'windows' else gtester = executable('gtester', 'gtester.c', install : true, + install_dir : get_option('devbindir'), c_args : ['-UG_DISABLE_ASSERT'], include_directories : configinc, dependencies : [libglib_dep]) @@ -424,7 +426,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'), configuration: report_conf, install_mode: 'rwxr-xr-x' ) diff --git a/gobject/meson.build b/gobject/meson.build index 85e283bab..386ad5e4e 100644 --- a/gobject/meson.build +++ b/gobject/meson.build @@ -75,7 +75,7 @@ foreach tool: python_tools input : tool + '.in', output : tool, configuration : python_tools_conf, - install_dir : glib_bindir, + install_dir : get_option('devbindir'), ) # Set variables for later use @@ -145,6 +145,7 @@ libgobject_dep = declare_dependency(link_with : libgobject, executable('gobject-query', 'gobject-query.c', install : true, + install_dir : get_option('devbindir'), dependencies : [libglib_dep, libgobject_dep]) install_data('gobject_gdb.py', install_dir : join_paths(glib_pkgdatadir, 'gdb')) diff --git a/meson.build b/meson.build index 484f4c750..c7f9327d9 100644 --- a/meson.build +++ b/meson.build @@ -2122,7 +2122,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'), output : 'glib-gettextize', configuration : gettextize_conf) endif diff --git a/meson_options.txt b/meson_options.txt index 2c831e37e..5d8928577 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -3,6 +3,11 @@ option('runtime_libdir', value : '', description : 'install runtime libraries relative to libdir') +option('devbindir', + type : 'string', + value : '', + description : 'bindir for development tools') + option('iconv', type : 'combo', choices : ['auto', 'libc', 'external'],