Skip to content

Commit

Permalink
configure, meson: convert libcacard detection to meson
Browse files Browse the repository at this point in the history
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  • Loading branch information
bonzini committed Jun 23, 2021
1 parent 5d5cd9e commit 0ad2bc0
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 29 deletions.
28 changes: 4 additions & 24 deletions configure
Expand Up @@ -372,7 +372,7 @@ trace_file="trace"
spice="$default_feature"
spice_protocol="auto"
rbd="auto"
smartcard="$default_feature"
smartcard="auto"
u2f="auto"
libusb="auto"
usb_redir="$default_feature"
Expand Down Expand Up @@ -1277,9 +1277,9 @@ for opt do
;;
--enable-xfsctl) xfs="yes"
;;
--disable-smartcard) smartcard="no"
--disable-smartcard) smartcard="disabled"
;;
--enable-smartcard) smartcard="yes"
--enable-smartcard) smartcard="enabled"
;;
--disable-u2f) u2f="disabled"
;;
Expand Down Expand Up @@ -3980,20 +3980,6 @@ EOF
fi
fi

# check for smartcard support
if test "$smartcard" != "no"; then
if $pkg_config --atleast-version=2.5.1 libcacard; then
libcacard_cflags=$($pkg_config --cflags libcacard)
libcacard_libs=$($pkg_config --libs libcacard)
smartcard="yes"
else
if test "$smartcard" = "yes"; then
feature_not_found "smartcard" "Install libcacard devel"
fi
smartcard="no"
fi
fi

# check for usbredirparser for usb network redirection support
if test "$usb_redir" != "no" ; then
if $pkg_config --atleast-version=0.6 libusbredirparser-0.5; then
Expand Down Expand Up @@ -5611,12 +5597,6 @@ if test "$spice" = "yes" ; then
echo "SPICE_LIBS=$spice_libs" >> $config_host_mak
fi

if test "$smartcard" = "yes" ; then
echo "CONFIG_SMARTCARD=y" >> $config_host_mak
echo "SMARTCARD_CFLAGS=$libcacard_cflags" >> $config_host_mak
echo "SMARTCARD_LIBS=$libcacard_libs" >> $config_host_mak
fi

if test "$usb_redir" = "yes" ; then
echo "CONFIG_USB_REDIR=y" >> $config_host_mak
echo "USB_REDIR_CFLAGS=$usb_redir_cflags" >> $config_host_mak
Expand Down Expand Up @@ -6195,7 +6175,7 @@ if test "$skip_meson" = no; then
-Dkvm=$kvm -Dhax=$hax -Dwhpx=$whpx -Dhvf=$hvf -Dnvmm=$nvmm \
-Dxen=$xen -Dxen_pci_passthrough=$xen_pci_passthrough -Dtcg=$tcg \
-Dcocoa=$cocoa -Dgtk=$gtk -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \
-Dlibusb=$libusb \
-Dlibusb=$libusb -Dsmartcard=$smartcard \
-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f -Dvirtiofsd=$virtiofsd \
-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt -Dbrlapi=$brlapi \
Expand Down
2 changes: 1 addition & 1 deletion hw/usb/meson.build
Expand Up @@ -49,7 +49,7 @@ softmmu_ss.add(when: ['CONFIG_POSIX', 'CONFIG_USB_STORAGE_MTP'], if_true: files(
# smartcard
softmmu_ss.add(when: 'CONFIG_USB_SMARTCARD', if_true: files('dev-smartcard-reader.c'))

if config_host.has_key('CONFIG_SMARTCARD')
if cacard.found()
usbsmartcard_ss = ss.source_set()
usbsmartcard_ss.add(when: 'CONFIG_USB_SMARTCARD',
if_true: [cacard, files('ccid-card-emulated.c', 'ccid-card-passthru.c')])
Expand Down
9 changes: 5 additions & 4 deletions meson.build
Expand Up @@ -975,9 +975,10 @@ if 'CONFIG_XEN_BACKEND' in config_host
link_args: config_host['XEN_LIBS'].split())
endif
cacard = not_found
if 'CONFIG_SMARTCARD' in config_host
cacard = declare_dependency(compile_args: config_host['SMARTCARD_CFLAGS'].split(),
link_args: config_host['SMARTCARD_LIBS'].split())
if not get_option('smartcard').auto() or have_system
cacard = dependency('libcacard', required: get_option('smartcard'),
version: '>=2.5.1', method: 'pkg-config',
kwargs: static_kwargs)
endif
u2f = not_found
if have_system
Expand Down Expand Up @@ -2780,7 +2781,7 @@ summary_info += {'bpf support': libbpf.found()}
summary_info += {'spice support': config_host.has_key('CONFIG_SPICE')}
summary_info += {'rbd support': rbd.found()}
summary_info += {'xfsctl support': config_host.has_key('CONFIG_XFS')}
summary_info += {'smartcard support': config_host.has_key('CONFIG_SMARTCARD')}
summary_info += {'smartcard support': cacard.found()}
summary_info += {'U2F support': u2f.found()}
summary_info += {'libusb': libusb.found()}
summary_info += {'usb net redir': config_host.has_key('CONFIG_USB_REDIR')}
Expand Down
2 changes: 2 additions & 0 deletions meson_options.txt
Expand Up @@ -102,6 +102,8 @@ option('sdl_image', type : 'feature', value : 'auto',
description: 'SDL Image support for icons')
option('seccomp', type : 'feature', value : 'auto',
description: 'seccomp support')
option('smartcard', type : 'feature', value : 'auto',
description: 'CA smartcard emulation support')
option('snappy', type : 'feature', value : 'auto',
description: 'snappy compression support')
option('u2f', type : 'feature', value : 'auto',
Expand Down

0 comments on commit 0ad2bc0

Please sign in to comment.