diff --git a/Makefile b/Makefile index 0169f3f62..34f6890bb 100644 --- a/Makefile +++ b/Makefile @@ -248,7 +248,6 @@ DTC_CPPFLAGS += -nostdinc -Iinclude -undef -x assembler-with-cpp # Common sources and include directories ################################################################################ include lib/compiler-rt/compiler-rt.mk -include lib/libc/libc.mk BL_COMMON_SOURCES += common/bl_common.c \ common/tf_log.c \ @@ -392,6 +391,13 @@ endif endif +################################################################################ +# Include libc if not overridden +################################################################################ +ifeq (${OVERRIDE_LIBC},0) +include lib/libc/libc.mk +endif + ################################################################################ # Check incompatible options ################################################################################ @@ -595,6 +601,7 @@ $(eval $(call assert_boolean,HANDLE_EA_EL3_FIRST)) $(eval $(call assert_boolean,HW_ASSISTED_COHERENCY)) $(eval $(call assert_boolean,MULTI_CONSOLE_API)) $(eval $(call assert_boolean,NS_TIMER_SWITCH)) +$(eval $(call assert_boolean,OVERRIDE_LIBC)) $(eval $(call assert_boolean,PL011_GENERIC_UART)) $(eval $(call assert_boolean,PROGRAMMABLE_RESET_ADDRESS)) $(eval $(call assert_boolean,PSCI_EXTENDED_STATE_ID)) diff --git a/docs/user-guide.rst b/docs/user-guide.rst index 3828eaff1..63b0f36ea 100644 --- a/docs/user-guide.rst +++ b/docs/user-guide.rst @@ -581,6 +581,10 @@ Common build options 1 (do save and restore). 0 is the default. An SPD may set this to 1 if it wants the timer registers to be saved and restored. +- ``OVERRIDE_LIBC``: This option allows platforms to override the default libc + for the BL image. It can be either 0 (include) or 1 (remove). The default + value is 0. + - ``PL011_GENERIC_UART``: Boolean option to indicate the PL011 driver that the underlying hardware is not a full PL011 UART but a minimally compliant generic UART, which is a subset of the PL011. The driver will not access diff --git a/make_helpers/defaults.mk b/make_helpers/defaults.mk index c1aa32052..76a9fd4fa 100644 --- a/make_helpers/defaults.mk +++ b/make_helpers/defaults.mk @@ -122,6 +122,9 @@ MULTI_CONSOLE_API := 0 # NS timer register save and restore NS_TIMER_SWITCH := 0 +# Include lib/libc in the final image +OVERRIDE_LIBC := 0 + # Build PL011 UART driver in minimal generic UART mode PL011_GENERIC_UART := 0