summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/glibc/glibc.inc')
-rw-r--r--meta/recipes-core/glibc/glibc.inc22
1 files changed, 8 insertions, 14 deletions
diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
index 17fa2d52a5..7c4551a4aa 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -9,26 +9,20 @@ PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
9TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}" 9TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}"
10 10
11# glibc can't be built without optimization, if someone tries to compile an 11# glibc can't be built without optimization, if someone tries to compile an
12# entire image as -O0, we override it with -O2 here and give a note about it. 12# entire image as -O0, break with fatal.
13def get_optimization(d): 13python () {
14 selected_optimization = d.getVar("SELECTED_OPTIMIZATION", True) 14 if bb.utils.contains("SELECTED_OPTIMIZATION", "-O", "x", "", d) == "x":
15 if bb.utils.contains("SELECTED_OPTIMIZATION", "-O2", "x", "", d) == "x":
16 return selected_optimization
17 elif bb.utils.contains("SELECTED_OPTIMIZATION", "-O", "x", "", d) == "x":
18 bb.note("glibc can't be built with -O, -O -Wno-error will be used instead.") 15 bb.note("glibc can't be built with -O, -O -Wno-error will be used instead.")
19 return selected_optimization.replace("-O", "-O -Wno-error") 16 d.appendVar("SELECTED_OPTIMIZATION", " -Wno-error")
20 elif bb.utils.contains("SELECTED_OPTIMIZATION", "-O0", "x", "", d) == "x": 17 elif bb.utils.contains("SELECTED_OPTIMIZATION", "-O0", "x", "", d) == "x":
21 bb.note("glibc can't be built with -O0, -O2 will be used instead.") 18 bb.fatal("glibc can't be built with -O0, using -O1 -Wno-error or -O1 instead.")
22 return selected_optimization.replace("-O0", "-O2")
23 elif bb.utils.contains("SELECTED_OPTIMIZATION", "-Os", "x", "", d) == "x": 19 elif bb.utils.contains("SELECTED_OPTIMIZATION", "-Os", "x", "", d) == "x":
24 bb.note("glibc can't be built with -Os, -Os -Wno-error will be used instead.") 20 bb.note("glibc can't be built with -Os, -Os -Wno-error will be used instead.")
25 return selected_optimization.replace("-Os", "-Os -Wno-error") 21 d.appendVar("SELECTED_OPTIMIZATION", " -Wno-error")
26 elif bb.utils.contains("SELECTED_OPTIMIZATION", "-O1", "x", "", d) == "x": 22 elif bb.utils.contains("SELECTED_OPTIMIZATION", "-O1", "x", "", d) == "x":
27 bb.note("glibc can't be built with -O1, -O1 -Wno-error will be used instead.") 23 bb.note("glibc can't be built with -O1, -O1 -Wno-error will be used instead.")
28 return selected_optimization.replace("-O1", "-O1 -Wno-error") 24 d.appendVar("SELECTED_OPTIMIZATION", " -Wno-error")
29 return selected_optimization 25}
30
31SELECTED_OPTIMIZATION := "${@get_optimization(d)}"
32 26
33# siteconfig.bbclass runs configure which needs a working compiler 27# siteconfig.bbclass runs configure which needs a working compiler
34# For the compiler to work we need a working libc yet libc isn't 28# For the compiler to work we need a working libc yet libc isn't