add --enable-smartcard and --disable-smartcard flags, and let the nss check only disable building the ccid-card-emulated device, since both the usb-ccid and ccid-card-passthru don't depend on it. --- Makefile.objs | 3 ++- Makefile.target | 2 +- configure | 39 ++++++++++++++++++++++++++++----------- 3 files changed, 31 insertions(+), 13 deletions(-)
diff --git a/Makefile.objs b/Makefile.objs index 303b642..03cc91e 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -197,7 +197,8 @@ hw-obj-$(CONFIG_FDC) += fdc.o hw-obj-$(CONFIG_ACPI) += acpi.o acpi_piix4.o hw-obj-$(CONFIG_APM) += pm_smbus.o apm.o hw-obj-$(CONFIG_DMA) += dma.o -hw-obj-$(CONFIG_SMARTCARD) += usb-ccid.o ccid-card-passthru.o ccid-card-emulated.o +hw-obj-$(CONFIG_SMARTCARD) += usb-ccid.o ccid-card-passthru.o +hw-obj-$(CONFIG_SMARTCARD_NSS) += ccid-card-emulated.o # PPC devices hw-obj-$(CONFIG_OPENPIC) += openpic.o diff --git a/Makefile.target b/Makefile.target index 419a530..0222c6b 100644 --- a/Makefile.target +++ b/Makefile.target @@ -335,7 +335,7 @@ obj-y += $(addprefix $(HWDIR)/, $(hw-obj-y)) endif # CONFIG_SOFTMMU -obj-y += $(addprefix ../libcacard/, $(libcacard-$(CONFIG_SMARTCARD))) +obj-y += $(addprefix ../libcacard/, $(libcacard-$(CONFIG_SMARTCARD_NSS))) obj-y += $(addprefix ../, $(trace-obj-y)) obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o diff --git a/configure b/configure index 4567057..de2e498 100755 --- a/configure +++ b/configure @@ -335,6 +335,7 @@ trace_file="trace" spice="" rbd="" smartcard="yes" +smartcard_nss="yes" # OS specific if check_define __linux__ ; then @@ -748,6 +749,10 @@ for opt do ;; --enable-rbd) rbd="yes" ;; + --disable-smartcard) smartcard="no" + ;; + --enable-smartcard) smartcard="yes" + ;; *) echo "ERROR: unknown option $opt"; show_help="yes" ;; esac @@ -942,6 +947,8 @@ echo " Default:trace-<pid>" echo " --disable-spice disable spice" echo " --enable-spice enable spice" echo " --enable-rbd enable building the rados block device (rbd)" +echo " --disable-smartcard disable smartcard support" +echo " --enable-smartcard enable smartcard support" echo "" echo "NOTE: The object files are built at the place where configure is launched" exit 1 @@ -2210,16 +2217,21 @@ EOF fi # check for libcacard for smartcard support -smartcard_cflags="-I\$(SRC_PATH)/libcacard" -libcacard_libs=$($pkgconfig --libs nss 2>/dev/null) -libcacard_cflags=$($pkgconfig --cflags nss) -# TODO - what's the minimal nss version we support? -if $pkgconfig --atleast-version=3.12.8 nss; then - smartcard="yes" - QEMU_CFLAGS="$QEMU_CFLAGS $smartcard_cflags $libcacard_cflags" - LIBS="$libcacard_libs $LIBS" -else - smartcard="no" +if test "$smartcard" != "no" ; then + smartcard_cflags="-I\$(SRC_PATH)/libcacard" + libcacard_libs=$($pkgconfig --libs nss 2>/dev/null) + libcacard_cflags=$($pkgconfig --cflags nss 2>/dev/null) + # TODO - what's the minimal nss version we support? + if $pkgconfig --atleast-version=3.12.8 nss >/dev/null 2>&1 ; then + smartcard_nss="yes" + QEMU_CFLAGS="$QEMU_CFLAGS $smartcard_cflags $libcacard_cflags" + LIBS="$libcacard_libs $LIBS" + else + smartcard_nss="no" + fi +fi +if test "$smartcard" == "no" ; then + smartcard_nss="no" fi ########################################## @@ -2456,6 +2468,7 @@ echo "spice support $spice" echo "rbd support $rbd" echo "xfsctl support $xfs" echo "smartcard support $smartcard" +echo " \_ nss support $smartcard_nss" if test $sdl_too_old = "yes"; then echo "-> Your SDL version is too old - please upgrade to have SDL support" @@ -2729,6 +2742,10 @@ if test "$smartcard" = "yes" ; then echo "CONFIG_SMARTCARD=y" >> $config_host_mak fi +if test "$smartcard_nss" = "yes" ; then + echo "CONFIG_SMARTCARD_NSS=y" >> $config_host_mak +fi + # XXX: suppress that if [ "$bsd" = "yes" ] ; then echo "CONFIG_BSD=y" >> $config_host_mak @@ -3059,7 +3076,7 @@ fi if test "$target_darwin_user" = "yes" ; then echo "CONFIG_DARWIN_USER=y" >> $config_target_mak fi -if test "$smartcard" = "yes" ; then +if test "$smartcard_nss" = "yes" ; then echo "subdir-$target: subdir-libcacard" >> $config_host_mak echo "libcacard_libs=$libcacard_libs" >> $config_host_mak echo "libcacard_cflags=$libcacard_cflags" >> $config_host_mak -- 1.7.3.4