summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward O'Callaghan <quasisec@google.com>2021-12-21 11:28:38 +1100
committerCommit Bot <commit-bot@chromium.org>2021-12-29 21:34:41 +0000
commit25b9493525325dfb5bc2c36321c43ec7665060fa (patch)
tree932fbb887c3b02db883cd7bfcc1097faee853480
parentfe799942dccb8554873bc70474373001f74289b8 (diff)
downloadvboot-25b9493525325dfb5bc2c36321c43ec7665060fa.tar.gz
vboot_ref/futility: Wrap flashrom_drv behind USE_FLASHROM
Some users of futility do not need flashrom support such as upstream coreboot. Allow for explicitly enabling the paths. BUG=b:203715651,b:209702505 BRANCH=none TEST=builds Signed-off-by: Edward O'Callaghan <quasisec@google.com> Change-Id: I61095bf91e3d01bd008d3b790478a590758e88cd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3350299 Tested-by: Edward O'Callaghan <quasisec@chromium.org> Auto-Submit: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Yu-Ping Wu <yupingso@chromium.org> Reviewed-by: Hsuan Ting Chen <roccochen@chromium.org> Commit-Queue: Hsuan Ting Chen <roccochen@chromium.org>
-rw-r--r--Makefile19
-rw-r--r--futility/cmd_update.c17
2 files changed, 28 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index 8fc602ed..40c00226 100644
--- a/Makefile
+++ b/Makefile
@@ -284,8 +284,6 @@ ifneq ($(filter-out 0,${HAVE_LIBZIP}),)
LIBZIP_LIBS := $(shell ${PKG_CONFIG} --libs libzip)
endif
-FLASHROM_LIBS := $(shell ${PKG_CONFIG} --libs flashrom)
-
# Determine QEMU architecture needed, if any
ifeq (${ARCH},${HOST_ARCH})
# Same architecture; no need for QEMU
@@ -660,13 +658,22 @@ FUTIL_SRCS = \
futility/file_type_rwsig.c \
futility/file_type_usbpd1.c \
futility/misc.c \
- futility/updater.c \
+ futility/vb1_helper.c \
+ futility/vb2_helper.c
+
+# Maintain behaviour of default on.
+USE_FLASHROM ?= 1
+
+ifneq ($(filter-out 0,${USE_FLASHROM}),)
+$(info building with libflashrom support)
+FLASHROM_LIBS := $(shell ${PKG_CONFIG} --libs flashrom)
+FUTIL_SRCS += futility/flashrom_drv.c \
futility/updater_archive.c \
futility/updater_quirks.c \
futility/updater_utils.c \
- futility/vb1_helper.c \
- futility/vb2_helper.c \
- futility/flashrom_drv.c
+ futility/updater.c
+CFLAGS += -DUSE_FLASHROM
+endif
# List of commands built in futility.
FUTIL_CMD_LIST = ${BUILD}/gen/futility_cmds.c
diff --git a/futility/cmd_update.c b/futility/cmd_update.c
index 57fa0835..e4b37655 100644
--- a/futility/cmd_update.c
+++ b/futility/cmd_update.c
@@ -13,6 +13,8 @@
#include "futility.h"
#include "updater.h"
+#ifdef USE_FLASHROM
+
enum {
OPT_DUMMY = 0x100,
@@ -358,6 +360,17 @@ static int do_update(int argc, char *argv[])
updater_delete_config(cfg);
return !!errorcnt;
}
+#define CMD_HELP_STR "Update system firmware"
+
+#else /* USE_FLASHROM */
+
+static int do_update(int argc, char *argv[])
+{
+ FATAL(MYNAME " was built without flashrom support, `update` command unavailable!\n");
+ return -1;
+}
+#define CMD_HELP_STR "Update system firmware (unavailable in this build)"
+
+#endif /* !USE_FLASHROM */
-DECLARE_FUTIL_COMMAND(update, do_update, VBOOT_VERSION_ALL,
- "Update system firmware");
+DECLARE_FUTIL_COMMAND(update, do_update, VBOOT_VERSION_ALL, CMD_HELP_STR);