meson: Add CanoKey
Signed-off-by: Hongren (Zenithal) Zheng <i@zenithal.me>
Message-Id: <YoY6YRD6cxH21mms@Sun>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig
index 53f8283..ce4f433 100644
--- a/hw/usb/Kconfig
+++ b/hw/usb/Kconfig
@@ -119,6 +119,11 @@
default y
depends on USB
+config USB_CANOKEY
+ bool
+ default y
+ depends on USB
+
config IMX_USBPHY
bool
default y
diff --git a/hw/usb/meson.build b/hw/usb/meson.build
index de853d7..793df42 100644
--- a/hw/usb/meson.build
+++ b/hw/usb/meson.build
@@ -63,6 +63,11 @@
softmmu_ss.add(when: 'CONFIG_USB_U2F', if_true: [u2f, files('u2f-emulated.c')])
endif
+# CanoKey
+if canokey.found()
+ softmmu_ss.add(when: 'CONFIG_USB_CANOKEY', if_true: [canokey, files('canokey.c')])
+endif
+
# usb redirect
if usbredir.found()
usbredir_ss = ss.source_set()
diff --git a/meson.build b/meson.build
index 21cd949..0c2e11f 100644
--- a/meson.build
+++ b/meson.build
@@ -1408,6 +1408,12 @@
method: 'pkg-config',
kwargs: static_kwargs)
endif
+canokey = not_found
+if have_system
+ canokey = dependency('canokey-qemu', required: get_option('canokey'),
+ method: 'pkg-config',
+ kwargs: static_kwargs)
+endif
usbredir = not_found
if not get_option('usb_redir').auto() or have_system
usbredir = dependency('libusbredirparser-0.5', required: get_option('usb_redir'),
diff --git a/meson_options.txt b/meson_options.txt
index 2de94af..0e81973 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -189,6 +189,8 @@
description: 'Spice protocol support')
option('u2f', type : 'feature', value : 'auto',
description: 'U2F emulation support')
+option('canokey', type : 'feature', value : 'auto',
+ description: 'CanoKey support')
option('usb_redir', type : 'feature', value : 'auto',
description: 'libusbredir support')
option('l2tpv3', type : 'feature', value : 'auto',
diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
index 00ea4d8..1fc1d2e 100644
--- a/scripts/meson-buildoptions.sh
+++ b/scripts/meson-buildoptions.sh
@@ -73,6 +73,7 @@
printf "%s\n" ' bpf eBPF support'
printf "%s\n" ' brlapi brlapi character device driver'
printf "%s\n" ' bzip2 bzip2 support for DMG images'
+ printf "%s\n" ' canokey CanoKey support'
printf "%s\n" ' cap-ng cap_ng support'
printf "%s\n" ' capstone Whether and how to find the capstone library'
printf "%s\n" ' cloop cloop image format support'
@@ -204,6 +205,8 @@
--disable-brlapi) printf "%s" -Dbrlapi=disabled ;;
--enable-bzip2) printf "%s" -Dbzip2=enabled ;;
--disable-bzip2) printf "%s" -Dbzip2=disabled ;;
+ --enable-canokey) printf "%s" -Dcanokey=enabled ;;
+ --disable-canokey) printf "%s" -Dcanokey=disabled ;;
--enable-cap-ng) printf "%s" -Dcap_ng=enabled ;;
--disable-cap-ng) printf "%s" -Dcap_ng=disabled ;;
--enable-capstone) printf "%s" -Dcapstone=enabled ;;