aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2020-08-25 10:54:50 +0100
committerPeter Maydell <peter.maydell@linaro.org>2020-08-25 10:54:51 +0100
commit7774e403f2ac58b3e87bfe8d2f77676501ba893e (patch)
treed9b513219c0d5e28d8709d9ad71d669d553c0c54
parent44423107e7b5731ef40c5c8632a5bad8b49d0838 (diff)
parent9755c94a50c8b845ad133a6e660f55ca131b9c7a (diff)
Merge remote-tracking branch 'remotes/kraxel/tags/fixes-20200825-pull-request' into staging
meson: keymap fixes # gpg: Signature made Tue 25 Aug 2020 07:19:15 BST # gpg: using RSA key 4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full] # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" [full] # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full] # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/fixes-20200825-pull-request: meson: avoid compiling qemu-keymap by default meson: move xkbcommon to meson meson: drop keymaps symlink Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rwxr-xr-xconfigure31
-rw-r--r--meson.build16
-rw-r--r--meson_options.txt1
-rw-r--r--ui/meson.build2
4 files changed, 18 insertions, 32 deletions
diff --git a/configure b/configure
index b8f5b81a67..b1e11397a8 100755
--- a/configure
+++ b/configure
@@ -432,7 +432,7 @@ vde=""
vnc_sasl="auto"
vnc_jpeg="auto"
vnc_png="auto"
-xkbcommon=""
+xkbcommon="auto"
xen=""
xen_ctrl_version=""
xen_pci_passthrough=""
@@ -1631,9 +1631,9 @@ for opt do
;;
--disable-libpmem) libpmem=no
;;
- --enable-xkbcommon) xkbcommon=yes
+ --enable-xkbcommon) xkbcommon="enabled"
;;
- --disable-xkbcommon) xkbcommon=no
+ --disable-xkbcommon) xkbcommon="disabled"
;;
--enable-plugins) plugins="yes"
;;
@@ -3447,22 +3447,6 @@ EOF
fi
##########################################
-# xkbcommon probe
-if test "$xkbcommon" != "no" ; then
- if $pkg_config xkbcommon --exists; then
- xkbcommon_cflags=$($pkg_config xkbcommon --cflags)
- xkbcommon_libs=$($pkg_config xkbcommon --libs)
- xkbcommon=yes
- else
- if test "$xkbcommon" = "yes" ; then
- feature_not_found "xkbcommon" "Install libxkbcommon-devel"
- fi
- xkbcommon=no
- fi
-fi
-
-
-##########################################
# xfsctl() probe, used for file-posix.c
if test "$xfs" != "no" ; then
cat > $TMPC << EOF
@@ -6827,11 +6811,6 @@ if test "$audio_win_int" = "yes" ; then
fi
echo "CONFIG_BDRV_RW_WHITELIST=$block_drv_rw_whitelist" >> $config_host_mak
echo "CONFIG_BDRV_RO_WHITELIST=$block_drv_ro_whitelist" >> $config_host_mak
-if test "$xkbcommon" = "yes" ; then
- echo "CONFIG_XKBCOMMON=y" >> $config_host_mak
- echo "XKBCOMMON_CFLAGS=$xkbcommon_cflags" >> $config_host_mak
- echo "XKBCOMMON_LIBS=$xkbcommon_libs" >> $config_host_mak
-fi
if test "$xfs" = "yes" ; then
echo "CONFIG_XFS=y" >> $config_host_mak
fi
@@ -8120,7 +8099,7 @@ DIRS="$DIRS roms/seabios"
LINKS="Makefile"
LINKS="$LINKS tests/tcg/lm32/Makefile"
LINKS="$LINKS tests/tcg/Makefile.target"
-LINKS="$LINKS pc-bios/optionrom/Makefile pc-bios/keymaps"
+LINKS="$LINKS pc-bios/optionrom/Makefile"
LINKS="$LINKS pc-bios/s390-ccw/Makefile"
LINKS="$LINKS roms/seabios/Makefile"
LINKS="$LINKS pc-bios/qemu-icon.bmp"
@@ -8251,7 +8230,7 @@ NINJA=$PWD/ninjatool $meson setup \
-Db_coverage=$(if test "$gcov" = yes; then echo true; else echo false; fi) \
-Dsdl=$sdl -Dsdl_image=$sdl_image \
-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
- -Dgettext=$gettext \
+ -Dgettext=$gettext -Dxkbcommon=$xkbcommon \
$cross_arg \
"$PWD" "$source_path"
diff --git a/meson.build b/meson.build
index df5bf728b5..f0fe5f8799 100644
--- a/meson.build
+++ b/meson.build
@@ -152,10 +152,10 @@ libcap_ng = not_found
if 'CONFIG_LIBCAP_NG' in config_host
libcap_ng = declare_dependency(link_args: config_host['LIBCAP_NG_LIBS'].split())
endif
-xkbcommon = not_found
-if 'CONFIG_XKBCOMMON' in config_host
- xkbcommon = declare_dependency(compile_args: config_host['XKBCOMMON_CFLAGS'].split(),
- link_args: config_host['XKBCOMMON_LIBS'].split())
+xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'), static: enable_static,
+ include_type: 'system')
+if xkbcommon.found()
+ xkbcommon = declare_dependency(dependencies: xkbcommon)
endif
slirp = not_found
if config_host.has_key('CONFIG_SLIRP')
@@ -389,6 +389,7 @@ config_host_data.set('CONFIG_VNC', vnc.found())
config_host_data.set('CONFIG_VNC_JPEG', jpeg.found())
config_host_data.set('CONFIG_VNC_PNG', png.found())
config_host_data.set('CONFIG_VNC_SASL', sasl.found())
+config_host_data.set('CONFIG_XKBCOMMON', xkbcommon.found())
config_host_data.set('QEMU_VERSION', '"@0@"'.format(meson.project_version()))
config_host_data.set('QEMU_VERSION_MAJOR', meson.project_version().split('.')[0])
config_host_data.set('QEMU_VERSION_MINOR', meson.project_version().split('.')[1])
@@ -1062,7 +1063,12 @@ if 'CONFIG_GUEST_AGENT' in config_host
subdir('qga')
endif
-if 'CONFIG_XKBCOMMON' in config_host
+# Don't build qemu-keymap if xkbcommon is not explicitly enabled
+# when we don't build tools or system
+if get_option('xkbcommon').auto() and not have_system and not have_tools
+ xkbcommon = not_found
+endif
+if xkbcommon.found()
# used for the update-keymaps target, so include rules even if !have_tools
qemu_keymap = executable('qemu-keymap', files('qemu-keymap.c', 'ui/input-keymap.c') + genh,
dependencies: [qemuutil, xkbcommon], install: have_tools)
diff --git a/meson_options.txt b/meson_options.txt
index e5f45243ce..c55f9cd94c 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -5,3 +5,4 @@ option('vnc', type : 'feature', value : 'enabled')
option('vnc_jpeg', type : 'feature', value : 'auto')
option('vnc_png', type : 'feature', value : 'auto')
option('vnc_sasl', type : 'feature', value : 'auto')
+option('xkbcommon', type : 'feature', value : 'auto')
diff --git a/ui/meson.build b/ui/meson.build
index 81fd393432..018c5698bf 100644
--- a/ui/meson.build
+++ b/ui/meson.build
@@ -95,7 +95,7 @@ keymaps = [
['osx', 'qcode'],
]
-if have_system or 'CONFIG_XKBCOMMON' in config_host
+if have_system or xkbcommon.found()
foreach e : keymaps
output = 'input-keymap-@0@-to-@1@.c.inc'.format(e[0], e[1])
genh += custom_target(output,