gcc: Drop ARCH_FLAGS_FOR_TARGET usage
PATCH 1/1 gcc: Drop ARCH_FLAGS_FOR_TARGET usage
As far as I can tell this variable is now completely unneeded. It would only ever get used in target builds and these are now correctly done in the target environment namespace, not any of our cross environments. As such, CC and other variables contain the correct compilers and other tune options and these are correctly picked up when building libgcc, libstdc++ and others.
I tried to figure out where else these would make any sense and couldn't find anything. Builds appear fine without them so lets drop the complexity including the patch adding in this flag to gcc.
---
meta/recipes-devtools/gcc/gcc-4.8.inc +0 -1
@@ -22,7 +22,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8" SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ - file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ file://0002-uclibc-conf.patch \ file://0003-gcc-uclibc-locale-ctype_touplow_t.patch \ file://0004-uclibc-locale.patch \
meta/recipes-devtools/gcc/gcc-configure-common.inc +0 -6
@@ -68,11 +68,6 @@ CPPFLAGS = "" EXTRA_OECONF_append_powerpc = " --with-long-double-128" EXTRA_OECONF_append_powerpc64 = " --with-long-double-128" -# Used by configure to define additional values for FLAGS_FOR_TARGET - -# passed to all the compilers. -ARCH_FLAGS_FOR_TARGET = "${TARGET_CC_ARCH}" -EXTRA_OEMAKE += "ARCH_FLAGS_FOR_TARGET='${ARCH_FLAGS_FOR_TARGET}'" - SYSTEMHEADERS = "${target_includedir}" SYSTEMLIBS = "${target_base_libdir}/" SYSTEMLIBS1 = "${target_libdir}/"
@@ -121,7 +116,6 @@ do_configure () { export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}" export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}" export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}" - export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}" export CFLAGS_FOR_TARGET="${TARGET_CFLAGS}" export CPPFLAGS_FOR_TARGET="${TARGET_CPPFLAGS}" export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}"
meta/recipes-devtools/gcc/gcc-runtime.inc +0 -2
@@ -7,8 +7,6 @@ EXTRA_OECONF_PATHS = " \ --with-sysroot=${STAGING_DIR_TARGET} \ --with-build-sysroot=${STAGING_DIR_TARGET}" -ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}" - EXTRA_OECONF += "--disable-libunwind-exceptions" EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
meta/recipes-devtools/gcc/gcc-target.inc +0 -2
@@ -7,8 +7,6 @@ EXTRA_OECONF_PATHS = " \ --with-native-system-header-dir=${STAGING_DIR_TARGET}${target_includedir} \ --with-gxx-include-dir=${includedir}/c++/" -ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR} -I${B}/gcc/include/ " - PACKAGES = "\ ${PN} ${PN}-plugins ${PN}-symlinks \ g++ g++-symlinks \
Quoted 10 lines · Richard Purdie
As far as I can tell this variable is now completely unneeded. It would only ever get used in target builds and these are now correctly done in the target environment namespace, not any of our cross environments. As such, CC and other variables contain the correct compilers and other tune options and these are correctly picked up when building libgcc, libstdc++ and others.
I tried to figure out where else these would make any sense and couldn't find anything. Builds appear fine without them so lets drop the complexity including the patch adding in this flag to gcc.
AFAR these were needed when doing SDK builds which was a shortcoming in gcc itself
have you tried a SDK build with it ?
Quoted 72 lines
Signed-off-by Richard Purdie <[email protected]>---
meta/recipes-devtools/gcc/gcc-4.8.inc +0
-1@@ -22,7 +22,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8" SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ - file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ file://0002-uclibc-conf.patch \ file://0003-gcc-uclibc-locale-ctype_touplow_t.patch \ file://0004-uclibc-locale.patch \meta/recipes-devtools/gcc/gcc-configure-common.inc +0
-6@@ -68,11 +68,6 @@ CPPFLAGS = "" EXTRA_OECONF_append_powerpc = " --with-long-double-128" EXTRA_OECONF_append_powerpc64 = " --with-long-double-128" -# Used by configure to define additional values for FLAGS_FOR_TARGET - -# passed to all the compilers. -ARCH_FLAGS_FOR_TARGET = "${TARGET_CC_ARCH}" -EXTRA_OEMAKE += "ARCH_FLAGS_FOR_TARGET='${ARCH_FLAGS_FOR_TARGET}'" - SYSTEMHEADERS = "${target_includedir}" SYSTEMLIBS = "${target_base_libdir}/" SYSTEMLIBS1 = "${target_libdir}/"@@ -121,7 +116,6 @@ do_configure () { export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}" export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}" export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}" - export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}" export CFLAGS_FOR_TARGET="${TARGET_CFLAGS}" export CPPFLAGS_FOR_TARGET="${TARGET_CPPFLAGS}" export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}"meta/recipes-devtools/gcc/gcc-runtime.inc +0
-2@@ -7,8 +7,6 @@ EXTRA_OECONF_PATHS = " \ --with-sysroot=${STAGING_DIR_TARGET} \ --with-build-sysroot=${STAGING_DIR_TARGET}" -ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}" - EXTRA_OECONF += "--disable-libunwind-exceptions" EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"meta/recipes-devtools/gcc/gcc-target.inc +0
-3@@ -7,8 +7,6 @@ EXTRA_OECONF_PATHS = " \ --with-native-system-header-dir=${STAGING_DIR_TARGET}${target_includedir} \ --with-gxx-include-dir=${includedir}/c++/" -ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR} -I${B}/gcc/include/ " - PACKAGES = "\ ${PN} ${PN}-plugins ${PN}-symlinks \ g++ g++-symlinks \ --_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 9 lines · Khem Raj
Quoted 7 lines · Richard Purdie
As far as I can tell this variable is now completely unneeded. It would only ever get used in target builds and these are now correctly done in the target environment namespace, not any of our cross environments. As such, CC and other variables contain the correct compilers and other tune options and these are correctly picked up when building libgcc, libstdc++ and others.
Quoted 7 lines
Quoted 3 lines
I tried to figure out where else these would make any sense and couldn't find anything. Builds appear fine without them so lets drop the complexity including the patch adding in this flag to gcc.
AFAR these were needed when doing SDK builds which was a shortcoming in gcc itself
have you tried a SDK build with it ?
Yes, it seems to build just fine...
Cheers,
Richard