Merge remote-tracking branch 'gh-public/danny' into HEAD

* gh-public/danny:
  external-sourcery-toolchain: ship the multilib link in the -dev package
  external-sourcery-toolchain: put linux headers in eglibc packages
  toolchain-scripts: add TOOLCHAIN_PATH_ADD to PATH
  tcmode: use the class override for PATH add
  tcmode: don't ship a toolchain in the sdk for now
This commit is contained in:
Christopher Larson
2012-11-02 11:45:05 -07:00
3 changed files with 43 additions and 23 deletions

View File

@@ -0,0 +1,15 @@
toolchain_create_sdk_env_script_append () {
if [ -n "${TOOLCHAIN_PATH_ADD}" ]; then
echo 'PATH="${TOOLCHAIN_PATH_ADD}$PATH"' >>$script
fi
}
toolchain_create_tree_env_script_append () {
if [ -n "${TOOLCHAIN_PATH_ADD}" ]; then
echo 'PATH="${TOOLCHAIN_PATH_ADD}$PATH"' >>$script
fi
}
toolchain_create_sdk_env_script_for_installer_append () {
if [ -n "${TOOLCHAIN_PATH_ADD}" ]; then
echo 'PATH="${TOOLCHAIN_PATH_ADD}$PATH"' >>$script
fi
}

View File

@@ -4,13 +4,15 @@
EXTERNAL_TOOLCHAIN ?= "UNDEFINED"
TOOLCHAIN_PATH_ADD = "${EXTERNAL_TOOLCHAIN}/bin:"
TOOLCHAIN_PATH_ADD = ""
TOOLCHAIN_PATH_ADD_class-target = "${EXTERNAL_TOOLCHAIN}/bin:"
PATH =. "${TOOLCHAIN_PATH_ADD}"
python () {
if oe.utils.inherits(d, 'native'):
d.setVar('TOOLCHAIN_PATH_ADD', '')
}
# Don't ship any toolchain binaries in the sdk for the time being
TOOLCHAIN_HOST_TASK ?= "nativesdk-packagegroup-sdk-host meta-environment-${TRANSLATED_TARGET_ARCH}"
# Add the external toolchain to the sdk setup script PATH
INHERIT += "toolchain-scripts-external"
localedir = "${exec_prefix}/lib/locale"
@@ -115,7 +117,7 @@ python toolchain_metadata_setup () {
bb.fatal("Error: EXTERNAL_TOOLCHAIN path '%s' does not exist" % external_toolchain)
if os.path.exists(bb.data.expand('${EXTERNAL_TOOLCHAIN}/bin/gcc', l)):
d.setVar('TOOLCHAIN_PATH_ADD', '')
d.setVar('TOOLCHAIN_PATH_ADD_class-target', '')
populate_toolchain_links(l)
# The external toolchain may not have been built with the yocto preferred

View File

@@ -22,7 +22,7 @@ PROVIDES = "\
libgcc \
"
PV = "${CSL_VER_MAIN}"
PR = "r15"
PR = "r17"
#SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/${CSL_TARGET_SYS}/arm-${PV}-${TARGET_PREFIX}i686-pc-linux-gnu.tar.bz2"
@@ -74,15 +74,29 @@ do_install() {
sed -i -e "s# ${base_libdir}# ../..${base_libdir}#g" -e "s# ${libdir}# .#g" ${D}${libdir}/libc.so
sed -i -e "s# ${base_libdir}# ../..${base_libdir}#g" -e "s# ${libdir}# .#g" ${D}${libdir}/libpthread.so
sed -i -e 's/__packed/__attribute__ ((packed))/' ${D}${includedir}/mtd/ubi-user.h
create_multilib_link ${D}
}
def sysroot_multilib_suffix(d):
PATH = d.getVar('PATH', True)
cmd = '${CC} -print-sysroot | sed -e "s,^${STAGING_DIR_HOST},,; s,^/,,"'
return oe.path.check_output(bb.data.expand(cmd, d), shell=True, env={'PATH': PATH})
FILES_${PN}-dev += "/${@sysroot_multilib_suffix(d)}"
create_multilib_link () {
dest="$1"
sysroot_multilib_suffix="${@sysroot_multilib_suffix(d)}"
if [ -n "$sysroot_multilib_suffix" ]; then
rm -f $dest/$sysroot_multilib_suffix
ln -s . $dest/$sysroot_multilib_suffix
fi
}
SYSROOT_PREPROCESS_FUNCS += "external_toolchain_sysroot_adjust"
external_toolchain_sysroot_adjust() {
dest_sysroot="$(${CC} -print-sysroot | sed -e's,^${STAGING_DIR_HOST},,; s,/$,,')"
if [ -n "$dest_sysroot" ]; then
rm -f ${SYSROOT_DESTDIR}/$dest_sysroot
ln -s . ${SYSROOT_DESTDIR}/$dest_sysroot
fi
create_multilib_link ${SYSROOT_DESTDIR}
# If the usr/lib directory doesn't exist, the toolchain fails to even
# try to find crti.o in a completely different directory (usr/lib64)
@@ -93,7 +107,6 @@ TC_PACKAGES =+ "libgcc libgcc-dev"
TC_PACKAGES =+ "libgomp libgomp-dev libgomp-staticdev"
TC_PACKAGES =+ "libstdc++ libstdc++-dev libstdc++-staticdev"
TC_PACKAGES =+ "gdbserver gdbserver-dbg"
TC_PACKAGES =+ "${@base_conditional('PREFERRED_PROVIDER_linux-libc-headers', PN, 'linux-libc-headers linux-libc-headers-dev', '', d)}"
TC_PACKAGES =+ "oprofile"
PACKAGES =+ "${TC_PACKAGES}"
@@ -119,8 +132,6 @@ PKGV_libgomp-staticdev = "${CSL_VER_GCC}"
PKGV_libstdc++ = "${CSL_VER_GCC}"
PKGV_libstdc++-dev = "${CSL_VER_GCC}"
PKGV_libstdc++-staticdev = "${CSL_VER_GCC}"
PKGV_linux-libc-headers = "${CSL_VER_KERNEL}"
PKGV_linux-libc-headers-dev = "${CSL_VER_KERNEL}"
PKGV_gdbserver = "${CSL_VER_GDB}"
PKGV_gdbserver-dbg = "${CSL_VER_GDB}"
PKGV_oprofile = "${CSL_VER_GCC}"
@@ -136,14 +147,6 @@ FILES_libstdc++-dev = "${includedir}/c++/${PV} \
${libdir}/libstdc++.la \
${libdir}/libsupc++.la"
FILES_libstdc++-staticdev = "${libdir}/libstdc++.a ${libdir}/libsupc++.a"
FILES_linux-libc-headers = "${includedir}/asm* \
${includedir}/linux \
${includedir}/mtd \
${includedir}/rdma \
${includedir}/scsi \
${includedir}/sound \
${includedir}/video \
"
FILES_gdbserver = "${bindir}/gdbserver ${libdir}/bin/sysroot-gdbserver"
FILES_gdbserver-dbg = "${bindir}/.debug/gdbserver"
FILES_oprofile = "${datadir}/oprofile/* ${libdir}/oprofile/* ${datadir}/stl.pat"