tests: futility: Fix build failure due to missing libzip
The test programs do need libzip.
BUG=chromium:953993
TEST=emerge vboot_reference
BRANCH=None
Change-Id: I7347a0d192874b9eddeef4448e2d7b2d1e317fec
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1577348
Tested-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Commit-Queue: Hung-Te Lin <hungte@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1577349
diff --git a/Makefile b/Makefile
index 944ae73..52fbbd2 100644
--- a/Makefile
+++ b/Makefile
@@ -221,6 +221,15 @@
PKG_CONFIG += --static
endif
+# Optional Libraries
+LIBZIP_VERSION := $(shell ${PKG_CONFIG} --modversion libzip 2>/dev/null)
+HAVE_LIBZIP := $(if ${LIBZIP_VERSION},1)
+ifneq (${HAVE_LIBZIP},)
+ CFLAGS += -DHAVE_LIBZIP $(shell ${PKG_CONFIG} --cflags libzip)
+ LIBZIP_LIBS := $(shell ${PKG_CONFIG} --libs libzip)
+ LIBZIP_STATIC_LIBS := $(shell ${PKG_CONFIG} --static --libs libzip)
+endif
+
# Determine QEMU architecture needed, if any
ifeq (${ARCH},${HOST_ARCH})
# Same architecture; no need for QEMU
@@ -1089,11 +1098,12 @@
.PHONY: futil
futil: ${FUTIL_STATIC_BIN} ${FUTIL_BIN}
+${FUTIL_STATIC_BIN}: LDLIBS += ${CRYPTO_STATIC_LIBS} ${LIBZIP_STATIC_LIBS}
${FUTIL_STATIC_BIN}: ${FUTIL_STATIC_OBJS} ${UTILLIB}
@${PRINTF} " LD $(subst ${BUILD}/,,$@)\n"
${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} -static $^ ${LDLIBS}
-${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS}
+${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS} ${LIBZIP_LIBS}
${FUTIL_BIN}: ${FUTIL_OBJS} ${UTILLIB}
@${PRINTF} " LD $(subst ${BUILD}/,,$@)\n"
${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} $^ ${LDLIBS}
@@ -1136,7 +1146,7 @@
${TEST_FUTIL_BINS}: ${FUTIL_OBJS} ${UTILLIB} ${UTILLIB21}
${TEST_FUTIL_BINS}: INCLUDES += -Ifutility
${TEST_FUTIL_BINS}: OBJS += ${FUTIL_OBJS} ${UTILLIB} ${UTILLIB21}
-${TEST_FUTIL_BINS}: LDLIBS += ${CRYPTO_LIBS}
+${TEST_FUTIL_BINS}: LDLIBS += ${CRYPTO_LIBS} ${LIBZIP_LIBS}
${TEST2X_BINS}: ${FWLIB2X}
${TEST2X_BINS}: LIBS += ${FWLIB2X}