[meta-xilinx] external-xilinx-toolchain:Remove toolchain support

Manjukumar Matha manjukumar.harthikote-matha at xilinx.com
Wed Apr 27 17:43:44 PDT 2016


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 <manjukumar.harthikote-matha at xilinx.com>
---
 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




More information about the meta-xilinx mailing list