diff options
author | Jasmin Jessich <jasmin@anw.at> | 2015-09-06 11:54:46 (GMT) |
---|---|---|
committer | Jasmin Jessich <jasmin@anw.at> | 2015-09-14 21:32:07 (GMT) |
commit | 9e905afb56a162882df2472d9537f72c82c83487 (patch) | |
tree | 16857c710da0419f191e3c87aa31cea42d57825c | |
parent | b6342809d005ea2b0d24406eff52b6bac4ec0eee (diff) |
Added additional newlib specific target flags with new option
LIBC_NEWLIB_TARGET_CFLAGS.
Signed-off-by: Jasmin Jessich <jasmin@anw.at>
-rw-r--r-- | config/libc/newlib.in | 14 | ||||
-rw-r--r-- | scripts/build/libc/newlib.sh | 5 |
2 files changed, 18 insertions, 1 deletions
diff --git a/config/libc/newlib.in b/config/libc/newlib.in index f32e4b3..8351fab 100644 --- a/config/libc/newlib.in +++ b/config/libc/newlib.in @@ -144,6 +144,20 @@ config LIBC_VERSION Enter the tag you want to use. Leave empty to use the 'head' of the repository. +config LIBC_NEWLIB_TARGET_CFLAGS + string + prompt "Target CFLAGS for newlib" + default "" + help + Used to add specific options when compiling the target libraries + (eg. -ffunction-sections -fdata-sections), which can't be defined + in global TARGET_CFLAGS, because they shall be not used for the + gcc target libraries. + Note: Both TARGET_CFLAGS and LIBC_NEWLIB_TARGET_CFLAGS are used + to compile the libraries. + + Leave blank if you don't know better. + comment "Architecture specific options" config ATMEL_AVR32_HEADERS diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh index 744c291..ca00a3f 100644 --- a/scripts/build/libc/newlib.sh +++ b/scripts/build/libc/newlib.sh @@ -72,6 +72,7 @@ do_libc_start_files() { do_libc() { local -a newlib_opts + local cflags_for_target CT_DoStep INFO "Installing C library" @@ -109,6 +110,8 @@ do_libc() { [ "${CT_LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE}" = "y" ] && newlib_opts+=("--enable-target-optspace") + cflags_for_target="${CT_TARGET_CFLAGS} ${CT_LIBC_NEWLIB_TARGET_CFLAGS}" + # Note: newlib handles the build/host/target a little bit differently # than one would expect: # build : not used @@ -116,7 +119,7 @@ do_libc() { # target : the machine newlib runs on CT_DoExecLog CFG \ CC_FOR_BUILD="${CT_BUILD}-gcc" \ - CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \ + CFLAGS_FOR_TARGET="${cflags_for_target}" \ AR=${CT_TARGET}-ar \ RANLIB=${CT_TARGET}-ranlib \ "${CT_SRC_DIR}/newlib-${CT_LIBC_VERSION}/configure" \ |