On Fri, Apr 30, 2010 at 7:58 PM, Denys Dmytriyenko <[email protected]> wrote: > > On Fri, Apr 30, 2010 at 09:53:06AM -0700, Tom Rini wrote: > > On Fri, 2010-04-30 at 15:34 +0200, Jerry Jacobs wrote: > > > Dear all, > > > > > > I'm very new to openembedded and already have a clear view how it is > > > structured. My embedded board mini2440 is already in git and want to > > > create > > > my own distro. > > > The problem where I bump against is how to use the Codesourcery external > > > toolchain for my target. I know there is the file in recipes/meta/ > > > external-toolchain-csl.bb > > > but it not clear how to use it. > > > > There's 2 ways. One way is, in local.conf: > > ### CSL public ARM does <arch>-none-<os>, so fill in the -none > > TARGET_VENDOR = "-none" > > ### Bring in external-toolchain-csl.bb > > TOOLCHAIN_BRAND = "csl" > > ### Where the CSL version is installed. > > TOOLCHAIN_PATH = "/full/path/to/arm-2009q3" > > ### Where inside the CSL install the target libraries exist. > > TOOLCHAIN_SYSPATH = "${TOOLCHAIN_PATH}/arm-none-linux-gnueabi" > > ### Add tools to the PATH automatically. > > PATH_prepend = "${TOOLCHAIN_PATH}/bin:" > > require conf/distro/include/toolchain-external.inc > > > > The other way has a few less variables in local.conf but assumes PATH is > > already updated. Denys will reply shortly with that, I imagine. > > The only difference I have from Tom's setup is I expect the CSL toolchain > being already in the PATH variable: > > export PATH=/full/path/to/arm-2009q1/bin:$PATH > > And then set the other several BitBake variables accordingly (in local.conf > and toolchain-csl.conf): > > TARGET_VENDOR = "-none" > # no need to include/require toolchain-external.inc, as TOOLCHAIN_TYPE does it > TOOLCHAIN_TYPE = "external" > TOOLCHAIN_BRAND = "csl" > > [There I also set CPPFLAGS and LDFLAGS to point to CSL directly, but it's not > required as necessary files are staged by the recipe these days.] > > The "black magic" in the local.conf is basically a Python code to set > TOOLCHAIN_PATH and TOOLCHAIN_SYSPATH based on the user's PATH: > > TOOLCHAIN_PATH = "$...@code-to-extract-csl-path-from-path}" > TOOLCHAIN_SYSPATH = ${TOOLCHAIN_PATH}/${TARGET_SYS} > > So, with my setup, no modifications to local.conf are required, as long as CSL > is in your PATH. With Tom's setup, users would need to add the CSL path to > local.conf. > > Hope this helps. > > -- > Denys
This clears things up, bit still its not sufficient to get it working. The DISTRO seems to overwrite the TOOLCHAIN rules. And this while I set the TOOLCHAIN variables in local.conf And why compiles it things like coreutils-native? This are the tools needed to compile software, like make, autoconf? NOTE: package coreutils-native-7.2-r1: task do_setscene: Started I have experience with compiling software on a linux machine but OpenEmbedded is a bit different than the other frameworks and tools. _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
