[OE-core] [PATCH 2/4 V2] Share gcc work directories

Richard Purdie richard.purdie at linuxfoundation.org
Wed Jun 15 09:21:44 UTC 2011


Hi Robert,

This is looking good, just one further problem:

On Wed, 2011-06-15 at 14:33 +0800, Robert Yang wrote:
>    * The configure option --with-build-sysroot=${STAGING_DIR_TARGET} can
>      replace the sed command.

Sadly I'm not sure it can.

>  
>  EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']} \
>                  --with-gnu-ld \
> +                --with-build-sysroot=${STAGING_DIR_TARGET} \
>                  --enable-shared \
>                  --enable-languages=${LANGUAGES} \
>                  --enable-threads=posix \
> @@ -88,25 +89,20 @@ do_configure () {
>  	(cd ${S} && gnu-configize) || die "failure running gnu-configize"
>  	
>  	# teach gcc to find correct target includedir when checking libc ssp support
> -	sed -i 's:^\([ 	]*\)glibc_header_dir=\"${with_build_sysroot}/usr/include\":\1glibc_header_dir=\"${with_build_sysroot}${SYSTEMHEADERS}\":g' ${S}/gcc/configure.ac
> -	sed -i 's:^\([ 	]*\)glibc_header_dir=\"${with_build_sysroot}/usr/include\":\1glibc_header_dir=\"${with_build_sysroot}${SYSTEMHEADERS}\":g' ${S}/gcc/configure

Here, a hardcoded "/usr/include" in the gcc makefiles is being replaced
by ${SYSTEMHEADERS} which could be /some/other/path/include. These two
are therefore not equivalent. Did you try a "bitbake meta-toolchain"
with this patch series? 

I suspect configure needs to use ${includedir} to build this path
instead of hardcoding it.

Cheers,

Richard







More information about the Openembedded-core mailing list