crosssdk/nativesdk: Ensure EXTRA_OECONF_FPU is unset

If EXTRA_OECONF_FPU is left set, certain ARM variables related to hard-float
can get pulled in and trigger rebuilds of the crosssdk code. The best solution
is to simply force the variable to a known correct value for the SDK targets
currently supported in the same way as TARGET_FPU.

There is some slight rearrangement of the gcc code to ensure the variable is
always used to call the fpu function.

(From OE-Core rev: 410990445ada8cdcfaec4e6fa5791cee9a5b8983)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2012-07-12 16:25:47 +01:00
parent a09d55fbfd
commit d71a35d4f6
4 changed files with 6 additions and 2 deletions

View File

@ -28,3 +28,6 @@ baselib = "lib"
do_populate_sysroot[stamp-extra-info] = ""
do_package[stamp-extra-info] = ""
# Need to force this to ensure consitency accross architectures
EXTRA_OECONF_FPU = ""

View File

@ -36,6 +36,7 @@ TARGET_CC_ARCH = "${SDK_CC_ARCH}"
TARGET_LD_ARCH = "${SDK_LD_ARCH}"
TARGET_AS_ARCH = "${SDK_AS_ARCH}"
TARGET_FPU = ""
EXTRA_OECONF_FPU = ""
CPPFLAGS = "${BUILDSDK_CPPFLAGS}"
CFLAGS = "${BUILDSDK_CFLAGS}"

View File

@ -21,7 +21,7 @@ EXTRA_OECONF = "--with-newlib \
--with-sysroot=${STAGING_DIR_TARGET} \
--with-build-sysroot=${STAGING_DIR_TARGET} \
${EXTRA_OECONF_INITIAL} \
${@get_gcc_fpu_setting(bb, d)}"
${EXTRA_OECONF_FPU}"
do_compile () {
oe_runmake all-gcc all-target-libgcc

View File

@ -23,7 +23,7 @@ EXTRA_OECONF = "--enable-shared \
--with-sysroot=${STAGING_DIR_TCBOOTSTRAP} \
--with-build-sysroot=${STAGING_DIR_TCBOOTSTRAP} \
${EXTRA_OECONF_INTERMEDIATE} \
${@get_gcc_fpu_setting(bb, d)} \
${EXTRA_OECONF_FPU} \
${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)}"
do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_HOST} ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/${target_base_libdir}"