This patch removes the Xilinx SDK toolchain support in meta-xilinx BSP layer. A new distro layer called meta-petalinux will be available as of May 9th 2016. The recipes to support the Xilinx SDK toolchain will added to this distro layer.
Signed-off-by: Manjukumar Matha <[email protected]> --- conf/distro/include/tcmode-external-xilinx.inc | 83 ---------- conf/distro/include/xilinx-versions.inc | 110 ------------- docs/Toolchain | 15 -- recipes-core/meta/external-xilinx-toolchain.bb | 173 --------------------- .../meta/external-xilinx-toolchain/SUPPORTED | 0 5 files changed, 381 deletions(-) delete mode 100644 conf/distro/include/tcmode-external-xilinx.inc delete mode 100644 conf/distro/include/xilinx-versions.inc delete mode 100644 docs/Toolchain delete mode 100644 recipes-core/meta/external-xilinx-toolchain.bb delete mode 100644 recipes-core/meta/external-xilinx-toolchain/SUPPORTED diff --git a/conf/distro/include/tcmode-external-xilinx.inc b/conf/distro/include/tcmode-external-xilinx.inc deleted file mode 100644 index b2824ac..0000000 --- a/conf/distro/include/tcmode-external-xilinx.inc +++ /dev/null @@ -1,83 +0,0 @@ -# -# Configuration to use external Xilinx toolchain -# - -TOOLCHAIN_PATH_ADD = "${EXTERNAL_TOOLCHAIN}/bin:" -PATH =. "${TOOLCHAIN_PATH_ADD}" - -CSL_TARGET_SYS_armv7a ?= "arm-xilinx-linux-gnueabi" -CSL_TARGET_SYS_microblazeel ?= "microblazeel-xilinx-linux-gnu" -CSL_TARGET_SYS = "${TARGET_SYS}" - -TARGET_PREFIX = "${CSL_TARGET_SYS}-" - -PREFERRED_PROVIDER_linux-libc-headers = "external-xilinx-toolchain" -PREFERRED_PROVIDER_linux-libc-headers-dev = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "external-xilinx-toolchain" -PREFERRED_PROVIDER_libgcc = "external-xilinx-toolchain" -PREFERRED_PROVIDER_glibc = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/libc = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/libintl = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/libiconv = "external-xilinx-toolchain" -PREFERRED_PROVIDER_glibc-thread-db = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/linux-libc-headers = "external-xilinx-toolchain" -PREFERRED_PROVIDER_virtual/linux-libc-headers-dev = "external-xilinx-toolchain" -PREFERRED_PROVIDER_gdbserver ??= "external-xilinx-toolchain" - -# No need to re-compile the locale files -GLIBC_INTERNAL_USE_BINARY_LOCALE = "precompiled" -ENABLE_BINARY_LOCALE_GENERATION = "" - -TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_HOST}" -# Fix up default hash, enforce it in for CC_ARCH for packages that ignore LDFLAGS. -TARGET_CC_ARCH_append = " ${TARGET_LINK_HASH_STYLE}" - -# Default sysroot is inside the Xilinx ARM v7-A toolchain in the '<CSL_TARGET_SYS>/libc' (no debug-root) -EXTERNAL_TOOLCHAIN_SYSROOT_armv7a ??= "${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc" -EXTERNAL_TOOLCHAIN_DBGROOT_armv7a ??= "" - -# Default sysroot is inside the Xilinx MicroBlaze toolchain in the '<CSL_TARGET_SYS>/sys-root' -EXTERNAL_TOOLCHAIN_SYSROOT_microblazeel ??= "${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/sys-root" -EXTERNAL_TOOLCHAIN_DBGROOT_microblazeel ??= "${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/debug-root" - -addhandler toolchain_setup -toolchain_setup[eventmask] = "bb.event.BuildStarted" -python toolchain_setup () { - import errno - - d = e.data - d = d.createCopy() - d.finalize() - - tarprefix = d.expand('${TARGET_PREFIX}') - files = [] - if tarprefix == "arm-xilinx-linux-gnueabi-": - files.append((tarprefix + "ld", tarprefix + "ld.bfd")) - - if len(files) > 0: - ext_bindir = d.expand('${EXTERNAL_TOOLCHAIN}/bin') - loc_bindir = d.getVar('STAGING_BINDIR_TOOLCHAIN', True) - bb.utils.mkdirhier(loc_bindir) - for f in files: - source = os.path.join(ext_bindir, f[0]) - dest = os.path.join(loc_bindir, f[1]) - try: - os.symlink(source, dest) - except OSError as exc: - if exc.errno == errno.EEXIST: - break - bb.fatal("Unable to populate toolchain binary symlink for %s: %s" % (f[0], f[1])) -} - -require conf/distro/include/xilinx-versions.inc - -# Setup suitable toolchain flags -require conf/distro/include/as-needed.inc - diff --git a/conf/distro/include/xilinx-versions.inc b/conf/distro/include/xilinx-versions.inc deleted file mode 100644 index 4e44f07..0000000 --- a/conf/distro/include/xilinx-versions.inc +++ /dev/null @@ -1,110 +0,0 @@ -def csl_run(d, cmd, *args): - import bb.process - import subprocess - - topdir = d.getVar('TOPDIR', True) - toolchain_path = d.getVar('EXTERNAL_TOOLCHAIN', True) - if not toolchain_path: - return 'UNKNOWN', 'UNKNOWN' - - target_prefix = d.getVar('TARGET_PREFIX', True) - path = os.path.join(toolchain_path, 'bin', target_prefix + cmd) - args = [path] + list(args) - - return bb.process.run(args, cwd=topdir, stderr=subprocess.PIPE) - -def csl_get_version(d): - try: - stdout, stderr = csl_run(d, 'gcc', '-v') - except bb.process.CmdError as exc: - bb.error('Failed to obtain CodeSourcery toolchain version: %s' % exc) - bb.error('Make sure that MACHINE is set correctly in your local.conf and the toolchain supports %s.' % d.getVar("TARGET_ARCH", True)) - return 'UNKNOWN' - else: - lines = stderr.splitlines() - for i in reversed(range(len(lines))): - if len(lines[i]) != 0: - return lines[i] - return 'UNKNOWN' - -def csl_get_main_version(d): - version = csl_get_version(d) - if version != 'UNKNOWN': - return version.split()[-1].rstrip(')') - else: - return version - -def csl_get_gcc_version(d): - version = csl_get_version(d) - if version != 'UNKNOWN': - return version.split()[2] - else: - return version - -def xilinx_get_libc_version(d): - syspath = d.expand('${EXTERNAL_TOOLCHAIN_SYSROOT}') - if not syspath: - return 'UNKNOWN' - - libpath = syspath + '/lib/' - if not os.path.exists(libpath): - libpath = syspath + '/sgxx-glibc/lib/' - - if os.path.exists(libpath): - for file in os.listdir(libpath): - if file.find('libc-') == 0: - return file[5:-3] - return 'UNKNOWN' - -def xilinx_get_kernel_version(d): - syspath = d.expand('${EXTERNAL_TOOLCHAIN_SYSROOT}') - if not syspath: - return 'UNKNOWN' - - vf = syspath + '/usr/include/linux/version.h' - if not os.path.exists(vf): - vf = syspath + '/sgxx-glibc/usr/include/linux/version.h' - - try: - f = open(vf, 'r') - except (OSError, IOError): - return 'UNKNOWN' - - l = f.readlines(); - f.close(); - for s in l: - if s.find('LINUX_VERSION_CODE') > 0: - ver = int(s.split()[2]) - maj = ver / 65536 - ver = ver % 65536 - min = ver / 256 - ver = ver % 256 - return str(maj)+'.'+str(min)+'.'+str(ver) - return 'UNKNOWN' - -def csl_get_gdb_version(d): - try: - stdout, stderr = csl_run(d, 'gdb', '-v') - except bb.process.CmdError: - return 'UNKNOWN' - else: - first_line = stdout.splitlines()[0] - return first_line.split()[-1] - -python xilinx_version_handler () { - d = e.data - ld = d.createCopy() - ld.finalize() - - d.setVar('CSL_VER_MAIN', csl_get_main_version(ld)) - d.setVar('CSL_VER_GCC', csl_get_gcc_version(ld)) - d.setVar('CSL_VER_LIBC', xilinx_get_libc_version(ld)) - d.setVar('CSL_VER_KERNEL', xilinx_get_kernel_version(ld)) - d.setVar('CSL_VER_GDB', csl_get_gdb_version(ld)) -} -addhandler xilinx_version_handler -xilinx_version_handler[eventmask] = "bb.event.ConfigParsed" - -# Ensure that any variable which includes the --sysroot (CC, CXX, etc) also -# depends on the toolchain version -TOOLCHAIN_OPTIONS[vardeps] += "CSL_VER_MAIN CSL_VER_GCC" diff --git a/docs/Toolchain b/docs/Toolchain deleted file mode 100644 index 7e8d313..0000000 --- a/docs/Toolchain +++ /dev/null @@ -1,15 +0,0 @@ - -Configuring External Toolchain -============================== - -In order to build with an external toolchain some additional configuration must -be set in the build environments local.conf. First configure the use of an -external toolchain, including the location to the toolchain: - - TCMODE = "external-xilinx" - EXTERNAL_TOOLCHAIN = "<path to toolchain>" - -WARNING: There is a known issue with the MicroBlaze Linux toolchain provided by -XSDK 2013.3 where certain shift instructions are not generated correctly, avoid -using this toolchain. Use the newer XSDK 2013.4 or PetaLinux 2013.10 toolchains. - diff --git a/recipes-core/meta/external-xilinx-toolchain.bb b/recipes-core/meta/external-xilinx-toolchain.bb deleted file mode 100644 index 2274eea..0000000 --- a/recipes-core/meta/external-xilinx-toolchain.bb +++ /dev/null @@ -1,173 +0,0 @@ -require recipes-core/glibc/glibc-package.inc - -INHIBIT_DEFAULT_DEPS = "1" - -# License applies to this recipe code, not the toolchain itself -SUMMARY = "External Xilinx toolchain" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" - -DEPENDS += "${@base_conditional('PREFERRED_PROVIDER_linux-libc-headers', PN, '', 'linux-libc-headers', d)}" -PROVIDES += "\ - linux-libc-headers \ - virtual/${TARGET_PREFIX}gcc \ - virtual/${TARGET_PREFIX}g++ \ - virtual/${TARGET_PREFIX}gcc-initial \ - virtual/${TARGET_PREFIX}gcc-intermediate \ - virtual/${TARGET_PREFIX}binutils \ - virtual/${TARGET_PREFIX}libc-for-gcc \ - virtual/${TARGET_PREFIX}libc-initial \ - virtual/${TARGET_PREFIX}compilerlibs \ - virtual/libc \ - virtual/libintl \ - virtual/libiconv \ - virtual/linux-libc-headers \ - glibc-thread-db \ - libgcc \ - glibc \ - " - -PV = "${CSL_VER_MAIN}" -PR = "r1" - -SRC_URI = "file://SUPPORTED" - -do_install() { - # Use optimized files if available - sysroot="${EXTERNAL_TOOLCHAIN_SYSROOT}" - dbgroot="${EXTERNAL_TOOLCHAIN_DBGROOT}" - - cp -a $sysroot${base_libdir}/. ${D}${base_libdir} - cp -a $sysroot/sbin/. ${D}${base_sbindir} - - install -d ${D}/usr - for usr_element in bin libexec sbin share ${base_libdir}; do - # Copy files from both the sysroot and the debugroot if they exist - if [ ! -z "$sysroot" -a -e $sysroot/usr/$usr_element ]; then - cp -a $sysroot/usr/$usr_element ${D}/usr/ - fi - if [ ! -z "$dbgroot" -a -e $dbgroot/usr/$usr_element ]; then - cp -a $dbgroot/usr/$usr_element ${D}/usr/ - fi - done - - # Copy Include files - cp -a $sysroot/usr/include/. ${D}${includedir} - - # strip out any multi-lib files (they are not supported) - for element in bs m ldscripts; do - if [ -e ${D}${libdir}/$element ]; then - rm -rf ${D}${libdir}/$element - fi - if [ -e ${D}${base_libdir}/$element ]; then - rm -rf ${D}${base_libdir}/$element - fi - done - - # Clean up the image (remove files and directories that are not packaged) - ## ${D}${sysconfdir} - for i in ${D}/usr/share/zoneinfo ${D}/usr/lib/bin ${D}/usr/libexec ; do - if [ -e $i ]; then - rm -rf $i - fi - done - - # Move some of the libs in /lib to /usr/lib - for i in libstdc++ libssp libatomic; do - if [ -e ${D}${base_libdir}/$i.so ]; then - mv ${D}${base_libdir}/$i.* ${D}${libdir}/ - fi - done - - sed -i -e 's/__packed/__attribute__ ((packed))/' ${D}${includedir}/mtd/ubi-user.h - 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 -} - -PACKAGES =+ " \ - libgcc libgcc-dev \ - libssp libssp-dev libssp-staticdev \ - libatomic libatomic-dev libatomic-staticdev \ - libstdc++ libstdc++-dev libstdc++-staticdev \ - linux-libc-headers linux-libc-headers-dev \ - gdbserver gdbserver-dbg \ - " - -RDEPENDS_ldd += "bash" -RDEPENDS_tzcode += "bash" - -# This test should be fixed to ignore .a files in .debug dirs -INSANE_SKIP_${PN}-dbg = "staticdev" - -# We don't care about GNU_HASH in prebuilt binaries -INSANE_SKIP_${PN}-utils += "ldflags" -INSANE_SKIP_${PN}-dev += "ldflags" -INSANE_SKIP_libstdc++ += "ldflags" -INSANE_SKIP_libgcc += "ldflags" -INSANE_SKIP_libssp += "ldflags" -INSANE_SKIP_libatomic += "ldflags" -INSANE_SKIP_gdbserver += "ldflags" - -PKG_${PN} = "glibc" -PKG_${PN}-dev = "glibc-dev" -PKG_${PN}-staticdev = "glibc-staticdev" -PKG_${PN}-doc = "glibc-doc" -PKG_${PN}-dbg = "glibc-dbg" -PKG_${PN}-pic = "glibc-pic" -PKG_${PN}-utils = "glibc-utils" -PKG_${PN}-gconv = "glibc-gconv" -PKG_${PN}-extra-nss = "glibc-extra-nss" -PKG_${PN}-thread-db = "glibc-thread-db" -PKG_${PN}-pcprofile = "glibc-pcprofile" - -PKGV = "${CSL_VER_LIBC}" -PKGV_libssp = "${CSL_VER_GCC}" -PKGV_libssp-dev = "${CSL_VER_GCC}" -PKGV_libssp-staticdev = "${CSL_VER_GCC}" -PKGV_libatomic = "${CSL_VER_GCC}" -PKGV_libatomic-dev = "${CSL_VER_GCC}" -PKGV_libatomic-staticdev = "${CSL_VER_GCC}" -PKGV_libgcc = "${CSL_VER_GCC}" -PKGV_libgcc-dev = "${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}" - -FILES_libssp = "${libdir}/libssp.so.*" -FILES_libssp-dev = "${libdir}/libssp.so ${libdir}/libssp_nonshared.a ${libdir}/libssp_nonshared.la" -FILES_libssp-staticdev = "${libdir}/libssp.a ${libdir}/libssp.la" -FILES_libatomic = "${libdir}/libatomic.so.*" -FILES_libatomic-dev = "${libdir}/libatomic.so" -FILES_libatomic-staticdev = "${libdir}/libatomic.a ${libdir}/libatomic.la" -FILES_libgcc = "${base_libdir}/libgcc_s.so.1" -FILES_libgcc-dev = "${base_libdir}/libgcc_s.so" -FILES_libstdc++ = "${libdir}/libstdc++.so.*" -FILES_libstdc++-dev = " \ - ${includedir}/c++/${PV} \ - ${libdir}/libstdc++.so \ - ${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" -FILES_gdbserver-dbg = "${bindir}/.debug/gdbserver" - -CSL_VER_MAIN ??= "" - -python () { - if not d.getVar("CSL_VER_MAIN", True): - raise bb.parse.SkipPackage("External toolchain not configured (CSL_VER_MAIN not set).") -} diff --git a/recipes-core/meta/external-xilinx-toolchain/SUPPORTED b/recipes-core/meta/external-xilinx-toolchain/SUPPORTED deleted file mode 100644 index e69de29..0000000 -- 2.1.4 -- _______________________________________________ meta-xilinx mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-xilinx
