libcacard: require libtool to build it

Do not fail at build time, instead just disable the library if libtool
is not present.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2012-12-20 20:40:35 +01:00
parent e832341bde
commit b6fc675b25
4 changed files with 5 additions and 14 deletions

View File

@ -160,12 +160,14 @@ libqemustub.a: $(stub-obj-y)
###################################################################### ######################################################################
# Support building shared library libcacard # Support building shared library libcacard
ifeq ($(CONFIG_SMARTCARD_NSS),y)
.PHONY: libcacard.la install-libcacard .PHONY: libcacard.la install-libcacard
libcacard.la: $(oslib-obj-y) qemu-timer-common.o $(trace-obj-y) libcacard.la: $(oslib-obj-y) qemu-timer-common.o $(trace-obj-y)
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C libcacard V="$(V)" TARGET_DIR="$*/" libcacard.la,) $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C libcacard V="$(V)" TARGET_DIR="$*/" libcacard.la,)
install-libcacard: libcacard.la install-libcacard: libcacard.la
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C libcacard V="$(V)" TARGET_DIR="$*/" install-libcacard,) $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C libcacard V="$(V)" TARGET_DIR="$*/" install-libcacard,)
endif
###################################################################### ######################################################################

3
configure vendored
View File

@ -2824,7 +2824,8 @@ EOF
if test "$werror" = "yes"; then if test "$werror" = "yes"; then
test_cflags="-Werror $test_cflags" test_cflags="-Werror $test_cflags"
fi fi
if $pkg_config --atleast-version=3.12.8 nss >/dev/null 2>&1 && \ if test -n "$libtool" &&
$pkg_config --atleast-version=3.12.8 nss >/dev/null 2>&1 && \
compile_prog "$test_cflags" "$libcacard_libs"; then compile_prog "$test_cflags" "$libcacard_libs"; then
smartcard_nss="yes" smartcard_nss="yes"
QEMU_CFLAGS="$QEMU_CFLAGS $libcacard_cflags" QEMU_CFLAGS="$QEMU_CFLAGS $libcacard_cflags"

View File

@ -31,13 +31,6 @@ all: libcacard.la libcacard.pc
######################################################################### #########################################################################
# Rules for building libcacard standalone library # Rules for building libcacard standalone library
ifeq ($(LIBTOOL),)
libcacard.la:
@echo "libtool is missing, please install and rerun configure"; exit 1
install-libcacard:
@echo "libtool is missing, please install and rerun configure"; exit 1
else
libcacard.la: $(libcacard.lib-y) $(QEMU_OBJS_LIB) libcacard.la: $(libcacard.lib-y) $(QEMU_OBJS_LIB)
$(call quiet-command,$(LIBTOOL) --mode=link --tag=CC $(CC) -rpath $(libdir) -o $@ $^ $(libcacard_libs)," lt LINK $@") $(call quiet-command,$(LIBTOOL) --mode=link --tag=CC $(CC) -rpath $(libdir) -o $@ $^ $(libcacard_libs)," lt LINK $@")
@ -63,4 +56,3 @@ install-libcacard: libcacard.pc libcacard.la vscclient
for inc in *.h; do \ for inc in *.h; do \
$(INSTALL_DATA) $(libcacard_srcpath)/$$inc "$(DESTDIR)$(libcacard_includedir)"; \ $(INSTALL_DATA) $(libcacard_srcpath)/$$inc "$(DESTDIR)$(libcacard_includedir)"; \
done done
endif

View File

@ -21,11 +21,7 @@ QEMU_CFLAGS += -I$(<D) -I$(@D)
$(call quiet-command,$(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," CC $(TARGET_DIR)$@") $(call quiet-command,$(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," CC $(TARGET_DIR)$@")
ifeq ($(LIBTOOL),) ifeq ($(LIBTOOL),)
%.lo: %.c LIBTOOL = /bin/false
@echo "missing libtool. please install and rerun configure"; exit 1
%.lo: %.dtrace
@echo "missing libtool. please install and rerun configure."; exit 1
LINK = $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \ LINK = $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
$(sort $(filter %.o, $1)) $(filter-out %.o, $1) \ $(sort $(filter %.o, $1)) $(filter-out %.o, $1) \
$(LIBS)," LINK $(TARGET_DIR)$@") $(LIBS)," LINK $(TARGET_DIR)$@")