-if x11_dep.found()
- x11_deps += x11_dep
-
- xtest_dep = dependency('xtst')
- x11_deps += xtest_dep
-
- xkb_dep = dependency('xkbcommon-x11', required: false)
- if xkb_dep.found()
- x11_deps += xkb_dep
- at_spi_conf.set('HAVE_XKB', 1)
+x11_option = get_option('enable-x11')
+if x11_option != 'no'
+ x11_dep = dependency('x11', required: false)
+
+ if x11_dep.found()
+ x11_deps += x11_dep
+ at_spi_conf.set('HAVE_X11', 1)
+ xtest_dep = dependency('xtst')
+ x11_deps += xtest_dep
+
+ if cc.has_function('XkbGetMap', dependencies: x11_deps)
+ at_spi_conf.set('HAVE_XKB', 1)
+ endif
+
+ xinput_dep = dependency('xi')
+ x11_deps += xinput_dep