spiegel-keyman/core/include/keyman/meson.build
Marc Durdin 9ee5777e48 chore(core): move action apis into keyman_core_api_actions.h
Fixes #10520.

The definitions for `struct km_core_action_item`, `struct
km_core_backspace_item`, `enum km_core_backspace_type`, `enum
km_core_action_type`, `km_core_state_action_items()`,
`km_core_state_queue_action_items()`, `km_core_process_queued_actions()`
are now in keyman_core_api_actions.h rather than in the primary
keyman_core_api.h, as they should not be used by engines in general.

The current users of those APIs are the interactive kmx debugger, and
the IMX integration in Keyman Engine for Windows. Both of these depend
on the old action queue model rather than the actions struct.

In a future version, we may refactor these further to make them apply
directly to the KMX processor, and provide access via an interface to
the KMX processor rather than as a general Core API. Once this change is
made, then Core itself will no longer support action queues at all, and
will expect keyboard processors to fill in an action struct (this is
already done for LDML).
2024-01-31 11:32:09 +07:00

36 lines
1.2 KiB
Meson

# Copyright: © 2018 SIL International.
# Description: Cross platform build script to generate installable API header
# files with versioning information templated in.
# Create Date: 2 Oct 2018
# Authors: Tim Eves (TSE)
# History: 6 Oct 2018 - TSE - Move into keyman folder.
#
ver = lib_version.split('.')
project_ver = meson.project_version().split('.')
cfg = configuration_data()
cfg.set('lib_curr', ver[0])
cfg.set('lib_age', ver[1])
cfg.set('lib_rev', ver[2])
cfg.set('majorver', project_ver[0])
cfg.set('minorver', project_ver[1])
cfg.set('patchver', project_ver[2])
configure_file(
configuration: cfg,
input: 'keyman_core_api_version.h.in',
output: 'keyman_core_api_version.h',
)
install_headers('keyman_core_api.h',
'keyman_core_api_actions.h',
'keyman_core_api_bits.h',
'keyman_core_api_consts.h',
'keyman_core_api_context.h',
'keyman_core_api_debug.h',
'keyman_core_api_vkeys.h',
join_paths(meson.current_build_dir(), 'keyman_core_api_version.h'),
'../../../common/include/km_types.h',
'../../../common/include/kmx_file.h',
subdir: 'keyman')