From patchwork Wed Feb 23 11:20:24 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alon Levy X-Patchwork-Id: 84131 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 580A2B7111 for ; Wed, 23 Feb 2011 22:58:46 +1100 (EST) Received: from localhost ([127.0.0.1]:33409 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PsDLZ-0000ni-9a for incoming@patchwork.ozlabs.org; Wed, 23 Feb 2011 06:57:33 -0500 Received: from [140.186.70.92] (port=53091 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PsDIr-00081u-AW for qemu-devel@nongnu.org; Wed, 23 Feb 2011 06:54:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PsDIo-00043u-Lg for qemu-devel@nongnu.org; Wed, 23 Feb 2011 06:54:45 -0500 Received: from mx1.redhat.com ([209.132.183.28]:47308) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PsClq-0003fO-Ay for qemu-devel@nongnu.org; Wed, 23 Feb 2011 06:20:38 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p1NBKbAG001189 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 23 Feb 2011 06:20:37 -0500 Received: from playa.tlv.redhat.com (dhcp-3-110.tlv.redhat.com [10.35.3.110]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p1NBKPg3021019 for ; Wed, 23 Feb 2011 06:20:36 -0500 From: Alon Levy To: qemu-devel@nongnu.org Date: Wed, 23 Feb 2011 13:20:24 +0200 Message-Id: <1298460024-23591-8-git-send-email-alevy@redhat.com> In-Reply-To: <1298460024-23591-1-git-send-email-alevy@redhat.com> References: <1298460024-23591-1-git-send-email-alevy@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 7/7] ccid: configure: improve --enable-smartcard flags X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org * add --enable-smartcard and --disable-smartcard flags * let the nss check only disable building the ccid-card-emulated device * report only if nss is found or not, not smartcard build inclusion * don't link with NSS if --disable-smartcard-nss Signed-off-by: Alon Levy --- Makefile.objs | 3 ++- Makefile.target | 2 +- configure | 55 ++++++++++++++++++++++++++++++++++++++++++------------- 3 files changed, 45 insertions(+), 15 deletions(-) diff --git a/Makefile.objs b/Makefile.objs index f0933f3..bba862c 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -197,7 +197,8 @@ hw-obj-$(CONFIG_APM) += pm_smbus.o apm.o hw-obj-$(CONFIG_DMA) += dma.o hw-obj-$(CONFIG_HPET) += hpet.o hw-obj-$(CONFIG_APPLESMC) += applesmc.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 1b744be..0951ba0 100644 --- a/Makefile.target +++ b/Makefile.target @@ -340,7 +340,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 e2d0e9d..4f19613 100755 --- a/configure +++ b/configure @@ -174,7 +174,8 @@ trace_backend="nop" trace_file="trace" spice="" rbd="" -smartcard="yes" +smartcard="" +smartcard_nss="" # parse CC options first for opt do @@ -720,6 +721,14 @@ for opt do ;; --enable-rbd) rbd="yes" ;; + --disable-smartcard) smartcard="no" + ;; + --enable-smartcard) smartcard="yes" + ;; + --disable-smartcard-nss) smartcard_nss="no" + ;; + --enable-smartcard-nss) smartcard_nss="yes" + ;; *) echo "ERROR: unknown option $opt"; show_help="yes" ;; esac @@ -915,6 +924,10 @@ echo " Default:trace-" 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 " --disable-smartcard-nss disable smartcard nss support" +echo " --enable-smartcard-nss enable smartcard nss support" echo "" echo "NOTE: The object files are built at the place where configure is launched" exit 1 @@ -2292,16 +2305,28 @@ 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 +if test "$smartcard" != "no" ; then smartcard="yes" - QEMU_CFLAGS="$QEMU_CFLAGS $smartcard_cflags $libcacard_cflags" - LIBS="$libcacard_libs $LIBS" -else - smartcard="no" + smartcard_cflags="" + # TODO - what's the minimal nss version we support? + if test "$smartcard_nss" != "no"; then + if $pkg_config --atleast-version=3.12.8 nss >/dev/null 2>&1 ; then + smartcard_nss="yes" + smartcard_cflags="-I\$(SRC_PATH)/libcacard" + libcacard_libs=$($pkg_config --libs nss 2>/dev/null) + libcacard_cflags=$($pkg_config --cflags nss 2>/dev/null) + QEMU_CFLAGS="$QEMU_CFLAGS $smartcard_cflags $libcacard_cflags" + LIBS="$libcacard_libs $LIBS" + else + if test "$smartcard_nss" == "yes"; then + feature_not_found "nss" + fi + smartcard_nss="no" + fi + fi +fi +if test "$smartcard" == "no" ; then + smartcard_nss="no" fi ########################################## @@ -2537,7 +2562,7 @@ echo "Trace output file $trace_file-" echo "spice support $spice" echo "rbd support $rbd" echo "xfsctl support $xfs" -echo "smartcard support $smartcard" +echo "nss used $smartcard_nss" if test $sdl_too_old = "yes"; then echo "-> Your SDL version is too old - please upgrade to have SDL support" @@ -2823,6 +2848,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 @@ -3165,7 +3194,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 @@ -3383,7 +3412,7 @@ for hwlib in 32 64; do echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib" > $d/config.mak done -if [ $source_path != $workdir ]; then +if [ $source_path != `pwd` ]; then # out of tree build mkdir -p libcacard rm -f libcacard/Makefile