From d74b8d9c990780ba64515b36aaff79d719d71ead Mon Sep 17 00:00:00 2001 From: Edward O'Callaghan Date: Mon, 29 Nov 2021 11:02:46 +1100 Subject: util/cbfstool: Port elogtool to libflashrom This also uncouples cbfstool from being overly Chromium specific. However the main objective is to not subprocess flashrom any more and instead use the programmatic API. BUG=b:207808292 TEST=built and ran `elogtool (list|clear|add 0x16 C0FFEE)`. Change-Id: I79df2934b9b0492a554a4fecdd533a0abe1df231 Signed-off-by: Edward O'Callaghan Reviewed-on: https://review.coreboot.org/c/coreboot/+/59714 Tested-by: build bot (Jenkins) Reviewed-by: Sam McNally --- util/cbfstool/Makefile.inc | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'util/cbfstool/Makefile.inc') diff --git a/util/cbfstool/Makefile.inc b/util/cbfstool/Makefile.inc index 3787a5657809..a568e9aef649 100644 --- a/util/cbfstool/Makefile.inc +++ b/util/cbfstool/Makefile.inc @@ -1,3 +1,5 @@ +HOSTPKGCONFIG ?= /usr/bin/pkg-config + compressionobj := compressionobj += compress.o # LZ4 @@ -92,6 +94,7 @@ amdcompobj += xdr.o elogobj := elogobj := elogtool.o elogobj += eventlog.o +elogobj += uflashrom.o elogobj += valstr.o elogobj += elog.o elogobj += common.o @@ -144,6 +147,12 @@ else TOOLCFLAGS+=-std=c11 endif +.PHONY: check-flashrom-presence +check-flashrom-presence: + $(HOSTPKGCONFIG) --exists flashrom || \ + (echo "Error: Ensure that pkg-config and flashrom are installed."; exit 1) + +FLASHROM := $$($(HOSTPKGCONFIG) --libs flashrom) VBOOT_HOSTLIB = $(VBOOT_HOST_BUILD)/libvboot_host.a $(VBOOT_HOSTLIB): @@ -224,9 +233,9 @@ $(objutil)/cbfstool/amdcompress: $(addprefix $(objutil)/cbfstool/,$(amdcompobj)) printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n" $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(amdcompobj)) -lz -$(objutil)/cbfstool/elogtool: $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(VBOOT_HOSTLIB) +$(objutil)/cbfstool/elogtool: | check-flashrom-presence $(addprefix $(objutil)/cbfstool/,$(elogobj)) printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n" - $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(VBOOT_HOSTLIB) + $(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(elogobj)) $(FLASHROM) $(objutil)/cbfstool/cse_fpt: $(addprefix $(objutil)/cbfstool/,$(cse_fpt_obj)) printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n" -- cgit v1.2.3