From c00c14077d6108176360b49614a73dabdc5c59a5 Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Fri, 15 Mar 2024 14:08:14 -0700 Subject: [PATCH] libpayload: Make GPL commonlib includes available to payloads and tests CB:77968 made some non-BSD commonlib files part of libpayload when CONFIG_LP_GPL is set. This patch exports those headers to the payload (again only when CONFIG_LP_GPL is set) so that payloads can also call the functions in them directly. Also make those includes available to tests so that their functions can be tested. There's no menuconfig for unit tests, so they are included unconditionally, but this should be fine since the tests are standalone and won't have to link with any proprietary third-party code. Change-Id: Ifc3e52ee5c3e51520f7b7d44b483bfcb0e8380f8 Signed-off-by: Julius Werner Reviewed-on: https://review.coreboot.org/c/coreboot/+/81287 Tested-by: build bot (Jenkins) Reviewed-by: Maximilian Brune --- payloads/libpayload/Makefile.mk | 4 ++++ payloads/libpayload/bin/lpgcc | 3 +++ payloads/libpayload/tests/Makefile.mk | 1 + 3 files changed, 8 insertions(+) diff --git a/payloads/libpayload/Makefile.mk b/payloads/libpayload/Makefile.mk index e000868c2b..afaa06dd3d 100644 --- a/payloads/libpayload/Makefile.mk +++ b/payloads/libpayload/Makefile.mk @@ -133,6 +133,10 @@ install: real-target find include -type f -exec install -m644 {} $(DESTDIR)/libpayload/{} \; cd $(coreboottop)/src/commonlib/bsd && find include -type d -exec install -m755 -d $(abspath $(DESTDIR))/libpayload/{} \; cd $(coreboottop)/src/commonlib/bsd && find include -type f -exec install -m644 {} $(abspath $(DESTDIR))/libpayload/{} \; +ifeq ($(CONFIG_LP_GPL),y) + cd $(coreboottop)/src/commonlib && find include -type d -exec install -m755 -d $(abspath $(DESTDIR))/libpayload/{} \; + cd $(coreboottop)/src/commonlib && find include -type f -exec install -m644 {} $(abspath $(DESTDIR))/libpayload/{} \; +endif install -m 644 $(obj)/libpayload-config.h $(DESTDIR)/libpayload/include $(foreach item,$(includes), \ install -m 755 -d $(DESTDIR)/libpayload/include/$(call extract_nth,2,$(item)); \ diff --git a/payloads/libpayload/bin/lpgcc b/payloads/libpayload/bin/lpgcc index 35fa5584a8..bdc1518ed3 100755 --- a/payloads/libpayload/bin/lpgcc +++ b/payloads/libpayload/bin/lpgcc @@ -170,6 +170,9 @@ if [ $_LIBDIR = $_OBJ ]; then _CFLAGS="$_CFLAGS -include $BASE/../../../src/commonlib/bsd/include/commonlib/bsd/compiler.h" _CFLAGS="$_CFLAGS -I$BASE/../../../src/commonlib/bsd/include" + if [ "$CONFIG_LP_GPL" = y ]; then + _CFLAGS="$_CFLAGS -I$BASE/../../../src/commonlib/include" + fi _CFLAGS="$_CFLAGS -I$BASE/../../../3rdparty/vboot/firmware/include" else _CFLAGS="$_CFLAGS -include $BASE/../include/commonlib/bsd/compiler.h" diff --git a/payloads/libpayload/tests/Makefile.mk b/payloads/libpayload/tests/Makefile.mk index 9bac9e6505..7118906850 100644 --- a/payloads/libpayload/tests/Makefile.mk +++ b/payloads/libpayload/tests/Makefile.mk @@ -34,6 +34,7 @@ TEST_CFLAGS := -include include/kconfig.h TEST_CFLAGS += -include $(coreboottop)/src/commonlib/bsd/include/commonlib/bsd/compiler.h TEST_CFLAGS += -Iinclude -Iinclude/mock TEST_CFLAGS += -I$(coreboottop)/src/commonlib/bsd/include +TEST_CFLAGS += -I$(coreboottop)/src/commonlib/include TEST_CFLAGS += -I$(dir $(TEST_KCONFIG_AUTOHEADER)) TEST_CFLAGS += -I$(VBOOT_SOURCE)/firmware/include