diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-core/glibc/glibc.inc | 22 |
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}:" | |||
9 | TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}" | 9 | TOOLCHAIN_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. |
13 | def get_optimization(d): | 13 | python () { |
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 | |||
31 | SELECTED_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 |