diff --git a/Makefile.inc b/Makefile.inc index 53a3dadab0..c17978498e 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -67,6 +67,14 @@ ifeq ($(CONFIG_TRACE),y) ramstage-c-ccopts:= -finstrument-functions endif +ifeq ($(CONFIG_USE_BLOBS),y) +forgetthis:=$(shell git submodule update --init --checkout 3rdparty) +else +ifeq ($(CONFIG_REQUIRES_BLOB),y) +$(error Your current configuration requires binary-only components, but you did not choose to use them) +endif +endif + smm-c-ccopts:=-D__SMM__ smm-S-ccopts:=-D__SMM__ diff --git a/src/Kconfig b/src/Kconfig index e8a560df24..d449b30b84 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -175,6 +175,24 @@ config COLLECT_TIMESTAMPS Make coreboot create a table of timer-ID/timer-value pairs to allow measuring time spent at different phases of the boot process. +config USE_BLOBS + bool "Allow use of binary-only repository" + default n + help + This draws in the blobs repository, which contains binary files that + might be required for some chipsets or boards. + This flag ensures that a "Free" option remains available for users. + +config REQUIRES_BLOB + bool + default n + help + This option can be configured by boards that require the blobs + repository for the default configuration. It will make the build + fail if USE_BLOBS is disabled. Users that still desire to do a + coreboot build for such a board can override this manually, but + this option serves as warning that it might fail. + endmenu source src/mainboard/Kconfig