Re: gcc virtual provider settings


Elvis Dowson
 

Hi,

On Aug 11, 2012, at 2:42 PM, Elvis Dowson wrote:

Where can I find the "virtual provides" for gcc?

I'd like to properly fill the following values in my local.conf file, to point it to a locally created gcc_4.5.bb recipe, along with rest, for gcc-cross_4.5.bb, gcc-cross-canadian_4.5.bb, etc.

PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = ""
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = ""
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = ""
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = ""
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = ""
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = ""
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = ""
PREFERRED_PROVIDER_libgcc = ""
PREFERRED_PROVIDER_eglibc = ""
PREFERRED_PROVIDER_virtual/libc = ""
PREFERRED_PROVIDER_virtual/libintl = ""
PREFERRED_PROVIDER_virtual/libiconv = ""
PREFERRED_PROVIDER_gdbserver = ""
PREFERRED_PROVIDER_virtual/gettext = ""


I found the solution for this one. 

The defaults are specified in the poky/meta/conf/distro/include/tcmode-default.inc file.

What was happening is that when I set a couple of virual providers explicitly, I always ended up missing a couple, and it was taking the gcc-4.7.1 related recipes, because the over-rides weren't complete. the tcmode-default.inc file has the full list of virtual providers for the toolchain, and the best way to set up for an older version of the gcc compiler is to specify just a few variables in the local.conf file as follows:

# Set the gcc toolchain version.
# Use wildcards %, to match the actual versions.
GCCVERSION = "4.5%"
SDKGCCVERSION = "${GCCVERSION}"
BINUVERSION = "2.22"
EGLIBCVERSION = "2.16"
UCLIBCVERSION = "0.9.33"
LINUXLIBCVERSION = "3.3.3"

Best regards,

Elvis Dowson

Join yocto@lists.yoctoproject.org to automatically receive all group messages.