summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gcc')
-rw-r--r--meta/recipes-devtools/gcc/gcc-common.inc10
-rw-r--r--meta/recipes-devtools/gcc/gcc-configure-common.inc3
2 files changed, 12 insertions, 1 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc
index 69e0213e9f..7ec2f7e463 100644
--- a/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-common.inc
@@ -21,6 +21,16 @@ def get_gcc_mips_plt_setting(bb, d):
return "--with-mips-plt"
return ""
+def get_gcc_multiarch_setting(bb, d):
+ if 'multiarch' in bb.data.getVar('DISTRO_FEATURES',d,1).split() :
+ if bb.data.getVar('TARGET_ARCH', d, 1) in [ 'i586', 'i686' ] :
+ return "--enable-targets=all"
+ if bb.data.getVar('TARGET_ARCH', d, 1) in [ 'powerpc' ] :
+ return "--enable-targets=powerpc64"
+ if bb.data.getVar('TARGET_ARCH', d, 1) in [ 'sparc' ] :
+ return "--enable-targets=all"
+ return ""
+
# We really need HOST_SYS here for some packages and TARGET_SYS for others.
# For now, libgcc is most important so we fix for that - RP.
SHLIBSDIR = "${STAGING_DIR_TARGET}/shlibs"
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index ae23e8ee49..d0149801db 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -42,7 +42,8 @@ EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', 1) != 'n
${EXTRA_OECONF_BASE} \
${EXTRA_OECONF_FPU} \
${EXTRA_OECONF_PATHS} \
- ${@get_gcc_mips_plt_setting(bb, d)}"
+ ${@get_gcc_mips_plt_setting(bb, d)} \
+ ${@get_gcc_multiarch_setting(bb, d)}"
# Build uclibc compilers without cxa_atexit support
EXTRA_OECONF_append_linux = " --enable-__cxa_atexit"