2024-04-17 15:33:24 +01:00
|
|
|
# Copyright 2016, 2017 Centricular
|
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
#
|
|
|
|
# This library is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
|
|
# License as published by the Free Software Foundation; either
|
|
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
|
|
#
|
|
|
|
# This library is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
# Lesser General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
|
|
# License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
2016-12-21 04:07:24 +05:30
|
|
|
gdbus_codegen_files = [
|
|
|
|
'__init__.py',
|
|
|
|
'codegen.py',
|
|
|
|
'codegen_main.py',
|
|
|
|
'codegen_docbook.py',
|
2022-12-29 12:42:12 +00:00
|
|
|
'codegen_md.py',
|
2022-01-19 13:55:29 +00:00
|
|
|
'codegen_rst.py',
|
2016-12-21 04:07:24 +05:30
|
|
|
'dbustypes.py',
|
|
|
|
'parser.py',
|
|
|
|
'utils.py',
|
|
|
|
]
|
|
|
|
|
|
|
|
gdbus_codegen_conf = configuration_data()
|
|
|
|
gdbus_codegen_conf.set('VERSION', glib_version)
|
2020-01-27 10:36:03 +00:00
|
|
|
gdbus_codegen_conf.set('MAJOR_VERSION', major_version)
|
|
|
|
gdbus_codegen_conf.set('MINOR_VERSION', minor_version)
|
Use python3 as the shebang on Windows
Since commit 013980d8, Python tools like gdbus-codegen, glib-genmarshal,
glib-mkenums, etc. have a shebang with the full path to the python binary.
Shebangs cannot be shell-quoted (most utilities just do not expect that),
but since shebangs can have arguments, the path to the interpreter must not
have spaces. This is a problem on Windows, where Python is commonly installed
under the "Program Files" folder.
Moreover, by using the full path to the interpreter (at build time), the bundle
is not relocatable, which is the norm on Windows. It means that the bundle
cannot be moved between directories or different systems
2024-11-04 15:13:13 +01:00
|
|
|
gdbus_codegen_conf.set('PYTHON', host_system != 'windows' ? python.full_path() : 'python3')
|
2017-09-12 15:46:57 +05:30
|
|
|
gdbus_codegen_conf.set('DATADIR', glib_datadir)
|
2016-12-21 04:07:24 +05:30
|
|
|
|
|
|
|
# Install gdbus-codegen executable
|
|
|
|
gdbus_codegen = configure_file(input : 'gdbus-codegen.in',
|
|
|
|
output : 'gdbus-codegen',
|
2016-12-09 14:30:22 -05:00
|
|
|
install_dir : get_option('bindir'),
|
2022-09-09 13:56:35 -04:00
|
|
|
install_tag : 'bin-devel',
|
2016-12-09 14:30:22 -05:00
|
|
|
configuration : gdbus_codegen_conf
|
|
|
|
)
|
2018-07-19 15:53:37 +05:30
|
|
|
# Provide tools for others when we're a subproject and they use the Meson GNOME module
|
|
|
|
meson.override_find_program('gdbus-codegen', gdbus_codegen)
|
2016-12-09 14:30:22 -05:00
|
|
|
|
2020-02-07 16:34:13 +00:00
|
|
|
codegen_dir = join_paths(glib_datadir, 'glib-2.0', 'codegen')
|
2016-12-21 04:07:24 +05:30
|
|
|
|
2022-11-24 12:09:55 +00:00
|
|
|
gdbus_codegen_built_files = []
|
2023-10-25 11:20:36 +01:00
|
|
|
gdbus_codegen_built_targets = []
|
2022-11-24 12:09:55 +00:00
|
|
|
gdbus_codegen_built_files += configure_file(input : 'config.py.in',
|
2017-10-11 16:06:58 +05:30
|
|
|
output : 'config.py',
|
|
|
|
install_dir : codegen_dir,
|
2022-09-18 16:51:55 -04:00
|
|
|
install_tag : 'bin-devel',
|
2017-10-11 16:06:58 +05:30
|
|
|
configuration : gdbus_codegen_conf)
|
2016-12-21 04:07:24 +05:30
|
|
|
|
|
|
|
foreach f : gdbus_codegen_files
|
|
|
|
# Copy these into the builddir so that gdbus-codegen can be used uninstalled
|
|
|
|
# and then install it too so that it can be used after installation
|
2023-10-25 11:20:36 +01:00
|
|
|
gdbus_codegen_built_targets += fs.copyfile(f, f,
|
2023-10-27 04:21:58 +01:00
|
|
|
install : true,
|
2023-10-25 11:20:36 +01:00
|
|
|
install_dir : codegen_dir,
|
|
|
|
install_tag : 'bin-devel')
|
2016-12-21 04:07:24 +05:30
|
|
|
endforeach
|