diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-configure-common.inc')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-configure-common.inc | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc index f4f76bda53..e4cdb73f0a 100644 --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc @@ -5,66 +5,67 @@ require gcc-shared-source.inc # # These can be overridden by the version specific .inc file. -# Java (gcj doesn't work on all architectures) -JAVA ?= ",java" -JAVA_arm ?= "" -JAVA_armeb ?= "" -JAVA_mipsel ?= "" -JAVA_sh3 ?= "" # gcc 3.x expects 'f77', 4.0 expects 'f95', 4.1 and 4.2 expect 'fortran' FORTRAN ?= ",f77" -LANGUAGES ?= "c,c++${FORTRAN}${JAVA}" +LANGUAGES ?= "c,c++${FORTRAN}" EXTRA_OECONF_BASE ?= "" EXTRA_OECONF_PATHS ?= "" -EXTRA_OECONF_INITIAL ?= "" GCCMULTILIB ?= "--disable-multilib" GCCTHREADS ?= "posix" +GCCPIE ??= "" + +SYMVERS_CONF ?= "--enable-symvers=gnu" + EXTRA_OECONF = "\ - ${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) != 'no']} \ + ${@['--enable-clocale=generic', ''][d.getVar('USE_NLS') != 'no']} \ --with-gnu-ld \ --enable-shared \ --enable-languages=${LANGUAGES} \ --enable-threads=${GCCTHREADS} \ ${GCCMULTILIB} \ + ${GCCPIE} \ --enable-c99 \ --enable-long-long \ - --enable-symvers=gnu \ + ${SYMVERS_CONF} \ --enable-libstdcxx-pch \ --program-prefix=${TARGET_PREFIX} \ --without-local-prefix \ + --disable-install-libiberty \ ${EXTRA_OECONF_BASE} \ ${EXTRA_OECONF_GCC_FLOAT} \ ${EXTRA_OECONF_PATHS} \ ${@get_gcc_mips_plt_setting(bb, d)} \ ${@get_gcc_ppc_plt_settings(bb, d)} \ - ${@get_long_double_setting(bb, d)} \ ${@get_gcc_multiarch_setting(bb, d)} \ + --enable-standard-branch-protection \ " +# glibc version is a minimum controlling whether features are enabled. +# Doesn't need to track glibc exactly +EXTRA_OECONF:append:libc-glibc = " --with-glibc-version=2.28 " + +# Set this here since GCC configure won't auto-detect and enable +# initfini-arry when cross compiling. +EXTRA_OECONF:append = " --enable-initfini-array" + export gcc_cv_collect2_libs = 'none required' # We need to set gcc_cv_collect2_libs else there is cross-compilation badness # in the config.log files (which might not get generated until do_compile # hence being missed by the insane do_configure check). -# Build uclibc compilers without cxa_atexit support -EXTRA_OECONF_append_linux = " --enable-__cxa_atexit" -EXTRA_OECONF_append_libc-uclibc = " --enable-__cxa_atexit" - -EXTRA_OECONF_append_mips64 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" -EXTRA_OECONF_append_mips64el = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" -EXTRA_OECONF_append_mips64n32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" -EXTRA_OECONF_append_mips64eln32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" +EXTRA_OECONF:append:linux = " --enable-__cxa_atexit" -# ARMv6+ adds atomic instructions that affect the ABI in libraries built -# with TUNE_CCARGS in gcc-runtime. Make the compiler default to a -# compatible architecture. armv6 and armv7a cover the minimum tune -# features used in OE. -EXTRA_OECONF_append_armv6 = " --with-arch=armv6" -EXTRA_OECONF_append_armv7a = " --with-arch=armv7-a" -EXTRA_OECONF_append_armv7ve = " --with-arch=armv7-a" +EXTRA_OECONF:append:mips64 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" +EXTRA_OECONF:append:mips64el = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" +EXTRA_OECONF:append:mips64n32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" +EXTRA_OECONF:append:mips64eln32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" +EXTRA_OECONF:append:mipsisa32r6el = " --with-abi=32 --with-arch=mips32r6" +EXTRA_OECONF:append:mipsisa32r6 = " --with-abi=32 --with-arch=mips32r6" +EXTRA_OECONF:append:mipsisa64r6el = " --with-abi=64 --with-arch-64=mips64r6" +EXTRA_OECONF:append:mipsisa64r6 = " --with-abi=64 --with-arch-64=mips64r6" EXTRA_OECONF_GCC_FLOAT ??= "" CPPFLAGS = "" @@ -73,7 +74,7 @@ SYSTEMHEADERS = "${target_includedir}" SYSTEMLIBS = "${target_base_libdir}/" SYSTEMLIBS1 = "${target_libdir}/" -do_configure_prepend () { +do_configure:prepend () { # teach gcc to find correct target includedir when checking libc ssp support mkdir -p ${B}/gcc echo "NATIVE_SYSTEM_HEADER_DIR = ${SYSTEMHEADERS}" > ${B}/gcc/t-oe |