libcacard: remove libcacard-specific CFLAGS and LIBS from global vars

Currently all what's needed for single file libcacard/vcard_emul_nss.c
(libnss cflags) and hw/usb/ccid-card-emulated.c (libcacard includes)
together with the libs is added to global QEMU_CFLAGS and libs_softmmu.

Use the cflags only where really used (for two mentioned files), and
libs only where needed.

While at it, rename variables to better reflect reality: libcacard_*
is really nss_*.

This needs a bit more tweaking: $(NSS_LIBS) should not contain $glib_libs
(ditto for _cflags).  But in order to fix it, some more preparations
should be made first.  So add a FIXME comment.

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Michael Tokarev 2014-05-08 16:48:27 +04:00 committed by Paolo Bonzini
parent 2a8e6c7a85
commit 9d171bd937
4 changed files with 10 additions and 11 deletions

View File

@ -31,6 +31,8 @@ libcacard-y += libcacard/vcard_emul_nss.o
libcacard-y += libcacard/vcard_emul_type.o libcacard-y += libcacard/vcard_emul_type.o
libcacard-y += libcacard/card_7816.o libcacard-y += libcacard/card_7816.o
libcacard-y += libcacard/vcardt.o libcacard-y += libcacard/vcardt.o
libcacard/vcard_emul_nss.o-cflags := $(NSS_CFLAGS)
libcacard/vcard_emul_nss.o-libs := $(NSS_LIBS)
###################################################################### ######################################################################
# Target independent part of system emulation. The long term path is to # Target independent part of system emulation. The long term path is to

17
configure vendored
View File

@ -3470,10 +3470,10 @@ if test "$smartcard_nss" != "no"; then
#include <pk11pub.h> #include <pk11pub.h>
int main(void) { PK11_FreeSlot(0); return 0; } int main(void) { PK11_FreeSlot(0); return 0; }
EOF EOF
smartcard_includes="-I\$(SRC_PATH)/libcacard" # FIXME: do not include $glib_* in here
libcacard_libs="$($pkg_config --libs nss 2>/dev/null) $glib_libs" nss_libs="$($pkg_config --libs nss 2>/dev/null) $glib_libs"
libcacard_cflags="$($pkg_config --cflags nss 2>/dev/null) $glib_cflags" nss_cflags="$($pkg_config --cflags nss 2>/dev/null) $glib_cflags"
test_cflags="$libcacard_cflags" test_cflags="$nss_cflags"
# The header files in nss < 3.13.3 have a bug which causes them to # The header files in nss < 3.13.3 have a bug which causes them to
# emit a warning. If we're going to compile QEMU with -Werror, then # emit a warning. If we're going to compile QEMU with -Werror, then
# test that the headers don't have this bug. Otherwise we would pass # test that the headers don't have this bug. Otherwise we would pass
@ -3483,11 +3483,8 @@ EOF
fi fi
if test -n "$libtool" && if test -n "$libtool" &&
$pkg_config --atleast-version=3.12.8 nss && \ $pkg_config --atleast-version=3.12.8 nss && \
compile_prog "$test_cflags" "$libcacard_libs"; then compile_prog "$test_cflags" "$nss_libs"; then
smartcard_nss="yes" smartcard_nss="yes"
QEMU_CFLAGS="$QEMU_CFLAGS $libcacard_cflags"
QEMU_INCLUDES="$QEMU_INCLUDES $smartcard_includes"
libs_softmmu="$libcacard_libs $libs_softmmu"
else else
if test "$smartcard_nss" = "yes"; then if test "$smartcard_nss" = "yes"; then
feature_not_found "nss" feature_not_found "nss"
@ -4499,8 +4496,8 @@ fi
if test "$smartcard_nss" = "yes" ; then if test "$smartcard_nss" = "yes" ; then
echo "CONFIG_SMARTCARD_NSS=y" >> $config_host_mak echo "CONFIG_SMARTCARD_NSS=y" >> $config_host_mak
echo "libcacard_libs=$libcacard_libs" >> $config_host_mak echo "NSS_LIBS=$nss_libs" >> $config_host_mak
echo "libcacard_cflags=$libcacard_cflags" >> $config_host_mak echo "NSS_CFLAGS=$nss_cflags" >> $config_host_mak
fi fi
if test "$libusb" = "yes" ; then if test "$libusb" = "yes" ; then

View File

@ -24,6 +24,7 @@ ifeq ($(CONFIG_USB_SMARTCARD),y)
common-obj-y += dev-smartcard-reader.o common-obj-y += dev-smartcard-reader.o
common-obj-y += ccid-card-passthru.o common-obj-y += ccid-card-passthru.o
common-obj-$(CONFIG_SMARTCARD_NSS) += ccid-card-emulated.o common-obj-$(CONFIG_SMARTCARD_NSS) += ccid-card-emulated.o
ccid-card-emulated.o-cflags := -I$(SRC_PATH)/libcacard
endif endif
ifeq ($(CONFIG_POSIX),y) ifeq ($(CONFIG_POSIX),y)

View File

@ -25,7 +25,6 @@ vscclient$(EXESUF): libcacard/vscclient.o libcacard.la
libcacard.la: LDFLAGS += -rpath $(libdir) -no-undefined \ libcacard.la: LDFLAGS += -rpath $(libdir) -no-undefined \
-export-syms $(SRC_PATH)/libcacard/libcacard.syms -export-syms $(SRC_PATH)/libcacard/libcacard.syms
libcacard.la: LIBS = $(libcacard_libs)
libcacard.la: $(libcacard-lobj-y) libcacard.la: $(libcacard-lobj-y)
$(call LINK,$^) $(call LINK,$^)