[oe] Prebuilt toolchains

Koen Kooi k.kooi at student.utwente.nl
Tue Nov 17 07:34:53 UTC 2009


On 11-11-09 18:00, Gary Thomas wrote:
> I'd like to use my own toolchains when building OpenEmbedded.
> I've tried to follow the information at:
> http://docs.openembedded.org/usermanual/usermanual.html#commonuse_prebuilt_toolchain
>
> It's a bit terse and confusing, so I'm just trying to see
> what I need (I think the section tries to discuss too many
> concepts at once)

If you're using angstrom and want to use a prebuilt CSL toolchain, you 
only need to add this to local.conf (I suspect thunderbird will linewrap 
it):

# Black magic to automatically set SDK_PATH out of PATH - don't touch this!
# Works with pretty much any external toolchain, like CS Lite or MV Pro 5
# Handles cross-toolchain vs. native toolchain
# SDK_PATH can be overwritten externally by META_SDK_PATH, e.g. for SDK
TOOLCHAIN_SYSPATH = "${@bb.data.getVar('TARGET_ARCH', d, 1) != 
bb.data.getVar('BUILD_ARCH', d, 1) and 
os.path.abspath(os.path.dirname(bb.which(bb.data.getVar('PATH', d, 1), 
bb.data.getVar('TARGET_PREFIX', d, 
1)+'cpp'))+'/../'+bb.data.getVar('TARGET_SYS', d, 1)) or ''}"
TOOLCHAIN_PATH = "${@bool(bb.data.getVar('TOOLCHAIN_SYSPATH', d, 1)) and 
(os.path.exists(bb.data.getVar('TOOLCHAIN_SYSPATH', d, 1)) and 
os.path.dirname(bb.data.getVar('TOOLCHAIN_SYSPATH', d, 1)) or 
bb.fatal('No valid toolchain in PATH')) or ''}"
SDK_PATH = "${@[bb.data.getVar('TOOLCHAIN_PATH', d, 1), 
bb.data.getVar('META_SDK_PATH', d, 
1)][bool(bb.data.getVar('META_SDK_PATH', d, 1))]}"

# Set the necessary variables to use binary CodeSourcery Lite
TARGET_VENDOR = "-none"
TARGET_CPPFLAGS_append = " -I${SDK_PATH}/${TARGET_SYS}/libc/usr/include "
TARGET_LDFLAGS_prepend = " -L${SDK_PATH}/${TARGET_SYS}/libc/lib 
-Wl,-rpath-link,${SDK_PATH}/${TARGET_SYS}/libc/lib "
TOOLCHAIN_TYPE = "external"
TOOLCHAIN_BRAND = "csl"

regards,

Koen





More information about the Openembedded-devel mailing list