summaryrefslogtreecommitdiff
path: root/meson_options.txt
diff options
context:
space:
mode:
authorRan Benita <ran234@gmail.com>2017-07-25 21:57:42 +0300
committerRan Benita <ran234@gmail.com>2017-07-31 20:53:39 +0300
commit86434d8498fdc674a8b1c9fe7f9f4b4ca54240a5 (patch)
tree0485f8ffba44155afa6b0f2b8de122561ea3b79a /meson_options.txt
parent75ec764ceec9aacddfd34f6066f2d5e7cafc8c51 (diff)
downloadxorg-lib-libxkbcommon-86434d8498fdc674a8b1c9fe7f9f4b4ca54240a5.tar.gz
build: add meson build system
Meson is easier to maintain, much faster, encourages better practices, and is not built on a pile of shell scripts. The autotools build system is kept intact for now, in order to ease the migration. The intention is to remove it sooner rather than later, if all goes well. Run `meson build && mesonconf build` to see the configuration options for the new system. Conversion should be straightforward. Environment variables like CFLAGS work the same. If meson is used, xorg-util-macros is not required. In terms of functionality the two systems have about the same capabilities. Here are some differences I noticed: - Meson uses `-g` by default, autotools uses `-g -O2`. - In autotools the default behavior is to install both static and shared versions of the libraries. In meson the user must choose exactly one (using -Ddefault_library=static/shared). It is possible to workaround if needed (install twice...), but hopefully meson will add the option in the future. - Autotools has builtin ctags/cscope targets, meson doesn't. Easy to run the tools directly. - Meson has builtin benchmarks target. Handy. - Meson has builtin support for sanitizers/clang-analyzer/lto/pgo/ coverage etc. Also handy. Signed-off-by: Ran Benita <ran234@gmail.com>
Diffstat (limited to 'meson_options.txt')
-rw-r--r--meson_options.txt58
1 files changed, 58 insertions, 0 deletions
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..0e166b1
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,58 @@
+option(
+ 'xkb-config-root',
+ type: 'string',
+ description: 'The XKB config root [default=xkeyboard-config install path]',
+)
+option(
+ 'x-locale-root',
+ type: 'string',
+ description: 'The X locale root [default=$datadir/X11/locale]',
+)
+option(
+ 'default-rules',
+ type: 'string',
+ value: 'evdev',
+ description: 'Default XKB ruleset',
+)
+option(
+ 'default-model',
+ type: 'string',
+ value: 'pc105',
+ description: 'Default XKB model',
+)
+option(
+ 'default-layout',
+ type: 'string',
+ value: 'us',
+ description: 'Default XKB layout',
+)
+option(
+ 'default-variant',
+ type: 'string',
+ value: '',
+ description: 'Default XKB variant',
+)
+option(
+ 'default-options',
+ type: 'string',
+ value: '',
+ description: 'Default XKB options',
+)
+option(
+ 'enable-x11',
+ type: 'boolean',
+ value: true,
+ description: 'Enable building the xkbcommon-x11 library',
+)
+option(
+ 'enable-docs',
+ type: 'boolean',
+ value: true,
+ description: 'Enable building the documentation',
+)
+option(
+ 'enable-wayland',
+ type: 'boolean',
+ value: true,
+ description: 'Enable support for Wayland utility programs',
+)