# libxkbcommon.
# Note: we use some yacc extensions, which work with either GNU bison
# (preferred) or byacc (with backtracking enabled).
-bison = find_program('bison', 'win_bison', required: false)
+bison = find_program('bison', 'win_bison', required: false, version: '>= 2.3a')
if bison.found()
+ yacc = bison
yacc_gen = generator(
bison,
output: ['@BASENAME@.c', '@BASENAME@.h'],
else
byacc = find_program('byacc', required: false)
if byacc.found()
+ yacc = byacc
yacc_gen = generator(
byacc,
output: ['@BASENAME@.c', '@BASENAME@.h'],
doxygen_input = [
'README.md',
+ 'doc/diagrams/xkb-configuration.dot',
'doc/doxygen-extra.css',
+ 'doc/introduction-to-xkb.md',
'doc/quick-guide.md',
- 'doc/compat.md',
+ 'doc/compatibility.md',
'doc/user-configuration.md',
'doc/rules-format.md',
'doc/keymap-format-text-v1.md',
)
# TODO: Meson should provide this.
docdir = get_option('datadir')/'doc'/meson.project_name()
- custom_target(
+ doc_gen = custom_target(
'doc',
input: [doxyfile] + doxygen_input,
output: 'html',
- command: [doxygen_wrapper, doxygen, meson.current_build_dir()/'Doxyfile', meson.current_source_dir()],
+ command: [
+ doxygen_wrapper,
+ doxygen,
+ meson.current_build_dir()/'Doxyfile',
+ meson.current_source_dir(),
+ ],
install: true,
install_dir: docdir,
build_by_default: true,
)
+ if get_option('enable-cool-uris')
+ ensure_stable_urls = find_program('scripts'/'ensure-stable-doc-urls.py')
+ custom_target(
+ 'doc-cool-uris',
+ input: [doc_gen, 'doc'/'cool-uris.yaml'],
+ output: 'html-xtra',
+ command: [
+ ensure_stable_urls,
+ 'generate-redirections',
+ meson.current_source_dir()/'doc'/'cool-uris.yaml',
+ meson.current_build_dir()/'html'
+ ],
+ install: false,
+ build_by_default: true,
+ )
+ endif
endif
configure_file(output: 'config.h', configuration: configh_data)
if get_option('enable-xkbregistry')
libxkbregistry_dep = dep_libxkbregistry
endif
+
+if meson.version().version_compare('>=0.62.0')
+ summary({
+ 'backend': meson.backend(),
+ 'buildtype': get_option('buildtype'),
+ 'c_args': get_option('c_args'),
+ 'c_link_args': get_option('c_link_args'),
+ 'yacc': yacc.full_path() + ' ' + yacc.version(),
+ }, section: 'Compiler')
+ summary({
+ 'prefix': get_option('prefix'),
+ 'bindir': get_option('bindir'),
+ 'libdir': get_option('libdir'),
+ 'datadir': get_option('datadir'),
+ 'xkb-config-root': XKBCONFIGROOT,
+ 'xkb-config-extra-path': XKBCONFIGEXTRAPATH,
+ 'xlocaledir': XLOCALEDIR,
+ }, section: 'Directories')
+ summary({
+ 'docs': get_option('enable-docs'),
+ 'tools': get_option('enable-tools'),
+ 'wayland': get_option('enable-wayland'),
+ 'x11': get_option('enable-x11'),
+ }, section: 'Features')
+ summary({
+ 'layout': get_option('default-layout'),
+ 'model': get_option('default-model'),
+ 'options': get_option('default-options'),
+ 'rules': get_option('default-rules'),
+ 'variant': get_option('default-variant'),
+ }, section: 'Defaults')
+endif