diff options
author | Varun Wadekar <vwadekar@nvidia.com> | 2019-01-31 09:22:30 -0800 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2019-02-05 08:27:32 -0800 |
commit | 77f1f7a11738cece09d3e399e30f6106dc0f909a (patch) | |
tree | 3bbec8c5979b71c3535cda7f70b469e327c85e6e | |
parent | a01b0f1619e90aa39e0b5232767269d083186d74 (diff) |
Introduce build option to override libc
This patch introduces a build option 'OVERRIDE_LIBC' that platforms
can set to override libc from the BL image. The default value is '0'
to keep the library.
Change-Id: I10a0b247f6a782eeea4a0359e30a8d79b1e9e4e1
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-rw-r--r-- | Makefile | 9 | ||||
-rw-r--r-- | docs/user-guide.rst | 4 | ||||
-rw-r--r-- | make_helpers/defaults.mk | 3 |
3 files changed, 15 insertions, 1 deletions
@@ -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 \ @@ -393,6 +392,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 3828eaff..63b0f36e 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 c1aa3205..76a9fd4f 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 |