From fdc9f9d035ef2b90d9a0f5617d2016b01e10a84f Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Fri, 4 Nov 2016 06:52:55 +0100 Subject: [PATCH 001/180] package/openvpn: bump to version 2.3.13 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- package/openvpn/openvpn.hash | 4 ++-- package/openvpn/openvpn.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/openvpn/openvpn.hash b/package/openvpn/openvpn.hash index ce005d3d51..0c5cb09e94 100644 --- a/package/openvpn/openvpn.hash +++ b/package/openvpn/openvpn.hash @@ -1,2 +1,2 @@ -# Locally calculated after checking pgp signature -sha256 13b963414e2430215981868c77b9795d93653ee535a2d73576f7bb2c28200abc openvpn-2.3.12.tar.xz +# Locally calculated +sha256 9cde0c8000fd32d5275adb55f8bb1d8ba429ff3de35f60a36e81f3859b7537e0 openvpn-2.3.13.tar.xz diff --git a/package/openvpn/openvpn.mk b/package/openvpn/openvpn.mk index 0e59fdc98d..cd0a2d13e6 100644 --- a/package/openvpn/openvpn.mk +++ b/package/openvpn/openvpn.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENVPN_VERSION = 2.3.12 +OPENVPN_VERSION = 2.3.13 OPENVPN_SOURCE = openvpn-$(OPENVPN_VERSION).tar.xz OPENVPN_SITE = http://swupdate.openvpn.net/community/releases OPENVPN_DEPENDENCIES = host-pkgconf openssl From 99ed85d74081a8611a6f6d1f3d745a5c40aef975 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Fri, 4 Nov 2016 10:08:37 +0000 Subject: [PATCH 002/180] cmake: bump version to 3.6.3 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- .../cmake/0001-rename_cmake_rootfile.patch | 30 +++++++++++-------- package/cmake/cmake.hash | 4 +-- package/cmake/cmake.mk | 4 +-- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/package/cmake/0001-rename_cmake_rootfile.patch b/package/cmake/0001-rename_cmake_rootfile.patch index 915b7e32bb..8c168c15a8 100644 --- a/package/cmake/0001-rename_cmake_rootfile.patch +++ b/package/cmake/0001-rename_cmake_rootfile.patch @@ -5,19 +5,25 @@ files are removed at build time via the target-finalize rule. This buildroot-specific patch makes sure ctest looks also for "Modules/CMake.cmake.ctest" before complaining -Signed-off-by: Davide Viti +[Vincent: tweak patch for 3.6.3] ---- cmake-3.0.2/Source/cmake.cxx~ 2014-09-11 15:24:01.000000000 +0200 -+++ cmake-3.0.2/Source/cmake.cxx 2014-11-25 15:48:04.461033690 +0100 -@@ -957,7 +957,10 @@ - "Path to cpack program executable.", cmCacheManager::INTERNAL); +Signed-off-by: Davide Viti +Signed-off-by: Vicente Olivert Riera + +diff -rup a/Source/cmake.cxx b/Source/cmake.cxx +--- a/Source/cmake.cxx 2016-07-07 15:47:27.000000000 +0100 ++++ b/Source/cmake.cxx 2016-07-14 10:14:59.914265515 +0100 +@@ -771,7 +771,12 @@ int cmake::AddCMakePaths() + "Path to cpack program executable.", cmState::INTERNAL); #endif - if(!cmSystemTools::FileExists( -- (cmSystemTools::GetCMakeRoot()+"/Modules/CMake.cmake").c_str())) -+ (cmSystemTools::GetCMakeRoot()+"/Modules/CMake.cmake").c_str()) && -+ !cmSystemTools::FileExists( -+ (cmSystemTools::GetCMakeRoot()+"/Modules/CMake.cmake.ctest").c_str()) + if (!cmSystemTools::FileExists( +- (cmSystemTools::GetCMakeRoot() + "/Modules/CMake.cmake").c_str())) { ++ (cmSystemTools::GetCMakeRoot() + "/Modules/CMake.cmake").c_str()) && ++ !cmSystemTools::FileExists( ++ (cmSystemTools::GetCMakeRoot()+"/Modules/CMake.cmake.ctest").c_str() ++ ) + ) - { ++ { // couldn't find modules - cmSystemTools::Error("Could not find CMAKE_ROOT !!!\n" + cmSystemTools::Error( + "Could not find CMAKE_ROOT !!!\n" diff --git a/package/cmake/cmake.hash b/package/cmake/cmake.hash index e40d4ea39a..f846dc9541 100644 --- a/package/cmake/cmake.hash +++ b/package/cmake/cmake.hash @@ -1,2 +1,2 @@ -# From http://www.cmake.org/files/v3.5/cmake-3.5.2-SHA-256.txt -sha256 92d8410d3d981bb881dfff2aed466da55a58d34c7390d50449aa59b32bb5e62a cmake-3.5.2.tar.gz +# From http://www.cmake.org/files/v3.6/cmake-3.6.3-SHA-256.txt +sha256 7d73ee4fae572eb2d7cd3feb48971aea903bb30a20ea5ae8b4da826d8ccad5fe cmake-3.6.3.tar.gz diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk index 7a80c1bfef..fadb09ebdd 100644 --- a/package/cmake/cmake.mk +++ b/package/cmake/cmake.mk @@ -4,8 +4,8 @@ # ################################################################################ -CMAKE_VERSION_MAJOR = 3.5 -CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).2 +CMAKE_VERSION_MAJOR = 3.6 +CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).3 CMAKE_SITE = https://cmake.org/files/v$(CMAKE_VERSION_MAJOR) CMAKE_LICENSE = BSD-3c CMAKE_LICENSE_FILES = Copyright.txt From 5f9381fa55f9de08e4810417094679fb3662149a Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Fri, 4 Nov 2016 10:32:13 +0000 Subject: [PATCH 003/180] systemd: bump version to 232 - 0002 patch tweaked. There is a hunk that has been removed upstream by this commit: https://github.com/systemd/systemd/commit/082210c7a837063fd8b520b18c221b42059d7eff - Patches 0004, 0005 and 0006 were backported from upstream and now they are included in this release, so drop them. Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- ...sys-revert-use-of-ln-relative-option.patch | 18 ++--- ...rt-raw-needs-missing.h-for-O_TMPFILE.patch | 31 --------- ...-missing-definitions-for-__O_TMPFILE.patch | 63 ------------------ ...-fileio-we-always-have-O_TMPFILE-now.patch | 65 ------------------- package/systemd/systemd.hash | 2 +- package/systemd/systemd.mk | 2 +- 6 files changed, 9 insertions(+), 172 deletions(-) delete mode 100644 package/systemd/0004-importd-export-raw-needs-missing.h-for-O_TMPFILE.patch delete mode 100644 package/systemd/0005-missing.h-add-missing-definitions-for-__O_TMPFILE.patch delete mode 100644 package/systemd/0006-basic-fileio-we-always-have-O_TMPFILE-now.patch diff --git a/package/systemd/0002-build-sys-revert-use-of-ln-relative-option.patch b/package/systemd/0002-build-sys-revert-use-of-ln-relative-option.patch index 18dc98790c..2c1d929ebc 100644 --- a/package/systemd/0002-build-sys-revert-use-of-ln-relative-option.patch +++ b/package/systemd/0002-build-sys-revert-use-of-ln-relative-option.patch @@ -11,25 +11,21 @@ for example). Signed-off-by: Eric Le Bihan [Maxime: refresh the patch] +[Vincent: + refresh the patch, move-to-rootlibdir removed by: + https://github.com/systemd/systemd/commit/082210c7a837063fd8b520b18c221b42059d7eff +] Signed-off-by: Maxime Hadjinlian +Signed-off-by: Vicente Olivert Riera --- - Makefile.am | 15 +++------------ + Makefile.am | 11 ++--------- configure.ac | 2 -- - 2 files changed, 3 insertions(+), 14 deletions(-) + 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/Makefile.am b/Makefile.am index 0c27f81..4de1595 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -255,7 +255,7 @@ define move-to-rootlibdir - $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \ - so_img_name=$$(readlink $(DESTDIR)$(libdir)/$$libname) && \ - rm -f $(DESTDIR)$(libdir)/$$libname && \ -- $(LN_S) --relative -f $(DESTDIR)$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \ -+ $(LN_S) -f $(DESTDIR)$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \ - mv $(DESTDIR)$(libdir)/$$libname.* $(DESTDIR)$(rootlibdir); \ - fi - endef @@ -312,9 +312,9 @@ install-aliases-hook: set -- $(SYSTEM_UNIT_ALIASES) && \ dir=$(systemunitdir) && $(install-aliases) diff --git a/package/systemd/0004-importd-export-raw-needs-missing.h-for-O_TMPFILE.patch b/package/systemd/0004-importd-export-raw-needs-missing.h-for-O_TMPFILE.patch deleted file mode 100644 index bded6bc5d4..0000000000 --- a/package/systemd/0004-importd-export-raw-needs-missing.h-for-O_TMPFILE.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 4a6d35237f96d07f3a783c874933f87bf14f93e0 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 28 Aug 2016 16:26:04 +0200 -Subject: [PATCH] importd/export-raw: needs missing.h for O_TMPFILE - -O_TMPFILE may be missing from the system headers, so use our fallback -definition. - -Signed-off-by: "Yann E. MORIN" ---- -Backported from upstream: - https://github.com/systemd/systemd/commit/4a6d35237f96d07f3a783c874933f87bf14f93e0 ---- - src/import/export-raw.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/import/export-raw.c b/src/import/export-raw.c -index db06e11..6136b67 100644 ---- a/src/import/export-raw.c -+++ b/src/import/export-raw.c -@@ -34,6 +34,7 @@ - #include "fd-util.h" - #include "fileio.h" - #include "import-common.h" -+#include "missing.h" - #include "ratelimit.h" - #include "string-util.h" - #include "util.h" --- -2.7.4 - diff --git a/package/systemd/0005-missing.h-add-missing-definitions-for-__O_TMPFILE.patch b/package/systemd/0005-missing.h-add-missing-definitions-for-__O_TMPFILE.patch deleted file mode 100644 index 1c5ca05c97..0000000000 --- a/package/systemd/0005-missing.h-add-missing-definitions-for-__O_TMPFILE.patch +++ /dev/null @@ -1,63 +0,0 @@ -From daad709a7c13c0fac73e407528f96cc876c09629 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 28 Aug 2016 17:26:42 +0200 -Subject: [PATCH] missing.h: add missing definitions for __O_TMPFILE - -Currently, a missing __O_TMPFILE was only defined for i386 and x86_64, -leaving any other architectures with an "old" toolchain fail miserably -at build time: - src/import/export-raw.c: In function 'reflink_snapshot': - src/import/export-raw.c:271:26: error: 'O_TMPFILE' undeclared (first use in this function) - new_fd = open(d, O_TMPFILE|O_CLOEXEC|O_NOCTTY|O_RDWR, 0600); - ^ - -__O_TMPFILE (and O_TMPFILE) are available since glibc 2.19. However, a -lot of existing toolchains are still using glibc-2.18, and some even -before that, and it is not really possible to update those toolchains. - -Instead of defining it only for i386 and x86_64, define __O_TMPFILE -with the specific values for those archs where it is different from the -generic value. Use the values as found in the Linux kernel (v4.8-rc3, -current as of time of commit). - -Signed-off-by: "Yann E. MORIN" ---- -Backported from upstream: - https://github.com/systemd/systemd/commit/daad709a7c13c0fac73e407528f96cc876c09629 ---- - src/basic/missing.h | 17 +++++++++++++---- - 1 file changed, 13 insertions(+), 4 deletions(-) - -diff --git a/src/basic/missing.h b/src/basic/missing.h -index f8e0966..13ff51c 100644 ---- a/src/basic/missing.h -+++ b/src/basic/missing.h -@@ -537,12 +537,21 @@ struct btrfs_ioctl_quota_ctl_args { - # define DRM_IOCTL_DROP_MASTER _IO('d', 0x1f) - #endif - --#if defined(__i386__) || defined(__x86_64__) -- --/* The precise definition of __O_TMPFILE is arch specific, so let's -- * just define this on x86 where we know the value. */ -+/* The precise definition of __O_TMPFILE is arch specific; use the -+ * values defined by the kernel (note: some are hexa, some are octal, -+ * duplicated as-is from the kernel definitions): -+ * - alpha, parisc, sparc: each has a specific value; -+ * - others: they use the "generic" value. -+ */ - - #ifndef __O_TMPFILE -+#if defined(__alpha__) -+#define __O_TMPFILE 0100000000 -+#elif defined(__parisc__) || defined(__hppa__) -+#define __O_TMPFILE 0400000000 -+#elif defined(__sparc__) || defined(__sparc64__) -+#define __O_TMPFILE 0x2000000 -+#else - #define __O_TMPFILE 020000000 - #endif - --- -2.7.4 - diff --git a/package/systemd/0006-basic-fileio-we-always-have-O_TMPFILE-now.patch b/package/systemd/0006-basic-fileio-we-always-have-O_TMPFILE-now.patch deleted file mode 100644 index e0e7209e60..0000000000 --- a/package/systemd/0006-basic-fileio-we-always-have-O_TMPFILE-now.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 1d9ed171788821c21ca900a921833a8e41bf22f3 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Mon, 29 Aug 2016 12:34:50 +0200 -Subject: [PATCH] basic/fileio: we always have O_TMPFILE now - -fileio makes use of O_TMPFILE when it is available. - -We now always have O_TMPFILE, defined in missing.h if missing -from the toolchain headers. - -Have fileio include missing.h and drop the guards around the -use of O_TMPFILE. - -Signed-off-by: "Yann E. MORIN" ---- -Backported from upstream: - https://github.com/systemd/systemd/commit/1d9ed171788821c21ca900a921833a8e41bf22f3 ---- - src/basic/fileio.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/src/basic/fileio.c b/src/basic/fileio.c -index d642f3d..a5920e7 100644 ---- a/src/basic/fileio.c -+++ b/src/basic/fileio.c -@@ -37,6 +37,7 @@ - #include "hexdecoct.h" - #include "log.h" - #include "macro.h" -+#include "missing.h" - #include "parse-util.h" - #include "path-util.h" - #include "random-util.h" -@@ -1280,12 +1281,10 @@ int open_tmpfile_unlinkable(const char *directory, int flags) { - - /* Returns an unlinked temporary file that cannot be linked into the file system anymore */ - --#ifdef O_TMPFILE - /* Try O_TMPFILE first, if it is supported */ - fd = open(directory, flags|O_TMPFILE|O_EXCL, S_IRUSR|S_IWUSR); - if (fd >= 0) - return fd; --#endif - - /* Fall back to unguessable name + unlinking */ - p = strjoina(directory, "/systemd-tmp-XXXXXX"); -@@ -1313,7 +1312,6 @@ int open_tmpfile_linkable(const char *target, int flags, char **ret_path) { - * which case "ret_path" will be returned as NULL. If not possible a the tempoary path name used is returned in - * "ret_path". Use link_tmpfile() below to rename the result after writing the file in full. */ - --#ifdef O_TMPFILE - { - _cleanup_free_ char *dn = NULL; - -@@ -1329,7 +1327,6 @@ int open_tmpfile_linkable(const char *target, int flags, char **ret_path) { - - log_debug_errno(errno, "Failed to use O_TMPFILE on %s: %m", dn); - } --#endif - - r = tempfn_random(target, NULL, &tmp); - if (r < 0) --- -2.7.4 - diff --git a/package/systemd/systemd.hash b/package/systemd/systemd.hash index 30e9ef6527..0acaa3cdcd 100644 --- a/package/systemd/systemd.hash +++ b/package/systemd/systemd.hash @@ -1,2 +1,2 @@ # sha256 locally computed -sha256 899733ad6c157cedbb89aec4efe3bc824dcfd65a1d6f6bebc7b043f7924e39b4 systemd-231.tar.gz +sha256 1172c7c7d5d72fbded53186e7599d5272231f04cc8b72f9a0fb2c5c20dfc4880 systemd-232.tar.gz diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk index fb07819594..fa07bd0572 100644 --- a/package/systemd/systemd.mk +++ b/package/systemd/systemd.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSTEMD_VERSION = 231 +SYSTEMD_VERSION = 232 SYSTEMD_SITE = $(call github,systemd,systemd,v$(SYSTEMD_VERSION)) SYSTEMD_LICENSE = LGPLv2.1+, GPLv2+ (udev), Public Domain (few source files, see README) SYSTEMD_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 README From 944805f012f4f1f8e77aba0bbc5edc7e786999a2 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Fri, 4 Nov 2016 07:08:21 +0100 Subject: [PATCH 004/180] tinycbor: bump to version v0.4 Signed-off-by: Fabrice Fontaine Signed-off-by: Thomas Petazzoni --- package/tinycbor/tinycbor.hash | 4 +--- package/tinycbor/tinycbor.mk | 13 +------------ 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/package/tinycbor/tinycbor.hash b/package/tinycbor/tinycbor.hash index f07fc17d9a..88300e8e34 100644 --- a/package/tinycbor/tinycbor.hash +++ b/package/tinycbor/tinycbor.hash @@ -1,4 +1,2 @@ # Locally computed: -sha256 f70de1e6b7e3750abb4ceacf0059e47b47c769f113434de10293b33867ce54c2 tinycbor-v0.3.2.tar.gz -sha256 7d3aa839ae246e9e14fc73e67869d88c684802c1578fb75503f3fdde1482dcf6 ede7f1431ae06c9086f2a83a57bd7832d99280e3.patch -sha256 42054074478d074d0320e0c64e8d44f60081b6f0d8dc0e3607e0fb7f4dad96a4 ad09b6af11fc8b6391041973783785cfe1559d63.patch +sha256 302ac9de66f1048725040ccc9a99e03c20529ac2b150ccf35cfd1e2dafa81c4b tinycbor-v0.4.tar.gz diff --git a/package/tinycbor/tinycbor.mk b/package/tinycbor/tinycbor.mk index 8ce9a76824..2691e5b8d3 100644 --- a/package/tinycbor/tinycbor.mk +++ b/package/tinycbor/tinycbor.mk @@ -4,22 +4,11 @@ # ################################################################################ -TINYCBOR_VERSION = v0.3.2 +TINYCBOR_VERSION = v0.4 TINYCBOR_SITE = $(call github,01org,tinycbor,$(TINYCBOR_VERSION)) TINYCBOR_LICENSE = MIT TINYCBOR_LICENSE_FILES = LICENSE -# This patch fixes the issue on unnamed union which are not supported by some -# targets like blackfin -# This patch is currently in dev branch and will be a part of v0.4 -TINYCBOR_PATCH = \ - https://github.com/01org/tinycbor/commit/ede7f1431ae06c9086f2a83a57bd7832d99280e3.patch - -# This patch fixes the issue on cjson detection -# This patch is currently in dev branch and will be a part of v0.4 -TINYCBOR_PATCH += \ - https://github.com/01org/tinycbor/commit/ad09b6af11fc8b6391041973783785cfe1559d63.patch - TINYCBOR_DEPENDENCIES = host-pkgconf TINYCBOR_INSTALL_STAGING = YES From bdb8f8231b0418c91bb800b59afa89f182a36081 Mon Sep 17 00:00:00 2001 From: Rahul Jain Date: Mon, 17 Oct 2016 16:32:23 +0530 Subject: [PATCH 005/180] ustream-ssl: new package ustream-ssl has support for polarssl and cyassl but since polarssl is made obsolete by mbedtls and cyassl is not present in buildroot, we have not added support for it. Signed-off-by: Rahul Bedarkar Signed-off-by: Rahul Jain Signed-off-by: Thomas Petazzoni --- package/Config.in | 1 + package/ustream-ssl/Config.in | 12 ++++++++++++ package/ustream-ssl/ustream-ssl.mk | 21 +++++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 package/ustream-ssl/Config.in create mode 100644 package/ustream-ssl/ustream-ssl.mk diff --git a/package/Config.in b/package/Config.in index 9ed296f2d9..a24110e8ac 100644 --- a/package/Config.in +++ b/package/Config.in @@ -912,6 +912,7 @@ menu "Crypto" source "package/polarssl/Config.in" source "package/tinydtls/Config.in" source "package/trousers/Config.in" + source "package/ustream-ssl/Config.in" endmenu menu "Database" diff --git a/package/ustream-ssl/Config.in b/package/ustream-ssl/Config.in new file mode 100644 index 0000000000..540e43689f --- /dev/null +++ b/package/ustream-ssl/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_USTREAM_SSL + bool "ustream-ssl" + depends on !BR2_STATIC_LIBS #libubox + select BR2_PACKAGE_LIBUBOX + select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS + help + ustream SSL wrapper + + https://git.openwrt.org/?p=project/ustream-ssl.git;a=summary + +comment "ustream-ssl needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/ustream-ssl/ustream-ssl.mk b/package/ustream-ssl/ustream-ssl.mk new file mode 100644 index 0000000000..b83d129a23 --- /dev/null +++ b/package/ustream-ssl/ustream-ssl.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# ustream-ssl +# +################################################################################ + +USTREAM_SSL_VERSION = ec80adaa1b47f28d426fa19c692011ce60b992d6 +USTREAM_SSL_SITE = git://git.openwrt.org/project/ustream-ssl.git +USTREAM_SSL_LICENSE = ISC +USTREAM_SSL_LICENSE_FILES = ustream-ssl.h +USTREAM_SSL_INSTALL_STAGING = YES +USTREAM_SSL_DEPENDENCIES = libubox + +ifeq ($(BR2_PACKAGE_MBEDTLS),y) +USTREAM_SSL_DEPENDENCIES += mbedtls +USTREAM_SSL_CONF_OPTS += -DMBEDTLS=ON +else +USTREAM_SSL_DEPENDENCIES += openssl +endif + +$(eval $(cmake-package)) From dde8a7610092608fefc55e2024a71e8cb769fbc0 Mon Sep 17 00:00:00 2001 From: Rahul Jain Date: Mon, 17 Oct 2016 16:32:24 +0530 Subject: [PATCH 006/180] uhttpd: new package Signed-off-by: Rahul Bedarkar Signed-off-by: Neha Bairathi Signed-off-by: Abhishek Singh Signed-off-by: Rahul Jain [Thomas: remove luajit support, as it doesn't build.] Signed-off-by: Thomas Petazzoni --- package/Config.in | 1 + package/uhttpd/Config.in | 18 ++++++++++++++++++ package/uhttpd/uhttpd.hash | 2 ++ package/uhttpd/uhttpd.mk | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 package/uhttpd/Config.in create mode 100644 package/uhttpd/uhttpd.hash create mode 100644 package/uhttpd/uhttpd.mk diff --git a/package/Config.in b/package/Config.in index a24110e8ac..0d449dcfb7 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1616,6 +1616,7 @@ endif source "package/tunctl/Config.in" source "package/tvheadend/Config.in" source "package/udpcast/Config.in" + source "package/uhttpd/Config.in" source "package/ulogd/Config.in" source "package/ushare/Config.in" source "package/ussp-push/Config.in" diff --git a/package/uhttpd/Config.in b/package/uhttpd/Config.in new file mode 100644 index 0000000000..e463b9305c --- /dev/null +++ b/package/uhttpd/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_UHTTPD + bool "uhttpd" + depends on !BR2_STATIC_LIBS # dlopen() + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c + depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBUBOX + select BR2_PACKAGE_JSON_C + help + uHTTPd is a tiny single threaded HTTP server with TLS, CGI and Lua + support. It is intended as a drop-in replacement for the Busybox + HTTP daemon. + + https://wiki.openwrt.org/doc/howto/http.uhttpd + +comment "uhttpd needs a toolchain w/ dynamic library" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS diff --git a/package/uhttpd/uhttpd.hash b/package/uhttpd/uhttpd.hash new file mode 100644 index 0000000000..59e54ad49a --- /dev/null +++ b/package/uhttpd/uhttpd.hash @@ -0,0 +1,2 @@ +# No hash for this git snapshot +none xxx uhttpd-59e0c739634f46a164d939e54416287b91ff8a9b.tar.gz diff --git a/package/uhttpd/uhttpd.mk b/package/uhttpd/uhttpd.mk new file mode 100644 index 0000000000..be0d7d63c6 --- /dev/null +++ b/package/uhttpd/uhttpd.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# uhttpd +# +################################################################################ + +UHTTPD_VERSION = 59e0c739634f46a164d939e54416287b91ff8a9b +UHTTPD_SITE = http://git.openwrt.org/project/uhttpd.git +UHTTPD_SITE_METHOD = git +UHTTPD_LICENSE = ISC +UHTTPD_LICENSE_FILES = uhttpd.h +UHTTPD_DEPENDENCIES = libubox json-c + +ifeq ($(BR2_PACKAGE_LUA_5_1),y) +UHTTPD_DEPENDENCIES += lua +UHTTPD_CONF_OPTS += -DLUA_SUPPORT=ON +else +UHTTPD_CONF_OPTS += -DLUA_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_USTREAM_SSL),y) +UHTTPD_DEPENDENCIES += ustream-ssl +UHTTPD_CONF_OPTS += -DTLS_SUPPORT=ON +else +UHTTPD_CONF_OPTS += -DTLS_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_UBUS),y) +UHTTPD_DEPENDENCIES += ubus +UHTTPD_CONF_OPTS += -DUBUS_SUPPORT=ON +else +UHTTPD_CONF_OPTS += -DUBUS_SUPPORT=OFF +endif + +$(eval $(cmake-package)) From 8bda3c5222a17762e8a7265c88eafe1a060c7714 Mon Sep 17 00:00:00 2001 From: Rahul Jain Date: Mon, 17 Oct 2016 16:32:25 +0530 Subject: [PATCH 007/180] DEVELOPERS: add entry for uhttpd and ustream-ssl Signed-off-by: Rahul Jain Signed-off-by: Thomas Petazzoni --- DEVELOPERS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/DEVELOPERS b/DEVELOPERS index 3a9c00d73c..77e71b0d47 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1229,6 +1229,10 @@ F: package/gssdp/ F: package/gupnp/ F: package/gupnp-av/ +N: Rahul Jain +F: package/uhttpd/ +F: package/ustream-ssl/ + N: Renaud Aubin F: package/libhttpparser/ From 0bd23d2dc23add4db2c4321c3da096cc916fb999 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sat, 5 Nov 2016 16:57:52 +0100 Subject: [PATCH 008/180] package/sudo: add optional support for zlib Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- package/sudo/sudo.mk | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/package/sudo/sudo.mk b/package/sudo/sudo.mk index f28312ace1..89859dda03 100644 --- a/package/sudo/sudo.mk +++ b/package/sudo/sudo.mk @@ -30,6 +30,13 @@ else SUDO_CONF_OPTS += --without-pam endif +ifeq ($(BR2_PACKAGE_ZLIB),y) +SUDO_CONF_OPTS += --enable-zlib +SUDO_DEPENDENCIES += zlib +else +SUDO_CONF_OPTS += --disable-zlib +endif + # mksigname/mksiglist needs to run on build host to generate source files define SUDO_BUILD_MKSIGNAME_MKSIGLIST_HOST $(MAKE) $(HOST_CONFIGURE_OPTS) \ From dbc5f228b219d9b05a048303ddbd624da3411dd2 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sat, 5 Nov 2016 16:57:53 +0100 Subject: [PATCH 009/180] package/sudo: bump version to 1.8.18p1 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- package/sudo/sudo.hash | 2 +- package/sudo/sudo.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/sudo/sudo.hash b/package/sudo/sudo.hash index 4c2431f13d..c6f5be3ab4 100644 --- a/package/sudo/sudo.hash +++ b/package/sudo/sudo.hash @@ -1,2 +1,2 @@ # From: http://www.sudo.ws/download.html -sha256 4316381708324da8b6cb151f655c1a11855207c7c02244d8ffdea5104d7cc308 sudo-1.8.15.tar.gz +sha256 e5a0471c721281a693025bbde33ebd9d3db43245d83ab8516bbfc23980379434 sudo-1.8.18p1.tar.gz diff --git a/package/sudo/sudo.mk b/package/sudo/sudo.mk index 89859dda03..3643d55dbc 100644 --- a/package/sudo/sudo.mk +++ b/package/sudo/sudo.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUDO_VERSION = 1.8.15 +SUDO_VERSION = 1.8.18p1 SUDO_SITE = http://www.sudo.ws/sudo/dist SUDO_LICENSE = ISC BSD-3c SUDO_LICENSE_FILES = doc/LICENSE From 6bb7430a20871ad4e3ccbc8c1992d60117214be2 Mon Sep 17 00:00:00 2001 From: Arnout Vandecappelle Date: Sat, 5 Nov 2016 22:05:08 +0100 Subject: [PATCH 010/180] Makefile: delete default rules We don't use the default implicit rules that are added by make, so they just slow down the Makefile processing. The default implicit rules can be removed by defining an empty .SUFFIXES: target. This speeds up the start of the build on my machine from 5.6s to 4.9s. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Signed-off-by: Thomas Petazzoni --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 4ea64b3698..6cf5f1ce1e 100644 --- a/Makefile +++ b/Makefile @@ -24,6 +24,9 @@ # You shouldn't need to mess with anything beyond this point... #-------------------------------------------------------------- +# Delete default rules. We don't use them. This saves a bit of time. +.SUFFIXES: + # we want bash as shell SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ else if [ -x /bin/bash ]; then echo /bin/bash; \ From 83be94a56a14b921a0a680cfe8f5bbab737b313c Mon Sep 17 00:00:00 2001 From: Luca Ceresoli Date: Sun, 6 Nov 2016 22:30:09 +0100 Subject: [PATCH 011/180] libpjsip: bump to 2.5.5 Remove patches now upstream. Disable new optional features: webrtc and opus. Signed-off-by: Luca Ceresoli Signed-off-by: Thomas Petazzoni --- ...compatible-with-musl-fixes-musl-buil.patch | 53 ------------ ...priority-with-sched_priority-fixes-m.patch | 82 ------------------- package/libpjsip/libpjsip.hash | 6 +- package/libpjsip/libpjsip.mk | 4 +- 4 files changed, 6 insertions(+), 139 deletions(-) delete mode 100644 package/libpjsip/0001-Use-mutex-types-compatible-with-musl-fixes-musl-buil.patch delete mode 100644 package/libpjsip/0002-Replace-__sched_priority-with-sched_priority-fixes-m.patch diff --git a/package/libpjsip/0001-Use-mutex-types-compatible-with-musl-fixes-musl-buil.patch b/package/libpjsip/0001-Use-mutex-types-compatible-with-musl-fixes-musl-buil.patch deleted file mode 100644 index ab3444b710..0000000000 --- a/package/libpjsip/0001-Use-mutex-types-compatible-with-musl-fixes-musl-buil.patch +++ /dev/null @@ -1,53 +0,0 @@ -From ba1057d74aac6c2dde5477bd6a2deea79f14962c Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Sat, 12 Mar 2016 15:19:34 +0100 -Subject: [PATCH 1/2] Use mutex types compatible with musl (fixes musl build) - -PTHREAD_MUTEX_FAST_NP and PTHREAD_MUTEX_RECURSIVE_NP are not defined -in the musl C library. Use values that map to the same mutex type in -GNU libc and uClibc-ng. - -Fixes the following build errors when building with musl: - - ../src/pj/os_core_unix.c: In function 'init_mutex': - ../src/pj/os_core_unix.c:1128:40: error: 'PTHREAD_MUTEX_FAST_NP' undeclared (first use in this function) - rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_FAST_NP); - ^ - ../src/pj/os_core_unix.c:1128:40: note: each undeclared identifier is reported only once for each function it appears in - ../src/pj/os_core_unix.c:1138:40: error: 'PTHREAD_MUTEX_RECURSIVE_NP' undeclared (first use in this function) - rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP); - ^ - -Original patch: -http://git.alpinelinux.org/cgit/aports/plain/main/pjproject/musl-fixes.patch - -Signed-off-by: Luca Ceresoli ---- - pjlib/src/pj/os_core_unix.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/pjlib/src/pj/os_core_unix.c b/pjlib/src/pj/os_core_unix.c -index 1c87b2f..f08ba27 100644 ---- a/pjlib/src/pj/os_core_unix.c -+++ b/pjlib/src/pj/os_core_unix.c -@@ -1125,7 +1125,7 @@ static pj_status_t init_mutex(pj_mutex_t *mutex, const char *name, int type) - if (type == PJ_MUTEX_SIMPLE) { - #if (defined(PJ_LINUX) && PJ_LINUX!=0) || \ - defined(PJ_HAS_PTHREAD_MUTEXATTR_SETTYPE) -- rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_FAST_NP); -+ rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); - #elif (defined(PJ_RTEMS) && PJ_RTEMS!=0) || \ - defined(PJ_PTHREAD_MUTEXATTR_T_HAS_RECURSIVE) - /* Nothing to do, default is simple */ -@@ -1135,7 +1135,7 @@ static pj_status_t init_mutex(pj_mutex_t *mutex, const char *name, int type) - } else { - #if (defined(PJ_LINUX) && PJ_LINUX!=0) || \ - defined(PJ_HAS_PTHREAD_MUTEXATTR_SETTYPE) -- rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP); -+ rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); - #elif (defined(PJ_RTEMS) && PJ_RTEMS!=0) || \ - defined(PJ_PTHREAD_MUTEXATTR_T_HAS_RECURSIVE) - // Phil Torre : --- -1.9.1 - diff --git a/package/libpjsip/0002-Replace-__sched_priority-with-sched_priority-fixes-m.patch b/package/libpjsip/0002-Replace-__sched_priority-with-sched_priority-fixes-m.patch deleted file mode 100644 index e1cb00229a..0000000000 --- a/package/libpjsip/0002-Replace-__sched_priority-with-sched_priority-fixes-m.patch +++ /dev/null @@ -1,82 +0,0 @@ -From cca93ce25f993c97ef3d96fa32461d5717c30518 Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Sat, 12 Mar 2016 15:31:47 +0100 -Subject: [PATCH 2/2] Replace __sched_priority with sched_priority(fixes musl - build) - -The musl C library defines sched_priority, not __sched_priority as GNU -libc and uClibc-ng do. Use sched_priority instead. - -This does not break compatibility with GNU libc and uClibc-ng because -both define in sched.h: - - #define sched_priority __sched_priority - -Fixes the following build errors when building with musl: - - ../src/samples/siprtp.c: In function 'boost_priority': - ../src/samples/siprtp.c:1137:7: error: 'struct sched_param' has no member named '__sched_priority' - tp.__sched_priority = max_prio; - ^ - In file included from /home/murray/devel/buildroot/test-musl-eabi/build/libpjsip-2.4.5/pjlib/include/pj/except.h:30:0, - from /home/murray/devel/buildroot/test-musl-eabi/build/libpjsip-2.4.5/pjlib/include/pjlib.h:35, - from ../src/samples/siprtp.c:76: - ../src/samples/siprtp.c:1146:18: error: 'struct sched_param' has no member named '__sched_priority' - policy, tp.__sched_priority)); - ^ - -Original patch: -http://git.alpinelinux.org/cgit/aports/plain/main/pjproject/musl-fixes.patch - -Signed-off-by: Luca Ceresoli ---- - pjsip-apps/src/samples/siprtp.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/pjsip-apps/src/samples/siprtp.c b/pjsip-apps/src/samples/siprtp.c -index 796464f..6e32a8f 100644 ---- a/pjsip-apps/src/samples/siprtp.c -+++ b/pjsip-apps/src/samples/siprtp.c -@@ -1134,7 +1134,7 @@ static void boost_priority(void) - PJ_RETURN_OS_ERROR(rc)); - return; - } -- tp.__sched_priority = max_prio; -+ tp.sched_priority = max_prio; - - rc = sched_setscheduler(0, POLICY, &tp); - if (rc != 0) { -@@ -1143,7 +1143,7 @@ static void boost_priority(void) - } - - PJ_LOG(4, (THIS_FILE, "New process policy=%d, priority=%d", -- policy, tp.__sched_priority)); -+ policy, tp.sched_priority)); - - /* - * Adjust thread scheduling algorithm and priority -@@ -1156,10 +1156,10 @@ static void boost_priority(void) - } - - PJ_LOG(4, (THIS_FILE, "Old thread policy=%d, priority=%d", -- policy, tp.__sched_priority)); -+ policy, tp.sched_priority)); - - policy = POLICY; -- tp.__sched_priority = max_prio; -+ tp.sched_priority = max_prio; - - rc = pthread_setschedparam(pthread_self(), policy, &tp); - if (rc != 0) { -@@ -1169,7 +1169,7 @@ static void boost_priority(void) - } - - PJ_LOG(4, (THIS_FILE, "New thread policy=%d, priority=%d", -- policy, tp.__sched_priority)); -+ policy, tp.sched_priority)); - } - - #else --- -1.9.1 - diff --git a/package/libpjsip/libpjsip.hash b/package/libpjsip/libpjsip.hash index e0d3d14323..99760652cb 100644 --- a/package/libpjsip/libpjsip.hash +++ b/package/libpjsip/libpjsip.hash @@ -1,5 +1,5 @@ -# From http://www.pjsip.org/release/2.4.5/MD5SUM.TXT -md5 f58b3485977b3a700256203a554b3869 pjproject-2.4.5.tar.bz2 +# From http://www.pjsip.org/release/2.5.5/MD5SUM.TXT +md5 183f7144b9aa238884243c0fc52ece36 pjproject-2.5.5.tar.bz2 # Locally computed -sha256 086f5e70dcaee312b66ddc24dac6ef85e6f1fec4eed00ff2915cebe0ee3cdd8d pjproject-2.4.5.tar.bz2 +sha256 ab39207b761d3485199cd881410afeb2d171dff7c2bf75e8caae91c6dca508f3 pjproject-2.5.5.tar.bz2 diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk index 2b5e18f223..cb0d866e25 100644 --- a/package/libpjsip/libpjsip.mk +++ b/package/libpjsip/libpjsip.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPJSIP_VERSION = 2.4.5 +LIBPJSIP_VERSION = 2.5.5 LIBPJSIP_SOURCE = pjproject-$(LIBPJSIP_VERSION).tar.bz2 LIBPJSIP_SITE = http://www.pjsip.org/release/$(LIBPJSIP_VERSION) LIBPJSIP_DEPENDENCIES = libsrtp @@ -34,6 +34,8 @@ LIBPJSIP_CONF_OPTS = \ --disable-opencore-amr \ --disable-g7221-codec \ --disable-ilbc-codec \ + --disable-webrtc \ + --disable-opus \ --with-external-srtp=$(STAGING_DIR)/usr ifeq ($(BR2_PACKAGE_OPENSSL),y) From 61331ac08e688ba5cf2913a09cbb3c54892cd54a Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Sun, 6 Nov 2016 17:12:14 -0200 Subject: [PATCH 012/180] freescale: Add a standard genimage script for MX23/MX28 Add a standard genimage script for the MXS processors (MX23 and MX28). Based on the common scripts for the other imx devices: board/freescale/common/genimage.cfg.template board/freescale/common/post-image.sh This makes it easier to add new MX23/MX28 boards configurations into Buildroot. Signed-off-by: Fabio Estevam Signed-off-by: Thomas Petazzoni --- .../common/mxs/genimage.cfg.template | 39 ++++++++++++++ board/freescale/common/mxs/post-image.sh | 54 +++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 board/freescale/common/mxs/genimage.cfg.template create mode 100755 board/freescale/common/mxs/post-image.sh diff --git a/board/freescale/common/mxs/genimage.cfg.template b/board/freescale/common/mxs/genimage.cfg.template new file mode 100644 index 0000000000..e094fb7f2c --- /dev/null +++ b/board/freescale/common/mxs/genimage.cfg.template @@ -0,0 +1,39 @@ +# Minimal SD card image for the Freescale MX23/MX28 Template +# +# We mimic the .sdcard Freescale's MX23/MX28 image format: +# * u-boot.sb is placed at offset 1M, +# * a FAT partition at offset 16 MB is containing zImage/uImage and DTB files +# * a single root filesystem partition is required (ext2, ext3 or ext4) +# + +image boot.vfat { + vfat { + files = { + %FILES% + } + } + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0x53 + image = "u-boot.sd" + offset = 1M + size = 16M + } + + partition kernel { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + } +} diff --git a/board/freescale/common/mxs/post-image.sh b/board/freescale/common/mxs/post-image.sh new file mode 100755 index 0000000000..0bfb835c6e --- /dev/null +++ b/board/freescale/common/mxs/post-image.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +# +# dtb_list extracts the list of DTB files from BR2_LINUX_KERNEL_INTREE_DTS_NAME +# in ${BR_CONFIG}, then prints the corresponding list of file names for the +# genimage configuration file +# +dtb_list() +{ + local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})" + + for dt in $DTB_LIST; do + echo -n "\"$dt.dtb\", " + done +} + +# +# linux_image extracts the Linux image format from BR2_LINUX_KERNEL_UIMAGE in +# ${BR_CONFIG}, then prints the corresponding file name for the genimage +# configuration file +# +linux_image() +{ + if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then + echo "\"uImage\"" + else + echo "\"zImage\"" + fi +} + +main() +{ + local FILES="$(dtb_list) $(linux_image)" + local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" + local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" + + sed -e "s/%FILES%/${FILES}/" \ + board/freescale/common/mxs/genimage.cfg.template > ${GENIMAGE_CFG} + + rm -rf "${GENIMAGE_TMP}" + + genimage \ + --rootpath "${TARGET_DIR}" \ + --tmppath "${GENIMAGE_TMP}" \ + --inputpath "${BINARIES_DIR}" \ + --outputpath "${BINARIES_DIR}" \ + --config "${GENIMAGE_CFG}" + + rm -f ${GENIMAGE_CFG} + + exit $? +} + +main $@ From dfd3b84813e8b12b0b9f6044b0ada20e0ccddaee Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Sun, 6 Nov 2016 17:12:15 -0200 Subject: [PATCH 013/180] configs/imx28evk: Use the common mxs genimage script Use the common mxs genimage script instead of a custom one. Signed-off-by: Fabio Estevam Signed-off-by: Thomas Petazzoni --- board/freescale/imx28evk/genimage.cfg | 29 -------------------------- board/freescale/imx28evk/post-image.sh | 14 ------------- configs/freescale_imx28evk_defconfig | 2 +- 3 files changed, 1 insertion(+), 44 deletions(-) delete mode 100644 board/freescale/imx28evk/genimage.cfg delete mode 100755 board/freescale/imx28evk/post-image.sh diff --git a/board/freescale/imx28evk/genimage.cfg b/board/freescale/imx28evk/genimage.cfg deleted file mode 100644 index 4df432f994..0000000000 --- a/board/freescale/imx28evk/genimage.cfg +++ /dev/null @@ -1,29 +0,0 @@ -image kernel.vfat { - vfat { - files = { - "zImage", "imx28-evk.dtb" - } - } - size = 16M -} - -image sdcard.img { - hdimage { - } - partition boot { - partition-type = 0x53 - image = "u-boot.sd" - offset = 1M - size = 16M - } - - partition kernel { - partition-type = 0xC - image = "kernel.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext2" - } -} diff --git a/board/freescale/imx28evk/post-image.sh b/board/freescale/imx28evk/post-image.sh deleted file mode 100755 index b4ac4608ff..0000000000 --- a/board/freescale/imx28evk/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/configs/freescale_imx28evk_defconfig b/configs/freescale_imx28evk_defconfig index 790c338251..08d5bd9cc7 100644 --- a/configs/freescale_imx28evk_defconfig +++ b/configs/freescale_imx28evk_defconfig @@ -31,4 +31,4 @@ BR2_TARGET_ROOTFS_EXT4=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/imx28evk/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/mxs/post-image.sh" From 7561c512a3bc39b0a2ed9df5c8b81cb5459d7e69 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:27 -0300 Subject: [PATCH 014/180] gstreamer1: bump to version 1.10.0 Remove gstconfig.h compatibility kludge since it has been fixed/reinstated upstream. Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gstreamer1/gstreamer1.hash | 4 ++-- package/gstreamer1/gstreamer1/gstreamer1.mk | 12 +----------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/package/gstreamer1/gstreamer1/gstreamer1.hash b/package/gstreamer1/gstreamer1/gstreamer1.hash index c85518e270..8bd7782a5d 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.hash +++ b/package/gstreamer1/gstreamer1/gstreamer1.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.8.3.tar.xz.sha256sum -sha256 66b37762d4fdcd63bce5a2bec57e055f92420e95037361609900278c0db7c53f gstreamer-1.8.3.tar.xz +# From http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.10.0.tar.xz.sha256sum +sha256 1e7778fabe480185bfc4ce552f0860de1443f6618a68a86ccdd65854fed37207 gstreamer-1.10.0.tar.xz diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index d69c3e87cd..f0afdd976c 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.8.3 +GSTREAMER1_VERSION = 1.10.0 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES @@ -36,14 +36,4 @@ GSTREAMER1_CONF_OPTS = \ GSTREAMER1_DEPENDENCIES = libglib2 host-pkgconf host-bison host-flex -# gstreamer-1.6 changed the location of its gstconfig.h file, -# and unfortunately, not all (by far!) consumers have been -# updated to look in the correct location. -# Add a symlink to the legacy location -define GSTREAMER1_LEGACY_CGSTCONFIG_H - cd $(STAGING_DIR)/usr/include/gstreamer-1.0/gst && \ - ln -sf ../../../lib/gstreamer-1.0/include/gst/gstconfig.h . -endef -GSTREAMER1_POST_INSTALL_STAGING_HOOKS += GSTREAMER1_LEGACY_CGSTCONFIG_H - $(eval $(autotools-package)) From bef9a1fbeb45c3c30d9e00de7ea1742012e538b3 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:28 -0300 Subject: [PATCH 015/180] gstreamer1: add explicit libunwind support It's a new feature for 1.10.0+, however it doesn't have an enable/disable configure switch so just handle the dependency. Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gstreamer1/gstreamer1.mk | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index f0afdd976c..cb111f2f4c 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -34,6 +34,11 @@ GSTREAMER1_CONF_OPTS = \ $(if $(BR2_PACKAGE_GSTREAMER1_PLUGIN_REGISTRY),,--disable-registry) \ $(if $(BR2_PACKAGE_GSTREAMER1_INSTALL_TOOLS),,--disable-tools) -GSTREAMER1_DEPENDENCIES = libglib2 host-pkgconf host-bison host-flex +GSTREAMER1_DEPENDENCIES = \ + host-bison \ + host-flex \ + host-pkgconf \ + libglib2 \ + $(if $(BR2_PACKAGE_LIBUNWIND),libunwind) $(eval $(autotools-package)) From 2b08e5ec871b031147595ab1189cdb3bb5aa0df5 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:29 -0300 Subject: [PATCH 016/180] gst1-plugins-base: bump to version 1.10.0 Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash | 4 ++-- package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index 83f0e83461..f4a43ca284 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.8.3.tar.xz.sha256sum -sha256 114871d4d63606b4af424a8433cd923e4ff66896b244bb7ac97b9da47f71e79e gst-plugins-base-1.8.3.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.10.0.tar.xz.sha256sum +sha256 bfcdef97dfc69a0bbdb4403c47aae4e53def176bf0b781c5d818550536cfe94a gst-plugins-base-1.10.0.tar.xz diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index 5a35897292..c5686b3eff 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.8.3 +GST1_PLUGINS_BASE_VERSION = 1.10.0 GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base GST1_PLUGINS_BASE_INSTALL_STAGING = YES From e6a58ad7d326d3dcc564e36e2dc157d5a3532d7c Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:30 -0300 Subject: [PATCH 017/180] gst1-plugins-good: bump to version 1.10.0 Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash | 4 ++-- package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash index 2e3db3d81b..a00db6cc43 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.8.3.tar.xz.sha256sum -sha256 a1d6579ba203a7734927c24b90bf6590d846c5a5fcec01a48201018c8ad2827a gst-plugins-good-1.8.3.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.10.0.tar.xz.sha256sum +sha256 7a03559763f5634ab1b4b2edd3e9f7442bdd4657187e20ea5e1887ae46371de2 gst-plugins-good-1.10.0.tar.xz diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index b4bc2e474c..ca3bfaa15e 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.8.3 +GST1_PLUGINS_GOOD_VERSION = 1.10.0 GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz GST1_PLUGINS_GOOD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-good GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING From 48adcc3503c12516c834a6343765f52ac292e640 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:31 -0300 Subject: [PATCH 018/180] gst1-plugins-bad: bump to version 1.10.0 Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash | 4 ++-- package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash index a0d6cdccc9..34f3dc2af9 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.8.3.tar.xz.sha256sum -sha256 7899fcb18e6a1af2888b19c90213af018a57d741c6e72ec56b133bc73ec8509b gst-plugins-bad-1.8.3.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.10.0.tar.xz.sha256sum +sha256 3d5f9d16e1a3ee7c5c024494cc3a3420007bfdce6f94511317ae004972811c4f gst-plugins-bad-1.10.0.tar.xz diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index eb935bc290..ac99fcd600 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BAD_VERSION = 1.8.3 +GST1_PLUGINS_BAD_VERSION = 1.10.0 GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz GST1_PLUGINS_BAD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-bad GST1_PLUGINS_BAD_INSTALL_STAGING = YES From b60aca590b6ea9b1ef4400b986631548195e6d19 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 6 Nov 2016 23:04:47 +0100 Subject: [PATCH 019/180] fdk-aac: refactor architecture dependency as a blind option In preparation to the addition of a fdk-aac GStreamer plugin that will have to select the fdk-aac package (and therefore inherits its dependencies), this commits adds a BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS blind option to avoid duplicating the architecture dependencies of this package. Signed-off-by: Thomas Petazzoni --- package/fdk-aac/Config.in | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/package/fdk-aac/Config.in b/package/fdk-aac/Config.in index 9e18d22039..f51c5ab19c 100644 --- a/package/fdk-aac/Config.in +++ b/package/fdk-aac/Config.in @@ -1,11 +1,14 @@ +# These are the architectures supported by FDK AAC +config BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS + bool + default y if BR2_i386 || BR2_x86_64 || BR2_arm || BR2_armeb || \ + BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ + BR2_powerpc || BR2_sh + config BR2_PACKAGE_FDK_AAC bool "fdk-aac" + depends on BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP - # These are the architectures supported by FDK AAC - depends on BR2_i386 || BR2_x86_64 || BR2_arm || BR2_armeb || \ - BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ - BR2_powerpc || BR2_sh - help The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements the MPEG Advanced Audio Coding ("AAC") @@ -14,7 +17,5 @@ config BR2_PACKAGE_FDK_AAC http://sourceforge.net/projects/opencore-amr/files/fdk-aac/ comment "fdk-aac needs a toolchain w/ C++" + depends on BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP - depends on BR2_i386 || BR2_x86_64 || BR2_arm || BR2_armeb || \ - BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ - BR2_powerpc || BR2_sh From 0d45e57a1292a803fe3d118c580243d2e8bd41c4 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:32 -0300 Subject: [PATCH 020/180] gst1-plugins-bad: enable fdkaac plugin It's new for 1.10.0, add an explicit option for the fdkaac plugin. Signed-off-by: Gustavo Zacarias [Thomas: add missing dependencies for the fdk-aac select, as noticed by Baruch Siach.] Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-plugins-bad/Config.in | 12 ++++++++++++ .../gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index 2f288cabc6..8af35cc2be 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -520,6 +520,18 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV help Linux framebuffer video sink +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FDK_AAC + bool "fdk-aac" + select BR2_PACKAGE_FDK_AAC + depends on BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP + help + MPEG AAC encoder/decoder + +comment "fdk-aac needs a toolchain w/ C++" + depends on BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL bool "gl" default y diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index ac99fcd600..cd9da7cbe1 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -642,6 +642,14 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-fbdev endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FDK_AAC),y) +GST1_PLUGINS_BAD_CONF_OPTS += --enable-fdk_aac +GST1_PLUGINS_BAD_DEPENDENCIES += fdk-aac +GST1_PLUGINS_BAD_HAS_UNKNOWN_LICENSE = y +else +GST1_PLUGINS_BAD_CONF_OPTS += --disable-fdk_aac +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-gl else From 8ea3a3b9c32f88871a1c3090a2a0dd5097061928 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 6 Nov 2016 23:18:58 +0100 Subject: [PATCH 021/180] webrtc-audio-processing: refactor architecture dependency as a blind option In preparation to the addition of a webrtc GStreamer plugin that will have to select the webrtc-audio-processing package (and therefore inherits its dependencies), this commits adds a BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS blind option to avoid duplicating the architecture dependencies of this package. Signed-off-by: Thomas Petazzoni --- package/webrtc-audio-processing/Config.in | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/package/webrtc-audio-processing/Config.in b/package/webrtc-audio-processing/Config.in index 79a06d8b3f..02715b080a 100644 --- a/package/webrtc-audio-processing/Config.in +++ b/package/webrtc-audio-processing/Config.in @@ -1,6 +1,10 @@ +config BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS + bool + default y if BR2_arm || BR2_i386 || BR2_x86_64 + config BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING bool "webrtc-audio-processing" - depends on BR2_arm || BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # pthread_condattr_setclock @@ -12,6 +16,6 @@ config BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/ comment "webrtc-audio-processing needs a toolchain w/ C++, NPTL, gcc >= 4.8" - depends on BR2_arm || BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 From ee267886bc090335dd94c97dca1c294addccc090 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:33 -0300 Subject: [PATCH 022/180] gst1-plugins-bad: enable webrtc plugin It's new for 1.10.0, add an explicit option for the webrtc plugin. Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-plugins-bad/Config.in | 17 +++++++++++++++++ .../gst1-plugins-bad/gst1-plugins-bad.mk | 7 +++++++ 2 files changed, 24 insertions(+) diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index 8af35cc2be..1e251afec6 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -682,6 +682,23 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBP help Webp image format plugin +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC + bool "webrtc" + # All depends from webrtc-audio-processing + depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING + select BR2_PACKAGE_WEBRTC + help + WebRTC echo-cancellation, gain control and noise suppression + +comment "webrtc needs a toolchain w/ C++, NPTL, gcc >= 4.8" + depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265 bool "x265" depends on BR2_INSTALL_LIBSTDCPP diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index cd9da7cbe1..ba9f8ffd08 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -794,6 +794,13 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-webp endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC),y) +GST1_PLUGINS_BAD_CONF_OPTS += --enable-webrtc +GST1_PLUGINS_BAD_DEPENDENCIES += webrtc-audio-processing +else +GST1_PLUGINS_BAD_CONF_OPTS += --disable-webrtc +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-x265 GST1_PLUGINS_BAD_DEPENDENCIES += x265 From 2485193b5d41e0456c22574b9add2f6b2261a2f1 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:34 -0300 Subject: [PATCH 023/180] gst1-plugins-bad: add new timecode plugin Add a new explicit option for the dependency-less timecode plugin. Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-plugins-bad/Config.in | 3 +++ package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index 1e251afec6..40bb2834e4 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -419,6 +419,9 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO bool "stereo" +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TIMECODE + bool "timecode" + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA bool "tta" diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index ba9f8ffd08..012b948b2c 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -517,6 +517,12 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-stereo endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TIMECODE),y) +GST1_PLUGINS_BAD_CONF_OPTS += --enable-timecode +else +GST1_PLUGINS_BAD_CONF_OPTS += --disable-timecode +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-tta else From 593446f3f436f3a27fd22251c38b97710edd8b7c Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:35 -0300 Subject: [PATCH 024/180] gst1-plugins-ugly: bump to version 1.10.0 Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash | 4 ++-- package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash index 1c6aa7d80a..57845256bc 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.8.3.tar.xz.sha256sum -sha256 6fa2599fdd072d31fbaf50c34af406e2be944a010b1f4eab67a5fe32a0310693 gst-plugins-ugly-1.8.3.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.10.0.tar.xz.sha256sum +sha256 97de8d1903abb54305732e6b8781c8c42f5cc5a2a548a8f31b38c189e81a55e0 gst-plugins-ugly-1.10.0.tar.xz diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk index 4a67a73bce..40234a1afe 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_UGLY_VERSION = 1.8.3 +GST1_PLUGINS_UGLY_VERSION = 1.10.0 GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz GST1_PLUGINS_UGLY_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-ugly GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING From 5ffd5bf1cd84a8d78827976f9cd277da2a02ed0f Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:36 -0300 Subject: [PATCH 025/180] gst1-libav: bump to version 1.10.0 Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-libav/gst1-libav.hash | 4 ++-- package/gstreamer1/gst1-libav/gst1-libav.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-libav/gst1-libav.hash b/package/gstreamer1/gst1-libav/gst1-libav.hash index 46d48a956e..329d1d6aa1 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.hash +++ b/package/gstreamer1/gst1-libav/gst1-libav.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.8.3.tar.xz.sha256sum -sha256 9006a05990089f7155ee0e848042f6bb24e52ab1d0a59ff8d1b5d7e33001a495 gst-libav-1.8.3.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.10.0.tar.xz.sha256sum +sha256 af98204411c78abb98233c1858f2886be6401304d24be218752bbbcede9bd85b gst-libav-1.10.0.tar.xz diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk index 5706c64623..718ebdb318 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.mk +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_LIBAV_VERSION = 1.8.3 +GST1_LIBAV_VERSION = 1.10.0 GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz GST1_LIBAV_SITE = https://gstreamer.freedesktop.org/src/gst-libav GST1_LIBAV_CONF_OPTS = --with-system-libav From 4ea04475a6d6fc472b5da3584702ee848596dc7b Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:37 -0300 Subject: [PATCH 026/180] gst1-rtsp-server: bump to version 1.10.0 Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash | 4 ++-- package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash index a30afbc1d3..597f0b20d6 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash @@ -1,2 +1,2 @@ -# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.8.3.tar.xz.sha256sum -sha256 010f06800c1c957851d1352e5ec7a8ba3ce6a857fec1b8afc7d1a9e5f53288bf gst-rtsp-server-1.8.3.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.10.0.tar.xz.sha256sum +sha256 aa72a94cccdd2387ad25dc65c5c0b1f76269c3997cbde348232eec2a1565b3cd gst-rtsp-server-1.10.0.tar.xz diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk index 458e3aff37..4ff44c9e2a 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_RTSP_SERVER_VERSION = 1.8.3 +GST1_RTSP_SERVER_VERSION = 1.10.0 GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server GST1_RTSP_SERVER_LICENSE = LGPLv2+ From 32e0d57a0fed932fcfc4745afda4d65aeb71c39f Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:38 -0300 Subject: [PATCH 027/180] gst1-validate: bump to version 1.10.0 It now requires json-glib as dependency so adjust. Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-validate/Config.in | 1 + package/gstreamer1/gst1-validate/gst1-validate.hash | 4 ++-- package/gstreamer1/gst1-validate/gst1-validate.mk | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-validate/Config.in b/package/gstreamer1/gst1-validate/Config.in index a9bb2aa388..2022d38d99 100644 --- a/package/gstreamer1/gst1-validate/Config.in +++ b/package/gstreamer1/gst1-validate/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_GST1_VALIDATE bool "gst1-validate" depends on BR2_PACKAGE_PYTHON select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_JSON_GLIB select BR2_PACKAGE_PYTHON_PYEXPAT # cairo is autodetected but needs PNG support select BR2_PACKAGE_CAIRO_PNG if BR2_PACKAGE_CAIRO diff --git a/package/gstreamer1/gst1-validate/gst1-validate.hash b/package/gstreamer1/gst1-validate/gst1-validate.hash index 09061f402a..f08e1b71a6 100644 --- a/package/gstreamer1/gst1-validate/gst1-validate.hash +++ b/package/gstreamer1/gst1-validate/gst1-validate.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.8.3.tar.xz.sha256sum -sha256 4525a4fb5b85b8a49674e00d652bee9ac62c56241c148abbff23efa50a224e34 gst-validate-1.8.3.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.10.0.tar.xz.sha256sum +sha256 a99a5cd1dfa5d021dd0197b32b04a20348479c097ebeb1f4c36161d70048a176 gst-validate-1.10.0.tar.xz diff --git a/package/gstreamer1/gst1-validate/gst1-validate.mk b/package/gstreamer1/gst1-validate/gst1-validate.mk index 372e5d6633..94595a6ce4 100644 --- a/package/gstreamer1/gst1-validate/gst1-validate.mk +++ b/package/gstreamer1/gst1-validate/gst1-validate.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_VALIDATE_VERSION = 1.8.3 +GST1_VALIDATE_VERSION = 1.10.0 GST1_VALIDATE_SOURCE = gst-validate-$(GST1_VALIDATE_VERSION).tar.xz GST1_VALIDATE_SITE = https://gstreamer.freedesktop.org/src/gst-validate GST1_VALIDATE_LICENSE = LGPLv2.1+ @@ -15,6 +15,7 @@ GST1_VALIDATE_CONF_OPTS = --disable-sphinx-doc GST1_VALIDATE_DEPENDENCIES = \ gstreamer1 \ gst1-plugins-base \ + json-glib \ host-python \ python \ $(if $(BR2_PACKAGE_CAIRO),cairo) From de45145d99ee3b4ffafd6632623262faafcb6fb9 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:39 -0300 Subject: [PATCH 028/180] gst-omx: bump to version 1.10.0 Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst-omx/gst-omx.hash | 4 ++-- package/gstreamer1/gst-omx/gst-omx.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst-omx/gst-omx.hash b/package/gstreamer1/gst-omx/gst-omx.hash index 40d5197117..653c93c589 100644 --- a/package/gstreamer1/gst-omx/gst-omx.hash +++ b/package/gstreamer1/gst-omx/gst-omx.hash @@ -1,2 +1,2 @@ -# locally computed -sha256 0b4874961e6488ad9e5808114bd486ea981c540907262caab1419355fd82d745 gst-omx-1.2.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-omx/ +sha256 89f7da36abcf278200f561fa9d8d7042ad1459aa211cdc81c4c1a3d2162e9e7f gst-omx-1.10.0.tar.xz diff --git a/package/gstreamer1/gst-omx/gst-omx.mk b/package/gstreamer1/gst-omx/gst-omx.mk index 4ca441656b..f0b39c9f9d 100644 --- a/package/gstreamer1/gst-omx/gst-omx.mk +++ b/package/gstreamer1/gst-omx/gst-omx.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST_OMX_VERSION = 1.2.0 +GST_OMX_VERSION = 1.10.0 GST_OMX_SOURCE = gst-omx-$(GST_OMX_VERSION).tar.xz GST_OMX_SITE = https://gstreamer.freedesktop.org/src/gst-omx From 3295a5ef4d41f91fbe9d8d2e690768c8056f3fd4 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 3 Nov 2016 06:58:40 -0300 Subject: [PATCH 029/180] gst1-plugins-bad: add srtp support It's not new for 1.10.0 but hasn't been enabled when libsrtp was added to buildroot. Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-plugins-bad/Config.in | 4 ++++ package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index 40bb2834e4..16c0b7e3f2 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -665,6 +665,10 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SNDFILE bool "sndfile" select BR2_PACKAGE_LIBSNDFILE +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SRTP + bool "srtp" + select BR2_PACKAGE_LIBSRTP + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD bool "vcd" diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index 012b948b2c..098cf2b5da 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -44,7 +44,6 @@ GST1_PLUGINS_BAD_CONF_OPTS += \ --disable-ladspa \ --disable-lv2 \ --disable-libde265 \ - --disable-srtp \ --disable-linsys \ --disable-modplug \ --disable-mimic \ @@ -780,6 +779,13 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-sndfile endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SRTP),y) +GST1_PLUGINS_BAD_CONF_OPTS += --enable-srtp +GST1_PLUGINS_BAD_DEPENDENCIES += libsrtp +else +GST1_PLUGINS_BAD_CONF_OPTS += --disable-srtp +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-vcd else From 701f0e15ea8d10113fa6ddfd7bcfc0cfe9fd8520 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Mon, 7 Nov 2016 12:51:02 +0000 Subject: [PATCH 030/180] sqlite: bump version to 3150100 (3.15.1) Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/sqlite/sqlite.hash | 4 ++-- package/sqlite/sqlite.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/sqlite/sqlite.hash b/package/sqlite/sqlite.hash index b0418af0f7..bb24f94efc 100644 --- a/package/sqlite/sqlite.hash +++ b/package/sqlite/sqlite.hash @@ -1,4 +1,4 @@ # From http://www.sqlite.org/download.html -sha1 b34cb4ee9710368598c62df0222f5c24dfc9c860 sqlite-autoconf-3150000.tar.gz +sha1 47404fe5c43936160ad0e90bddedc99367da7a9b sqlite-autoconf-3150100.tar.gz # Calculated based on the hash above -sha256 77162da9b4a0336d7e77d5252b690662850f62b47c12d9125f74ab9de78ded27 sqlite-autoconf-3150000.tar.gz +sha256 5dfa89b7697ee3c2ac7b44e8e157e7f204bf999c866afcaa8bb1c7ff656ae2c5 sqlite-autoconf-3150100.tar.gz diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk index 0a5c1bb8f9..3f44f82b17 100644 --- a/package/sqlite/sqlite.mk +++ b/package/sqlite/sqlite.mk @@ -4,7 +4,7 @@ # ################################################################################ -SQLITE_VERSION = 3150000 +SQLITE_VERSION = 3150100 SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_VERSION).tar.gz SQLITE_SITE = http://www.sqlite.org/2016 SQLITE_LICENSE = Public domain From 24fa2acca61ec9d82eebcb2e538cc98b05ebe260 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Mon, 7 Nov 2016 10:22:45 +0000 Subject: [PATCH 031/180] lvm2: bump version to 2.02.167 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/lvm2/lvm2.hash | 2 +- package/lvm2/lvm2.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/lvm2/lvm2.hash b/package/lvm2/lvm2.hash index a269eb6d38..edc9360301 100644 --- a/package/lvm2/lvm2.hash +++ b/package/lvm2/lvm2.hash @@ -1,2 +1,2 @@ # From ftp://sources.redhat.com/pub/lvm2/releases/sha512.sum -sha512 8bebe9b474f791b5edf5366b0bd24861fbbaf8a83afa2a9e2a8e3917e05e4ecbf6877f018be03ffb4e9b4c8832208264165b85182bf79a07661adf35128b4a21 LVM2.2.02.166.tgz +sha512 492b2f5ca462dbbb8e182befdb6ca60c7a31b16a39f59a38cabdcd0996d9e2c49ae56a2289def80b89da738176ac55cf13cbefd401feb7a1e3a6ef9a4c267f2b LVM2.2.02.167.tgz diff --git a/package/lvm2/lvm2.mk b/package/lvm2/lvm2.mk index d76cdd2caf..dd574218f7 100644 --- a/package/lvm2/lvm2.mk +++ b/package/lvm2/lvm2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LVM2_VERSION = 2.02.166 +LVM2_VERSION = 2.02.167 LVM2_SOURCE = LVM2.$(LVM2_VERSION).tgz LVM2_SITE = ftp://sources.redhat.com/pub/lvm2/releases LVM2_INSTALL_STAGING = YES From 100ed2c05a47b239b383a2f83f1ffc8bb70b86f9 Mon Sep 17 00:00:00 2001 From: Yegor Yefremov Date: Mon, 7 Nov 2016 12:17:24 +0100 Subject: [PATCH 032/180] wpa_supplicant: add mesh support (IEEE 80211s) Signed-off-by: Yegor Yefremov Signed-off-by: Thomas Petazzoni --- package/wpa_supplicant/Config.in | 7 +++++++ package/wpa_supplicant/wpa_supplicant.mk | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/package/wpa_supplicant/Config.in b/package/wpa_supplicant/Config.in index 454541fdce..9250a3b200 100644 --- a/package/wpa_supplicant/Config.in +++ b/package/wpa_supplicant/Config.in @@ -45,6 +45,13 @@ config BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY help Enable support for Wi-Fi Display +config BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING + bool "Enable mesh networking" + depends on BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT + help + Enable support for open and secured mesh networking + (IEEE 802.11s) + config BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN bool "Enable autoscan" help diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk index 3c3317b122..9c8414b568 100644 --- a/package/wpa_supplicant/wpa_supplicant.mk +++ b/package/wpa_supplicant/wpa_supplicant.mk @@ -73,6 +73,11 @@ ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY),y) WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_WIFI_DISPLAY endif +ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING),y) +WPA_SUPPLICANT_CONFIG_SET += CONFIG_MESH +WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_IEEE80211W +endif + ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN),y) WPA_SUPPLICANT_CONFIG_ENABLE += \ CONFIG_AUTOSCAN_EXPONENTIAL \ From a4cbf58f836c8e46f8cdbc9e1eabe1d0b606ce6a Mon Sep 17 00:00:00 2001 From: Michael Walle Date: Mon, 7 Nov 2016 17:05:12 +0100 Subject: [PATCH 033/180] busybox: allow the user to set the telnetd options Source /etc/default/telnet to make it possible to override the telnetd arguments. For example a user may want to set an alternative port. Signed-off-by: Michael Walle Signed-off-by: Thomas Petazzoni --- package/busybox/S50telnet | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/package/busybox/S50telnet b/package/busybox/S50telnet index 47e2b63e19..82952b8cb8 100755 --- a/package/busybox/S50telnet +++ b/package/busybox/S50telnet @@ -3,10 +3,13 @@ # Start telnet.... # +TELNETD_ARGS=-F +[ -r /etc/default/telnet ] && . /etc/default/telnet + start() { printf "Starting telnetd: " start-stop-daemon -S -q -m -b -p /var/run/telnetd.pid \ - -x /usr/sbin/telnetd -- -F + -x /usr/sbin/telnetd -- $TELNETD_ARGS [ $? = 0 ] && echo "OK" || echo "FAIL" } From 177bbf65669cff25eaff5e0dfbf87ae161ab8803 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Mon, 7 Nov 2016 12:55:27 -0200 Subject: [PATCH 034/180] configs/imx23evk: Add support for imx23evk Add support for imx23evk board. For more information about this board, please check: http://www.nxp.com/products/software-and-tools/software-development-tools/i.mx-software-and-tools/i.mx23-evaluation-kit:IMX23EVK Signed-off-by: Fabio Estevam Signed-off-by: Thomas Petazzoni --- board/freescale/imx23evk/readme.txt | 48 +++++++++++++++++++++++++++++ configs/imx23evk_defconfig | 34 ++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 board/freescale/imx23evk/readme.txt create mode 100644 configs/imx23evk_defconfig diff --git a/board/freescale/imx23evk/readme.txt b/board/freescale/imx23evk/readme.txt new file mode 100644 index 0000000000..6574577dcc --- /dev/null +++ b/board/freescale/imx23evk/readme.txt @@ -0,0 +1,48 @@ +************************** +Freescale i.MX23 EVK board +************************** + +This file documents the Buildroot support for the Freescale i.MX23 EVK board. + +Build +===== + +First, configure Buildroot for your i.MX23 EVK board: + + make imx23evk_defconfig + +Build all components: + + make + +You will find in output/images/ directory the following files: + - imx23-evk.dtb + - rootfs.tar + - u-boot.sd + - zImage + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Then, run the following command: + +*** WARNING! The command will destroy all the card content. Use with care! *** + + sudo dd if=output/images/sdcard.img of=/dev/ + +Boot the i.MX23 EVK board +========================= + +- Put the Boot Mode Select jumper as 1 0 0 1 so that it can boot + from the SD card +- Insert the SD card in the SD Card slot of the board; +- Connect an RS232 UART cable to the Debug UART Port and connect using a + terminal emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! diff --git a/configs/imx23evk_defconfig b/configs/imx23evk_defconfig new file mode 100644 index 0000000000..fe0744036d --- /dev/null +++ b/configs/imx23evk_defconfig @@ -0,0 +1,34 @@ +# architecture +BR2_arm=y +BR2_arm926t=y + +# Linux headers same as kernel, a 4.8 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y + +# system +BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + +# kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" +BR2_LINUX_KERNEL_DEFCONFIG="mxs" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx23-evk" + +# bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="mx23evk" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_FORMAT_SD=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT4=y + +# To generate SD card image +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/mxs/post-image.sh" From e3f6475801067c8d0ef0c90a56a357105c5faa34 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Sun, 6 Nov 2016 20:43:27 -0200 Subject: [PATCH 035/180] freescale: Create the board/freescale/common/imx/ directory In order to have a better hierarchy for the genimage scripts used by NXP mx25, mx51, mx53, mx6, mx7 SoCs, let's place them inside the board/freescale/common/imx/ directory. This helps in creating a more natural separation between the mxs scripts that are placed inside the board/freescale/common/mxs/ directory. Suggested-by: Thomas Petazzoni Signed-off-by: Fabio Estevam Signed-off-by: Thomas Petazzoni --- board/freescale/common/{ => imx}/genimage.cfg.template | 0 board/freescale/common/{ => imx}/post-image.sh | 2 +- board/freescale/imx25pdk/readme.txt | 2 +- board/freescale/imx51evk/readme.txt | 2 +- board/freescale/imx6sabre/readme.txt | 2 +- board/freescale/imx6ulevk/readme.txt | 2 +- board/freescale/imx7dsdb/readme.txt | 2 +- board/technexion/imx6ulpico/readme.txt | 2 +- configs/freescale_imx6dlsabreauto_defconfig | 2 +- configs/freescale_imx6dlsabresd_defconfig | 2 +- configs/freescale_imx6qsabreauto_defconfig | 2 +- configs/freescale_imx6qsabresd_defconfig | 2 +- configs/freescale_imx6sololiteevk_defconfig | 2 +- configs/freescale_imx6sxsabresd_defconfig | 2 +- configs/freescale_imx6ulevk_defconfig | 2 +- configs/freescale_imx7dsabresd_defconfig | 2 +- configs/imx6ulpico_defconfig | 2 +- configs/mx25pdk_defconfig | 2 +- configs/mx51evk_defconfig | 2 +- configs/mx53loco_defconfig | 2 +- configs/warp7_defconfig | 2 +- configs/warpboard_defconfig | 2 +- 22 files changed, 21 insertions(+), 21 deletions(-) rename board/freescale/common/{ => imx}/genimage.cfg.template (100%) rename board/freescale/common/{ => imx}/post-image.sh (94%) diff --git a/board/freescale/common/genimage.cfg.template b/board/freescale/common/imx/genimage.cfg.template similarity index 100% rename from board/freescale/common/genimage.cfg.template rename to board/freescale/common/imx/genimage.cfg.template diff --git a/board/freescale/common/post-image.sh b/board/freescale/common/imx/post-image.sh similarity index 94% rename from board/freescale/common/post-image.sh rename to board/freescale/common/imx/post-image.sh index 7d48550a5a..9e4da82dc7 100755 --- a/board/freescale/common/post-image.sh +++ b/board/freescale/common/imx/post-image.sh @@ -35,7 +35,7 @@ main() local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" sed -e "s/%FILES%/${FILES}/" \ - board/freescale/common/genimage.cfg.template > ${GENIMAGE_CFG} + board/freescale/common/imx/genimage.cfg.template > ${GENIMAGE_CFG} rm -rf "${GENIMAGE_TMP}" diff --git a/board/freescale/imx25pdk/readme.txt b/board/freescale/imx25pdk/readme.txt index df7c617264..1aece6c9b3 100644 --- a/board/freescale/imx25pdk/readme.txt +++ b/board/freescale/imx25pdk/readme.txt @@ -40,7 +40,7 @@ command as root: *** WARNING! This will destroy all the card content. Use with care! *** For details about the medium image layout, see the definition in -board/freescale/common/genimage.cfg.template. +board/freescale/common/imx/genimage.cfg.template. Boot the i.MX25 PDK board ========================= diff --git a/board/freescale/imx51evk/readme.txt b/board/freescale/imx51evk/readme.txt index bf739fd659..d67a3fd724 100644 --- a/board/freescale/imx51evk/readme.txt +++ b/board/freescale/imx51evk/readme.txt @@ -40,7 +40,7 @@ command as root: *** WARNING! This will destroy all the card content. Use with care! *** For details about the medium image layout, see the definition in -board/freescale/common/genimage.cfg.template. +board/freescale/common/imx/genimage.cfg.template. Boot the i.MX51 EVK board ========================= diff --git a/board/freescale/imx6sabre/readme.txt b/board/freescale/imx6sabre/readme.txt index e409d8f190..a1bd82fdc7 100644 --- a/board/freescale/imx6sabre/readme.txt +++ b/board/freescale/imx6sabre/readme.txt @@ -71,7 +71,7 @@ command as root: *** WARNING! The script will destroy all the card content. Use with care! *** For details about the medium image layout, see the definition in -board/freescale/common/genimage.cfg.template. +board/freescale/common/imx/genimage.cfg.template. Boot the SABRE board ==================== diff --git a/board/freescale/imx6ulevk/readme.txt b/board/freescale/imx6ulevk/readme.txt index 98de2775db..25b95fec52 100644 --- a/board/freescale/imx6ulevk/readme.txt +++ b/board/freescale/imx6ulevk/readme.txt @@ -43,7 +43,7 @@ command as root: *** WARNING! This will destroy all the card content. Use with care! *** For details about the medium image layout, see the definition in -board/freescale/common/genimage.cfg.template. +board/freescale/common/imx/genimage.cfg.template. Boot the i.MX6UL EVK board ========================= diff --git a/board/freescale/imx7dsdb/readme.txt b/board/freescale/imx7dsdb/readme.txt index 9aeeb166d8..c6030f6965 100644 --- a/board/freescale/imx7dsdb/readme.txt +++ b/board/freescale/imx7dsdb/readme.txt @@ -40,7 +40,7 @@ command as root: *** WARNING! This will destroy all the card content. Use with care! *** For details about the medium image layout, see the definition in -board/freescale/common/genimage.cfg.template. +board/freescale/common/imx/genimage.cfg.template. Boot the i.MX7D SDB board ========================= diff --git a/board/technexion/imx6ulpico/readme.txt b/board/technexion/imx6ulpico/readme.txt index a7c3a445d0..7eab3f6b86 100644 --- a/board/technexion/imx6ulpico/readme.txt +++ b/board/technexion/imx6ulpico/readme.txt @@ -46,7 +46,7 @@ command as root: *** WARNING! This will destroy all the card content. Use with care! *** For details about the medium image layout, see the definition in -board/freescale/common/genimage.cfg.template. +board/freescale/common/imx/genimage.cfg.template. Boot the i.MX6UL Pico board ========================= diff --git a/configs/freescale_imx6dlsabreauto_defconfig b/configs/freescale_imx6dlsabreauto_defconfig index ed5f67cab2..1cf5fee0fd 100644 --- a/configs/freescale_imx6dlsabreauto_defconfig +++ b/configs/freescale_imx6dlsabreauto_defconfig @@ -21,7 +21,7 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-sabreauto" # filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/freescale_imx6dlsabresd_defconfig b/configs/freescale_imx6dlsabresd_defconfig index 0cbe974477..904f0a2442 100644 --- a/configs/freescale_imx6dlsabresd_defconfig +++ b/configs/freescale_imx6dlsabresd_defconfig @@ -21,7 +21,7 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-sabresd" # filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y # required tools to create the microSD image diff --git a/configs/freescale_imx6qsabreauto_defconfig b/configs/freescale_imx6qsabreauto_defconfig index 9ae2f813e7..64efd42195 100644 --- a/configs/freescale_imx6qsabreauto_defconfig +++ b/configs/freescale_imx6qsabreauto_defconfig @@ -21,7 +21,7 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabreauto" # filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/freescale_imx6qsabresd_defconfig b/configs/freescale_imx6qsabresd_defconfig index 913a724212..962c274d60 100644 --- a/configs/freescale_imx6qsabresd_defconfig +++ b/configs/freescale_imx6qsabresd_defconfig @@ -21,7 +21,7 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabresd" # filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/freescale_imx6sololiteevk_defconfig b/configs/freescale_imx6sololiteevk_defconfig index 79ebcb83c2..bf0b9e5f2d 100644 --- a/configs/freescale_imx6sololiteevk_defconfig +++ b/configs/freescale_imx6sololiteevk_defconfig @@ -18,7 +18,7 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sl-evk" # filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y # required tools to create the microSD image diff --git a/configs/freescale_imx6sxsabresd_defconfig b/configs/freescale_imx6sxsabresd_defconfig index fed1a3e08a..9b5cdb85e4 100644 --- a/configs/freescale_imx6sxsabresd_defconfig +++ b/configs/freescale_imx6sxsabresd_defconfig @@ -21,7 +21,7 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sx-sdb" # filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y # required tools to create the microSD image diff --git a/configs/freescale_imx6ulevk_defconfig b/configs/freescale_imx6ulevk_defconfig index d033b9950c..3c5a9099a0 100644 --- a/configs/freescale_imx6ulevk_defconfig +++ b/configs/freescale_imx6ulevk_defconfig @@ -31,6 +31,6 @@ BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y # filesystem / image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/freescale_imx7dsabresd_defconfig b/configs/freescale_imx7dsabresd_defconfig index 4bedef10be..97d3cde16e 100644 --- a/configs/freescale_imx7dsabresd_defconfig +++ b/configs/freescale_imx7dsabresd_defconfig @@ -33,4 +33,4 @@ BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" diff --git a/configs/imx6ulpico_defconfig b/configs/imx6ulpico_defconfig index 71277d9b82..88604a6627 100644 --- a/configs/imx6ulpico_defconfig +++ b/configs/imx6ulpico_defconfig @@ -45,6 +45,6 @@ BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y # filesystem / image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/mx25pdk_defconfig b/configs/mx25pdk_defconfig index 645fe8a13a..65a6d12f56 100644 --- a/configs/mx25pdk_defconfig +++ b/configs/mx25pdk_defconfig @@ -14,7 +14,7 @@ BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y # Filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/mx51evk_defconfig b/configs/mx51evk_defconfig index 1fca282536..db82a36eaa 100644 --- a/configs/mx51evk_defconfig +++ b/configs/mx51evk_defconfig @@ -14,7 +14,7 @@ BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y # Filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/mx53loco_defconfig b/configs/mx53loco_defconfig index 94ac818d1b..7597ae9ca7 100644 --- a/configs/mx53loco_defconfig +++ b/configs/mx53loco_defconfig @@ -14,7 +14,7 @@ BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y # Filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig index 31251f4645..a55a5049cf 100644 --- a/configs/warp7_defconfig +++ b/configs/warp7_defconfig @@ -38,7 +38,7 @@ BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y # Filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/warpboard_defconfig b/configs/warpboard_defconfig index 5e9c0514b7..531a8783b1 100644 --- a/configs/warpboard_defconfig +++ b/configs/warpboard_defconfig @@ -42,7 +42,7 @@ BR2_PACKAGE_HOST_DFU_UTIL=y BR2_PACKAGE_HOST_IMX_USB_LOADER=y # Filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y From a2ec1d26f850a2d2b800c79adeb421a40ffd4973 Mon Sep 17 00:00:00 2001 From: Francois Perrad Date: Tue, 8 Nov 2016 00:09:35 +0100 Subject: [PATCH 036/180] olimex_imx233_olinuxino: bump version Signed-off-by: Francois Perrad Signed-off-by: Thomas Petazzoni --- .../genimage-imx233_olinuxino.cfg | 1 + .../olimex/imx233_olinuxino/linux-3.18.config | 152 ------------------ board/olimex/imx233_olinuxino/post-image.sh | 3 - configs/olimex_imx233_olinuxino_defconfig | 16 +- 4 files changed, 10 insertions(+), 162 deletions(-) delete mode 100644 board/olimex/imx233_olinuxino/linux-3.18.config diff --git a/board/olimex/imx233_olinuxino/genimage-imx233_olinuxino.cfg b/board/olimex/imx233_olinuxino/genimage-imx233_olinuxino.cfg index 78979dcc9c..751fe862d9 100644 --- a/board/olimex/imx233_olinuxino/genimage-imx233_olinuxino.cfg +++ b/board/olimex/imx233_olinuxino/genimage-imx233_olinuxino.cfg @@ -1,6 +1,7 @@ image kernel.vfat { vfat { files = { + "imx23-olinuxino.dtb", "uImage" } } diff --git a/board/olimex/imx233_olinuxino/linux-3.18.config b/board/olimex/imx233_olinuxino/linux-3.18.config deleted file mode 100644 index d46d4d5cba..0000000000 --- a/board/olimex/imx233_olinuxino/linux-3.18.config +++ /dev/null @@ -1,152 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_PERF_EVENTS=y -# CONFIG_COMPAT_BRK is not set -CONFIG_MODULES=y -CONFIG_MODULE_FORCE_LOAD=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y -CONFIG_MODVERSIONS=y -CONFIG_BLK_DEV_INTEGRITY=y -# CONFIG_ARCH_MULTI_V7 is not set -CONFIG_ARCH_MXS=y -# CONFIG_ARM_THUMB is not set -CONFIG_PREEMPT_VOLUNTARY=y -CONFIG_AEABI=y -CONFIG_ARM_APPENDED_DTB=y -CONFIG_ARM_ATAG_DTB_COMPAT=y -CONFIG_CMDLINE="console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait" -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_SYN_COOKIES=y -CONFIG_CFG80211=y -CONFIG_CFG80211_WEXT=y -CONFIG_MAC80211=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_FIRMWARE_IN_KERNEL is not set -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_DATAFLASH=y -CONFIG_MTD_SST25L=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_GPMI_NAND=y -CONFIG_MTD_UBI=y -# CONFIG_BLK_DEV is not set -CONFIG_EEPROM_AT24=y -CONFIG_EEPROM_93CX6=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_NETDEVICES=y -# CONFIG_ETHERNET is not set -CONFIG_USB_USBNET=y -CONFIG_USB_NET_SMSC95XX=y -CONFIG_RTL8187=m -CONFIG_ATH_CARDS=m -CONFIG_ATH9K_HTC=m -CONFIG_RT2X00=m -CONFIG_RT73USB=m -CONFIG_RT2800USB=m -CONFIG_RT2800USB_RT53XX=y -CONFIG_RT2800USB_RT55XX=y -CONFIG_RT2800USB_UNKNOWN=y -CONFIG_RTL_CARDS=m -CONFIG_RTL8192CU=m -# CONFIG_RTLWIFI_DEBUG is not set -CONFIG_ZD1211RW=m -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_SERIO is not set -CONFIG_DEVPTS_MULTIPLE_INSTANCES=y -# CONFIG_LEGACY_PTYS is not set -# CONFIG_DEVKMEM is not set -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_SERIAL_MXS_AUART=y -# CONFIG_HW_RANDOM is not set -CONFIG_I2C=y -# CONFIG_I2C_COMPAT is not set -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_MXS=y -CONFIG_SPI=y -CONFIG_SPI_GPIO=m -CONFIG_SPI_MXS=y -CONFIG_PTP_1588_CLOCK=y -CONFIG_GPIO_SYSFS=y -# CONFIG_HWMON is not set -CONFIG_WATCHDOG=y -CONFIG_STMP3XXX_RTC_WATCHDOG=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_FB=y -CONFIG_FB_MXS=y -CONFIG_BACKLIGHT_LCD_SUPPORT=y -CONFIG_LCD_CLASS_DEVICE=y -CONFIG_BACKLIGHT_CLASS_DEVICE=y -CONFIG_BACKLIGHT_PWM=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_LOGO=y -CONFIG_SOUND=y -CONFIG_SND=y -CONFIG_SND_HRTIMER=y -# CONFIG_SND_SUPPORT_OLD_API is not set -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_DRIVERS is not set -# CONFIG_SND_ARM is not set -# CONFIG_SND_SPI is not set -# CONFIG_SND_USB is not set -CONFIG_SND_SOC=y -CONFIG_USB=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_STORAGE=y -CONFIG_USB_CHIPIDEA=y -CONFIG_USB_CHIPIDEA_HOST=y -CONFIG_USB_MXS_PHY=y -CONFIG_MMC=y -CONFIG_MMC_MXS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_ONESHOT=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEDS_TRIGGER_BACKLIGHT=y -CONFIG_LEDS_TRIGGER_GPIO=y -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_STMP=y -CONFIG_DMADEVICES=y -CONFIG_MXS_DMA=y -CONFIG_STAGING=y -CONFIG_MXS_LRADC=y -CONFIG_IIO=y -CONFIG_IIO_SYSFS_TRIGGER=y -CONFIG_PWM=y -CONFIG_PWM_MXS=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -# CONFIG_MISC_FILESYSTEMS is not set -# CONFIG_NETWORK_FILESYSTEMS is not set -CONFIG_PRINTK_TIME=y -CONFIG_FRAME_WARN=2048 -CONFIG_UNUSED_SYMBOLS=y -CONFIG_DEBUG_FS=y -CONFIG_STRICT_DEVMEM=y -CONFIG_DEBUG_USER=y -CONFIG_KEYS=y -CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_LZO=y -# CONFIG_CRYPTO_ANSI_CPRNG is not set -CONFIG_CRYPTO_DEV_MXS_DCP=y -CONFIG_CRC_CCITT=y -CONFIG_CRC_ITU_T=y -CONFIG_CRC7=m -CONFIG_FONTS=y diff --git a/board/olimex/imx233_olinuxino/post-image.sh b/board/olimex/imx233_olinuxino/post-image.sh index 703cbe7ee2..948d770bb2 100755 --- a/board/olimex/imx233_olinuxino/post-image.sh +++ b/board/olimex/imx233_olinuxino/post-image.sh @@ -5,9 +5,6 @@ BOARD_NAME="$(basename ${BOARD_DIR})" GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg" GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" -# Create symlink to "rename" kernel image -ln -sf uImage.imx23-olinuxino ${BINARIES_DIR}/uImage - rm -rf "${GENIMAGE_TMP}" genimage \ diff --git a/configs/olimex_imx233_olinuxino_defconfig b/configs/olimex_imx233_olinuxino_defconfig index f74f42222a..e0a7b08d4f 100644 --- a/configs/olimex_imx233_olinuxino_defconfig +++ b/configs/olimex_imx233_olinuxino_defconfig @@ -2,6 +2,9 @@ BR2_arm=y BR2_arm926t=y +# Linux headers same as kernel, a 4.8 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y + # System BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" @@ -9,15 +12,14 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y # Kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.18.2" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/olimex/imx233_olinuxino/linux-3.18.config" -BR2_LINUX_KERNEL_APPENDED_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x42000000" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" +BR2_LINUX_KERNEL_DEFCONFIG="mxs" +BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx23-olinuxino" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x42000000" # Firmware for WiFi BR2_PACKAGE_LINUX_FIRMWARE=y @@ -36,7 +38,7 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="mx23_olinuxino" BR2_TARGET_UBOOT_FORMAT_SD=y From 58cf64bf66c7024626f6636206d4a363bfc2e255 Mon Sep 17 00:00:00 2001 From: Francois Perrad Date: Tue, 8 Nov 2016 00:09:36 +0100 Subject: [PATCH 037/180] olimex_imx233_olinuxino: use the common mxs genimage script Signed-off-by: Francois Perrad Signed-off-by: Thomas Petazzoni --- .../genimage-imx233_olinuxino.cfg | 29 ------------------- board/olimex/imx233_olinuxino/post-image.sh | 17 ----------- configs/olimex_imx233_olinuxino_defconfig | 2 +- 3 files changed, 1 insertion(+), 47 deletions(-) delete mode 100644 board/olimex/imx233_olinuxino/genimage-imx233_olinuxino.cfg delete mode 100755 board/olimex/imx233_olinuxino/post-image.sh diff --git a/board/olimex/imx233_olinuxino/genimage-imx233_olinuxino.cfg b/board/olimex/imx233_olinuxino/genimage-imx233_olinuxino.cfg deleted file mode 100644 index 751fe862d9..0000000000 --- a/board/olimex/imx233_olinuxino/genimage-imx233_olinuxino.cfg +++ /dev/null @@ -1,29 +0,0 @@ -image kernel.vfat { - vfat { - files = { - "imx23-olinuxino.dtb", - "uImage" - } - } - size = 5M -} - -image sdcard.img { - hdimage { - } - partition boot { - partition-type = 0x53 - image = "u-boot.sd" - size = 16M - } - - partition kernel { - partition-type = 0xC - image = "kernel.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext2" - } -} diff --git a/board/olimex/imx233_olinuxino/post-image.sh b/board/olimex/imx233_olinuxino/post-image.sh deleted file mode 100755 index 948d770bb2..0000000000 --- a/board/olimex/imx233_olinuxino/post-image.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -BOARD_NAME="$(basename ${BOARD_DIR})" -GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" - -exit $? diff --git a/configs/olimex_imx233_olinuxino_defconfig b/configs/olimex_imx233_olinuxino_defconfig index e0a7b08d4f..1040e5e740 100644 --- a/configs/olimex_imx233_olinuxino_defconfig +++ b/configs/olimex_imx233_olinuxino_defconfig @@ -46,5 +46,5 @@ BR2_TARGET_UBOOT_FORMAT_SD=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/olimex/imx233_olinuxino/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/mxs/post-image.sh" From b2163fb8d4cc6ca925464b60b517e8953038559d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Date: Wed, 9 Nov 2016 10:43:46 +0100 Subject: [PATCH 038/180] patchelf: bump version to 0.9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Pouiller Signed-off-by: Thomas Petazzoni --- package/patchelf/patchelf.hash | 2 +- package/patchelf/patchelf.mk | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/patchelf/patchelf.hash b/package/patchelf/patchelf.hash index 0da413e6ca..14154a31fc 100644 --- a/package/patchelf/patchelf.hash +++ b/package/patchelf/patchelf.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 14af06a2da688d577d64ff8dac065bb8903bbffbe01d30c62df7af9bf4ce72fe patchelf-0.8.tar.gz +sha256 f2aa40a6148cb3b0ca807a1bf836b081793e55ec9e5540a5356d800132be7e0a patchelf-0.9.tar.gz diff --git a/package/patchelf/patchelf.mk b/package/patchelf/patchelf.mk index 043224dab2..5222e57950 100644 --- a/package/patchelf/patchelf.mk +++ b/package/patchelf/patchelf.mk @@ -4,8 +4,8 @@ # ################################################################################ -PATCHELF_VERSION = 0.8 -PATCHELF_SITE = http://releases.nixos.org/patchelf/patchelf-0.8 +PATCHELF_VERSION = 0.9 +PATCHELF_SITE = http://releases.nixos.org/patchelf/patchelf-0.9 PATCHELF_LICENSE = GPLv3+ PATCHELF_LICENSE_FILES = COPYING From dbfc24a3c04d9311d6f959dece7c42b059e256f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Date: Wed, 9 Nov 2016 10:36:29 +0100 Subject: [PATCH 039/180] screen: enable support for 256 colors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Support for 256 colors is enabled in xterm and ncurses, but it was forgotten for screen. Signed-off-by: Jérôme Pouiller Signed-off-by: Thomas Petazzoni --- package/screen/screen.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/screen/screen.mk b/package/screen/screen.mk index 84c3d75d1a..16a97cc759 100644 --- a/package/screen/screen.mk +++ b/package/screen/screen.mk @@ -11,6 +11,7 @@ SCREEN_LICENSE_FILES = COPYING SCREEN_DEPENDENCIES = ncurses SCREEN_AUTORECONF = YES SCREEN_CONF_ENV = CFLAGS="$(TARGET_CFLAGS)" +SCREEN_CONF_OPTS = --enable-colors256 SCREEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) SCREEN=screen install_bin define SCREEN_INSTALL_SCREENRC From 58aefb2a5d034a5b16800dc935f376c83a815efd Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Tue, 8 Nov 2016 11:37:48 +0000 Subject: [PATCH 040/180] libgtk3: bump version to 3.22.3 Overview of Changes in GTK+ 3.22.3: http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.3.news Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/libgtk3/libgtk3.hash | 4 ++-- package/libgtk3/libgtk3.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/libgtk3/libgtk3.hash b/package/libgtk3/libgtk3.hash index b60671753c..1c58efc2fc 100644 --- a/package/libgtk3/libgtk3.hash +++ b/package/libgtk3/libgtk3.hash @@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.2.sha256sum -sha256 2343dcaed2fc237ef718136ff4110fef7eb1ebfe178a9b064aa21cd74ecb6946 gtk+-3.22.2.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.3.sha256sum +sha256 e190ab1a9a893861b8e8be341aa57bce8b7146d6445ebfe5a8ab64236fe82ed3 gtk+-3.22.3.tar.xz diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk index b7cea7dd37..0b9a9992ef 100644 --- a/package/libgtk3/libgtk3.mk +++ b/package/libgtk3/libgtk3.mk @@ -5,7 +5,7 @@ ################################################################################ LIBGTK3_VERSION_MAJOR = 3.22 -LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).2 +LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).3 LIBGTK3_SOURCE = gtk+-$(LIBGTK3_VERSION).tar.xz LIBGTK3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK3_VERSION_MAJOR) LIBGTK3_LICENSE = LGPLv2+ From 8f4c905adf76d49c33ba29f090a149a6128b64cb Mon Sep 17 00:00:00 2001 From: Gary Bisson Date: Tue, 8 Nov 2016 15:34:46 +0100 Subject: [PATCH 041/180] swupdate: bump to version 2016.10 A short list of new features: - progress interface as general way to signalize the update status outside of the process. - support encrypted artifacts (encryption via simmetric keys) - host verification for swu images (-c option) - configuration file to configure the update process - HAwkbit backend: API extended, support for configData messages - Hawkbit backend: supports SSL certificates - remote handler : general interface to connect external installers. Signed-off-by: Gary Bisson Signed-off-by: Thomas Petazzoni --- package/swupdate/swupdate.hash | 2 +- package/swupdate/swupdate.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/swupdate/swupdate.hash b/package/swupdate/swupdate.hash index 918ca2fe89..1ba10f6457 100644 --- a/package/swupdate/swupdate.hash +++ b/package/swupdate/swupdate.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c21d2fd52eb7ed9c304a7a996d230a8f1b47b9879a8c9fa50c80b41e117d1e60 swupdate-2016.07.tar.gz +sha256 840d6287a41f7a42e08a74045ee40b7c2f82c1ecfedf8c915e3935d4f0084376 swupdate-2016.10.tar.gz diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk index d442810b21..c905c1d746 100644 --- a/package/swupdate/swupdate.mk +++ b/package/swupdate/swupdate.mk @@ -4,7 +4,7 @@ # ################################################################################ -SWUPDATE_VERSION = 2016.07 +SWUPDATE_VERSION = 2016.10 SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION)) SWUPDATE_LICENSE = GPLv2+, MIT, Public Domain SWUPDATE_LICENSE_FILES = COPYING From 00e7d119ec16cd64f89cb21a2ea715e2bfc3dc73 Mon Sep 17 00:00:00 2001 From: Dagg Stompler Date: Wed, 9 Nov 2016 21:07:33 +0200 Subject: [PATCH 042/180] kodi: allow enablement of libamcodec as codec if selected allow usage of amcodec if kodi is built and libamcodec is selected Signed-off-by: Dagg Stompler [Thomas: fix KODI_INCLUDES definition in RPi case, fix indentation.] Signed-off-by: Thomas Petazzoni --- .../kodi/0012-Fix_includes_in_amcodec.patch | 38 +++++++++++++++++++ package/kodi/kodi.mk | 17 +++++++-- 2 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 package/kodi/0012-Fix_includes_in_amcodec.patch diff --git a/package/kodi/0012-Fix_includes_in_amcodec.patch b/package/kodi/0012-Fix_includes_in_amcodec.patch new file mode 100644 index 0000000000..4a6d44f686 --- /dev/null +++ b/package/kodi/0012-Fix_includes_in_amcodec.patch @@ -0,0 +1,38 @@ +commit 4bbb21aa5cee6b2f40759aa8b1bd65246a237f79 +Author: Alex Deryskyba +Date: Wed May 4 01:38:27 2016 +0200 + + [aml] Fix includes in amcodec/codec.h to make them relative + +[Taken from upstream commit +https://github.com/xbmc/xbmc/commit/4bbb21aa5cee6b2f40759aa8b1bd65246a237f79.] +Signed-off-by: Dagg Stompler + +diff --git a/tools/depends/target/libamplayer/libamplayer/include/amcodec/codec.h b/tools/depends/target/libamplayer/libamplayer/include/amcodec/codec.h +index 187d4d5..632c24e 100644 +--- a/tools/depends/target/libamplayer/libamplayer/include/amcodec/codec.h ++++ b/tools/depends/target/libamplayer/libamplayer/include/amcodec/codec.h +@@ -12,8 +12,8 @@ + #ifndef CODEC_CTRL_H_ + #define CODEC_CTRL_H_ + +-#include +-#include ++#include "codec_type.h" ++#include "codec_error.h" + + + int codec_init(codec_para_t *); +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in b/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in +index a1a3447..1bf5a89 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in +@@ -24,8 +24,6 @@ endif + ifeq (@USE_LIBAMCODEC@,1) + SRCS += AMLCodec.cpp + SRCS += DVDVideoCodecAmlogic.cpp +-INCLUDES += -I$(prefix)/include/amcodec +-INCLUDES += -I$(prefix)/include/amplayer + endif + + ifeq (@USE_ANDROID@,1) diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk index e0361dae78..de4d308f6b 100644 --- a/package/kodi/kodi.mk +++ b/package/kodi/kodi.mk @@ -96,9 +96,10 @@ endif ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) KODI_DEPENDENCIES += rpi-userland KODI_CONF_OPTS += --with-platform=raspberry-pi --enable-player=omxplayer -KODI_CONF_ENV += INCLUDES="-I$(STAGING_DIR)/usr/include/interface/vcos/pthreads \ - -I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux" \ - LIBS="-lvcos -lvchostif" +KODI_INCLUDES += \ + -I$(STAGING_DIR)/usr/include/interface/vcos/pthreads \ + -I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux +KODI_LIBS = -lvcos -lvchostif endif ifeq ($(BR2_PACKAGE_HAS_UDEV),y) @@ -113,6 +114,16 @@ KODI_DEPENDENCIES += imx-vpuwrap KODI_CONF_OPTS += --enable-codec=imxvpu endif +ifeq ($(BR2_PACKAGE_LIBAMCODEC),y) +KODI_DEPENDENCIES += libamcodec +KODI_CONF_OPTS += --enable-codec=amcodec +KODI_INCLUDES += -I$(STAGING_DIR)/usr/include/amcodec +endif + +KODI_CONF_ENV += \ + INCLUDES="$(KODI_INCLUDES)" \ + LIBS="$(KODI_LIBS)" + ifeq ($(BR2_PACKAGE_LIBCAP),y) KODI_CONF_OPTS += --enable-libcap KODI_DEPENDENCIES += libcap From e4e2cc4d4b0cc4ad1fafa208e1c6887452727a4e Mon Sep 17 00:00:00 2001 From: Arnout Vandecappelle Date: Mon, 7 Nov 2016 02:19:56 +0100 Subject: [PATCH 043/180] Use already qstripped BR2_TOOLCHAIN_EXTERNAL_PREFIX everywhere The BR2_TOOLCHAIN_EXTERNAL_PREFIX variable is already qstripped and stored in the TOOLCHAIN_EXTERNAL_PREFIX variable in toolchain-external.mk, so use this variable everywhere. This will be useful for a later patch that makes the derivation of TOOLCHAIN_EXTERNAL_PREFIX a little more complex. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour [Arnout: split off into separate patch] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- package/Makefile.in | 2 +- package/wine/wine.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/Makefile.in b/package/Makefile.in index 5d591e9a43..bd73219bbf 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -184,7 +184,7 @@ endif ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) TARGET_CROSS = $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)- else -TARGET_CROSS = $(HOST_DIR)/usr/bin/$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX))- +TARGET_CROSS = $(HOST_DIR)/usr/bin/$(TOOLCHAIN_EXTERNAL_PREFIX)- endif # Define TARGET_xx variables for all common binutils/gcc diff --git a/package/wine/wine.mk b/package/wine/wine.mk index d9a0ecf851..47ba90a214 100644 --- a/package/wine/wine.mk +++ b/package/wine/wine.mk @@ -34,7 +34,7 @@ WINE_CONF_OPTS = \ # wrapper believes what the real gcc is named, and force the tuple of # the external toolchain, not the one we compute in GNU_TARGET_NAME. ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y) -WINE_CONF_OPTS += TARGETFLAGS="-b $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX))" +WINE_CONF_OPTS += TARGETFLAGS="-b $(TOOLCHAIN_EXTERNAL_PREFIX)" endif ifeq ($(BR2_PACKAGE_ALSA_LIB)$(BR2_PACKAGE_ALSA_LIB_SEQ)$(BR2_PACKAGE_ALSA_LIB_RAWMIDI),yyy) From ed364d1e54a7a31f6e2dc40af4b496c93148383e Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 5 Nov 2016 14:32:38 +0100 Subject: [PATCH 044/180] snowball-{hdmiservice, init}: remove packages The snowball_defconfig has been removed one year ago in commit b3fa8e24defb20e1734e7e75f432090fe83c0dd8 ("configs: remove calao_snowball_defconfig"), and it's no longer possible to buy Snowball boards. Therefore, there is no reason to keep the snowball-related packages in our tree. Signed-off-by: Thomas Petazzoni --- Config.in.legacy | 17 +++++++++++++ package/Config.in | 2 -- package/snowball-hdmiservice/Config.in | 14 ----------- .../snowball-hdmiservice.hash | 2 -- .../snowball-hdmiservice.mk | 25 ------------------- package/snowball-init/Config.in | 17 ------------- package/snowball-init/snowball-init.hash | 2 -- package/snowball-init/snowball-init.mk | 16 ------------ 8 files changed, 17 insertions(+), 78 deletions(-) delete mode 100644 package/snowball-hdmiservice/Config.in delete mode 100644 package/snowball-hdmiservice/snowball-hdmiservice.hash delete mode 100644 package/snowball-hdmiservice/snowball-hdmiservice.mk delete mode 100644 package/snowball-init/Config.in delete mode 100644 package/snowball-init/snowball-init.hash delete mode 100644 package/snowball-init/snowball-init.mk diff --git a/Config.in.legacy b/Config.in.legacy index 8c41b05095..53fcf4e31f 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -142,6 +142,23 @@ comment "build, or run, in unpredictable ways. " comment "----------------------------------------------------" endif +############################################################################### +comment "Legacy options removed in 2017.02" + +config BR2_PACKAGE_SNOWBALL_HDMISERVICE + bool "snowball-hdmiservice removed" + select BR2_LEGACY + help + We no longer have support for the Snowball platform in + Buildroot, so this package was no longer useful. + +config BR2_PACKAGE_SNOWBALL_INIT + bool "snowball-init removed" + select BR2_LEGACY + help + We no longer have support for the Snowball platform in + Buildroot, so this package was no longer useful. + ############################################################################### comment "Legacy options removed in 2016.11" diff --git a/package/Config.in b/package/Config.in index 0d449dcfb7..7c91215d69 100644 --- a/package/Config.in +++ b/package/Config.in @@ -453,7 +453,6 @@ endmenu source "package/sispmctl/Config.in" source "package/smartmontools/Config.in" source "package/smstools3/Config.in" - source "package/snowball-hdmiservice/Config.in" source "package/spi-tools/Config.in" source "package/sredird/Config.in" source "package/statserial/Config.in" @@ -1419,7 +1418,6 @@ menu "Miscellaneous" source "package/qemu/Config.in" source "package/qpdf/Config.in" source "package/shared-mime-info/Config.in" - source "package/snowball-init/Config.in" source "package/taskd/Config.in" source "package/wine/Config.in" source "package/xutil_util-macros/Config.in" diff --git a/package/snowball-hdmiservice/Config.in b/package/snowball-hdmiservice/Config.in deleted file mode 100644 index 21a4f3c3cb..0000000000 --- a/package/snowball-hdmiservice/Config.in +++ /dev/null @@ -1,14 +0,0 @@ -config BR2_PACKAGE_SNOWBALL_HDMISERVICE - bool "snowball-hdmiservice" - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_STATIC_LIBS - help - HDMI userspace control daemon - - This package contains the HDMI userspace control daemon for the - snowball board - - http://www.igloocommunity.org - -comment "snowball-hdmiservice needs a toolchain w/ threads, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/snowball-hdmiservice/snowball-hdmiservice.hash b/package/snowball-hdmiservice/snowball-hdmiservice.hash deleted file mode 100644 index e9fffd7573..0000000000 --- a/package/snowball-hdmiservice/snowball-hdmiservice.hash +++ /dev/null @@ -1,2 +0,0 @@ -# locally computed -sha256 dd2d8362a66178be082affa7cc238aebf3d671be184356bc23d13789db638b9d snowball-hdmiservice-f75c99d1c52707240a78b4ba78e41d20d3aa3b08.tar.gz diff --git a/package/snowball-hdmiservice/snowball-hdmiservice.mk b/package/snowball-hdmiservice/snowball-hdmiservice.mk deleted file mode 100644 index 4aa1a2749b..0000000000 --- a/package/snowball-hdmiservice/snowball-hdmiservice.mk +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# -# snowball-hdmiservice -# -################################################################################ - -SNOWBALL_HDMISERVICE_VERSION = f75c99d1c52707240a78b4ba78e41d20d3aa3b08 -SNOWBALL_HDMISERVICE_SITE = $(call github,igloocommunity,hdmiservice,$(SNOWBALL_HDMISERVICE_VERSION)) -SNOWBALL_HDMISERVICE_LICENSE = MIT -SNOWBALL_HDMISERVICE_LICENSE_FILES = debian/copyright -SNOWBALL_HDMISERVICE_INSTALL_STAGING = YES - -define SNOWBALL_HDMISERVICE_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC="$(TARGET_CC) $(TARGET_CFLAGS)" -endef - -define SNOWBALL_HDMISERVICE_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC="$(TARGET_CC) $(TARGET_CFLAGS)" DESTDIR=$(STAGING_DIR) install -endef - -define SNOWBALL_HDMISERVICE_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC="$(TARGET_CC) $(TARGET_CFLAGS)" DESTDIR=$(TARGET_DIR) install -endef - -$(eval $(generic-package)) diff --git a/package/snowball-init/Config.in b/package/snowball-init/Config.in deleted file mode 100644 index 6c94731203..0000000000 --- a/package/snowball-init/Config.in +++ /dev/null @@ -1,17 +0,0 @@ -config BR2_PACKAGE_SNOWBALL_INIT - bool "snowball-init" - # Runtime dependency, needed by snowball startup script - select BR2_PACKAGE_BLUEZ_UTILS - depends on !BR2_STATIC_LIBS # bluez_utils - depends on BR2_USE_WCHAR # libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib, libglib2 - depends on BR2_USE_MMU # dbus - select BR2_PACKAGE_UX500_FIRMWARE - help - Snowball init scripts - - http://www.igloocommunity.org - -comment "snowball-init needs a toolchain w/ wchar, threads, dynamic library" - depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/snowball-init/snowball-init.hash b/package/snowball-init/snowball-init.hash deleted file mode 100644 index f048ab7320..0000000000 --- a/package/snowball-init/snowball-init.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated -sha256 7adafa3e91cae286e18c062acc1b1d0676ac7352e7dedef9dc6106f905433106 snowball-init-b064be21de25729039e5e54037bbdd2e25cfd5b7.tar.gz diff --git a/package/snowball-init/snowball-init.mk b/package/snowball-init/snowball-init.mk deleted file mode 100644 index f06b03277a..0000000000 --- a/package/snowball-init/snowball-init.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# snowball-init -# -################################################################################ - -SNOWBALL_INIT_VERSION = b064be21de25729039e5e54037bbdd2e25cfd5b7 -SNOWBALL_INIT_SITE = $(call github,igloocommunity,snowball-init,$(SNOWBALL_INIT_VERSION)) -SNOWBALL_INIT_LICENSE = BSD-4c -SNOWBALL_INIT_LICENSE_FILES = debian/copyright - -define SNOWBALL_INIT_INSTALL_INIT_SYSV - $(INSTALL) -D -m 0755 $(@D)/snowball $(TARGET_DIR)/etc/init.d/S50snowball -endef - -$(eval $(generic-package)) From 8b7b8b993e2a3dd9c0be4a15d8f31aedf7d933b3 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Thu, 10 Nov 2016 06:53:58 +0200 Subject: [PATCH 045/180] patchelf: use .tar.bz2 archive Saves a little space and network bandwidth. While at it, use PATCHELF_VERSION for PATCHELF_SITE. Signed-off-by: Baruch Siach Signed-off-by: Thomas Petazzoni --- package/patchelf/patchelf.hash | 2 +- package/patchelf/patchelf.mk | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package/patchelf/patchelf.hash b/package/patchelf/patchelf.hash index 14154a31fc..653eb466bf 100644 --- a/package/patchelf/patchelf.hash +++ b/package/patchelf/patchelf.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 f2aa40a6148cb3b0ca807a1bf836b081793e55ec9e5540a5356d800132be7e0a patchelf-0.9.tar.gz +sha256 a0f65c1ba148890e9f2f7823f4bedf7ecad5417772f64f994004f59a39014f83 patchelf-0.9.tar.bz2 diff --git a/package/patchelf/patchelf.mk b/package/patchelf/patchelf.mk index 5222e57950..cf2e43a730 100644 --- a/package/patchelf/patchelf.mk +++ b/package/patchelf/patchelf.mk @@ -5,7 +5,8 @@ ################################################################################ PATCHELF_VERSION = 0.9 -PATCHELF_SITE = http://releases.nixos.org/patchelf/patchelf-0.9 +PATCHELF_SITE = http://releases.nixos.org/patchelf/patchelf-$(PATCHELF_VERSION) +PATCHELF_SOURCE = patchelf-$(PATCHELF_VERSION).tar.bz2 PATCHELF_LICENSE = GPLv3+ PATCHELF_LICENSE_FILES = COPYING From 6be40345af9c08b795573a4c922ccba1049cb47d Mon Sep 17 00:00:00 2001 From: Francois Perrad Date: Thu, 10 Nov 2016 10:57:15 +0100 Subject: [PATCH 046/180] sunxi-tools: bump to version 1.4.1 Signed-off-by: Francois Perrad Signed-off-by: Thomas Petazzoni --- package/sunxi-tools/sunxi-tools.hash | 2 +- package/sunxi-tools/sunxi-tools.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/sunxi-tools/sunxi-tools.hash b/package/sunxi-tools/sunxi-tools.hash index 90991a36be..efb2b54d9c 100644 --- a/package/sunxi-tools/sunxi-tools.hash +++ b/package/sunxi-tools/sunxi-tools.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8b5defeaabec99b6c759ed1d99d91e4d23188431868d17cf6ed144f37e42bee5 sunxi-tools-89dac0f7eaaedd0d8afa9d5a3c713c7c1ccb9cf6.tar.gz +sha256 da5d762608517b4b2e9bd392bd9a63afae3973d9c8264cbcfb757ddac8120d1b sunxi-tools-v1.4.1.tar.gz diff --git a/package/sunxi-tools/sunxi-tools.mk b/package/sunxi-tools/sunxi-tools.mk index 23e313533b..c554a5fd15 100644 --- a/package/sunxi-tools/sunxi-tools.mk +++ b/package/sunxi-tools/sunxi-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUNXI_TOOLS_VERSION = 89dac0f7eaaedd0d8afa9d5a3c713c7c1ccb9cf6 +SUNXI_TOOLS_VERSION = v1.4.1 SUNXI_TOOLS_SITE = $(call github,linux-sunxi,sunxi-tools,$(SUNXI_TOOLS_VERSION)) SUNXI_TOOLS_LICENSE = GPLv2+ SUNXI_TOOLS_LICENSE_FILES = COPYING From 80e59b9de2e8a4296322ee998e5e99d8a72f6ee4 Mon Sep 17 00:00:00 2001 From: Francois Perrad Date: Thu, 10 Nov 2016 11:55:24 +0100 Subject: [PATCH 047/180] sunxi-tools: fix license file Signed-off-by: Francois Perrad Signed-off-by: Thomas Petazzoni --- package/sunxi-tools/sunxi-tools.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/sunxi-tools/sunxi-tools.mk b/package/sunxi-tools/sunxi-tools.mk index c554a5fd15..1a58aff1be 100644 --- a/package/sunxi-tools/sunxi-tools.mk +++ b/package/sunxi-tools/sunxi-tools.mk @@ -7,7 +7,7 @@ SUNXI_TOOLS_VERSION = v1.4.1 SUNXI_TOOLS_SITE = $(call github,linux-sunxi,sunxi-tools,$(SUNXI_TOOLS_VERSION)) SUNXI_TOOLS_LICENSE = GPLv2+ -SUNXI_TOOLS_LICENSE_FILES = COPYING +SUNXI_TOOLS_LICENSE_FILES = LICENSE.md HOST_SUNXI_TOOLS_DEPENDENCIES = host-libusb host-pkgconf FEX2BIN = $(HOST_DIR)/usr/bin/fex2bin From e71f94a4d1056a6eb29da9b52a3cc25755d573a3 Mon Sep 17 00:00:00 2001 From: Zakharov Vlad Date: Thu, 10 Nov 2016 18:53:27 +0300 Subject: [PATCH 048/180] config: bump linux kernel to 4.8.6 in synopsys defconfigs With this commit we update ARC defconfigs with the following: - "snps_axs101_defconfig", "snps_axs103_defconfig" and "snps_hs38_smp_vdk_defconfig": - bump linux kernel version to 4.8.6 - set up host linux headers to 4.8 Signed-off-by: Vlad Zakharov Signed-off-by: Thomas Petazzoni --- configs/snps_axs101_defconfig | 6 +++--- configs/snps_axs103_defconfig | 6 +++--- configs/snps_hs38_smp_vdk_defconfig | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/configs/snps_axs101_defconfig b/configs/snps_axs101_defconfig index f272853c13..eea7a50141 100644 --- a/configs/snps_axs101_defconfig +++ b/configs/snps_axs101_defconfig @@ -8,13 +8,13 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay" -# Linux headers same as kernel, a 4.7 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7=y +# Linux headers same as kernel, a 4.8 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" BR2_LINUX_KERNEL_DEFCONFIG="axs101" # Bootloader diff --git a/configs/snps_axs103_defconfig b/configs/snps_axs103_defconfig index 75596c90b6..08c55de7e7 100644 --- a/configs/snps_axs103_defconfig +++ b/configs/snps_axs103_defconfig @@ -9,13 +9,13 @@ BR2_TARGET_ROOTFS_INITRAMFS=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay" -# Linux headers same as kernel, a 4.7 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7=y +# Linux headers same as kernel, a 4.8 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" BR2_LINUX_KERNEL_DEFCONFIG="axs103_smp" # Bootloader diff --git a/configs/snps_hs38_smp_vdk_defconfig b/configs/snps_hs38_smp_vdk_defconfig index 32922f810e..d4dcd1ba93 100644 --- a/configs/snps_hs38_smp_vdk_defconfig +++ b/configs/snps_hs38_smp_vdk_defconfig @@ -8,12 +8,12 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to the HS38 VDK Software Development Platform" BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay" BR2_TARGET_ROOTFS_EXT2=y -# Linux headers same as kernel, a 4.7 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7=y +# Linux headers same as kernel, a 4.8 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" BR2_LINUX_KERNEL_DEFCONFIG="vdk_hs38_smp" BR2_LINUX_KERNEL_VMLINUX=y From 12b7cf60606e4e82acf9f29454bab6ba40457777 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Thu, 10 Nov 2016 13:39:45 -0200 Subject: [PATCH 049/180] configs/olimex_imx233_olinuxino: Add EXT4 support Select BR2_TARGET_ROOTFS_EXT4 so that an EXT4 rootfs can be generated. Signed-off-by: Fabio Estevam Acked-by: Francois Perrad Signed-off-by: Thomas Petazzoni --- configs/olimex_imx233_olinuxino_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/olimex_imx233_olinuxino_defconfig b/configs/olimex_imx233_olinuxino_defconfig index 1040e5e740..70e8b5df44 100644 --- a/configs/olimex_imx233_olinuxino_defconfig +++ b/configs/olimex_imx233_olinuxino_defconfig @@ -32,6 +32,7 @@ BR2_PACKAGE_ZD1211_FIRMWARE=y # Filesystem BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT4=y # BR2_TARGET_ROOTFS_TAR is not set # U-Boot From a15d553820df58181250259324166fdb9b553f17 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Thu, 10 Nov 2016 13:39:46 -0200 Subject: [PATCH 050/180] configs/olimex_imx233_olinuxino: readme: Adjust the generated file names After the conversion to the common genimage scripts the generated file list is a bit different, so adjust it accordingly. Signed-off-by: Fabio Estevam Signed-off-by: Thomas Petazzoni --- board/olimex/imx233_olinuxino/readme.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/board/olimex/imx233_olinuxino/readme.txt b/board/olimex/imx233_olinuxino/readme.txt index 4b24ac2c16..d6a7377c13 100644 --- a/board/olimex/imx233_olinuxino/readme.txt +++ b/board/olimex/imx233_olinuxino/readme.txt @@ -8,12 +8,12 @@ It also pulls up the console on the serial port, not on TV output. === Output files after building ============================================== output/images -+-- kernel.vfat (VFAT kernel partition image generated by genimage) ++-- boot.vfat (VFAT kernel partition image generated by genimage) ++-- imx23-olinuxino.dtb (device tree blob) +-- rootfs.ext2 (Root file system) +-- sdcard.img (Complete SD card image generated by genimage) +-- u-boot.sd (U-Boot image) -+-- uImage -> uImage.imx23-olinuxino (To copy kernel as "uImage" to kernel.vfat) -+-- uImage.imx23-olinuxino (Kernel uImage) ++-- uImage (Kernel binary) === Use of generated SD card image =========================================== From d5ad41a723f1e7d61cce61ac8e8a19314baf1883 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Thu, 10 Nov 2016 13:39:47 -0200 Subject: [PATCH 051/180] configs/olimex_imx233_olinuxino: readme: Improve SD card flashing procedure Make the SD card flashing procedure text consistent with the other i.MX boards. Signed-off-by: Fabio Estevam Signed-off-by: Thomas Petazzoni --- board/olimex/imx233_olinuxino/readme.txt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/board/olimex/imx233_olinuxino/readme.txt b/board/olimex/imx233_olinuxino/readme.txt index d6a7377c13..2722c3acbd 100644 --- a/board/olimex/imx233_olinuxino/readme.txt +++ b/board/olimex/imx233_olinuxino/readme.txt @@ -17,13 +17,16 @@ output/images === Use of generated SD card image =========================================== -Just write sdcard.img directly to the SD card +To determine the device associated to the SD card have a look in the +/proc/partitions file: -***** WARNING: Double check that /dev/sdc is your MicroSD card ***** -***** It might be /dev/sdb or some other device name ***** -***** Failure to do so may result in you wiping your hard disk ***** + cat /proc/partitions - # dd if=output/images/sdcard.img of=/dev/sdc bs=512 +Then, run the following command as root: + +*** WARNING! The command will destroy all the card content. Use with care! *** + + sudo dd if=output/images/sdcard.img of=/dev/ === Manual creation of SD card image ========================================= From 7ce31b3e5592ee70ab4f1911caf8cef2e597946c Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Thu, 10 Nov 2016 13:39:48 -0200 Subject: [PATCH 052/180] configs/olimex_imx233_olinuxino: remove useless section from readme.txt After the conversion to the common genimage scripts, the uImage.imx23-olinuxino file no longer exists. Instead of updating the section, let's simply remove it as the more standard method of using sdcard.img is already explained. This also makes the readme more consistent with the other i.MX readme files. Signed-off-by: Fabio Estevam Signed-off-by: Thomas Petazzoni --- board/olimex/imx233_olinuxino/readme.txt | 70 ------------------------ 1 file changed, 70 deletions(-) diff --git a/board/olimex/imx233_olinuxino/readme.txt b/board/olimex/imx233_olinuxino/readme.txt index 2722c3acbd..1e676c45d1 100644 --- a/board/olimex/imx233_olinuxino/readme.txt +++ b/board/olimex/imx233_olinuxino/readme.txt @@ -27,73 +27,3 @@ Then, run the following command as root: *** WARNING! The command will destroy all the card content. Use with care! *** sudo dd if=output/images/sdcard.img of=/dev/ - -=== Manual creation of SD card image ========================================= - -You'll need a spare MicroSD card with Freescale's special partition layout. -This is basically three partitions: - -1) Type 53, the U-Boot partition, should be 16MB. -2) VFAT, place the kernel uImage there -3) Anything you like, for this example an ext2 partition, type 83 (linux). - -Assuming you see your MicroSD card as /dev/sdc you'd need to do, as root -and from the buildroot project top level directory: -(remember to replace /dev/sdc* with the appropiate device name!) - -***** WARNING: Double check that /dev/sdc is your MicroSD card ***** -***** It might be /dev/sdb or some other device name ***** -***** Failure to do so may result in you wiping your hard disk ***** - -1. Unmount the filesystem(s) if they're already mounted, usually... - - # for fs in `grep /dev/sdc /proc/mounts|cut -d ' ' -f 1`;do umount $fs;done - - ...should work - -2. Blank the partition table out - - # dd if=/dev/zero of=/dev/sdc bs=1024 count=1024 - -3. Set up the partitions - - # fdisk /dev/sdc - n - p - 1 - - +16MB - t - 53 - n - p - 2 - - +5M - t - 2 - 4 - n - p - 3 - - - w - -4. Fill up the first (U-Boot) partition - # dd if=output/images/u-boot.sd bs=512 of=/dev/sdc1 - -5. Create VFAT Filesystem - # mkfs.vfat /dev/sdc2 - -6. Mount and copy output/images/uImage.imx23-olinuxino to the VFAT partition, rename to uImage - # mount /dev/sdc2 /mnt - # cp output/images/uImages/uImage.imx23-olinuxino /mnt/uImage - # umount /mnt - -7. Fill up the third (filesystem) partition - # dd if=output/images/rootfs.ext2 of=/dev/sdc3 bs=512 - -8. Remove the MicroSD card from your linux PC and put it into your olinuxino. - -9. Boot! You're done! From 1f4c619c5820ca29c6975312e90efe267a909a2c Mon Sep 17 00:00:00 2001 From: Francois Perrad Date: Fri, 11 Nov 2016 11:19:40 +0100 Subject: [PATCH 053/180] configs/olimex_imx233_olinuxino: restore Wifi config Add a fragment with configs from retired linux-3.18.config. Signed-off-by: Francois Perrad Signed-off-by: Thomas Petazzoni --- .../imx233_olinuxino/linux-wifi.fragment | 18 ++++++++++++++++++ configs/olimex_imx233_olinuxino_defconfig | 1 + 2 files changed, 19 insertions(+) create mode 100644 board/olimex/imx233_olinuxino/linux-wifi.fragment diff --git a/board/olimex/imx233_olinuxino/linux-wifi.fragment b/board/olimex/imx233_olinuxino/linux-wifi.fragment new file mode 100644 index 0000000000..b70dea2c67 --- /dev/null +++ b/board/olimex/imx233_olinuxino/linux-wifi.fragment @@ -0,0 +1,18 @@ +# Network testing +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +CONFIG_CFG80211_WEXT=y +CONFIG_MAC80211=y +# MII PHY device drivers +CONFIG_WLAN=y +CONFIG_RTL8187=m +CONFIG_ATH9K_HTC=m +CONFIG_RT2X00=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RTL_CARDS=m +CONFIG_RTL8192CU=m +CONFIG_ZD1211RW=m diff --git a/configs/olimex_imx233_olinuxino_defconfig b/configs/olimex_imx233_olinuxino_defconfig index 70e8b5df44..37ec4d7834 100644 --- a/configs/olimex_imx233_olinuxino_defconfig +++ b/configs/olimex_imx233_olinuxino_defconfig @@ -16,6 +16,7 @@ BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" BR2_LINUX_KERNEL_DEFCONFIG="mxs" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/olimex/imx233_olinuxino/linux-wifi.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx23-olinuxino" BR2_LINUX_KERNEL_UIMAGE=y From f7afd935422ffd511a0e31827d56c6cb60aee23c Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Fri, 11 Nov 2016 16:19:24 +0100 Subject: [PATCH 054/180] netsniff-ng: bump to version 0.6.2 We recently released netsniff-ng 0.6.2 [1], bumpd the version accordingly. [1] https://github.com/netsniff-ng/netsniff-ng/releases/tag/v0.6.2 Cc: Joris Lijssens Signed-off-by: Tobias Klauser Signed-off-by: Thomas Petazzoni --- package/netsniff-ng/netsniff-ng.hash | 2 +- package/netsniff-ng/netsniff-ng.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/netsniff-ng/netsniff-ng.hash b/package/netsniff-ng/netsniff-ng.hash index 52124977ed..67b3331a92 100644 --- a/package/netsniff-ng/netsniff-ng.hash +++ b/package/netsniff-ng/netsniff-ng.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 902661bcdbc129c6a6c1f69a72f921fffc9e765d005568dc153f09ca0097c180 netsniff-ng-v0.6.1.tar.gz +sha256 62e8aa970a4f46cdaddf54daf8ea26e7ae9f9f358efaf0651799c8c4e937c286 netsniff-ng-v0.6.2.tar.gz diff --git a/package/netsniff-ng/netsniff-ng.mk b/package/netsniff-ng/netsniff-ng.mk index ad97a887e4..4ec7e743f5 100644 --- a/package/netsniff-ng/netsniff-ng.mk +++ b/package/netsniff-ng/netsniff-ng.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETSNIFF_NG_VERSION = v0.6.1 +NETSNIFF_NG_VERSION = v0.6.2 NETSNIFF_NG_SITE = $(call github,netsniff-ng,netsniff-ng,$(NETSNIFF_NG_VERSION)) NETSNIFF_NG_LICENSE = GPLv2 NETSNIFF_NG_LICENSE_FILES = README COPYING From cd59cb6b388d00865d0084e6a25eb306c0b5fdd3 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Fri, 11 Nov 2016 17:15:09 +0000 Subject: [PATCH 055/180] php: bump version to 7.0.13 Release notes: http://php.net/ChangeLog-7.php#7.0.13 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/php/php.hash | 2 +- package/php/php.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/php/php.hash b/package/php/php.hash index dde6a64dc3..f1cd34654e 100644 --- a/package/php/php.hash +++ b/package/php/php.hash @@ -1,2 +1,2 @@ # From http://php.net/downloads.php -sha256 f3d6c49e1c242e5995dec15e503fde996c327eb86cd7ec45c690e93c971b83ff php-7.0.12.tar.xz +sha256 357ba7f93975d7d836abed0852dc3ed96a988af539e87750613294cbee82f1bf php-7.0.13.tar.xz diff --git a/package/php/php.mk b/package/php/php.mk index f85cb371c2..c8abe660ad 100644 --- a/package/php/php.mk +++ b/package/php/php.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_VERSION = 7.0.12 +PHP_VERSION = 7.0.13 PHP_SITE = http://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES From 7d6bbbab39931f35081a12bc18985874cc129f03 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Fri, 11 Nov 2016 20:52:25 +0100 Subject: [PATCH 056/180] package/libva: bump version to 1.7.3 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- package/libva/libva.hash | 4 ++-- package/libva/libva.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/libva/libva.hash b/package/libva/libva.hash index c2e5ea4644..e63f4dbd83 100644 --- a/package/libva/libva.hash +++ b/package/libva/libva.hash @@ -1,2 +1,2 @@ -# From https://lists.freedesktop.org/archives/libva/2016-September/004379.html -sha1 a89680d34236fdc63adeec25cf431c005644b8c6 libva-1.7.2.tar.bz2 +# From https://lists.freedesktop.org/archives/libva/2016-November/004730.html +sha1 18e46f3d5a0e971eb0ec9fe14bc021e69eb13fb8 libva-1.7.3.tar.bz2 diff --git a/package/libva/libva.mk b/package/libva/libva.mk index df1758efcd..cf42b70e84 100644 --- a/package/libva/libva.mk +++ b/package/libva/libva.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBVA_VERSION = 1.7.2 +LIBVA_VERSION = 1.7.3 LIBVA_SOURCE = libva-$(LIBVA_VERSION).tar.bz2 LIBVA_SITE = http://www.freedesktop.org/software/vaapi/releases/libva LIBVA_LICENSE = MIT From 2ef6f37000dfcc1aedc501238d42cd0b22f24236 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Fri, 11 Nov 2016 20:52:26 +0100 Subject: [PATCH 057/180] package/libva-intel-driver: bump version to 1.7.3 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- package/libva-intel-driver/libva-intel-driver.hash | 4 ++-- package/libva-intel-driver/libva-intel-driver.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/libva-intel-driver/libva-intel-driver.hash b/package/libva-intel-driver/libva-intel-driver.hash index 24c2170451..10664d051b 100644 --- a/package/libva-intel-driver/libva-intel-driver.hash +++ b/package/libva-intel-driver/libva-intel-driver.hash @@ -1,2 +1,2 @@ -# From https://lists.freedesktop.org/archives/libva/2016-September/004380.html -sha1 9373afadd6ec0d6d983cf5bb2001d91c22b39719 libva-intel-driver-1.7.2.tar.bz2 +# From https://lists.freedesktop.org/archives/libva/2016-November/004731.html +sha1 5100f187afc4e39fce5664b96fe11a38faa9afaa libva-intel-driver-1.7.3.tar.bz2 diff --git a/package/libva-intel-driver/libva-intel-driver.mk b/package/libva-intel-driver/libva-intel-driver.mk index c388de1589..86f6eaa60e 100644 --- a/package/libva-intel-driver/libva-intel-driver.mk +++ b/package/libva-intel-driver/libva-intel-driver.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBVA_INTEL_DRIVER_VERSION = 1.7.2 +LIBVA_INTEL_DRIVER_VERSION = 1.7.3 LIBVA_INTEL_DRIVER_SOURCE = libva-intel-driver-$(LIBVA_INTEL_DRIVER_VERSION).tar.bz2 LIBVA_INTEL_DRIVER_SITE = http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver LIBVA_INTEL_DRIVER_LICENSE = MIT From 104eaea440162a300c03b008d6991f64f7cc4502 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sun, 13 Nov 2016 15:14:43 +0100 Subject: [PATCH 058/180] domoticz: bump to version 3.5877 Signed-off-by: Fabrice Fontaine Signed-off-by: Thomas Petazzoni --- package/domoticz/domoticz.hash | 2 +- package/domoticz/domoticz.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/domoticz/domoticz.hash b/package/domoticz/domoticz.hash index fef72f52b6..7feab8fbca 100644 --- a/package/domoticz/domoticz.hash +++ b/package/domoticz/domoticz.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 4b2d59c2bd70e61c486b372059164a688c53b8aa9f1aedb4beb3316ae2a130c5 domoticz-3.5837.tar.gz +sha256 fb88edbe428851a7a337a85faa93f6da00713b3ad086ff6957031dc9b3b58bba domoticz-3.5877.tar.gz diff --git a/package/domoticz/domoticz.mk b/package/domoticz/domoticz.mk index 2272da87cc..f43dbda49e 100644 --- a/package/domoticz/domoticz.mk +++ b/package/domoticz/domoticz.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOMOTICZ_VERSION = 3.5837 +DOMOTICZ_VERSION = 3.5877 DOMOTICZ_SITE = $(call github,domoticz,domoticz,$(DOMOTICZ_VERSION)) DOMOTICZ_LICENSE = GPLv3 DOMOTICZ_LICENSE_FILES = License.txt From 4309b96f3a38a2ed40389612c28a47917595667b Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Mon, 14 Nov 2016 21:16:52 +0100 Subject: [PATCH 059/180] lcms2: bump version to 2.8 For ChangeLog see [1]. [1] https://github.com/mm2/Little-CMS/blob/master/ChangeLog Signed-off-by: Peter Seiderer Signed-off-by: Thomas Petazzoni --- package/lcms2/lcms2.hash | 7 +++---- package/lcms2/lcms2.mk | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package/lcms2/lcms2.hash b/package/lcms2/lcms2.hash index 908822f8c1..1cf1017c54 100644 --- a/package/lcms2/lcms2.hash +++ b/package/lcms2/lcms2.hash @@ -1,5 +1,4 @@ -# From http://sourceforge.net/projects/lcms/files/lcms/2.7/ -sha1 625f0d74bad4a0f6f917120fd992437d26f754d2 lcms2-2.7.tar.gz -md5 06c1626f625424a811fb4b5eb070839d lcms2-2.7.tar.gz +# From https://sourceforge.net/projects/lcms/files/lcms/2.8 +sha1 e9535ec4a572b8fc7a1c405c35e6f4dc97714197 lcms2-2.8.tar.gz # Locally computed: -sha256 4524234ae7de185e6b6da5d31d6875085b2198bc63b1211f7dde6e2d197d6a53 lcms2-2.7.tar.gz +sha256 66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22 lcms2-2.8.tar.gz diff --git a/package/lcms2/lcms2.mk b/package/lcms2/lcms2.mk index 265af29098..8d0609ea1e 100644 --- a/package/lcms2/lcms2.mk +++ b/package/lcms2/lcms2.mk @@ -4,8 +4,8 @@ # ################################################################################ -LCMS2_VERSION = 2.7 -LCMS2_SITE = http://downloads.sourceforge.net/lcms/lcms +LCMS2_VERSION = 2.8 +LCMS2_SITE = http://downloads.sourceforge.net/project/lcms/lcms/$(LCMS2_VERSION) LCMS2_LICENSE = MIT LCMS2_LICENSE_FILES = COPYING LCMS2_INSTALL_STAGING = YES From ce7b0b8dfba9832169d80916b9adf83ef27dbb04 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Mon, 14 Nov 2016 15:26:23 -0200 Subject: [PATCH 060/180] boot/uboot: bump to version 2016.11 Signed-off-by: Fabio Estevam Signed-off-by: Thomas Petazzoni --- boot/uboot/Config.in | 4 ++-- boot/uboot/uboot.hash | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index fabf27db73..3b4bfac070 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -38,7 +38,7 @@ choice Select the specific U-Boot version you want to use config BR2_TARGET_UBOOT_LATEST_VERSION - bool "2016.09.01" + bool "2016.11" config BR2_TARGET_UBOOT_CUSTOM_VERSION bool "Custom version" @@ -86,7 +86,7 @@ endif config BR2_TARGET_UBOOT_VERSION string - default "2016.09.01" if BR2_TARGET_UBOOT_LATEST_VERSION + default "2016.11" if BR2_TARGET_UBOOT_LATEST_VERSION default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \ if BR2_TARGET_UBOOT_CUSTOM_VERSION default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL diff --git a/boot/uboot/uboot.hash b/boot/uboot/uboot.hash index db60dabf99..5b2c3bf493 100644 --- a/boot/uboot/uboot.hash +++ b/boot/uboot/uboot.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 95728e89dd476d17428f94080752ab48884be477b6a678941582aeef618b70bb u-boot-2016.09.01.tar.bz2 +sha256 45813e6565dcc0436abe6752624324cdbf5f3ac106570d76d32b46ec529bcdc8 u-boot-2016.11.tar.bz2 From 99fd3bae35f9971544990c1869933b8ae22832ec Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Mon, 14 Nov 2016 15:26:24 -0200 Subject: [PATCH 061/180] uboot-tools: bump to version 2016.11 Signed-off-by: Fabio Estevam Signed-off-by: Thomas Petazzoni --- package/uboot-tools/uboot-tools.hash | 2 +- package/uboot-tools/uboot-tools.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/uboot-tools/uboot-tools.hash b/package/uboot-tools/uboot-tools.hash index db60dabf99..5b2c3bf493 100644 --- a/package/uboot-tools/uboot-tools.hash +++ b/package/uboot-tools/uboot-tools.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 95728e89dd476d17428f94080752ab48884be477b6a678941582aeef618b70bb u-boot-2016.09.01.tar.bz2 +sha256 45813e6565dcc0436abe6752624324cdbf5f3ac106570d76d32b46ec529bcdc8 u-boot-2016.11.tar.bz2 diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk index a3335a5e84..bb0cba8782 100644 --- a/package/uboot-tools/uboot-tools.mk +++ b/package/uboot-tools/uboot-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -UBOOT_TOOLS_VERSION = 2016.09.01 +UBOOT_TOOLS_VERSION = 2016.11 UBOOT_TOOLS_SOURCE = u-boot-$(UBOOT_TOOLS_VERSION).tar.bz2 UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot UBOOT_TOOLS_LICENSE = GPLv2+ From 87f1bdda38b43192908dab585dc6b4fc3e39ffe5 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Mon, 14 Nov 2016 15:26:25 -0200 Subject: [PATCH 062/180] configs/warp7: Bump to U-Boot 2016.11 Signed-off-by: Fabio Estevam Signed-off-by: Thomas Petazzoni --- configs/warp7_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig index a55a5049cf..fca7a1d06f 100644 --- a/configs/warp7_defconfig +++ b/configs/warp7_defconfig @@ -25,7 +25,7 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7s-warp" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="warp7_secure" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.11" BR2_TARGET_UBOOT_FORMAT_IMX=y # wifi firmware for brcm43430 From 5f899d7f1cd807ff7a92b2facfd4718dad139724 Mon Sep 17 00:00:00 2001 From: Patrick Devlin Date: Mon, 14 Nov 2016 11:58:50 -0500 Subject: [PATCH 063/180] package/nodejs: bump version to 6.9.1 https://nodejs.org/en/blog/release/v6.9.1/ The patches from 6.7.0 have been copied to 6.9.1. Signed-off-by: Patrick Devlin Signed-off-by: Thomas Petazzoni --- .../0001-gyp-force-link-command-to-use-CXX.patch | 0 ...2-inspector-don-t-build-when-ssl-support-is-disabled.patch | 0 package/nodejs/Config.in | 2 +- package/nodejs/nodejs.hash | 4 ++-- 4 files changed, 3 insertions(+), 3 deletions(-) rename package/nodejs/{6.7.0 => 6.9.1}/0001-gyp-force-link-command-to-use-CXX.patch (100%) rename package/nodejs/{6.7.0 => 6.9.1}/0002-inspector-don-t-build-when-ssl-support-is-disabled.patch (100%) diff --git a/package/nodejs/6.7.0/0001-gyp-force-link-command-to-use-CXX.patch b/package/nodejs/6.9.1/0001-gyp-force-link-command-to-use-CXX.patch similarity index 100% rename from package/nodejs/6.7.0/0001-gyp-force-link-command-to-use-CXX.patch rename to package/nodejs/6.9.1/0001-gyp-force-link-command-to-use-CXX.patch diff --git a/package/nodejs/6.7.0/0002-inspector-don-t-build-when-ssl-support-is-disabled.patch b/package/nodejs/6.9.1/0002-inspector-don-t-build-when-ssl-support-is-disabled.patch similarity index 100% rename from package/nodejs/6.7.0/0002-inspector-don-t-build-when-ssl-support-is-disabled.patch rename to package/nodejs/6.9.1/0002-inspector-don-t-build-when-ssl-support-is-disabled.patch diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in index 976be50e4d..a47ba37a4a 100644 --- a/package/nodejs/Config.in +++ b/package/nodejs/Config.in @@ -43,7 +43,7 @@ config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS config BR2_PACKAGE_NODEJS_VERSION_STRING string - default "6.7.0" if BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS + default "6.9.1" if BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS default "0.10.47" config BR2_PACKAGE_NODEJS_NPM diff --git a/package/nodejs/nodejs.hash b/package/nodejs/nodejs.hash index f334a47e98..5df79afee4 100644 --- a/package/nodejs/nodejs.hash +++ b/package/nodejs/nodejs.hash @@ -1,5 +1,5 @@ # From upstream URL: http://nodejs.org/dist/v0.10.47/SHASUMS256.txt sha256 335bdf4db702885a8acaf2c9f241c70cabd62497361da81aca65c8e8a8e7ff09 node-v0.10.47.tar.xz -# From upstream URL: http://nodejs.org/dist/v6.7.0/SHASUMS256.txt -sha256 ceb028324aab1ee8c7ea6a62026f036f3ea71f5ef5212593d0f833f999dd3be5 node-v6.7.0.tar.xz +# From upstream URL: http://nodejs.org/dist/v6.9.1/SHASUMS256.txt +sha256 0bdd8d1305777cc8cd206129ea494d6c6ce56001868dd80147aff531d6df0729 node-v6.9.1.tar.xz From 966e0e8e10d33407775c5e8b6beb98d0a8810072 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Mon, 14 Nov 2016 12:29:47 +0100 Subject: [PATCH 064/180] package/libnet: enable on musl configurations Thanks to a patch taken from upstream (https://github.com/sam-github/libnet/commit/ffd7fab744a9ad2893169a8fb6244074604d5d0d), we can enable the libnet package on musl toolchain. Adjusted the file paths manually so the patch applies to the packaged libnet sources. Signed-off-by: Tobias Klauser [Thomas: allow the package to be selected with the musl C library.] Signed-off-by: Thomas Petazzoni --- package/libnet/0001-support-musl-libc.patch | 50 +++++++++++++++++++++ package/libnet/Config.in | 5 --- 2 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 package/libnet/0001-support-musl-libc.patch diff --git a/package/libnet/0001-support-musl-libc.patch b/package/libnet/0001-support-musl-libc.patch new file mode 100644 index 0000000000..0704157bb5 --- /dev/null +++ b/package/libnet/0001-support-musl-libc.patch @@ -0,0 +1,50 @@ +From ffd7fab744a9ad2893169a8fb6244074604d5d0d Mon Sep 17 00:00:00 2001 +From: rofl0r +Date: Tue, 12 Aug 2014 21:51:39 +0200 +Subject: [PATCH] Support musl libc, remove support for glibc < 2.1 + +The workarounds for glibc < 2.1 (was released february 1999) break the +build with musl libc. + +It is very unlikely that 2.0 or earlier is still in use, and if so, +1) that's a big security hole +2) code wouldnt compile anyway since noone tested build in the last decade +3) user of it wouldn't expect anyway to get bleeding edge sw built on it, + so he would just use the latest version that works for him. + +Closes #52 +--- + libnet/src/libnet_link_linux.c | 11 ----------- + 1 file changed, 11 deletions(-) + +diff --git a/libnet/src/libnet_link_linux.c b/libnet/src/libnet_link_linux.c +index 054458d..3c6df3c 100644 +--- a/src/libnet_link_linux.c ++++ b/src/libnet_link_linux.c +@@ -30,26 +30,15 @@ + #include + + #include +-#if (__GLIBC__) + #include + #include +-#else +-#include +-#include +-#endif + + #if (HAVE_PACKET_SOCKET) + #ifndef SOL_PACKET + #define SOL_PACKET 263 + #endif /* SOL_PACKET */ +-#if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1 + #include + #include /* the L2 protocols */ +-#else +-#include +-#include +-#include /* The L2 protocols */ +-#endif + #endif /* HAVE_PACKET_SOCKET */ + + #include "../include/libnet.h" diff --git a/package/libnet/Config.in b/package/libnet/Config.in index 0c5c230af4..7186972b7e 100644 --- a/package/libnet/Config.in +++ b/package/libnet/Config.in @@ -1,12 +1,7 @@ config BR2_PACKAGE_LIBNET bool "libnet" - # Build with musl fails due to header issues - depends on !BR2_TOOLCHAIN_USES_MUSL help libnet provides a portable framework for low-level network packet construction. http://sourceforge.net/projects/libnet-dev - -comment "libnet needs a glibc or uClibc toolchain" - depends on BR2_TOOLCHAIN_USES_MUSL From f148d55980bbc2943706670df638b0f70d8de81e Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Mon, 14 Nov 2016 12:29:48 +0100 Subject: [PATCH 065/180] package/netsniff-ng: allow to build with musl netsniff-ng allows build with musl since version 0.5.8. With libnet now being able to build with musl, let's enable musl for netsniff-ng as well. Signed-off-by: Tobias Klauser [Thomas: update Config.in comment.] Signed-off-by: Thomas Petazzoni --- package/netsniff-ng/Config.in | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/package/netsniff-ng/Config.in b/package/netsniff-ng/Config.in index e52bb25f0a..00617e3719 100644 --- a/package/netsniff-ng/Config.in +++ b/package/netsniff-ng/Config.in @@ -7,8 +7,7 @@ config BR2_PACKAGE_NETSNIFF_NG select BR2_PACKAGE_LIBURCU select BR2_PACKAGE_LIBNET # Build with uClibc fails due to missing ceill() - # Build with musl fails due to various header issues - depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_TOOLCHAIN_USES_UCLIBC depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS @@ -17,7 +16,7 @@ config BR2_PACKAGE_NETSNIFF_NG networking toolkit. If you will, the Swiss army knife for network packets. -comment "netsniff-ng needs a glibc toolchain w/ threads, headers >= 3.0" +comment "netsniff-ng needs a glibc or musl toolchain w/ threads, headers >= 3.0" depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC \ + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC \ || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 From a75a1d36d235b8552e3f6989681d0a4f17acef64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Date: Mon, 14 Nov 2016 12:04:48 +0100 Subject: [PATCH 066/180] htop: enable unicode if possible MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Pouiller [Thomas: - use positive logic - use += instead of = in conditions.] Signed-off-by: Thomas Petazzoni --- package/htop/htop.mk | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/package/htop/htop.mk b/package/htop/htop.mk index 7409a78e28..adc5090146 100644 --- a/package/htop/htop.mk +++ b/package/htop/htop.mk @@ -7,10 +7,15 @@ HTOP_VERSION = 2.0.2 HTOP_SITE = http://hisham.hm/htop/releases/$(HTOP_VERSION) HTOP_DEPENDENCIES = ncurses -HTOP_CONF_OPTS = --disable-unicode # Prevent htop build system from searching the host paths HTOP_CONF_ENV = HTOP_NCURSES_CONFIG_SCRIPT=$(STAGING_DIR)/usr/bin/ncurses5-config HTOP_LICENSE = GPLv2 HTOP_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) +HTOP_CONF_OPTS += --enable-unicode +else +HTOP_CONF_OPTS += --disable-unicode +endif + $(eval $(autotools-package)) From 6672a8a14194c75a886e2a9d3dcff3f8c2c74ccc Mon Sep 17 00:00:00 2001 From: Angelo Compagnucci Date: Sun, 13 Nov 2016 22:41:03 +0100 Subject: [PATCH 067/180] package/python-pillow: bump to pillow 3.4.2 This patch bumps python pillow to version 3.4.2 Signed-off-by: Angelo Compagnucci Signed-off-by: Thomas Petazzoni --- package/python-pillow/python-pillow.hash | 4 ++-- package/python-pillow/python-pillow.mk | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package/python-pillow/python-pillow.hash b/package/python-pillow/python-pillow.hash index ed195f6188..1dd816cb9f 100644 --- a/package/python-pillow/python-pillow.hash +++ b/package/python-pillow/python-pillow.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pillow/json, sha256 locally computed -md5 1ea45914e8cc375fb385da2555b37267 Pillow-3.4.0.tar.gz -sha256 51027d511f4ab991f628f6f7b9b0fbf18f584ee8a67160410afe3b19685b9d50 Pillow-3.4.0.tar.gz +md5 09ebb92ec5cbba13ff1acf139caf6b66 Pillow-3.4.2.tar.gz +sha256 0ee9975c05602e755ff5000232e0335ba30d507f6261922a658ee11b1cec36d1 Pillow-3.4.2.tar.gz diff --git a/package/python-pillow/python-pillow.mk b/package/python-pillow/python-pillow.mk index f06ce8d197..59cde75b75 100644 --- a/package/python-pillow/python-pillow.mk +++ b/package/python-pillow/python-pillow.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PILLOW_VERSION = 3.4.0 +PYTHON_PILLOW_VERSION = 3.4.2 PYTHON_PILLOW_SOURCE = Pillow-$(PYTHON_PILLOW_VERSION).tar.gz -PYTHON_PILLOW_SITE = https://pypi.python.org/packages/51/1d/6456623ea7e155249c0e82cf92715c42ba1902759d1eeff6ac5c3107e747 +PYTHON_PILLOW_SITE = https://pypi.python.org/packages/46/4f/94f6165052774839b4a4af0c72071aa528d5dc8cb8bc6bb43e24a55c10cc PYTHON_PILLOW_LICENSE = PIL Software License PYTHON_PILLOW_LICENSE_FILES = LICENSE PYTHON_PILLOW_SETUP_TYPE = setuptools From 472f0ae2dff7a912bebdb025f7dca0541ebc9769 Mon Sep 17 00:00:00 2001 From: Rahul Jain Date: Tue, 15 Nov 2016 16:33:20 +0530 Subject: [PATCH 068/180] Makefile: add missing targets to noconfig_targets and nobuild_targets currently some buildroot targets fails (list-defconfigs, graph-build, etc), if there is an issue with configuration. For example, enabling uboot package without providing custom version name results in failing of various targets. Signed-off-by: Rahul Jain Reviewed-by: Arnout Vandecappelle (Essensium/Mind) [Thomas: as suggested by Arnout, added printvars and savedefconfig to nobuild_targets.] Signed-off-by: Thomas Petazzoni --- Makefile | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 6cf5f1ce1e..eff814b8c6 100644 --- a/Makefile +++ b/Makefile @@ -126,7 +126,8 @@ export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlo noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \ defconfig %_defconfig allyesconfig allnoconfig silentoldconfig release \ randpackageconfig allyespackageconfig allnopackageconfig \ - print-version olddefconfig distclean + print-version olddefconfig distclean manual manual-html manual-split-html \ + manual-pdf manual-text manual-epub # Some global targets do not trigger a build, but are used to collect # metadata, or do various checks. When such targets are triggered, @@ -137,9 +138,12 @@ noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconf # We're building in two situations: when MAKECMDGOALS is empty # (default target is to build), or when MAKECMDGOALS contains # something else than one of the nobuild_targets. -nobuild_targets := source source-check \ - legal-info external-deps _external-deps \ - clean distclean help +nobuild_targets := source %-source source-check \ + legal-info %-legal-info external-deps _external-deps \ + clean distclean help show-targets graph-depends \ + %-graph-depends %-show-depends %-show-version \ + graph-build graph-size list-defconfigs \ + savedefconfig printvars ifeq ($(MAKECMDGOALS),) BR_BUILDING = y else ifneq ($(filter-out $(nobuild_targets),$(MAKECMDGOALS)),) From cbe981184cc1b4909b3f18d653109075d21458cb Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Tue, 15 Nov 2016 15:25:48 +0000 Subject: [PATCH 069/180] ruby: bump version to 2.3.2 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/ruby/ruby.hash | 4 ++-- package/ruby/ruby.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/ruby/ruby.hash b/package/ruby/ruby.hash index 7e627441a1..d480f0743d 100644 --- a/package/ruby/ruby.hash +++ b/package/ruby/ruby.hash @@ -1,2 +1,2 @@ -# From https://www.ruby-lang.org/en/news/2016/04/26/ruby-2-3-1-released/ -sha256 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 ruby-2.3.1.tar.xz +# From https://www.ruby-lang.org/en/news/2016/11/15/ruby-2-3-2-released/ +sha256 5c78f311045ce48160092160444dec2744941a5e37d7865032978bd5bf392f0c ruby-2.3.2.tar.xz diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk index f3f80475b8..631f270e43 100644 --- a/package/ruby/ruby.mk +++ b/package/ruby/ruby.mk @@ -5,7 +5,7 @@ ################################################################################ RUBY_VERSION_MAJOR = 2.3 -RUBY_VERSION = $(RUBY_VERSION_MAJOR).1 +RUBY_VERSION = $(RUBY_VERSION_MAJOR).2 RUBY_VERSION_EXT = 2.3.0 RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR) RUBY_SOURCE = ruby-$(RUBY_VERSION).tar.xz From 9d5ac9698bd5fd7dfb60447b8f9734f23bf78773 Mon Sep 17 00:00:00 2001 From: Alexey Brodkin Date: Wed, 9 Nov 2016 16:59:54 +0300 Subject: [PATCH 070/180] qt5webkit: get source code from Qt5 unofficial builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead of messing with git we can get tarballs of obsolete but still existing Qt5 submodules as we used to but from a bit different location. It turned out Qt people still create packages for obsolete submodules for so-called "unofficial builds", see [1]. [1] https://wiki.qt.io/Qt-5-unofficial-builds Signed-off-by: Alexey Brodkin Cc: Yegor Yefremov Cc: Thomas Petazzoni Cc: Peter Seiderer Cc: "Yann E. MORIN" Cc: Jerzy Grzegorek Cc: Peter Korsgaard Cc: Julien Corjon Cc: Gary Bisson Cc: Jérôme Pouiller Reviewed-by: Julien Corjon Signed-off-by: Thomas Petazzoni --- package/qt5/qt5.mk | 1 + package/qt5/qt5webkit/qt5webkit.hash | 4 ++-- package/qt5/qt5webkit/qt5webkit.mk | 14 +++----------- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk index d25f663662..e937e234b5 100644 --- a/package/qt5/qt5.mk +++ b/package/qt5/qt5.mk @@ -1,6 +1,7 @@ QT5_VERSION_MAJOR = 5.6 QT5_VERSION = $(QT5_VERSION_MAJOR).2 QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules +QT5_SNAPSHOTS_SITE = http://download.qt.io/snapshots/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/latest_src/submodules include $(sort $(wildcard package/qt5/*/*.mk)) define QT5_LA_PRL_FILES_FIXUP diff --git a/package/qt5/qt5webkit/qt5webkit.hash b/package/qt5/qt5webkit/qt5webkit.hash index 96b8bdd690..309f776b3f 100644 --- a/package/qt5/qt5webkit/qt5webkit.hash +++ b/package/qt5/qt5webkit/qt5webkit.hash @@ -1,2 +1,2 @@ -# locally computed -sha256 bdd659573e7e75cd4ad57b7160a7353d98d21a6fef06e4fb9e114a5b1f1e9dab qt5webkit-b35917bcb44d7f200af0f4ac68a126fa0aa8d93d.tar.gz +# Hash from: http://download.qt.io/snapshots/qt/5.6/5.6.2/latest_src/submodules/qtwebkit-opensource-src-5.6.2.tar.xz.mirrorlist +sha256 528a6b8b1c5095367b26e8ce4f3a46bb739e2e9913ff4dfc6ef58a04fcd73966 qtwebkit-opensource-src-5.6.2.tar.xz diff --git a/package/qt5/qt5webkit/qt5webkit.mk b/package/qt5/qt5webkit/qt5webkit.mk index 378cdf7857..980d2aff01 100644 --- a/package/qt5/qt5webkit/qt5webkit.mk +++ b/package/qt5/qt5webkit/qt5webkit.mk @@ -4,10 +4,9 @@ # ################################################################################ -QT5WEBKIT_VERSION = b35917bcb44d7f200af0f4ac68a126fa0aa8d93d -# Using GitHub since it supports downloading tarballs from random commits. -# The http://code.qt.io/cgit/qt/qtwebkit.git/ repo doesn't allow to do so. -QT5WEBKIT_SITE = $(call github,qtproject,qtwebkit,$(QT5WEBKIT_VERSION)) +QT5WEBKIT_VERSION = $(QT5_VERSION) +QT5WEBKIT_SITE = $(QT5_SNAPSHOTS_SITE) +QT5WEBKIT_SOURCE = qtwebkit-opensource-src-$(QT5WEBKIT_VERSION).tar.xz QT5WEBKIT_DEPENDENCIES = \ host-bison host-flex host-gperf host-python host-ruby \ qt5base sqlite @@ -43,14 +42,7 @@ define QT5WEBKIT_PYTHON2_SYMLINK endef QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK -# Since we get the source from git, generated header files are not included. -# qmake detects that header file generation (using the syncqt tool) must be -# done based on the existence of a .git directory (cfr. the git_build config -# option which is set in qt_build_paths.prf). -# So, to make sure that qmake detects that header files must be generated, -# create an empty .git directory. define QT5WEBKIT_CONFIGURE_CMDS - mkdir -p $(@D)/.git (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/usr/bin/qmake) endef From 10189569cae26bdd2bb40c586590b0975940249f Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 16 Nov 2016 12:47:17 +0000 Subject: [PATCH 071/180] cryptsetup: bump version to 1.7.3 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/cryptsetup/cryptsetup.hash | 2 +- package/cryptsetup/cryptsetup.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/cryptsetup/cryptsetup.hash b/package/cryptsetup/cryptsetup.hash index 5972bf8beb..b8c0d2b4e6 100644 --- a/package/cryptsetup/cryptsetup.hash +++ b/package/cryptsetup/cryptsetup.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/sha256sums.asc -sha256 dbb35dbf5f0c1749168c86c913fe98e872247bfc8425314b494c2423e7e43342 cryptsetup-1.7.2.tar.xz +sha256 af2b04e8475cf40b8d9ffd97a1acfa73aa787c890430afd89804fb544d6adc02 cryptsetup-1.7.3.tar.xz diff --git a/package/cryptsetup/cryptsetup.mk b/package/cryptsetup/cryptsetup.mk index d7bd251228..50bf5f2aaf 100644 --- a/package/cryptsetup/cryptsetup.mk +++ b/package/cryptsetup/cryptsetup.mk @@ -5,7 +5,7 @@ ################################################################################ CRYPTSETUP_VERSION_MAJOR = 1.7 -CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).2 +CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).3 CRYPTSETUP_SOURCE = cryptsetup-$(CRYPTSETUP_VERSION).tar.xz CRYPTSETUP_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/cryptsetup/v$(CRYPTSETUP_VERSION_MAJOR) CRYPTSETUP_DEPENDENCIES = lvm2 popt util-linux host-pkgconf \ From 36305380db1312442623128689fe5067d9058381 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Wed, 16 Nov 2016 22:11:49 +0100 Subject: [PATCH 072/180] xmlstarlet: use $() to reference make variables instead of ${} Signed-off-by: Thomas Petazzoni --- package/xmlstarlet/xmlstarlet.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/xmlstarlet/xmlstarlet.mk b/package/xmlstarlet/xmlstarlet.mk index 7039d7738f..98efd07730 100644 --- a/package/xmlstarlet/xmlstarlet.mk +++ b/package/xmlstarlet/xmlstarlet.mk @@ -15,9 +15,9 @@ XMLSTARLET_DEPENDENCIES += libxml2 libxslt \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) XMLSTARLET_CONF_OPTS += \ - --with-libxml-prefix=${STAGING_DIR}/usr \ - --with-libxslt-prefix=${STAGING_DIR}/usr \ - --with-libiconv-prefix=${STAGING_DIR}/usr + --with-libxml-prefix=$(STAGING_DIR)/usr \ + --with-libxslt-prefix=$(STAGING_DIR)/usr \ + --with-libiconv-prefix=$(STAGING_DIR)/usr ifeq ($(BR2_STATIC_LIBS),y) XMLSTARLET_CONF_OPTS += --enable-static-libs From 78c446a3405b97ea5bbff8b89199689c1fdf29e4 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Wed, 16 Nov 2016 18:29:21 +0200 Subject: [PATCH 073/180] linux-pam: drop useless comment The recursive reason for disabling linux-pam with musl doesn't help. Signed-off-by: Baruch Siach Signed-off-by: Thomas Petazzoni --- package/linux-pam/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/linux-pam/Config.in b/package/linux-pam/Config.in index 5d3fd61fa4..3d9835e8cc 100644 --- a/package/linux-pam/Config.in +++ b/package/linux-pam/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_LINUX_PAM select BR2_PACKAGE_FLEX depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) depends on !BR2_STATIC_LIBS - depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam + depends on !BR2_TOOLCHAIN_USES_MUSL depends on BR2_USE_MMU # fork() help A Security Framework that Provides Authentication for Applications From 496b15eac07e7fc6de21360e27be1e8ed864268b Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 16 Nov 2016 17:40:10 +0000 Subject: [PATCH 074/180] lftp: bump version to 4.7.4 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/lftp/lftp.hash | 4 ++-- package/lftp/lftp.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/lftp/lftp.hash b/package/lftp/lftp.hash index 57a5205af0..0e0f927a56 100644 --- a/package/lftp/lftp.hash +++ b/package/lftp/lftp.hash @@ -1,2 +1,2 @@ -# Locally calculated -sha256 3b22259cdc4c1a6ae349057d16bda4b4816929e04d223242ab8927bc31a48e7c lftp-4.7.3.tar.xz +# Locally calculated after checking gpg signature +sha256 bf67c4d128b6f769a4082947376a9679c5ee3463a24ab761a0757f75d70bd92c lftp-4.7.4.tar.xz diff --git a/package/lftp/lftp.mk b/package/lftp/lftp.mk index 802bbc74be..a7e1f92619 100644 --- a/package/lftp/lftp.mk +++ b/package/lftp/lftp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LFTP_VERSION = 4.7.3 +LFTP_VERSION = 4.7.4 LFTP_SOURCE = lftp-$(LFTP_VERSION).tar.xz LFTP_SITE = http://lftp.yar.ru/ftp LFTP_LICENSE = GPLv3+ From f9349058f7fe1fd50f03751a9b544b7c6fe93142 Mon Sep 17 00:00:00 2001 From: "Alvaro G. M" Date: Tue, 15 Nov 2016 11:50:44 +0100 Subject: [PATCH 075/180] libxmlrpc: bump to 1.39.11 Previous version patches are still needed, but they have been upgraded to apply cleanly. This also reverts aa9fde1c459dbc20b268694eafd7a1d3341dbf76, as that patch is already on upstream. Signed-off-by: Alvaro Gamez [Thomas: fix the AR/RANLIB problem by adding another patch.] Signed-off-by: Thomas Petazzoni --- .../libxmlrpc/0001-fix-gennmtab-build.patch | 2 +- .../0004-use-correct-curl-config.patch | 36 +++---------------- .../0006-fix-ar-ranlib-handling.patch | 28 +++++++++++++++ package/libxmlrpc/0006-narrowing.patch | 20 ----------- package/libxmlrpc/libxmlrpc.hash | 2 +- package/libxmlrpc/libxmlrpc.mk | 2 +- 6 files changed, 36 insertions(+), 54 deletions(-) create mode 100644 package/libxmlrpc/0006-fix-ar-ranlib-handling.patch delete mode 100644 package/libxmlrpc/0006-narrowing.patch diff --git a/package/libxmlrpc/0001-fix-gennmtab-build.patch b/package/libxmlrpc/0001-fix-gennmtab-build.patch index 8cdd9329f5..e98e5cbf58 100644 --- a/package/libxmlrpc/0001-fix-gennmtab-build.patch +++ b/package/libxmlrpc/0001-fix-gennmtab-build.patch @@ -19,7 +19,7 @@ Index: b/lib/expat/gennmtab/Makefile + $(CC_FOR_BUILD) -c $< -o $@ $(CFLAGS_FOR_BUILD) $(INCLUDES) gennmtab:%:%.o -- $(BUILDTOOL_CCLD) -o $@ $(LDFLAGS) $^ +- $(BUILDTOOL_CCLD) -o $@ $(LDFLAGS_ALL) $^ + $(CC_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $^ include depend.mk diff --git a/package/libxmlrpc/0004-use-correct-curl-config.patch b/package/libxmlrpc/0004-use-correct-curl-config.patch index b5816432d8..f2f1c557ba 100644 --- a/package/libxmlrpc/0004-use-correct-curl-config.patch +++ b/package/libxmlrpc/0004-use-correct-curl-config.patch @@ -12,15 +12,15 @@ Index: b/src/Makefile =================================================================== --- a/src/Makefile +++ b/src/Makefile -@@ -56,7 +56,7 @@ - TRANSPORT_MODS += blddir/lib/curl_transport/curltransaction - TRANSPORT_MODS += blddir/lib/curl_transport/curlmulti - TRANSPORT_MODS += blddir/lib/curl_transport/lock_pthread +@@ -57,7 +57,7 @@ + TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/xmlrpc_curl_transport + TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/curltransaction + TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/curlmulti - TRANSPORT_LIBDEP += $(shell curl-config --libs) + TRANSPORT_LIBDEP += $(shell $CURL_CONFIG --libs) + TRANSPORT_INCLUDES += -Isrcdir/lib/curl_transport endif ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes) - TRANSPORT_MODS += blddir/lib/libwww_transport/xmlrpc_libwww_transport Index: b/config.mk.in =================================================================== --- a/config.mk.in @@ -68,29 +68,3 @@ Index: b/lib/curl_transport/Makefile # We expect that curl-config --cflags just gives us -I options, because # we need just the -I options for 'make dep'. Plus, it's scary to think # of what any other compiler flag would do to our compile. -Index: b/src/cpp/test/Makefile -=================================================================== ---- a/src/cpp/test/Makefile -+++ b/src/cpp/test/Makefile -@@ -20,7 +20,7 @@ - LIBS := $(shell $(XMLRPC_C_CONFIG) client --ldadd) - - ifeq ($(MUST_BUILD_CURL_CLIENT),yes) -- LIBS += $(shell curl-config --libs) -+ LIBS += $(shell $(CURL_CONFIG) --libs) - endif - ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes) - LIBS += $(shell libwww-config --libs) -Index: b/tools/common.mk -=================================================================== ---- a/tools/common.mk -+++ b/tools/common.mk -@@ -15,7 +15,7 @@ - CLIENT_LDLIBS += $(shell libwww-config --libs) - endif - ifeq ($(MUST_BUILD_CURL_CLIENT),yes) -- CLIENT_LDLIBS += $(shell curl-config --libs) -+ CLIENT_LDLIBS += $(shell $(CURL_CONFIG) --libs) - endif - ifeq ($(MUST_BUILD_WININET_CLIENT),yes) - CLIENT_LDLIBS += $(shell wininet-config --libs) diff --git a/package/libxmlrpc/0006-fix-ar-ranlib-handling.patch b/package/libxmlrpc/0006-fix-ar-ranlib-handling.patch new file mode 100644 index 0000000000..1e58d24780 --- /dev/null +++ b/package/libxmlrpc/0006-fix-ar-ranlib-handling.patch @@ -0,0 +1,28 @@ +Fix detection of AR and RANLIB + +The configure.in script assumes that ranlib and ar are necessarily +prefixed by ${ac_tool_prefix}, which is the value of --host. However, +it's not necessarily the case. + +So instead, use AC_CHECK_TOOL to check for AR, and AC_PROG_RANLIB to +check for RANLIB. + +Signed-off-by: Thomas Petazzoni + +Index: b/configure.in +=================================================================== +--- a/configure.in ++++ b/configure.in +@@ -621,10 +621,8 @@ + BUILDDIR=$(pwd) + AC_SUBST(BUILDDIR) + +-AR=${ac_tool_prefix}ar +-AC_SUBST([AR]) +-RANLIB=${ac_tool_prefix}ranlib +-AC_SUBST([RANLIB]) ++AC_CHECK_TOOL([AR], [ar]) ++AC_PROG_RANLIB + + dnl ======================================================================= + dnl Output our results. diff --git a/package/libxmlrpc/0006-narrowing.patch b/package/libxmlrpc/0006-narrowing.patch deleted file mode 100644 index 43a5ca5f40..0000000000 --- a/package/libxmlrpc/0006-narrowing.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fix build with gcc6 - -Downloaded from -https://build.opensuse.org/package/view_file/devel:libraries:c_c++/xmlrpc-c/narrowing.patch - -Signed-off-by: Bernd Kuhls - -Index: xmlrpc-c-1.33.18/src/cpp/base64.cpp -=================================================================== ---- xmlrpc-c-1.33.18.orig/src/cpp/base64.cpp -+++ xmlrpc-c-1.33.18/src/cpp/base64.cpp -@@ -14,7 +14,7 @@ using namespace xmlrpc_c; - - namespace { - --char const table_a2b_base64[] = { -+signed char const table_a2b_base64[] = { - -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, - -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, - -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,62, -1,-1,-1,63, diff --git a/package/libxmlrpc/libxmlrpc.hash b/package/libxmlrpc/libxmlrpc.hash index d37fcfc95c..8ec1e14ea7 100644 --- a/package/libxmlrpc/libxmlrpc.hash +++ b/package/libxmlrpc/libxmlrpc.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 8ae6ed4ec57d50ed132b1150fc5258346eef3e291501a564f14fa97586902f98 xmlrpc-c-1.25.30.tgz +sha256 2e56cdcdd5c5fa564bcdc7a56bca108a88f5b78b34ccc85558366efabdc8b8e8 xmlrpc-c-1.39.11.tgz diff --git a/package/libxmlrpc/libxmlrpc.mk b/package/libxmlrpc/libxmlrpc.mk index 03a709597b..53a587780c 100644 --- a/package/libxmlrpc/libxmlrpc.mk +++ b/package/libxmlrpc/libxmlrpc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXMLRPC_VERSION = 1.25.30 +LIBXMLRPC_VERSION = 1.39.11 LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz LIBXMLRPC_SITE = http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(LIBXMLRPC_VERSION) LIBXMLRPC_LICENSE = BSD-3c (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c) From 196932cd91ef5d58bd3142bbea939fb55636a540 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Thu, 10 Nov 2016 15:27:11 +0200 Subject: [PATCH 076/180] toolchain: workaround musl/kernel headers conflict Rick Felker suggested[1] this hack as a workaround to musl libc conflict with kernel headers: The problem is linux/libc-compat.h, which should fix this, only works on glibc, by design. See: #ifndef _LIBC_COMPAT_H #define _LIBC_COMPAT_H /* We have included glibc headers... */ #if defined(__GLIBC__) /* Coordinate with glibc netinet/in.h header. */ #if defined(_NETINET_IN_H) If you patch it like this: -#if defined(__GLIBC__) +#if 1 then it should mostly work but it's still all a big hack. I think that's what distros are doing. The problem is that the same header is trying to do two different things: 1. Provide extra linux-kernel-API stuff that's not in the libc/userspace headers. 2. Provide definitions of the standard types and constants for uClibc and klibc, which don't have complete libc headers and rely on the kernel headers for definitions. These two uses really should be separated out into separate headers so that the latter only get included explicitly by uClibc and klibc and otherwise remain completely unused. But that would require coordinated changes/upgrades which are unlikely to happen. :( Upstream musl still evaluates[2][3] a permanent solution. With this in place we can revert (at least) commits a167081c5d (bridge-utils: fix build with musl) and e74d4fc4932 (norm: add patch to fix musl build). [1] http://www.openwall.com/lists/musl/2015/10/08/2 [2] http://git.musl-libc.org/cgit/musl/commit/?id=04983f2272382af92eb8f8838964ff944fbb8258 [3] http://www.openwall.com/lists/musl/2016/11/09/2 Signed-off-by: Baruch Siach Reviewed-by: Arnout Vandecappelle (Essensium/Mind) Signed-off-by: Thomas Petazzoni --- toolchain/toolchain/toolchain.mk | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/toolchain/toolchain/toolchain.mk b/toolchain/toolchain/toolchain.mk index c22713bfe3..d317e917d0 100644 --- a/toolchain/toolchain/toolchain.mk +++ b/toolchain/toolchain/toolchain.mk @@ -12,6 +12,20 @@ endif TOOLCHAIN_ADD_TOOLCHAIN_DEPENDENCY = NO +# Apply a hack that Rick Felker suggested[1] to avoid conflicts between libc +# headers and kernel headers. This is a temporary measure until musl finds a +# better solution. +# +# [1] http://www.openwall.com/lists/musl/2015/10/08/2 +ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) +define TOOLCHAIN_MUSL_KERNEL_HEADERS_COMPATIBILITY_HACK + $(SED) 's/^#if defined(__GLIBC__)$$/#if 1/' \ + $(STAGING_DIR)/usr/include/linux/libc-compat.h +endef +TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_MUSL_KERNEL_HEADERS_COMPATIBILITY_HACK +TOOLCHAIN_INSTALL_STAGING = YES +endif + $(eval $(virtual-package)) toolchain: $(HOST_DIR)/usr/share/buildroot/toolchainfile.cmake From c0b756cac41219ad558105304d33d113e2ee4d75 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Thu, 10 Nov 2016 15:27:12 +0200 Subject: [PATCH 077/180] Revert "bridge-utils: fix build with musl" This reverts commit a167081c5d5a5aee95b642a14200d18d8a84dbcc. With the applied musl/kernel headers conflict workaround this upstream nacked patch is no longer necessary. Signed-off-by: Baruch Siach Signed-off-by: Thomas Petazzoni --- ...-fix-headers-conflict-with-musl-libc.patch | 140 ------------------ 1 file changed, 140 deletions(-) delete mode 100644 package/bridge-utils/0002-libbridge-fix-headers-conflict-with-musl-libc.patch diff --git a/package/bridge-utils/0002-libbridge-fix-headers-conflict-with-musl-libc.patch b/package/bridge-utils/0002-libbridge-fix-headers-conflict-with-musl-libc.patch deleted file mode 100644 index fd7f45ed4e..0000000000 --- a/package/bridge-utils/0002-libbridge-fix-headers-conflict-with-musl-libc.patch +++ /dev/null @@ -1,140 +0,0 @@ -From 24e5409190820a14e4d097924b1acaab62bb3b99 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Sun, 30 Oct 2016 18:12:00 +0200 -Subject: [PATCH] libbridge: fix headers conflict with musl libc - -Don't including kernel headers directly to avoid headers conflict like: - -In file included from .../sysroot/usr/include/linux/if_bridge.h:18:0, - from libbridge.h:26, - from libbridge_if.c:26: -.../sysroot/usr/include/linux/in6.h:32:8: error: redefinition of ‘struct in6_addr’ - struct in6_addr { - ^ -In file included from libbridge.h:24:0, - from libbridge_if.c:26: -.../sysroot/usr/include/netinet/in.h:23:8: note: originally defined here - struct in6_addr { - ^ - -Instead copy the required linux/if_bridge.h definitions into -libbridge_private.h. - -Signed-off-by: Baruch Siach ---- -Patch status: Nacked -(https://lists.linuxfoundation.org/pipermail/bridge/2016-November/010107.html) ---- - libbridge/libbridge.h | 1 - - libbridge/libbridge_private.h | 83 ++++++++++++++++++++++++++++++++++++++++++- - 2 files changed, 82 insertions(+), 2 deletions(-) - -diff --git a/libbridge/libbridge.h b/libbridge/libbridge.h -index ff047f933cd6..18b40cd90413 100644 ---- a/libbridge/libbridge.h -+++ b/libbridge/libbridge.h -@@ -23,7 +23,6 @@ - #include - #include - #include --#include - - /* defined in net/if.h but that conflicts with linux/if.h... */ - extern unsigned int if_nametoindex (const char *__ifname); -diff --git a/libbridge/libbridge_private.h b/libbridge/libbridge_private.h -index 99a511dae00a..565025b7bccb 100644 ---- a/libbridge/libbridge_private.h -+++ b/libbridge/libbridge_private.h -@@ -24,7 +24,88 @@ - #include - #include - #include --#include -+ -+/* From linux/if_ether.h */ -+#ifndef ETH_ALEN -+#define ETH_ALEN 6 -+#endif -+ -+/* From linux/if_bridge.h */ -+#ifndef BRCTL_GET_VERSION -+#define BRCTL_GET_VERSION 0 -+#define BRCTL_GET_BRIDGES 1 -+#define BRCTL_ADD_BRIDGE 2 -+#define BRCTL_DEL_BRIDGE 3 -+#define BRCTL_ADD_IF 4 -+#define BRCTL_DEL_IF 5 -+#define BRCTL_GET_BRIDGE_INFO 6 -+#define BRCTL_GET_PORT_LIST 7 -+#define BRCTL_SET_BRIDGE_FORWARD_DELAY 8 -+#define BRCTL_SET_BRIDGE_HELLO_TIME 9 -+#define BRCTL_SET_BRIDGE_MAX_AGE 10 -+#define BRCTL_SET_AGEING_TIME 11 -+#define BRCTL_SET_GC_INTERVAL 12 -+#define BRCTL_GET_PORT_INFO 13 -+#define BRCTL_SET_BRIDGE_STP_STATE 14 -+#define BRCTL_SET_BRIDGE_PRIORITY 15 -+#define BRCTL_SET_PORT_PRIORITY 16 -+#define BRCTL_SET_PATH_COST 17 -+#define BRCTL_GET_FDB_ENTRIES 18 -+ -+#define BR_STATE_DISABLED 0 -+#define BR_STATE_LISTENING 1 -+#define BR_STATE_LEARNING 2 -+#define BR_STATE_FORWARDING 3 -+#define BR_STATE_BLOCKING 4 -+ -+struct __bridge_info { -+ __u64 designated_root; -+ __u64 bridge_id; -+ __u32 root_path_cost; -+ __u32 max_age; -+ __u32 hello_time; -+ __u32 forward_delay; -+ __u32 bridge_max_age; -+ __u32 bridge_hello_time; -+ __u32 bridge_forward_delay; -+ __u8 topology_change; -+ __u8 topology_change_detected; -+ __u8 root_port; -+ __u8 stp_enabled; -+ __u32 ageing_time; -+ __u32 gc_interval; -+ __u32 hello_timer_value; -+ __u32 tcn_timer_value; -+ __u32 topology_change_timer_value; -+ __u32 gc_timer_value; -+}; -+ -+struct __port_info { -+ __u64 designated_root; -+ __u64 designated_bridge; -+ __u16 port_id; -+ __u16 designated_port; -+ __u32 path_cost; -+ __u32 designated_cost; -+ __u8 state; -+ __u8 top_change_ack; -+ __u8 config_pending; -+ __u8 unused0; -+ __u32 message_age_timer_value; -+ __u32 forward_delay_timer_value; -+ __u32 hold_timer_value; -+}; -+ -+struct __fdb_entry { -+ __u8 mac_addr[ETH_ALEN]; -+ __u8 port_no; -+ __u8 is_local; -+ __u32 ageing_timer_value; -+ __u8 port_hi; -+ __u8 pad0; -+ __u16 unused; -+}; -+#endif /* BRCTL_GET_VERSION */ - - #define MAX_BRIDGES 1024 - #define MAX_PORTS 1024 --- -2.10.1 - From bae792e4c04b5f6ac34befd1334ddc715801a165 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Thu, 10 Nov 2016 15:27:13 +0200 Subject: [PATCH 078/180] Revert "norm: add patch to fix musl build" This reverts commit e74d4fc4932df4ea42381acb44d616241275b79a. With the applied musl/kernel headers conflict workaround this patch is no longer necessary. Signed-off-by: Baruch Siach Signed-off-by: Thomas Petazzoni --- ...move-kernel-headers-include-musl-fix.patch | 55 ------------------- 1 file changed, 55 deletions(-) delete mode 100644 package/norm/0003-remove-kernel-headers-include-musl-fix.patch diff --git a/package/norm/0003-remove-kernel-headers-include-musl-fix.patch b/package/norm/0003-remove-kernel-headers-include-musl-fix.patch deleted file mode 100644 index 7581c10b79..0000000000 --- a/package/norm/0003-remove-kernel-headers-include-musl-fix.patch +++ /dev/null @@ -1,55 +0,0 @@ -Remove kernel header includes causing issues with musl - -Include the kernel headers from netfilter causes a conflict with the - way of defining the IPPROTO_* constants, resulting in -the following build failure: - -In file included from /home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/netdb.h:9:0, - from /home/peko/autobuild/instance-0/output/build/norm-1.5r6/protolib/include/protoAddress.h:13, - from /home/peko/autobuild/instance-0/output/build/norm-1.5r6/protolib/include/protoDetour.h:5, - from ../protolib/src/linux/linuxDetour.cpp:3: -/home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/in.h:28:3: error: expected identifier before numeric constant - IPPROTO_IP = 0, /* Dummy protocol for TCP */ - ^ -/home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/in.h:28:3: error: expected '}' before numeric constant -/home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/in.h:28:3: error: expected unqualified-id before numeric constant -In file included from /home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/netfilter.h:7:0, - from /home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/netfilter_ipv4.h:8, - from ../protolib/src/linux/linuxDetour.cpp:10: -/home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/in.h:79:1: error: expected declaration before '}' token - }; - ^ - -Since from musl's developers perspective including kernel headers is -seen as being unsafe, we simply duplicate the necessary netfilter -definitions (there are just a few) instead of including some kernel -headers. - -Signed-off-by: Thomas Petazzoni - -Index: b/protolib/src/linux/linuxDetour.cpp -=================================================================== ---- a/protolib/src/linux/linuxDetour.cpp -+++ b/protolib/src/linux/linuxDetour.cpp -@@ -7,15 +7,18 @@ - #include // for atoi(), getenv() - #include - #include // for close() --#include // for NF_IP_LOCAL_OUT, etc --#include // for NF_IP6_LOCAL_OUT, etc --#include // for NF_ACCEPT, etc - #include - - #include // for fcntl(), etc - #include // for ETH_P_IP - #include // for ARPHRD_ETHER - -+/* From netfilter kernel headers */ -+#define NF_IP_LOCAL_OUT 3 -+ -+#define NF_DROP 0 -+#define NF_ACCEPT 1 -+ - /** NOTES: - * - * 1) This newer implementation of LinuxDetour uses netfilter_queue From a233fd0a6303e977d0bc50d56a984213512d895c Mon Sep 17 00:00:00 2001 From: Martin Kepplinger Date: Fri, 18 Nov 2016 17:36:05 +0100 Subject: [PATCH 079/180] tslib: bump version to 1.2 * The first patch is removed because the input-raw plugin is now enabled in tslib's provided ts.conf * The second patch added 2 programs to tslib. The whole patch is removed because: - ts_finddev is now part of tslib. - inputattach is part of the 'Linux console project' located here: https://sourceforge.net/projects/linuxconsole/ Signed-off-by: Martin Kepplinger Signed-off-by: Thomas Petazzoni --- package/tslib/0001-enable_raw_module.patch | 14 - ...02-add_finddef_and_inputattach_utils.patch | 718 ------------------ package/tslib/tslib.hash | 2 +- package/tslib/tslib.mk | 2 +- 4 files changed, 2 insertions(+), 734 deletions(-) delete mode 100644 package/tslib/0001-enable_raw_module.patch delete mode 100644 package/tslib/0002-add_finddef_and_inputattach_utils.patch diff --git a/package/tslib/0001-enable_raw_module.patch b/package/tslib/0001-enable_raw_module.patch deleted file mode 100644 index cb89338cf7..0000000000 --- a/package/tslib/0001-enable_raw_module.patch +++ /dev/null @@ -1,14 +0,0 @@ -Enable raw module by default - -Signed-off-by: Daniel Nyström - -diff -Naur tslib-e000d35a.orig/etc/ts.conf tslib-e000d35a/etc/ts.conf ---- tslib-e000d35a.orig/etc/ts.conf 2010-12-21 18:54:45.000000000 +0100 -+++ tslib-e000d35a/etc/ts.conf 2010-12-21 18:55:03.000000000 +0100 -@@ -1,5 +1,5 @@ - # Uncomment if you wish to use the linux input layer event interface --# module_raw input -+module_raw input - - # Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d - # module_raw collie diff --git a/package/tslib/0002-add_finddef_and_inputattach_utils.patch b/package/tslib/0002-add_finddef_and_inputattach_utils.patch deleted file mode 100644 index dcc6ec75ae..0000000000 --- a/package/tslib/0002-add_finddef_and_inputattach_utils.patch +++ /dev/null @@ -1,718 +0,0 @@ -diff -Naur tslib-org/tests/Makefile.am tslib-1.0/tests/Makefile.am ---- tslib-org/tests/Makefile.am 2006-08-25 00:02:55.000000000 +0300 -+++ tslib-1.0/tests/Makefile.am 2007-05-07 17:39:54.000000000 +0300 -@@ -12,7 +12,7 @@ - AM_CFLAGS = $(DEBUGFLAGS) - INCLUDES = -I$(top_srcdir)/src - --bin_PROGRAMS = ts_test ts_calibrate ts_print ts_print_raw ts_harvest -+bin_PROGRAMS = ts_test ts_calibrate ts_print ts_print_raw ts_harvest ts_finddev inputattach - - ts_test_SOURCES = ts_test.c fbutils.c fbutils.h font_8x8.c font_8x16.c font.h - ts_test_LDADD = $(top_builddir)/src/libts.la -@@ -27,4 +27,10 @@ - ts_calibrate_LDADD = $(top_builddir)/src/libts.la - - ts_harvest_SOURCES = ts_harvest.c fbutils.c fbutils.h testutils.c testutils.h font_8x8.c font_8x16.c font.h --ts_harvest_LDADD = $(top_builddir)/src/libts.la -+ts_harvest_LDADD = $(top_builddir)/src/libts.la -+ -+ts_finddev_SOURCES = ts_finddev.c -+ts_finddev_LDADD = $(top_builddir)/src/libts.la -+ -+inputattach_SOURCES = inputattach.c -+inputattach_LDADD = -diff -Naur tslib-org/tests/inputattach.c tslib-1.0/tests/inputattach.c ---- tslib-org/tests/inputattach.c 1970-01-01 02:00:00.000000000 +0200 -+++ tslib-1.0/tests/inputattach.c 2007-05-07 17:36:37.000000000 +0300 -@@ -0,0 +1,611 @@ -+/* -+ * $Id: inputattach.c,v 1.24 2006/02/08 12:19:31 vojtech Exp $ -+ * -+ * Copyright (c) 1999-2000 Vojtech Pavlik -+ * -+ * Sponsored by SuSE -+ * -+ * Twiddler support Copyright (c) 2001 Arndt Schoenewald -+ * Sponsored by Quelltext AG (http://www.quelltext-ag.de), Dortmund, Germany -+ */ -+ -+/* -+ * Input line discipline attach program -+ */ -+ -+/* -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ * -+ * Should you need to contact me, the author, you can do so either by -+ * e-mail - mail your message to , or by paper mail: -+ * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic -+ */ -+ -+/* softa note: -+cvs version is here: -+http://cvs.sourceforge.net/viewcvs.py/ *checkout* /linuxconsole/ruby/utils/inputattach.c -+*/ -+ -+#include -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+// softa patch! -+/* -+ * Serio types -+ */ -+#ifndef SERIO_UNKNOWN -+ #define SERIO_UNKNOWN 0x00 -+#endif -+#ifndef SERIO_MSC -+ #define SERIO_MSC 0x01 -+#endif -+#ifndef SERIO_SUN -+ #define SERIO_SUN 0x02 -+#endif -+#ifndef SERIO_MS -+ #define SERIO_MS 0x03 -+#endif -+#ifndef SERIO_MP -+ #define SERIO_MP 0x04 -+#endif -+#ifndef SERIO_MZ -+ #define SERIO_MZ 0x05 -+#endif -+#ifndef SERIO_MZP -+ #define SERIO_MZP 0x06 -+#endif -+#ifndef SERIO_MZPP -+ #define SERIO_MZPP 0x07 -+#endif -+#ifndef SERIO_VSXXXAA -+ #define SERIO_VSXXXAA 0x08 -+#endif -+#ifndef SERIO_SUNKBD -+ #define SERIO_SUNKBD 0x10 -+#endif -+#ifndef SERIO_WARRIOR -+ #define SERIO_WARRIOR 0x18 -+#endif -+#ifndef SERIO_SPACEORB -+ #define SERIO_SPACEORB 0x19 -+#endif -+#ifndef SERIO_MAGELLAN -+ #define SERIO_MAGELLAN 0x1a -+#endif -+#ifndef SERIO_SPACEBALL -+ #define SERIO_SPACEBALL 0x1b -+#endif -+#ifndef SERIO_GUNZE -+ #define SERIO_GUNZE 0x1c -+#endif -+#ifndef SERIO_IFORCE -+ #define SERIO_IFORCE 0x1d -+#endif -+#ifndef SERIO_STINGER -+ #define SERIO_STINGER 0x1e -+#endif -+#ifndef SERIO_NEWTON -+ #define SERIO_NEWTON 0x1f -+#endif -+#ifndef SERIO_STOWAWAY -+ #define SERIO_STOWAWAY 0x20 -+#endif -+#ifndef SERIO_H3600 -+ #define SERIO_H3600 0x21 -+#endif -+#ifndef SERIO_PS2SER -+ #define SERIO_PS2SER 0x22 -+#endif -+#ifndef SERIO_TWIDKBD -+ #define SERIO_TWIDKBD 0x23 -+#endif -+#ifndef SERIO_TWIDJOY -+ #define SERIO_TWIDJOY 0x24 -+#endif -+#ifndef SERIO_HIL -+ #define SERIO_HIL 0x25 -+#endif -+#ifndef SERIO_SNES232 -+ #define SERIO_SNES232 0x26 -+#endif -+#ifndef SERIO_SEMTECH -+ #define SERIO_SEMTECH 0x27 -+#endif -+#ifndef SERIO_LKKBD -+ #define SERIO_LKKBD 0x28 -+#endif -+#ifndef SERIO_ELO -+ #define SERIO_ELO 0x29 -+#endif -+#ifndef SERIO_MICROTOUCH -+ #define SERIO_MICROTOUCH 0x30 -+#endif -+#ifndef SERIO_PENMOUNT -+ #define SERIO_PENMOUNT 0x31 -+#endif -+#ifndef SERIO_TOUCHRIGHT -+ #define SERIO_TOUCHRIGHT 0x32 -+#endif -+#ifndef SERIO_TOUCHWIN -+ #define SERIO_TOUCHWIN 0x33 -+#endif -+// end softa patch! -+ -+int readchar(int fd, unsigned char *c, int timeout) -+{ -+ struct timeval tv; -+ fd_set set; -+ -+ tv.tv_sec = 0; -+ tv.tv_usec = timeout * 1000; -+ -+ FD_ZERO(&set); -+ FD_SET(fd, &set); -+ -+ if (!select(fd+1, &set, NULL, NULL, &tv)) return -1; -+ if (read(fd, c, 1) != 1) return -1; -+ -+ return 0; -+} -+ -+ -+ -+void setline(int fd, int flags, int speed) -+{ -+ struct termios t; -+ -+ tcgetattr(fd, &t); -+ -+ t.c_cflag = flags | CREAD | HUPCL | CLOCAL; -+ t.c_iflag = IGNBRK | IGNPAR; -+ t.c_oflag = 0; -+ t.c_lflag = 0; -+ t.c_cc[VMIN ] = 1; -+ t.c_cc[VTIME] = 0; -+ -+ cfsetispeed(&t, speed); -+ cfsetospeed(&t, speed); -+ -+ tcsetattr(fd, TCSANOW, &t); -+} -+ -+int logitech_command(int fd, char *c) -+{ -+ int i; -+ unsigned char d; -+ for (i = 0; c[i]; i++) { -+ write(fd, c + i, 1); -+ if (readchar(fd, &d, 1000)) -+ return -1; -+ if (c[i] != d) -+ return -1; -+ } -+ return 0; -+} -+ -+int magellan_init(int fd, long *id, long *extra) -+{ -+ write(fd, "m3\rpBB\rz\r", 9); -+ return 0; -+} -+ -+int warrior_init(int fd, long *id, long *extra) -+{ -+ if (logitech_command(fd, "*S")) return -1; -+ setline(fd, CS8, B4800); -+ return 0; -+} -+ -+int spaceball_waitchar(int fd, unsigned char c, unsigned char *d, int timeout) -+{ -+ unsigned char b = 0; -+ -+ while (!readchar(fd, &b, timeout)) { -+ if (b == 0x0a) continue; -+ *d++ = b; -+ if (b == c) break; -+ } -+ -+ *d = 0; -+ -+ return -(b != c); -+} -+ -+int spaceball_waitcmd(int fd, char c, char *d) -+{ -+ int i; -+ -+ for (i = 0; i < 8; i++) { -+ if (spaceball_waitchar(fd, 0x0d, d, 1000)) -+ return -1; -+ if (d[0] == c) -+ return 0; -+ } -+ -+ return -1; -+} -+ -+int spaceball_cmd(int fd, char *c, char *d) -+{ -+ int i; -+ -+ for (i = 0; c[i]; i++) -+ write(fd, c + i, 1); -+ write(fd, "\r", 1); -+ -+ i = spaceball_waitcmd(fd, toupper(c[0]), d); -+ -+ return i; -+} -+ -+#define SPACEBALL_1003 1 -+#define SPACEBALL_2003B 3 -+#define SPACEBALL_2003C 4 -+#define SPACEBALL_3003C 7 -+#define SPACEBALL_4000FLX 8 -+#define SPACEBALL_4000FLX_L 9 -+ -+int spaceball_init(int fd, long *id, long *extra) -+{ -+ char r[64]; -+ -+ if (spaceball_waitchar(fd, 0x11, r, 4000) || -+ spaceball_waitchar(fd, 0x0d, r, 1000)) -+ return -1; -+ -+ if (spaceball_waitcmd(fd, '@', r)) -+ return -1; -+ -+ if (strncmp("@1 Spaceball alive", r, 18)) -+ return -1; -+ -+ if (spaceball_waitcmd(fd, '@', r)) -+ return -1; -+ -+ if (spaceball_cmd(fd, "hm", r)) -+ return -1; -+ -+ if (!strncmp("Hm2003B", r, 7)) -+ *id = SPACEBALL_2003B; -+ if (!strncmp("Hm2003C", r, 7)) -+ *id = SPACEBALL_2003C; -+ if (!strncmp("Hm3003C", r, 7)) -+ *id = SPACEBALL_3003C; -+ -+ if (!strncmp("HvFirmware", r, 10)) { -+ -+ if (spaceball_cmd(fd, "\"", r)) -+ return -1; -+ -+ if (strncmp("\"1 Spaceball 4000 FLX", r, 21)) -+ return -1; -+ -+ if (spaceball_waitcmd(fd, '"', r)) -+ return -1; -+ -+ if (strstr(r, " L ")) -+ *id = SPACEBALL_4000FLX_L; -+ else -+ *id = SPACEBALL_4000FLX; -+ -+ if (spaceball_waitcmd(fd, '"', r)) -+ return -1; -+ -+ if (spaceball_cmd(fd, "YS", r)) -+ return -1; -+ -+ if (spaceball_cmd(fd, "M", r)) -+ return -1; -+ -+ return 0; -+ } -+ -+ if (spaceball_cmd(fd, "P@A@A", r) || -+ spaceball_cmd(fd, "FT@", r) || -+ spaceball_cmd(fd, "MSS", r)) -+ return -1; -+ -+ return 0; -+} -+ -+int stinger_init(int fd, long *id, long *extra) -+{ -+ int i; -+ unsigned char c; -+ unsigned char *response = "\r\n0600520058C272"; -+ -+ if (write(fd, " E5E5", 5) != 5) /* Enable command */ -+ return -1; -+ -+ for (i = 0; i < 16; i++) /* Check for Stinger */ -+ if (readchar(fd, &c, 200) || (c != response[i])) -+ return -1; -+ -+ return 0; -+} -+ -+int mzp_init(int fd, long *id, long *extra) -+{ -+ if (logitech_command(fd, "*X*q")) return -1; -+ setline(fd, CS8, B9600); -+ return 0; -+} -+ -+int newton_init(int fd, long *id, long *extra) -+{ -+ int i; -+ unsigned char c; -+ unsigned char response[35] = -+ { 0x16, 0x10, 0x02, 0x64, 0x5f, 0x69, 0x64, 0x00, -+ 0x00, 0x00, 0x0c, 0x6b, 0x79, 0x62, 0x64, 0x61, -+ 0x70, 0x70, 0x6c, 0x00, 0x00, 0x00, 0x01, 0x6e, -+ 0x6f, 0x66, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x10, -+ 0x03, 0xdd, 0xe7 }; -+ -+ for (i = 0; i < 35; i++) -+ if (readchar(fd, &c, 400) || (c != response[i])) -+ return -1; -+ -+ return 0; -+} -+ -+int twiddler_init(int fd, long *id, long *extra) -+{ -+ unsigned char c[10]; -+ int count, line; -+ -+ /* Turn DTR off, otherwise the Twiddler won't send any data. */ -+ if (ioctl(fd, TIOCMGET, &line)) return -1; -+ line &= ~TIOCM_DTR; -+ if (ioctl(fd, TIOCMSET, &line)) return -1; -+ -+ /* Check whether the device on the serial line is the Twiddler. -+ * -+ * The Twiddler sends data packets of 5 bytes which have the following -+ * properties: the MSB is 0 on the first and 1 on all other bytes, and -+ * the high order nibble of the last byte is always 0x8. -+ * -+ * We read and check two of those 5 byte packets to be sure that we -+ * are indeed talking to a Twiddler. */ -+ -+ /* Read at most 5 bytes until we find one with the MSB set to 0 */ -+ for (count = 0; count < 5; count++) { -+ if (readchar(fd, c+0, 500)) return -1; -+ if ((c[0] & 0x80) == 0) break; -+ } -+ -+ if (count == 5) { -+ /* Could not find header byte in data stream */ -+ return -1; -+ } -+ -+ /* Read remaining 4 bytes plus the full next data packet */ -+ for (count = 1; count < 10; count++) { -+ if (readchar(fd, c+count, 500)) return -1; -+ } -+ -+ /* Check whether the bytes of both data packets obey the rules */ -+ for (count = 1; count < 10; count++) { -+ if ((count % 5 == 0 && (c[count] & 0x80) != 0) -+ || (count % 5 == 4 && (c[count] & 0xF0) != 0x80) -+ || (count % 5 != 0 && (c[count] & 0x80) != 0x80)) { -+ /* Invalid byte in data packet */ -+ return -1; -+ } -+ } -+ -+ return 0; -+} -+ -+int penmount_init(int fd, long *id, long *extra) -+{ -+ unsigned char init_cmd[5] = { 0xF2, 0x00, 0x00, 0x00, 0x00 }; -+ unsigned char start_cmd[5] = { 0xF1, 0x00, 0x00, 0x00, 0x00 }; -+ unsigned char c[10]; -+ int count; -+ -+ /* try to initialize device */ -+ if (write( fd, init_cmd, 5 ) != 5) -+ return -1; -+ -+ /* read the responce */ -+ for (count = 0; count < 5; count ++) { -+ if (readchar(fd, c+0, 500)) return -1; -+ if (c[0] == 0xf2) break; -+ } -+ -+ if (readchar(fd, c+1, 500)) return -1; -+ if (c[1] != 0xd9) return -1; -+ -+ if (readchar(fd, c+2, 500)) return -1; -+ if (c[2] != 0x0a) return -1; -+ -+ /* the device is present! start it! */ -+ if (write( fd, start_cmd, 5 ) != 5) -+ return -1; -+ -+ return 0; -+} -+ -+int dump_init(int fd, long *id, long *extra) -+{ -+ unsigned char c, o = 0; -+ -+ c = 0x80; -+ -+ if (write(fd, &c, 1) != 1) /* Enable command */ -+ return -1; -+ -+ while (1) -+ if (!readchar(fd, &c, 1)) { -+ printf("%02x (%c) ", c, ((c > 32) && (c < 127)) ? c : 'x'); -+ o = 1; -+ } else { -+ if (o) { -+ printf("\n"); -+ o = 0; -+ } -+ } -+} -+ -+struct input_types { -+ char name[16]; -+ char name2[16]; -+ int speed; -+ int flags; -+ unsigned long type; -+ unsigned long id; -+ unsigned long extra; -+ int flush; -+ int (*init)(int fd, long *id, long *extra); -+}; -+ -+struct input_types input_types[] = { -+ -+{ "--sunkbd", "-skb", B1200, CS8, SERIO_SUNKBD, 0, 0, 1, NULL }, -+{ "--lkkbd", "-lk", B4800, CS8|CSTOPB, SERIO_LKKBD, 0, 0, 1, NULL }, -+{ "--vsxxx-aa", "-vs", B4800, CS8|CSTOPB|PARENB|PARODD,SERIO_VSXXXAA, 0, 0, 1, NULL }, -+{ "--spaceorb", "-orb", B9600, CS8, SERIO_SPACEORB, 0, 0, 1, NULL }, -+{ "--spaceball", "-sbl", B9600, CS8, SERIO_SPACEBALL,0, 0, 0, spaceball_init }, -+{ "--magellan", "-mag", B9600, CS8 | CSTOPB | CRTSCTS, SERIO_MAGELLAN, 0, 0, 1, magellan_init }, -+{ "--warrior", "-war", B1200, CS7 | CSTOPB, SERIO_WARRIOR, 0, 0, 1, warrior_init }, -+{ "--stinger", "-sting", B1200, CS8, SERIO_STINGER, 0, 0, 1, stinger_init }, -+{ "--mousesystems", "-msc", B1200, CS8, SERIO_MSC, 0, 0x01, 1, NULL }, -+{ "--sunmouse", "-sun", B1200, CS8, SERIO_SUN, 0, 0x01, 1, NULL }, -+{ "--microsoft", "-bare", B1200, CS7, SERIO_MS, 0, 0, 1, NULL }, -+{ "--mshack", "-ms", B1200, CS7, SERIO_MS, 0, 0x01, 1, NULL }, -+{ "--mouseman", "-mman", B1200, CS7, SERIO_MP, 0, 0x01, 1, NULL }, -+{ "--intellimouse", "-ms3", B1200, CS7, SERIO_MZ, 0, 0x11, 1, NULL }, -+{ "--mmwheel", "-mmw", B1200, CS7 | CSTOPB, SERIO_MZP, 0, 0x13, 1, mzp_init }, -+{ "--iforce", "-ifor", B38400, CS8, SERIO_IFORCE, 0, 0, 0, NULL }, -+{ "--newtonkbd", "-newt", B9600, CS8, SERIO_NEWTON, 0, 0, 0, newton_init }, -+{ "--h3600ts", "-ipaq", B115200, CS8, SERIO_H3600, 0, 0, 0, NULL }, -+{ "--stowawaykbd", "-ipaqkbd", B115200, CS8, SERIO_STOWAWAY, 0, 0, 0, NULL }, -+{ "--ps2serkbd", "-ps2ser", B1200, CS8, SERIO_PS2SER, 0, 0, 1, NULL }, -+{ "--twiddler", "-twid", B2400, CS8, SERIO_TWIDKBD, 0, 0, 0, twiddler_init }, -+{ "--twiddler-joy", "-twidjoy", B2400, CS8, SERIO_TWIDJOY, 0, 0, 0, twiddler_init }, -+{ "--elotouch", "-elo", B9600, CS8 | CRTSCTS, SERIO_ELO, 0, 0, 0, NULL }, -+{ "--elo4002", "-elo6b", B9600, CS8 | CRTSCTS, SERIO_ELO, 1, 0, 0, NULL }, -+{ "--elo271-140", "-elo4b", B9600, CS8 | CRTSCTS, SERIO_ELO, 2, 0, 0, NULL }, -+{ "--elo261-280", "-elo3b", B9600, CS8 | CRTSCTS, SERIO_ELO, 3, 0, 0, NULL }, -+{ "--dump", "-dump", B2400, CS8, 0, 0, 0, 0, dump_init }, -+{ "--dmc9000", "-dmc", B19200, CS8, SERIO_PENMOUNT, 0, 0, 0, penmount_init }, -+{ "", "", 0, 0 } -+ -+}; -+ -+int main(int argc, char **argv) -+{ -+ unsigned long devt; -+ int ldisc; -+ int type; -+ long id, extra; -+ int fd; -+ char c; -+ -+ if (argc < 2 || argc > 3 || !strcmp("--help", argv[1])) { -+ puts(""); -+ puts("Usage: inputttach "); -+ puts(""); -+ puts("Modes:"); -+ puts(" --sunkbd -skb Sun Type 4 and Type 5 keyboards"); -+ puts(" --lkkbd -lk DEC LK201 / LK401 keyboards"); -+ puts(" --vsxxx-aa -vs DEC VSXXX-AA / VSXXX-GA mouse and VSXXX-AB tablet"); -+ puts(" --spaceorb -orb SpaceOrb 360 / SpaceBall Avenger"); -+ puts(" --spaceball -sbl SpaceBall 2003 / 3003 / 4000 FLX"); -+ puts(" --magellan -mag Magellan / SpaceMouse"); -+ puts(" --warrior -war WingMan Warrior"); -+ puts(" --stinger -stng Gravis Stinger"); -+ puts(" --mousesystems -msc 3-button Mouse Systems mice"); -+ puts(" --sunmouse -sun 3-button Sun mice"); -+ puts(" --microsoft -bare 2-button Microsoft mice"); -+ puts(" --mshack -ms 3-button mice in Microsoft mode"); -+ puts(" --mouseman -mman 3-button Logitech and Genius mice"); -+ puts(" --intellimouse -ms3 Microsoft IntelliMouse"); -+ puts(" --mmwheel -mmw Logitech mice with 4-5 buttons or wheel"); -+ puts(" --iforce -ifor I-Force joysticks and wheels"); -+ puts(" --h3600ts -ipaq Ipaq h3600 touchscreen"); -+ puts(" --stowawaykbd -ipaqkbd Stowaway keyboard"); -+ puts(" --ps2serkbd -ps2ser PS/2 via serial keyboard"); -+ puts(" --twiddler -twid Handykey Twiddler chording keyboard"); -+ puts(" --twiddler-joy -twidjoy Handykey Twiddler used as a joystick"); -+ puts(" --dmc9000 -dmc DMC9000/Penpount touchscreen"); -+ puts(""); -+ return 1; -+ } -+ -+ for (type = 0; input_types[type].speed; type++) { -+ if (!strncasecmp(argv[1], input_types[type].name, 16) || -+ !strncasecmp(argv[1], input_types[type].name2, 16)) -+ break; -+ } -+ -+ if (!input_types[type].speed) { -+ fprintf(stderr, "inputattach: invalid mode\n"); -+ return 1; -+ } -+ -+ if ((fd = open(argv[2], O_RDWR | O_NOCTTY | O_NONBLOCK)) < 0) { -+ perror("inputattach"); -+ return 1; -+ } -+ -+ setline(fd, input_types[type].flags, input_types[type].speed); -+ -+ if (input_types[type].flush) -+ while (!readchar(fd, &c, 100)); -+ -+ id = input_types[type].id; -+ extra = input_types[type].extra; -+ -+ if (input_types[type].init && input_types[type].init(fd, &id, &extra)) { -+ fprintf(stderr, "inputattach: device initialization failed\n"); -+ return 1; -+ } -+ -+ ldisc = N_MOUSE; -+ if(ioctl(fd, TIOCSETD, &ldisc)) { -+ fprintf(stderr, "inputattach: can't set line discipline\n"); -+ return 1; -+ } -+ -+ devt = input_types[type].type | (id << 8) | (extra << 16); -+ -+ if(ioctl(fd, SPIOCSTYPE, &devt)) { -+ fprintf(stderr, "inputattach: can't set device type\n"); -+ return 1; -+ } -+ -+ read(fd, NULL, 0); -+ -+ ldisc = 0; -+ ioctl(fd, TIOCSETD, &ldisc); -+ close(fd); -+ -+ return 0; -+} -diff -Naur tslib-org/tests/ts_finddev.c tslib-1.0/tests/ts_finddev.c ---- tslib-org/tests/ts_finddev.c 1970-01-01 02:00:00.000000000 +0200 -+++ tslib-1.0/tests/ts_finddev.c 2007-05-07 17:36:37.000000000 +0300 -@@ -0,0 +1,75 @@ -+/* -+ * tslib/src/ts_print.c -+ * -+ * Derived from tslib/src/ts_test.c by Douglas Lowder -+ * Just prints touchscreen events -- does not paint them on framebuffer -+ * -+ * This file is placed under the GPL. Please see the file -+ * COPYING for more details. -+ * -+ * Basic test program for touchscreen library. -+ */ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "tslib.h" -+ -+void usage( int argc, char** argv ) { -+ printf( "Usage: %s device_name wait_for_sec\n", argv[0] ); -+ printf( "\tdevice_name - tdevice to probe, example /dev/input/event0\n" ); -+ printf( "\twait_for_sec - wait seconds for touch event, if 0 - dont wait!\n" ); -+ printf( "\tReturn codes:\n" ); -+ printf( "\t 0 - timeout expired without receiving event.\n" ); -+ printf( "\t But this maybe is TouchScreen.\n" ); -+ printf( "\t -1 - this is NOT TouchScreen device!\n" ); -+ printf( "\t 1 - this is TouchScreen for shure!\n" ); -+ exit(-1); -+} -+ -+void alarm_handler( int sig ) { -+ // time is expired! -+ exit(0); -+} -+ -+int main( int argc, char** argv ) -+{ -+ struct tsdev *ts; -+ struct ts_sample samp; -+ char *tsdevice=NULL; -+ int waitsec; -+ int ret; -+ -+ if (argc != 3) -+ usage( argc, argv ); -+ -+ tsdevice = argv[1]; -+ waitsec = atoi( argv[2] ); -+ if (waitsec < 0) -+ usage( argc, argv ); -+ -+ ts = ts_open( tsdevice, 0 ); -+ if (!ts) -+ return -1; -+ if (ts_config(ts)) -+ return -1; -+ -+ if (!waitsec) { -+ return 0; -+ } -+ -+ printf( "Probe device %s, Please Touch Screen Anywhere in %i seconds! ... \n", tsdevice, waitsec ); -+ signal( SIGALRM, alarm_handler ); -+ alarm( waitsec ); -+ ret = ts_read_raw(ts, &samp, 1 ); -+ if (ret) -+ return 1; -+ -+ return -1; -+} diff --git a/package/tslib/tslib.hash b/package/tslib/tslib.hash index e3ddce54fe..fc493e78d0 100644 --- a/package/tslib/tslib.hash +++ b/package/tslib/tslib.hash @@ -1,2 +1,2 @@ # Locally generated -sha256 121750e9ae0f05ce840ab8dbefdae1297258f0a69dd1967f55c40ac6e87d5ee9 tslib-1.1.tar.gz +sha256 b6450f4d1bc8f4fbbb796a2d1210aee3ccf9ecf302a368dddf279c63eb634833 tslib-1.2.tar.gz diff --git a/package/tslib/tslib.mk b/package/tslib/tslib.mk index 1100247905..6437f60c3d 100644 --- a/package/tslib/tslib.mk +++ b/package/tslib/tslib.mk @@ -4,7 +4,7 @@ # ################################################################################ -TSLIB_VERSION = 1.1 +TSLIB_VERSION = 1.2 TSLIB_SITE = https://github.com/kergoth/tslib/releases/download/$(TSLIB_VERSION) TSLIB_LICENSE = GPL, LGPL TSLIB_LICENSE_FILES = COPYING From 0085734dc92d5e9024f1b511c32c4eab536f6a73 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Mon, 21 Nov 2016 13:43:06 +0000 Subject: [PATCH 080/180] ruby: bump version to 2.3.3 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/ruby/ruby.hash | 4 ++-- package/ruby/ruby.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/ruby/ruby.hash b/package/ruby/ruby.hash index d480f0743d..8182e2c158 100644 --- a/package/ruby/ruby.hash +++ b/package/ruby/ruby.hash @@ -1,2 +1,2 @@ -# From https://www.ruby-lang.org/en/news/2016/11/15/ruby-2-3-2-released/ -sha256 5c78f311045ce48160092160444dec2744941a5e37d7865032978bd5bf392f0c ruby-2.3.2.tar.xz +# From https://www.ruby-lang.org/en/news/2016/11/21/ruby-2-3-3-released/ +sha256 1a4fa8c2885734ba37b97ffdb4a19b8fba0e8982606db02d936e65bac07419dc ruby-2.3.3.tar.xz diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk index 631f270e43..b8e03ac07f 100644 --- a/package/ruby/ruby.mk +++ b/package/ruby/ruby.mk @@ -5,7 +5,7 @@ ################################################################################ RUBY_VERSION_MAJOR = 2.3 -RUBY_VERSION = $(RUBY_VERSION_MAJOR).2 +RUBY_VERSION = $(RUBY_VERSION_MAJOR).3 RUBY_VERSION_EXT = 2.3.0 RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR) RUBY_SOURCE = ruby-$(RUBY_VERSION).tar.xz From be4b3575d5ac5cf89ddb1c709ff6a8128ff4131c Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Thu, 17 Nov 2016 17:08:57 +0000 Subject: [PATCH 081/180] gstreamer1/gstreamer1: bump version to 1.10.1 Release notes: https://gstreamer.freedesktop.org/releases/gstreamer/1.10.1.html Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gstreamer1/gstreamer1.hash | 4 ++-- package/gstreamer1/gstreamer1/gstreamer1.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gstreamer1/gstreamer1.hash b/package/gstreamer1/gstreamer1/gstreamer1.hash index 8bd7782a5d..40677da20a 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.hash +++ b/package/gstreamer1/gstreamer1/gstreamer1.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.10.0.tar.xz.sha256sum -sha256 1e7778fabe480185bfc4ce552f0860de1443f6618a68a86ccdd65854fed37207 gstreamer-1.10.0.tar.xz +# From http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.10.1.tar.xz.sha256sum +sha256 f68df996e0e699382b935bb4783dd402c301377df18f57e28e0318c4b3bff6da gstreamer-1.10.1.tar.xz diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index cb111f2f4c..794abc4b30 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.10.0 +GSTREAMER1_VERSION = 1.10.1 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES From 2e3a4d553a5f712af811295a507682b576b4ca81 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Thu, 17 Nov 2016 17:08:58 +0000 Subject: [PATCH 082/180] gstreamer1/gst1-plugins-base: bump version to 1.10.1 Release notes: https://gstreamer.freedesktop.org/releases/gst-plugins-base/1.10.1.html Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash | 4 ++-- package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index f4a43ca284..70aad4d3f4 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.10.0.tar.xz.sha256sum -sha256 bfcdef97dfc69a0bbdb4403c47aae4e53def176bf0b781c5d818550536cfe94a gst-plugins-base-1.10.0.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.10.1.tar.xz.sha256sum +sha256 66cfee294c7aaf9d7867eaba4841ca6254ea74f1a8b53e1289f4d3b9b6c976c9 gst-plugins-base-1.10.1.tar.xz diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index c5686b3eff..c89c22d039 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.10.0 +GST1_PLUGINS_BASE_VERSION = 1.10.1 GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base GST1_PLUGINS_BASE_INSTALL_STAGING = YES From f4e85aa02346cc2f14a7e798a6073257e463e8d3 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Thu, 17 Nov 2016 17:08:59 +0000 Subject: [PATCH 083/180] gstreamer1/gst1-plugins-good: bump version to 1.10.1 Release notes: https://gstreamer.freedesktop.org/releases/gst-plugins-good/1.10.1.html Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash | 4 ++-- package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash index a00db6cc43..9977e2fc30 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.10.0.tar.xz.sha256sum -sha256 7a03559763f5634ab1b4b2edd3e9f7442bdd4657187e20ea5e1887ae46371de2 gst-plugins-good-1.10.0.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.10.1.tar.xz.sha256sum +sha256 a7642ea7e7c17fb67e94d0c17e56757b6577fa7ed244ff8c11031841d3556cc2 gst-plugins-good-1.10.1.tar.xz diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index ca3bfaa15e..9da0c217a7 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.10.0 +GST1_PLUGINS_GOOD_VERSION = 1.10.1 GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz GST1_PLUGINS_GOOD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-good GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING From ad20c2c7ba10dc632c713761883df19c5430e121 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Thu, 17 Nov 2016 17:09:00 +0000 Subject: [PATCH 084/180] gstreamer1/gst1-plugins-ugly: bump version to 1.10.1 Release notes: https://gstreamer.freedesktop.org/releases/gst-plugins-ugly/1.10.1.html Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash | 4 ++-- package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash index 57845256bc..fd6fe7c3c6 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.10.0.tar.xz.sha256sum -sha256 97de8d1903abb54305732e6b8781c8c42f5cc5a2a548a8f31b38c189e81a55e0 gst-plugins-ugly-1.10.0.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.10.1.tar.xz.sha256sum +sha256 a5ecd59fc2091eeb52368de81cc6a91c1a1c19dc5bdde85ce90e1eed5d4183c2 gst-plugins-ugly-1.10.1.tar.xz diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk index 40234a1afe..55b8e92072 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_UGLY_VERSION = 1.10.0 +GST1_PLUGINS_UGLY_VERSION = 1.10.1 GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz GST1_PLUGINS_UGLY_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-ugly GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING From d6f5fe3b79d40b583dbb43d3dbaa5e3790a00e18 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Thu, 17 Nov 2016 17:09:02 +0000 Subject: [PATCH 085/180] gstreamer1/gst1-libav: bump version to 1.10.1 Release notes: https://gstreamer.freedesktop.org/releases/gst-libav/1.10.1.html Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-libav/gst1-libav.hash | 4 ++-- package/gstreamer1/gst1-libav/gst1-libav.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-libav/gst1-libav.hash b/package/gstreamer1/gst1-libav/gst1-libav.hash index 329d1d6aa1..1bb714f15a 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.hash +++ b/package/gstreamer1/gst1-libav/gst1-libav.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.10.0.tar.xz.sha256sum -sha256 af98204411c78abb98233c1858f2886be6401304d24be218752bbbcede9bd85b gst-libav-1.10.0.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.10.1.tar.xz.sha256sum +sha256 27b28b8de0e6dff1e3952428e8ed8ba4a12f452f789ac0ae9bbe50f00a5c72c7 gst-libav-1.10.1.tar.xz diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk index 718ebdb318..eec630310f 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.mk +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_LIBAV_VERSION = 1.10.0 +GST1_LIBAV_VERSION = 1.10.1 GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz GST1_LIBAV_SITE = https://gstreamer.freedesktop.org/src/gst-libav GST1_LIBAV_CONF_OPTS = --with-system-libav From 92daf66b7b52df5b4f9ca33c3132a3a2fbebc4b0 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Thu, 17 Nov 2016 17:09:03 +0000 Subject: [PATCH 086/180] gstreamer1/gst1-rtsp-server: bump version to 1.10.1 Release notes: https://gstreamer.freedesktop.org/releases/gst-rtsp-server/1.10.1.html Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash | 4 ++-- package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash index 597f0b20d6..b2e789d889 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash @@ -1,2 +1,2 @@ -# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.10.0.tar.xz.sha256sum -sha256 aa72a94cccdd2387ad25dc65c5c0b1f76269c3997cbde348232eec2a1565b3cd gst-rtsp-server-1.10.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.10.1.tar.xz.sha256sum +sha256 ddc0c2699598623c2d19d3a2856fb73365496a949783537b238f44bc51e5b005 gst-rtsp-server-1.10.1.tar.xz diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk index 4ff44c9e2a..b5854e174d 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_RTSP_SERVER_VERSION = 1.10.0 +GST1_RTSP_SERVER_VERSION = 1.10.1 GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server GST1_RTSP_SERVER_LICENSE = LGPLv2+ From 4e8937b7ca484426daab3864a7e5489f3a3a77be Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Thu, 17 Nov 2016 17:09:04 +0000 Subject: [PATCH 087/180] gstreamer1/gst1-validate: bump version to 1.10.1 Release notes: https://gstreamer.freedesktop.org/releases/gst-validate/1.10.1.html Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-validate/gst1-validate.hash | 4 ++-- package/gstreamer1/gst1-validate/gst1-validate.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-validate/gst1-validate.hash b/package/gstreamer1/gst1-validate/gst1-validate.hash index f08e1b71a6..adfb2fa45c 100644 --- a/package/gstreamer1/gst1-validate/gst1-validate.hash +++ b/package/gstreamer1/gst1-validate/gst1-validate.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.10.0.tar.xz.sha256sum -sha256 a99a5cd1dfa5d021dd0197b32b04a20348479c097ebeb1f4c36161d70048a176 gst-validate-1.10.0.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.10.1.tar.xz.sha256sum +sha256 07ae671a3e77c5480d2c1732175dd3b3255b6937ac55d4b3e69a90f8e3043f75 gst-validate-1.10.1.tar.xz diff --git a/package/gstreamer1/gst1-validate/gst1-validate.mk b/package/gstreamer1/gst1-validate/gst1-validate.mk index 94595a6ce4..cb857d03fb 100644 --- a/package/gstreamer1/gst1-validate/gst1-validate.mk +++ b/package/gstreamer1/gst1-validate/gst1-validate.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_VALIDATE_VERSION = 1.10.0 +GST1_VALIDATE_VERSION = 1.10.1 GST1_VALIDATE_SOURCE = gst-validate-$(GST1_VALIDATE_VERSION).tar.xz GST1_VALIDATE_SITE = https://gstreamer.freedesktop.org/src/gst-validate GST1_VALIDATE_LICENSE = LGPLv2.1+ From 98e254b46c2dc31990cd89b7e132b0991db9bc7f Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Thu, 17 Nov 2016 17:09:05 +0000 Subject: [PATCH 088/180] gstreamer1/gst1-omx: bump version to 1.10.1 Release notes: https://gstreamer.freedesktop.org/releases/gst-omx/1.10.1.html Also fixed hash URL. Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst-omx/gst-omx.hash | 4 ++-- package/gstreamer1/gst-omx/gst-omx.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst-omx/gst-omx.hash b/package/gstreamer1/gst-omx/gst-omx.hash index 653c93c589..bf10f0a1a2 100644 --- a/package/gstreamer1/gst-omx/gst-omx.hash +++ b/package/gstreamer1/gst-omx/gst-omx.hash @@ -1,2 +1,2 @@ -# From https://gstreamer.freedesktop.org/src/gst-omx/ -sha256 89f7da36abcf278200f561fa9d8d7042ad1459aa211cdc81c4c1a3d2162e9e7f gst-omx-1.10.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.10.1.tar.xz.sha256sum +sha256 1b07b9ceb4552c0911af1e3b97987e3314c601eacfbc09f1cca8632e98581231 gst-omx-1.10.1.tar.xz diff --git a/package/gstreamer1/gst-omx/gst-omx.mk b/package/gstreamer1/gst-omx/gst-omx.mk index f0b39c9f9d..c9343174f7 100644 --- a/package/gstreamer1/gst-omx/gst-omx.mk +++ b/package/gstreamer1/gst-omx/gst-omx.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST_OMX_VERSION = 1.10.0 +GST_OMX_VERSION = 1.10.1 GST_OMX_SOURCE = gst-omx-$(GST_OMX_VERSION).tar.xz GST_OMX_SITE = https://gstreamer.freedesktop.org/src/gst-omx From 9f11224615d51c8fa366a3e51ac107e1263b14b8 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Thu, 17 Nov 2016 16:32:29 +0000 Subject: [PATCH 089/180] ser2net: bump version to 3.2 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/ser2net/ser2net.hash | 2 +- package/ser2net/ser2net.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/ser2net/ser2net.hash b/package/ser2net/ser2net.hash index 3e62f1c3f2..1b9364329f 100644 --- a/package/ser2net/ser2net.hash +++ b/package/ser2net/ser2net.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 e8aaf6c629c78bbc424e8a6810758061f9c68a4ffea0faf7c5031de26ce1c3e1 ser2net-3.0.tar.gz +sha256 e91cf85ab2c1769e17be7726b133f8f3ad197e9d4b445bb0b0d2f3f97f88a083 ser2net-3.2.tar.gz diff --git a/package/ser2net/ser2net.mk b/package/ser2net/ser2net.mk index 01aee95d6d..8090c067bb 100644 --- a/package/ser2net/ser2net.mk +++ b/package/ser2net/ser2net.mk @@ -4,7 +4,7 @@ # ################################################################################ -SER2NET_VERSION = 3.0 +SER2NET_VERSION = 3.2 SER2NET_SITE = http://downloads.sourceforge.net/project/ser2net/ser2net SER2NET_LICENSE = GPLv2+ SER2NET_LICENSE_FILES = COPYING From 291388e5455d94363221a48b16feeeb76217506c Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Thu, 17 Nov 2016 16:42:32 +0000 Subject: [PATCH 090/180] libgtk2: bump version to 2.24.31 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/libgtk2/libgtk2.hash | 4 ++-- package/libgtk2/libgtk2.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/libgtk2/libgtk2.hash b/package/libgtk2/libgtk2.hash index 175702f751..3388c5cda2 100644 --- a/package/libgtk2/libgtk2.hash +++ b/package/libgtk2/libgtk2.hash @@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.30.sha256sum -sha256 0d15cec3b6d55c60eac205b1f3ba81a1ed4eadd9d0f8e7c508bc7065d0c4ca50 gtk+-2.24.30.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.31.sha256sum +sha256 68c1922732c7efc08df4656a5366dcc3afdc8791513400dac276009b40954658 gtk+-2.24.31.tar.xz diff --git a/package/libgtk2/libgtk2.mk b/package/libgtk2/libgtk2.mk index 94fa97f204..cf8b2f4eee 100644 --- a/package/libgtk2/libgtk2.mk +++ b/package/libgtk2/libgtk2.mk @@ -5,7 +5,7 @@ ################################################################################ LIBGTK2_VERSION_MAJOR = 2.24 -LIBGTK2_VERSION = $(LIBGTK2_VERSION_MAJOR).30 +LIBGTK2_VERSION = $(LIBGTK2_VERSION_MAJOR).31 LIBGTK2_SOURCE = gtk+-$(LIBGTK2_VERSION).tar.xz LIBGTK2_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK2_VERSION_MAJOR) LIBGTK2_INSTALL_STAGING = YES From db5bcab79b3460b80163c98bb92b3c6fd08706f7 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Thu, 17 Nov 2016 15:41:58 +0000 Subject: [PATCH 091/180] btrfs-progs: bump version to 4.8.3 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/btrfs-progs/btrfs-progs.hash | 2 +- package/btrfs-progs/btrfs-progs.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/btrfs-progs/btrfs-progs.hash b/package/btrfs-progs/btrfs-progs.hash index de9c56b930..83a96246fb 100644 --- a/package/btrfs-progs/btrfs-progs.hash +++ b/package/btrfs-progs/btrfs-progs.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/sha256sums.asc -sha256 81c023f519c8565b23eddb90e6d0eec2be63ee52e440708e418539dbaa635c5f btrfs-progs-v4.8.2.tar.xz +sha256 c1a60c317d2fcaf8420779d2d0717ae53882c2bc22bc44e3bdcd5efb7ca68ef2 btrfs-progs-v4.8.3.tar.xz diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk index 2dd9246352..e2deb57700 100644 --- a/package/btrfs-progs/btrfs-progs.mk +++ b/package/btrfs-progs/btrfs-progs.mk @@ -4,7 +4,7 @@ # ################################################################################ -BTRFS_PROGS_VERSION = 4.8.2 +BTRFS_PROGS_VERSION = 4.8.3 BTRFS_PROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/kdave/btrfs-progs BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz BTRFS_PROGS_DEPENDENCIES = host-pkgconf e2fsprogs lzo util-linux zlib From a6978c38d56611c3098530c48f4cbd212733b416 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 18 Nov 2016 07:03:48 +0100 Subject: [PATCH 092/180] uclibc-ng-test: new package The next release of uClibc-ng (1.0.20) will remove the test suite. Add a separate package before the next release. Signed-off-by: Waldemar Brodkorb [Thomas: rewrap Config.in help text.] Signed-off-by: Thomas Petazzoni --- package/Config.in | 1 + package/uclibc-ng-test/Config.in | 22 ++++++++++++ package/uclibc-ng-test/uclibc-ng-test.mk | 45 ++++++++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 package/uclibc-ng-test/Config.in create mode 100644 package/uclibc-ng-test/uclibc-ng-test.mk diff --git a/package/Config.in b/package/Config.in index 7c91215d69..b2e1a2a41b 100644 --- a/package/Config.in +++ b/package/Config.in @@ -114,6 +114,7 @@ menu "Debugging, profiling and benchmark" source "package/tinymembench/Config.in" source "package/trace-cmd/Config.in" source "package/trinity/Config.in" + source "package/uclibc-ng-test/Config.in" source "package/valgrind/Config.in" source "package/whetstone/Config.in" endmenu diff --git a/package/uclibc-ng-test/Config.in b/package/uclibc-ng-test/Config.in new file mode 100644 index 0000000000..0f093d1d50 --- /dev/null +++ b/package/uclibc-ng-test/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_UCLIBC_NG_TEST + bool "uclibc-ng-test" + help + Enabling this option will compile and install the uClibc-ng + test suite. This is useful if you want to check if the + uClibc-ng library is working for your architecture and/or + help developing uClibc-ng. + + The test suite will be installed into + /usr/lib/uclibc-ng-test directory. To run the test suite + enter the /usr/lib/uclibc-ng-test/test directory and type + "sh uclibcng-testrunner.sh". + + See the /usr/lib/uclibc-ng-test/test/README for additional + information. + + This is not needed at all for normal builds, so you can + safely say no if you do not plan to dig into your C library. + + The tests can also be used for GNU libc or musl. + + http://www.uclibc-ng.org diff --git a/package/uclibc-ng-test/uclibc-ng-test.mk b/package/uclibc-ng-test/uclibc-ng-test.mk new file mode 100644 index 0000000000..f6700a91ea --- /dev/null +++ b/package/uclibc-ng-test/uclibc-ng-test.mk @@ -0,0 +1,45 @@ +################################################################################ +# +# uclibc-ng-test +# +################################################################################ + +UCLIBC_NG_TEST_VERSION = 4ad1c23ae2eb30888cda520c739cc26150512487 +UCLIBC_NG_TEST_SITE = git://uclibc-ng.org/git/uclibc-ng-test +UCLIBC_NG_TEST_LICENSE = LGPLv2.1+ +UCLIBC_NG_TEST_LICENSE_FILES = COPYING.LIB + +ifeq ($(BR2_USE_WCHAR),) +UCLIBC_NG_TEST_MAKE_ENV += NO_WCHAR=1 +endif +ifeq ($(BR2_ENABLE_LOCALE),) +UCLIBC_NG_TEST_MAKE_ENV += NO_LOCALE=1 +endif +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) +UCLIBC_NG_TEST_MAKE_ENV += NO_TLS=1 NO_THREADS=1 +endif +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),) +UCLIBC_NG_TEST_MAKE_ENV += NO_TLS=1 NO_NPTL=1 +endif +# most NPTL/TLS tests use dlopen +ifeq ($(BR2_STATIC_LIBS),y) +UCLIBC_NG_TEST_MAKE_ENV += NO_TLS=1 NO_NPTL=1 NO_DL=1 +endif + +# to execute tests in a deterministic order, call test_gen separately +define UCLIBC_NG_TEST_BUILD_CMDS + $(TARGET_MAKE_ENV) $(UCLIBC_NG_TEST_MAKE_ENV) $(MAKE) -C $(@D) \ + CC="$(TARGET_CC)" \ + UCLIBC_EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ + test_compile + $(TARGET_MAKE_ENV) $(UCLIBC_NG_TEST_MAKE_ENV) $(MAKE1) -C $(@D) \ + CC="$(TARGET_CC)" \ + UCLIBC_EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ + test_gen +endef + +define UCLIBC_NG_TEST_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install +endef + +$(eval $(generic-package)) From f56bb924aed8eb3f52ce017dd6185b07754737ab Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Thu, 17 Nov 2016 09:47:31 +0200 Subject: [PATCH 093/180] audit: add an explanation of musl disable Based on commit c17af71d2c2 (package/audit: not available for musl) add a comment that explains why audit is disabled for musl. Cc: Yann E. MORIN Signed-off-by: Baruch Siach Signed-off-by: Thomas Petazzoni --- package/audit/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/audit/Config.in b/package/audit/Config.in index 7550f3a6cd..023ac79d30 100644 --- a/package/audit/Config.in +++ b/package/audit/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_AUDIT depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS - depends on !BR2_TOOLCHAIN_USES_MUSL + depends on !BR2_TOOLCHAIN_USES_MUSL # strndupa() help The audit package contains the user space utilities for storing and searching the audit records generated by From ee5d4b72b9ea0f5f446acd579cfa2f0cb1311378 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Thu, 17 Nov 2016 10:18:29 +0200 Subject: [PATCH 094/180] canfestival: comment on musl disable Based on commit 4d00a4058b9e5 (can-festival: disable on musl) and a previous fix attempt[1], add a comment explaining why build with musl is disabled. [1] http://patchwork.ozlabs.org/patch/509731/ Cc: Arnout Vandecappelle Cc: "Yann E. MORIN" Signed-off-by: Baruch Siach Signed-off-by: Thomas Petazzoni --- package/canfestival/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/canfestival/Config.in b/package/canfestival/Config.in index 5522afe54f..ca949565f5 100644 --- a/package/canfestival/Config.in +++ b/package/canfestival/Config.in @@ -11,7 +11,7 @@ comment "canfestival needs a glibc or uClibc toolchain w/ threads and dynamic li config BR2_PACKAGE_CANFESTIVAL bool "canfestival" depends on BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_USES_MUSL + depends on !BR2_TOOLCHAIN_USES_MUSL # sigval_t depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS help From 79573562fd5e9c455ebd9061b2370e886ee2da29 Mon Sep 17 00:00:00 2001 From: Sam bobroff Date: Thu, 17 Nov 2016 15:42:50 +1100 Subject: [PATCH 095/180] package/qemu: enable for powerpc64 and powerpc64le Signed-off-by: Sam Bobroff Signed-off-by: Thomas Petazzoni --- package/qemu/Config.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package/qemu/Config.in b/package/qemu/Config.in index ea6b94605c..e935ef9c61 100644 --- a/package/qemu/Config.in +++ b/package/qemu/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET bool # Only tested on these architectures default y if BR2_aarch64 || BR2_i386 || BR2_mips || BR2_mipsel \ - || BR2_x86_64 || BR2_arm + || BR2_x86_64 || BR2_arm \ + || BR2_powerpc64 || BR2_powerpc64le comment "QEMU requires a toolchain with wchar, threads" depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET From 8055a2ab6a4c84d275dce78264626115f1de318c Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Thu, 17 Nov 2016 17:09:01 +0000 Subject: [PATCH 096/180] gstreamer1/gst1-plugins-bad: bump version to 1.10.1 Release notes: https://gstreamer.freedesktop.org/releases/gst-plugins-bad/1.10.1.html Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash | 4 ++-- package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash index 34f3dc2af9..3b14e291fb 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.10.0.tar.xz.sha256sum -sha256 3d5f9d16e1a3ee7c5c024494cc3a3420007bfdce6f94511317ae004972811c4f gst-plugins-bad-1.10.0.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.10.1.tar.xz.sha256sum +sha256 133e0ed9fe21011b15d3898e3d3a9d17ab74eed31996da2e353353e688ca921d gst-plugins-bad-1.10.1.tar.xz diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index 098cf2b5da..317248996d 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BAD_VERSION = 1.10.0 +GST1_PLUGINS_BAD_VERSION = 1.10.1 GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz GST1_PLUGINS_BAD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-bad GST1_PLUGINS_BAD_INSTALL_STAGING = YES From 6d98b57527ba3393511c97ad42164d647ad543ed Mon Sep 17 00:00:00 2001 From: Arnout Vandecappelle Date: Mon, 7 Nov 2016 02:19:57 +0100 Subject: [PATCH 097/180] toolchain-external: reorder the contents of toolchain-external.mk When the toolchain-external logic will be split into separate packages, the order in which things are defined in toolchain-external.mk no makes less sense. So reorder things in a more logical fashion. Also add a few more comments to the different sections. No functional changes at all. The output of 'make -qp' hasn't changed, except for the order of arguments in TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour [Arnout: split off into separate patch, slightly change some comments, reordered some parts] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- .../toolchain-external/toolchain-external.mk | 776 +++++++++--------- 1 file changed, 407 insertions(+), 369 deletions(-) diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index b7a36bea12..180a63da58 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -63,6 +63,48 @@ # $(HOST_DIR)/usr/bin like for the internal toolchains, and the rest # of Buildroot is handled identical for the 2 toolchain types. +# +# Definitions of where the toolchain can be found +# + +TOOLCHAIN_EXTERNAL_PREFIX = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX)) +TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR = $(HOST_DIR)/opt/ext-toolchain + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y) +TOOLCHAIN_EXTERNAL_INSTALL_DIR = $(TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR) +else +TOOLCHAIN_EXTERNAL_INSTALL_DIR = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH)) +endif + +ifeq ($(TOOLCHAIN_EXTERNAL_INSTALL_DIR),) +ifneq ($(TOOLCHAIN_EXTERNAL_PREFIX),) +# if no path set, figure it out from path +TOOLCHAIN_EXTERNAL_BIN := $(shell dirname $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc)) +endif +else +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX),y) +TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/$(TOOLCHAIN_EXTERNAL_PREFIX)/bin +else +TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/bin +endif +endif + +# If this is a buildroot toolchain, it already has a wrapper which we want to +# bypass. Since this is only evaluated after it has been extracted, we can use +# $(wildcard ...) here. +TOOLCHAIN_EXTERNAL_SUFFIX = \ + $(if $(wildcard $(TOOLCHAIN_EXTERNAL_BIN)/*.br_real),.br_real) + +TOOLCHAIN_EXTERNAL_CROSS = $(TOOLCHAIN_EXTERNAL_BIN)/$(TOOLCHAIN_EXTERNAL_PREFIX)- +TOOLCHAIN_EXTERNAL_CC = $(TOOLCHAIN_EXTERNAL_CROSS)gcc$(TOOLCHAIN_EXTERNAL_SUFFIX) +TOOLCHAIN_EXTERNAL_CXX = $(TOOLCHAIN_EXTERNAL_CROSS)g++$(TOOLCHAIN_EXTERNAL_SUFFIX) +TOOLCHAIN_EXTERNAL_FC = $(TOOLCHAIN_EXTERNAL_CROSS)gfortran$(TOOLCHAIN_EXTERNAL_SUFFIX) +TOOLCHAIN_EXTERNAL_READELF = $(TOOLCHAIN_EXTERNAL_CROSS)readelf$(TOOLCHAIN_EXTERNAL_SUFFIX) + + +# +# Definitions of the list of libraries that should be copied to the target. +# ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y) TOOLCHAIN_EXTERNAL_LIBS += libatomic.so.* libc.so.* libcrypt.so.* libdl.so.* libgcc_s.so.* libm.so.* libnsl.so.* libresolv.so.* librt.so.* libutil.so.* ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC)$(BR2_ARM_EABIHF),yy) @@ -100,89 +142,11 @@ endif TOOLCHAIN_EXTERNAL_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS)) -# Details about sysroot directory selection. + # -# To find the sysroot directory, we use the trick of looking for the -# 'libc.a' file with the -print-file-name gcc option, and then -# mangling the path to find the base directory of the sysroot. +# Definition of the CFLAGS to use with the external toolchain, as well as the +# common toolchain wrapper build arguments # -# Note that we do not use the -print-sysroot option, because it is -# only available since gcc 4.4.x, and we only recently dropped support -# for 4.2.x and 4.3.x. -# -# When doing this, we don't pass any option to gcc that could select a -# multilib variant (such as -march) as we want the "main" sysroot, -# which contains all variants of the C library in the case of multilib -# toolchains. We use the TARGET_CC_NO_SYSROOT variable, which is the -# path of the cross-compiler, without the --sysroot=$(STAGING_DIR), -# since what we want to find is the location of the original toolchain -# sysroot. This "main" sysroot directory is stored in SYSROOT_DIR. -# -# Then, multilib toolchains are a little bit more complicated, since -# they in fact have multiple sysroots, one for each variant supported -# by the toolchain. So we need to find the particular sysroot we're -# interested in. -# -# To do so, we ask the compiler where its sysroot is by passing all -# flags (including -march and al.), except the --sysroot flag since we -# want to the compiler to tell us where its original sysroot -# is. ARCH_SUBDIR will contain the subdirectory, in the main -# SYSROOT_DIR, that corresponds to the selected architecture -# variant. ARCH_SYSROOT_DIR will contain the full path to this -# location. -# -# One might wonder why we don't just bother with ARCH_SYSROOT_DIR. The -# fact is that in multilib toolchains, the header files are often only -# present in the main sysroot, and only the libraries are available in -# each variant-specific sysroot directory. - - -TOOLCHAIN_EXTERNAL_PREFIX = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX)) -TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR = $(HOST_DIR)/opt/ext-toolchain - -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y) -TOOLCHAIN_EXTERNAL_INSTALL_DIR = $(TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR) -else -TOOLCHAIN_EXTERNAL_INSTALL_DIR = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH)) -endif - -ifeq ($(TOOLCHAIN_EXTERNAL_INSTALL_DIR),) -ifneq ($(TOOLCHAIN_EXTERNAL_PREFIX),) -# if no path set, figure it out from path -TOOLCHAIN_EXTERNAL_BIN := $(shell dirname $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc)) -endif -else -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX),y) -TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/$(TOOLCHAIN_EXTERNAL_PREFIX)/bin -else -TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/bin -endif -endif - -# If this is a buildroot toolchain, it already has a wrapper which we want to -# bypass. Since this is only evaluated after it has been extracted, we can use -# $(wildcard ...) here. -TOOLCHAIN_EXTERNAL_SUFFIX = \ - $(if $(wildcard $(TOOLCHAIN_EXTERNAL_BIN)/*.br_real),.br_real) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += \ - -DBR_CROSS_PATH_SUFFIX='"$(TOOLCHAIN_EXTERNAL_SUFFIX)"' - -TOOLCHAIN_EXTERNAL_CROSS = $(TOOLCHAIN_EXTERNAL_BIN)/$(TOOLCHAIN_EXTERNAL_PREFIX)- -TOOLCHAIN_EXTERNAL_CC = $(TOOLCHAIN_EXTERNAL_CROSS)gcc$(TOOLCHAIN_EXTERNAL_SUFFIX) -TOOLCHAIN_EXTERNAL_CXX = $(TOOLCHAIN_EXTERNAL_CROSS)g++$(TOOLCHAIN_EXTERNAL_SUFFIX) -TOOLCHAIN_EXTERNAL_FC = $(TOOLCHAIN_EXTERNAL_CROSS)gfortran$(TOOLCHAIN_EXTERNAL_SUFFIX) -TOOLCHAIN_EXTERNAL_READELF = $(TOOLCHAIN_EXTERNAL_CROSS)readelf$(TOOLCHAIN_EXTERNAL_SUFFIX) - -ifeq ($(filter $(HOST_DIR)/%,$(TOOLCHAIN_EXTERNAL_BIN)),) -# TOOLCHAIN_EXTERNAL_BIN points outside HOST_DIR => absolute path -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += \ - -DBR_CROSS_PATH_ABS='"$(TOOLCHAIN_EXTERNAL_BIN)"' -else -# TOOLCHAIN_EXTERNAL_BIN points inside HOST_DIR => relative path -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += \ - -DBR_CROSS_PATH_REL='"$(TOOLCHAIN_EXTERNAL_BIN:$(HOST_DIR)/%=%)"' -endif - ifeq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),) CC_TARGET_CPU_ := $(call qstrip,$(BR2_GCC_TARGET_CPU)) else @@ -248,6 +212,271 @@ TOOLCHAIN_EXTERNAL_CFLAGS += -msoft-float TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_SOFTFLOAT=1 endif +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += \ + -DBR_CROSS_PATH_SUFFIX='"$(TOOLCHAIN_EXTERNAL_SUFFIX)"' + +ifeq ($(filter $(HOST_DIR)/%,$(TOOLCHAIN_EXTERNAL_BIN)),) +# TOOLCHAIN_EXTERNAL_BIN points outside HOST_DIR => absolute path +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += \ + -DBR_CROSS_PATH_ABS='"$(TOOLCHAIN_EXTERNAL_BIN)"' +else +# TOOLCHAIN_EXTERNAL_BIN points inside HOST_DIR => relative path +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += \ + -DBR_CROSS_PATH_REL='"$(TOOLCHAIN_EXTERNAL_BIN:$(HOST_DIR)/%=%)"' +endif + + +# +# The following functions creates the symbolic links needed to get the +# cross-compilation tools visible in $(HOST_DIR)/usr/bin. Some of +# links are done directly to the corresponding tool in the external +# toolchain installation directory, while some other links are done to +# the toolchain wrapper (preprocessor, C, C++ and Fortran compiler) +# +# We skip gdb symlink when we are building our own gdb to prevent two +# gdb's in $(HOST_DIR)/usr/bin. +# +# The LTO support in gcc creates wrappers for ar, ranlib and nm which load +# the lto plugin. These wrappers are called *-gcc-ar, *-gcc-ranlib, and +# *-gcc-nm and should be used instead of the real programs when -flto is +# used. However, we should not add the toolchain wrapper for them, and they +# match the *cc-* pattern. Therefore, an additional case is added for *-ar, +# *-ranlib and *-nm. +define TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER + $(Q)cd $(HOST_DIR)/usr/bin; \ + for i in $(TOOLCHAIN_EXTERNAL_CROSS)*; do \ + base=$${i##*/}; \ + case "$$base" in \ + *-ar|*-ranlib|*-nm) \ + ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%../..%') .; \ + ;; \ + *cc|*cc-*|*++|*++-*|*cpp|*-gfortran) \ + ln -sf toolchain-wrapper $$base; \ + ;; \ + *gdb|*gdbtui) \ + if test "$(BR2_PACKAGE_HOST_GDB)" != "y"; then \ + ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%../..%') .; \ + fi \ + ;; \ + *) \ + ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%../..%') .; \ + ;; \ + esac; \ + done +endef + + +# Various utility functions used by the external toolchain package +# infrastructure. Those functions are mainly responsible for: +# +# - installation the toolchain libraries to $(TARGET_DIR) +# - copying the toolchain sysroot to $(STAGING_DIR) +# - installing a gdbinit file +# +# Details about sysroot directory selection. +# +# To find the sysroot directory, we use the trick of looking for the +# 'libc.a' file with the -print-file-name gcc option, and then +# mangling the path to find the base directory of the sysroot. +# +# Note that we do not use the -print-sysroot option, because it is +# only available since gcc 4.4.x, and we only recently dropped support +# for 4.2.x and 4.3.x. +# +# When doing this, we don't pass any option to gcc that could select a +# multilib variant (such as -march) as we want the "main" sysroot, +# which contains all variants of the C library in the case of multilib +# toolchains. We use the TARGET_CC_NO_SYSROOT variable, which is the +# path of the cross-compiler, without the --sysroot=$(STAGING_DIR), +# since what we want to find is the location of the original toolchain +# sysroot. This "main" sysroot directory is stored in SYSROOT_DIR. +# +# Then, multilib toolchains are a little bit more complicated, since +# they in fact have multiple sysroots, one for each variant supported +# by the toolchain. So we need to find the particular sysroot we're +# interested in. +# +# To do so, we ask the compiler where its sysroot is by passing all +# flags (including -march and al.), except the --sysroot flag since we +# want to the compiler to tell us where its original sysroot +# is. ARCH_SUBDIR will contain the subdirectory, in the main +# SYSROOT_DIR, that corresponds to the selected architecture +# variant. ARCH_SYSROOT_DIR will contain the full path to this +# location. +# +# One might wonder why we don't just bother with ARCH_SYSROOT_DIR. The +# fact is that in multilib toolchains, the header files are often only +# present in the main sysroot, and only the libraries are available in +# each variant-specific sysroot directory. + + +# toolchain_find_sysroot returns the sysroot location for the given +# compiler + flags. We need to handle cases where libc.a is in: +# +# - lib/ +# - usr/lib/ +# - lib32/ +# - lib64/ +# - lib32-fp/ (Cavium toolchain) +# - lib64-fp/ (Cavium toolchain) +# - usr/lib// (Linaro toolchain) +# +# And variations on these. +define toolchain_find_sysroot +$$(printf $(call toolchain_find_libc_a,$(1)) | sed -r -e 's:(usr/)?lib(32|64)?([^/]*)?/([^/]*/)?libc\.a::') +endef + +# Returns the lib subdirectory for the given compiler + flags (i.e +# typically lib32 or lib64 for some toolchains) +define toolchain_find_libdir +$$(printf $(call toolchain_find_libc_a,$(1)) | sed -r -e 's:.*/(usr/)?(lib(32|64)?([^/]*)?)/([^/]*/)?libc.a:\2:') +endef + +# Returns the location of the libc.a file for the given compiler + flags +define toolchain_find_libc_a +$$(readlink -f $$(LANG=C $(1) -print-file-name=libc.a)) +endef + +# Integration of the toolchain into Buildroot: find the main sysroot +# and the variant-specific sysroot, then copy the needed libraries to +# the $(TARGET_DIR) and copy the whole sysroot (libraries and headers) +# to $(STAGING_DIR). +# +# Variables are defined as follows: +# +# LIBC_A_LOCATION: location of the libc.a file in the default +# multilib variant (allows to find the main +# sysroot directory) +# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/usr/lib/libc.a +# +# SYSROOT_DIR: the main sysroot directory, deduced from +# LIBC_A_LOCATION by removing the +# usr/lib[32|64]/libc.a part of the path. +# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/ +# +# ARCH_LIBC_A_LOCATION: location of the libc.a file in the selected +# multilib variant (taking into account the +# CFLAGS). Allows to find the sysroot of the +# selected multilib variant. +# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/libc.a +# +# ARCH_SYSROOT_DIR: the sysroot of the selected multilib variant, +# deduced from ARCH_LIBC_A_LOCATION by removing +# usr/lib[32|64]/libc.a at the end of the path. +# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/mips16/soft-float/el/ +# +# ARCH_LIB_DIR: 'lib', 'lib32' or 'lib64' depending on where libraries +# are stored. Deduced from ARCH_LIBC_A_LOCATION by +# looking at usr/lib??/libc.a. +# Ex: lib +# +# ARCH_SUBDIR: the relative location of the sysroot of the selected +# multilib variant compared to the main sysroot. +# Ex: mips16/soft-float/el +# +# SUPPORT_LIB_DIR: some toolchains, such as recent Linaro toolchains, +# store GCC support libraries (libstdc++, +# libgcc_s, etc.) outside of the sysroot. In +# this case, SUPPORT_LIB_DIR is set to a +# non-empty value, and points to the directory +# where these support libraries are +# available. Those libraries will be copied to +# our sysroot, and the directory will also be +# considered when searching libraries for copy +# to the target filesystem. +# +# Please be very careful to check the major toolchain sources: +# Buildroot, Crosstool-NG, CodeSourcery and Linaro +# before doing any modification on the below logic. + +ifeq ($(BR2_STATIC_LIBS),) +define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_LIBS + $(Q)$(call MESSAGE,"Copying external toolchain libraries to target...") + $(Q)for libs in $(TOOLCHAIN_EXTERNAL_LIBS); do \ + $(call copy_toolchain_lib_root,$$libs); \ + done +endef +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY),y) +define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_GDBSERVER + $(Q)$(call MESSAGE,"Copying gdbserver") + $(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + gdbserver_found=0 ; \ + for d in $${ARCH_SYSROOT_DIR}/usr \ + $${ARCH_SYSROOT_DIR}/../debug-root/usr \ + $${ARCH_SYSROOT_DIR}/usr/$${ARCH_LIB_DIR} \ + $(TOOLCHAIN_EXTERNAL_INSTALL_DIR); do \ + if test -f $${d}/bin/gdbserver ; then \ + install -m 0755 -D $${d}/bin/gdbserver $(TARGET_DIR)/usr/bin/gdbserver ; \ + gdbserver_found=1 ; \ + break ; \ + fi ; \ + done ; \ + if [ $${gdbserver_found} -eq 0 ] ; then \ + echo "Could not find gdbserver in external toolchain" ; \ + exit 1 ; \ + fi +endef +endif + +define TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS + $(Q)SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC))" ; \ + ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + SUPPORT_LIB_DIR="" ; \ + if test `find $${ARCH_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \ + LIBSTDCPP_A_LOCATION=$$(LANG=C $(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \ + if [ -e "$${LIBSTDCPP_A_LOCATION}" ]; then \ + SUPPORT_LIB_DIR=`readlink -f $${LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \ + fi ; \ + fi ; \ + if [ "$${SYSROOT_DIR}" == "$${ARCH_SYSROOT_DIR}" ] ; then \ + ARCH_SUBDIR="" ; \ + elif [ "`dirname $${ARCH_SYSROOT_DIR}`" = "`dirname $${SYSROOT_DIR}`" ] ; then \ + SYSROOT_DIR_DIRNAME=`dirname $${SYSROOT_DIR}`/ ; \ + ARCH_SUBDIR=`echo $${ARCH_SYSROOT_DIR} | sed -r -e "s:^$${SYSROOT_DIR_DIRNAME}(.*)/$$:\1:"` ; \ + else \ + ARCH_SUBDIR=`echo $${ARCH_SYSROOT_DIR} | sed -r -e "s:^$${SYSROOT_DIR}(.*)/$$:\1:"` ; \ + fi ; \ + $(call MESSAGE,"Copying external toolchain sysroot to staging...") ; \ + $(call copy_toolchain_sysroot,$${SYSROOT_DIR},$${ARCH_SYSROOT_DIR},$${ARCH_SUBDIR},$${ARCH_LIB_DIR},$${SUPPORT_LIB_DIR}) +endef + +# Create a symlink from (usr/)$(ARCH_LIB_DIR) to lib. +# Note: the skeleton package additionally creates lib32->lib or lib64->lib +# (as appropriate) +# +# $1: destination directory (TARGET_DIR / STAGING_DIR) +create_lib_symlinks = \ + $(Q)DESTDIR="$(strip $1)" ; \ + ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + if [ ! -e "$${DESTDIR}/$${ARCH_LIB_DIR}" -a ! -e "$${DESTDIR}/usr/$${ARCH_LIB_DIR}" ]; then \ + ln -snf lib "$${DESTDIR}/$${ARCH_LIB_DIR}" ; \ + ln -snf lib "$${DESTDIR}/usr/$${ARCH_LIB_DIR}" ; \ + fi + +define TOOLCHAIN_EXTERNAL_CREATE_STAGING_LIB_SYMLINK + $(call create_lib_symlinks,$(STAGING_DIR)) +endef + +define TOOLCHAIN_EXTERNAL_CREATE_TARGET_LIB_SYMLINK + $(call create_lib_symlinks,$(TARGET_DIR)) +endef + +# +# Generate gdbinit file for use with Buildroot +# +define TOOLCHAIN_EXTERNAL_INSTALL_GDBINIT + $(Q)if test -f $(TARGET_CROSS)gdb ; then \ + $(call MESSAGE,"Installing gdbinit"); \ + $(gen_gdbinit_file); \ + fi +endef + +# Various utility functions used by the external toolchain based on musl. + # musl does not provide an implementation for sys/queue.h or sys/cdefs.h. # So, add the musl-compat-headers package that will install those files, # into the staging directory: @@ -257,6 +486,103 @@ ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) TOOLCHAIN_EXTERNAL_DEPENDENCIES += musl-compat-headers endif +# With the musl C library, the libc.so library directly plays the role +# of the dynamic library loader. We just need to create a symbolic +# link to libc.so with the appropriate name. +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL),y) +ifeq ($(BR2_i386),y) +MUSL_ARCH = i386 +else ifeq ($(BR2_ARM_EABIHF),y) +MUSL_ARCH = armhf +else ifeq ($(BR2_mipsel):$(BR2_SOFT_FLOAT),y:y) +MUSL_ARCH = mipsel-sf +else ifeq ($(BR2_sh),y) +MUSL_ARCH = sh +else +MUSL_ARCH = $(ARCH) +endif +define TOOLCHAIN_EXTERNAL_MUSL_LD_LINK + ln -sf libc.so $(TARGET_DIR)/lib/ld-musl-$(MUSL_ARCH).so.1 +endef +TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_MUSL_LD_LINK +endif + +# +# Various functions used by the external toolchain package +# infrastructure to handle the Blackfin specific +# BR2_BFIN_INSTALL_FDPIC_SHARED and BR2_BFIN_INSTALL_FLAT_SHARED +# options. +# + +# Special installation target used on the Blackfin architecture when +# FDPIC is not the primary binary format being used, but the user has +# nonetheless requested the installation of the FDPIC libraries to the +# target filesystem. +ifeq ($(BR2_BFIN_INSTALL_FDPIC_SHARED),y) +define TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS_BFIN_FDPIC + $(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to staging...") + $(Q)FDPIC_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))/../../bfin-linux-uclibc/bin/bfin-linux-uclibc-gcc ; \ + FDPIC_SYSROOT_DIR="$(call toolchain_find_sysroot,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + FDPIC_LIB_DIR="$(call toolchain_find_libdir,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + FDPIC_SUPPORT_LIB_DIR="" ; \ + if test `find $${FDPIC_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \ + FDPIC_LIBSTDCPP_A_LOCATION=$$(LANG=C $${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \ + if [ -e "$${FDPIC_LIBSTDCPP_A_LOCATION}" ]; then \ + FDPIC_SUPPORT_LIB_DIR=`readlink -f $${FDPIC_LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \ + fi ; \ + fi ; \ + $(call copy_toolchain_sysroot,$${FDPIC_SYSROOT_DIR},$${FDPIC_SYSROOT_DIR},,$${FDPIC_LIB_DIR},$${FDPIC_SUPPORT_LIB_DIR}) +endef +define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FDPIC + $(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to target...") + $(Q)for libs in $(TOOLCHAIN_EXTERNAL_LIBS); do \ + $(call copy_toolchain_lib_root,$$libs); \ + done +endef +endif + +# Special installation target used on the Blackfin architecture when +# shared FLAT is not the primary format being used, but the user has +# nonetheless requested the installation of the shared FLAT libraries +# to the target filesystem. The flat libraries are found and linked +# according to the index in name "libN.so". Index 1 is reserved for +# the standard C library. Customer libraries can use 4 and above. +ifeq ($(BR2_BFIN_INSTALL_FLAT_SHARED),y) +define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FLAT + $(Q)$(call MESSAGE,"Install external toolchain FLAT libraries to target...") + $(Q)FLAT_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))../../bfin-uclinux/bin/bfin-uclinux-gcc ; \ + FLAT_LIBC_A_LOCATION=`$${FLAT_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -mid-shared-library -print-file-name=libc`; \ + if [ -f $${FLAT_LIBC_A_LOCATION} -a ! -h $${FLAT_LIBC_A_LOCATION} ] ; then \ + $(INSTALL) -D $${FLAT_LIBC_A_LOCATION} $(TARGET_DIR)/lib/lib1.so; \ + fi +endef +endif + +# uClibc-ng dynamic loader is called ld-uClibc.so.1, but gcc is not +# patched specifically for uClibc-ng, so it continues to generate +# binaries that expect the dynamic loader to be named ld-uClibc.so.0, +# like with the original uClibc. Therefore, we create an additional +# symbolic link to make uClibc-ng systems work properly. +define TOOLCHAIN_EXTERNAL_FIXUP_UCLIBCNG_LDSO + $(Q)if test -e $(TARGET_DIR)/lib/ld-uClibc.so.1; then \ + ln -sf ld-uClibc.so.1 $(TARGET_DIR)/lib/ld-uClibc.so.0 ; \ + fi + $(Q)if test -e $(TARGET_DIR)/lib/ld64-uClibc.so.1; then \ + ln -sf ld64-uClibc.so.1 $(TARGET_DIR)/lib/ld64-uClibc.so.0 ; \ + fi +endef + +TOOLCHAIN_EXTERNAL_INSTALL_STAGING = YES +TOOLCHAIN_EXTERNAL_ADD_TOOLCHAIN_DEPENDENCY = NO + +# In fact, we don't need to download the toolchain, since it is already +# available on the system, so force the site and source to be empty so +# that nothing will be downloaded/extracted. +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED),y) +TOOLCHAIN_EXTERNAL_SITE = +TOOLCHAIN_EXTERNAL_SOURCE = +endif + # The Codescape toolchain uses a sysroot layout that places them # side-by-side instead of nested like multilibs. A symlink is needed # much like for the nested sysroots which are handled in @@ -439,18 +765,6 @@ TOOLCHAIN_EXTERNAL_ACTUAL_SOURCE_TARBALL ?= \ $(subst -i686-pc-linux-gnu.tar.bz2,.src.tar.bz2,$(subst -i686-pc-linux-gnu-i386-linux.tar.bz2,-i686-pc-linux-gnu.src.tar.bz2,$(TOOLCHAIN_EXTERNAL_SOURCE))) endif -# In fact, we don't need to download the toolchain, since it is already -# available on the system, so force the site and source to be empty so -# that nothing will be downloaded/extracted. -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED),y) -TOOLCHAIN_EXTERNAL_SITE = -TOOLCHAIN_EXTERNAL_SOURCE = -endif - -TOOLCHAIN_EXTERNAL_ADD_TOOLCHAIN_DEPENDENCY = NO - -TOOLCHAIN_EXTERNAL_INSTALL_STAGING = YES - # Normal handling of downloaded toolchain tarball extraction. ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y) TOOLCHAIN_EXTERNAL_EXCLUDES = usr/lib/locale/* @@ -467,33 +781,6 @@ TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += \ TOOLCHAIN_EXTERNAL_MOVE endif -# Returns the location of the libc.a file for the given compiler + flags -define toolchain_find_libc_a -$$(readlink -f $$(LANG=C $(1) -print-file-name=libc.a)) -endef - -# Returns the sysroot location for the given compiler + flags. We need -# to handle cases where libc.a is in: -# -# - lib/ -# - usr/lib/ -# - lib32/ -# - lib64/ -# - lib32-fp/ (Cavium toolchain) -# - lib64-fp/ (Cavium toolchain) -# - usr/lib// (Linaro toolchain) -# -# And variations on these. -define toolchain_find_sysroot -$$(printf $(call toolchain_find_libc_a,$(1)) | sed -r -e 's:(usr/)?lib(32|64)?([^/]*)?/([^/]*/)?libc\.a::') -endef - -# Returns the lib subdirectory for the given compiler + flags (i.e -# typically lib32 or lib64 for some toolchains) -define toolchain_find_libdir -$$(printf $(call toolchain_find_libc_a,$(1)) | sed -r -e 's:.*/(usr/)?(lib(32|64)?([^/]*)?)/([^/]*/)?libc.a:\2:') -endef - # Checks for an already installed toolchain: check the toolchain # location, check that it is usable, and then verify that it # matches the configuration provided in Buildroot: ABI, C++ support, @@ -528,255 +815,6 @@ define TOOLCHAIN_EXTERNAL_CONFIGURE_CMDS $(Q)$(call check_toolchain_ssp,$(TOOLCHAIN_EXTERNAL_CC)) endef -# With the musl C library, the libc.so library directly plays the role -# of the dynamic library loader. We just need to create a symbolic -# link to libc.so with the appropriate name. -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL),y) -ifeq ($(BR2_i386),y) -MUSL_ARCH = i386 -else ifeq ($(BR2_ARM_EABIHF),y) -MUSL_ARCH = armhf -else ifeq ($(BR2_mipsel):$(BR2_SOFT_FLOAT),y:y) -MUSL_ARCH = mipsel-sf -else ifeq ($(BR2_sh),y) -MUSL_ARCH = sh -else -MUSL_ARCH = $(ARCH) -endif -define TOOLCHAIN_EXTERNAL_MUSL_LD_LINK - ln -sf libc.so $(TARGET_DIR)/lib/ld-musl-$(MUSL_ARCH).so.1 -endef -TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_MUSL_LD_LINK -endif - -# Create a symlink from (usr/)$(ARCH_LIB_DIR) to lib. -# Note: the skeleton package additionally creates lib32->lib or lib64->lib -# (as appropriate) -# -# $1: destination directory (TARGET_DIR / STAGING_DIR) -create_lib_symlinks = \ - $(Q)DESTDIR="$(strip $1)" ; \ - ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - if [ ! -e "$${DESTDIR}/$${ARCH_LIB_DIR}" -a ! -e "$${DESTDIR}/usr/$${ARCH_LIB_DIR}" ]; then \ - ln -snf lib "$${DESTDIR}/$${ARCH_LIB_DIR}" ; \ - ln -snf lib "$${DESTDIR}/usr/$${ARCH_LIB_DIR}" ; \ - fi - -define TOOLCHAIN_EXTERNAL_CREATE_STAGING_LIB_SYMLINK - $(call create_lib_symlinks,$(STAGING_DIR)) -endef - -define TOOLCHAIN_EXTERNAL_CREATE_TARGET_LIB_SYMLINK - $(call create_lib_symlinks,$(TARGET_DIR)) -endef - -# Integration of the toolchain into Buildroot: find the main sysroot -# and the variant-specific sysroot, then copy the needed libraries to -# the $(TARGET_DIR) and copy the whole sysroot (libraries and headers) -# to $(STAGING_DIR). -# -# Variables are defined as follows: -# -# LIBC_A_LOCATION: location of the libc.a file in the default -# multilib variant (allows to find the main -# sysroot directory) -# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/usr/lib/libc.a -# -# SYSROOT_DIR: the main sysroot directory, deduced from -# LIBC_A_LOCATION by removing the -# usr/lib[32|64]/libc.a part of the path. -# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/ -# -# ARCH_LIBC_A_LOCATION: location of the libc.a file in the selected -# multilib variant (taking into account the -# CFLAGS). Allows to find the sysroot of the -# selected multilib variant. -# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/libc.a -# -# ARCH_SYSROOT_DIR: the sysroot of the selected multilib variant, -# deduced from ARCH_LIBC_A_LOCATION by removing -# usr/lib[32|64]/libc.a at the end of the path. -# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/mips16/soft-float/el/ -# -# ARCH_LIB_DIR: 'lib', 'lib32' or 'lib64' depending on where libraries -# are stored. Deduced from ARCH_LIBC_A_LOCATION by -# looking at usr/lib??/libc.a. -# Ex: lib -# -# ARCH_SUBDIR: the relative location of the sysroot of the selected -# multilib variant compared to the main sysroot. -# Ex: mips16/soft-float/el -# -# SUPPORT_LIB_DIR: some toolchains, such as recent Linaro toolchains, -# store GCC support libraries (libstdc++, -# libgcc_s, etc.) outside of the sysroot. In -# this case, SUPPORT_LIB_DIR is set to a -# non-empty value, and points to the directory -# where these support libraries are -# available. Those libraries will be copied to -# our sysroot, and the directory will also be -# considered when searching libraries for copy -# to the target filesystem. -# -# Please be very careful to check the major toolchain sources: -# Buildroot, Crosstool-NG, CodeSourcery and Linaro -# before doing any modification on the below logic. - -ifeq ($(BR2_STATIC_LIBS),) -define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_LIBS - $(Q)$(call MESSAGE,"Copying external toolchain libraries to target...") - $(Q)for libs in $(TOOLCHAIN_EXTERNAL_LIBS); do \ - $(call copy_toolchain_lib_root,$$libs); \ - done -endef -endif - -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY),y) -define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_GDBSERVER - $(Q)$(call MESSAGE,"Copying gdbserver") - $(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - gdbserver_found=0 ; \ - for d in $${ARCH_SYSROOT_DIR}/usr \ - $${ARCH_SYSROOT_DIR}/../debug-root/usr \ - $${ARCH_SYSROOT_DIR}/usr/$${ARCH_LIB_DIR} \ - $(TOOLCHAIN_EXTERNAL_INSTALL_DIR); do \ - if test -f $${d}/bin/gdbserver ; then \ - install -m 0755 -D $${d}/bin/gdbserver $(TARGET_DIR)/usr/bin/gdbserver ; \ - gdbserver_found=1 ; \ - break ; \ - fi ; \ - done ; \ - if [ $${gdbserver_found} -eq 0 ] ; then \ - echo "Could not find gdbserver in external toolchain" ; \ - exit 1 ; \ - fi -endef -endif - -define TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS - $(Q)SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC))" ; \ - ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - SUPPORT_LIB_DIR="" ; \ - if test `find $${ARCH_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \ - LIBSTDCPP_A_LOCATION=$$(LANG=C $(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \ - if [ -e "$${LIBSTDCPP_A_LOCATION}" ]; then \ - SUPPORT_LIB_DIR=`readlink -f $${LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \ - fi ; \ - fi ; \ - if [ "$${SYSROOT_DIR}" == "$${ARCH_SYSROOT_DIR}" ] ; then \ - ARCH_SUBDIR="" ; \ - elif [ "`dirname $${ARCH_SYSROOT_DIR}`" = "`dirname $${SYSROOT_DIR}`" ] ; then \ - SYSROOT_DIR_DIRNAME=`dirname $${SYSROOT_DIR}`/ ; \ - ARCH_SUBDIR=`echo $${ARCH_SYSROOT_DIR} | sed -r -e "s:^$${SYSROOT_DIR_DIRNAME}(.*)/$$:\1:"` ; \ - else \ - ARCH_SUBDIR=`echo $${ARCH_SYSROOT_DIR} | sed -r -e "s:^$${SYSROOT_DIR}(.*)/$$:\1:"` ; \ - fi ; \ - $(call MESSAGE,"Copying external toolchain sysroot to staging...") ; \ - $(call copy_toolchain_sysroot,$${SYSROOT_DIR},$${ARCH_SYSROOT_DIR},$${ARCH_SUBDIR},$${ARCH_LIB_DIR},$${SUPPORT_LIB_DIR}) -endef - -# Special installation target used on the Blackfin architecture when -# FDPIC is not the primary binary format being used, but the user has -# nonetheless requested the installation of the FDPIC libraries to the -# target filesystem. -ifeq ($(BR2_BFIN_INSTALL_FDPIC_SHARED),y) -define TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS_BFIN_FDPIC - $(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to staging...") - $(Q)FDPIC_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))/../../bfin-linux-uclibc/bin/bfin-linux-uclibc-gcc ; \ - FDPIC_SYSROOT_DIR="$(call toolchain_find_sysroot,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - FDPIC_LIB_DIR="$(call toolchain_find_libdir,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - FDPIC_SUPPORT_LIB_DIR="" ; \ - if test `find $${FDPIC_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \ - FDPIC_LIBSTDCPP_A_LOCATION=$$(LANG=C $${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \ - if [ -e "$${FDPIC_LIBSTDCPP_A_LOCATION}" ]; then \ - FDPIC_SUPPORT_LIB_DIR=`readlink -f $${FDPIC_LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \ - fi ; \ - fi ; \ - $(call copy_toolchain_sysroot,$${FDPIC_SYSROOT_DIR},$${FDPIC_SYSROOT_DIR},,$${FDPIC_LIB_DIR},$${FDPIC_SUPPORT_LIB_DIR}) -endef -define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FDPIC - $(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to target...") - $(Q)for libs in $(TOOLCHAIN_EXTERNAL_LIBS); do \ - $(call copy_toolchain_lib_root,$$libs); \ - done -endef -endif - -# Special installation target used on the Blackfin architecture when -# shared FLAT is not the primary format being used, but the user has -# nonetheless requested the installation of the shared FLAT libraries -# to the target filesystem. The flat libraries are found and linked -# according to the index in name "libN.so". Index 1 is reserved for -# the standard C library. Customer libraries can use 4 and above. -ifeq ($(BR2_BFIN_INSTALL_FLAT_SHARED),y) -define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FLAT - $(Q)$(call MESSAGE,"Install external toolchain FLAT libraries to target...") - $(Q)FLAT_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))../../bfin-uclinux/bin/bfin-uclinux-gcc ; \ - FLAT_LIBC_A_LOCATION=`$${FLAT_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -mid-shared-library -print-file-name=libc`; \ - if [ -f $${FLAT_LIBC_A_LOCATION} -a ! -h $${FLAT_LIBC_A_LOCATION} ] ; then \ - $(INSTALL) -D $${FLAT_LIBC_A_LOCATION} $(TARGET_DIR)/lib/lib1.so; \ - fi -endef -endif - -# Build toolchain wrapper for preprocessor, C, C++ and Fortran compilers -# and setup symlinks for everything else. Skip gdb symlink when we are -# building our own gdb to prevent two gdb's in output/host/usr/bin. -# The LTO support in gcc creates wrappers for ar, ranlib and nm which load -# the lto plugin. These wrappers are called *-gcc-ar, *-gcc-ranlib, and -# *-gcc-nm and should be used instead of the real programs when -flto is -# used. However, we should not add the toolchain wrapper for them, and they -# match the *cc-* pattern. Therefore, an additional case is added for *-ar, -# *-ranlib and *-nm. -define TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER - $(Q)cd $(HOST_DIR)/usr/bin; \ - for i in $(TOOLCHAIN_EXTERNAL_CROSS)*; do \ - base=$${i##*/}; \ - case "$$base" in \ - *-ar|*-ranlib|*-nm) \ - ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%../..%') .; \ - ;; \ - *cc|*cc-*|*++|*++-*|*cpp|*-gfortran) \ - ln -sf toolchain-wrapper $$base; \ - ;; \ - *gdb|*gdbtui) \ - if test "$(BR2_PACKAGE_HOST_GDB)" != "y"; then \ - ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%../..%') .; \ - fi \ - ;; \ - *) \ - ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%../..%') .; \ - ;; \ - esac; \ - done -endef - -# -# Generate gdbinit file for use with Buildroot -# -define TOOLCHAIN_EXTERNAL_INSTALL_GDBINIT - $(Q)if test -f $(TARGET_CROSS)gdb ; then \ - $(call MESSAGE,"Installing gdbinit"); \ - $(gen_gdbinit_file); \ - fi -endef - -# uClibc-ng dynamic loader is called ld-uClibc.so.1, but gcc is not -# patched specifically for uClibc-ng, so it continues to generate -# binaries that expect the dynamic loader to be named ld-uClibc.so.0, -# like with the original uClibc. Therefore, we create an additional -# symbolic link to make uClibc-ng systems work properly. -define TOOLCHAIN_EXTERNAL_FIXUP_UCLIBCNG_LDSO - $(Q)if test -e $(TARGET_DIR)/lib/ld-uClibc.so.1; then \ - ln -sf ld-uClibc.so.1 $(TARGET_DIR)/lib/ld-uClibc.so.0 ; \ - fi - $(Q)if test -e $(TARGET_DIR)/lib/ld64-uClibc.so.1; then \ - ln -sf ld64-uClibc.so.1 $(TARGET_DIR)/lib/ld64-uClibc.so.0 ; \ - fi -endef - TOOLCHAIN_EXTERNAL_BUILD_CMDS = $(TOOLCHAIN_WRAPPER_BUILD) define TOOLCHAIN_EXTERNAL_INSTALL_STAGING_CMDS From da20a8b43d4b68e7cb0117ee8de773afe026cfc1 Mon Sep 17 00:00:00 2001 From: Arnout Vandecappelle Date: Mon, 7 Nov 2016 02:19:58 +0100 Subject: [PATCH 098/180] toolchain-external: move parts to pkg-toolchain-external.mk pkg-toolchain-external.mk will be used later to define the toolchain-external-package infra. Most of the variable and macro definitions are shared with the legacy generic-package based toolchain-external. Move these to pkg-toolchain-external.mk. pkg-toolchain-external.mk is included implicitly by the include toolchain/*/*.mk in the top-level Makefile. The order of inclusion is not defined, but that doesn't matter because none of the variables defined in pkg-toolchain-external.mk are used in conditions or in rules in toolchain-external.mk, only in recursively-expanded variables. No functional changes at all. The output of 'make -qp' hasn't changed. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour [Arnout: split off into separate patch] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- .../pkg-toolchain-external.mk | 570 ++++++++++++++++++ .../toolchain-external/toolchain-external.mk | 570 +----------------- 2 files changed, 573 insertions(+), 567 deletions(-) create mode 100644 toolchain/toolchain-external/pkg-toolchain-external.mk diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk new file mode 100644 index 0000000000..583b0d6cf1 --- /dev/null +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk @@ -0,0 +1,570 @@ +################################################################################ +# External toolchain package infrastructure +# +# This package infrastructure implements the support for external +# toolchains, i.e toolchains that are available pre-built, ready to +# use. Such toolchain may either be readily available on the Web +# (Linaro, Sourcery CodeBench, from processor vendors) or may be built +# with tools like Crosstool-NG or Buildroot itself. So far, we have +# tested this with: +# +# * Toolchains generated by Crosstool-NG +# * Toolchains generated by Buildroot +# * Toolchains provided by Linaro for the ARM and AArch64 +# architectures +# * Sourcery CodeBench toolchains (from Mentor Graphics) for the ARM, +# MIPS, PowerPC, x86, x86_64 and NIOS 2 architectures. For the MIPS +# toolchain, the -muclibc variant isn't supported yet, only the +# default glibc-based variant is. +# * Analog Devices toolchains for the Blackfin architecture +# * Xilinx toolchains for the Microblaze architecture +# * Synopsys DesignWare toolchains for ARC cores +# +# The basic principle is the following +# +# 1. If the toolchain is not pre-installed, download and extract it +# in $(TOOLCHAIN_EXTERNAL_INSTALL_DIR). Otherwise, +# $(TOOLCHAIN_EXTERNAL_INSTALL_DIR) points to were the toolchain has +# already been installed by the user. +# +# 2. For all external toolchains, perform some checks on the +# conformity between the toolchain configuration described in the +# Buildroot menuconfig system, and the real configuration of the +# external toolchain. This is for example important to make sure that +# the Buildroot configuration system knows whether the toolchain +# supports RPC, IPv6, locales, large files, etc. Unfortunately, these +# things cannot be detected automatically, since the value of these +# options (such as BR2_TOOLCHAIN_HAS_NATIVE_RPC) are needed at +# configuration time because these options are used as dependencies +# for other options. And at configuration time, we are not able to +# retrieve the external toolchain configuration. +# +# 3. Copy the libraries needed at runtime to the target directory, +# $(TARGET_DIR). Obviously, things such as the C library, the dynamic +# loader and a few other utility libraries are needed if dynamic +# applications are to be executed on the target system. +# +# 4. Copy the libraries and headers to the staging directory. This +# will allow all further calls to gcc to be made using --sysroot +# $(STAGING_DIR), which greatly simplifies the compilation of the +# packages when using external toolchains. So in the end, only the +# cross-compiler binaries remains external, all libraries and headers +# are imported into the Buildroot tree. +# +# 5. Build a toolchain wrapper which executes the external toolchain +# with a number of arguments (sysroot/march/mtune/..) hardcoded, +# so we're sure the correct configuration is always used and the +# toolchain behaves similar to an internal toolchain. +# This toolchain wrapper and symlinks are installed into +# $(HOST_DIR)/usr/bin like for the internal toolchains, and the rest +# of Buildroot is handled identical for the 2 toolchain types. +################################################################################ + +# +# Definitions of where the toolchain can be found +# + +TOOLCHAIN_EXTERNAL_PREFIX = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX)) +TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR = $(HOST_DIR)/opt/ext-toolchain + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y) +TOOLCHAIN_EXTERNAL_INSTALL_DIR = $(TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR) +else +TOOLCHAIN_EXTERNAL_INSTALL_DIR = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH)) +endif + +ifeq ($(TOOLCHAIN_EXTERNAL_INSTALL_DIR),) +ifneq ($(TOOLCHAIN_EXTERNAL_PREFIX),) +# if no path set, figure it out from path +TOOLCHAIN_EXTERNAL_BIN := $(shell dirname $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc)) +endif +else +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX),y) +TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/$(TOOLCHAIN_EXTERNAL_PREFIX)/bin +else +TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/bin +endif +endif + +# If this is a buildroot toolchain, it already has a wrapper which we want to +# bypass. Since this is only evaluated after it has been extracted, we can use +# $(wildcard ...) here. +TOOLCHAIN_EXTERNAL_SUFFIX = \ + $(if $(wildcard $(TOOLCHAIN_EXTERNAL_BIN)/*.br_real),.br_real) + +TOOLCHAIN_EXTERNAL_CROSS = $(TOOLCHAIN_EXTERNAL_BIN)/$(TOOLCHAIN_EXTERNAL_PREFIX)- +TOOLCHAIN_EXTERNAL_CC = $(TOOLCHAIN_EXTERNAL_CROSS)gcc$(TOOLCHAIN_EXTERNAL_SUFFIX) +TOOLCHAIN_EXTERNAL_CXX = $(TOOLCHAIN_EXTERNAL_CROSS)g++$(TOOLCHAIN_EXTERNAL_SUFFIX) +TOOLCHAIN_EXTERNAL_FC = $(TOOLCHAIN_EXTERNAL_CROSS)gfortran$(TOOLCHAIN_EXTERNAL_SUFFIX) +TOOLCHAIN_EXTERNAL_READELF = $(TOOLCHAIN_EXTERNAL_CROSS)readelf$(TOOLCHAIN_EXTERNAL_SUFFIX) + + +# +# Definitions of the list of libraries that should be copied to the target. +# +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y) +TOOLCHAIN_EXTERNAL_LIBS += libatomic.so.* libc.so.* libcrypt.so.* libdl.so.* libgcc_s.so.* libm.so.* libnsl.so.* libresolv.so.* librt.so.* libutil.so.* +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC)$(BR2_ARM_EABIHF),yy) +TOOLCHAIN_EXTERNAL_LIBS += ld-linux-armhf.so.* +else +TOOLCHAIN_EXTERNAL_LIBS += ld*.so.* +endif +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +TOOLCHAIN_EXTERNAL_LIBS += libpthread.so.* +ifneq ($(BR2_PACKAGE_GDB)$(BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY),) +TOOLCHAIN_EXTERNAL_LIBS += libthread_db.so.* +endif # gdbserver +endif # ! no threads +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC),y) +TOOLCHAIN_EXTERNAL_LIBS += libnss_files.so.* libnss_dns.so.* libmvec.so.* +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL),y) +TOOLCHAIN_EXTERNAL_LIBS += libc.so libgcc_s.so.* +endif + +ifeq ($(BR2_INSTALL_LIBSTDCPP),y) +TOOLCHAIN_EXTERNAL_LIBS += libstdc++.so.* +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y) +TOOLCHAIN_EXTERNAL_LIBS += libgfortran.so.* +# fortran needs quadmath on x86 and x86_64 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBQUADMATH),y) +TOOLCHAIN_EXTERNAL_LIBS += libquadmath.so* +endif +endif + +TOOLCHAIN_EXTERNAL_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS)) + + +# +# Definition of the CFLAGS to use with the external toolchain, as well as the +# common toolchain wrapper build arguments +# +ifeq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),) +CC_TARGET_CPU_ := $(call qstrip,$(BR2_GCC_TARGET_CPU)) +else +CC_TARGET_CPU_ := $(call qstrip,$(BR2_GCC_TARGET_CPU)-$(BR2_GCC_TARGET_CPU_REVISION)) +endif +CC_TARGET_ARCH_ := $(call qstrip,$(BR2_GCC_TARGET_ARCH)) +CC_TARGET_ABI_ := $(call qstrip,$(BR2_GCC_TARGET_ABI)) +CC_TARGET_FPU_ := $(call qstrip,$(BR2_GCC_TARGET_FPU)) +CC_TARGET_FLOAT_ABI_ := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) +CC_TARGET_MODE_ := $(call qstrip,$(BR2_GCC_TARGET_MODE)) + +# march/mtune/floating point mode needs to be passed to the external toolchain +# to select the right multilib variant +ifeq ($(BR2_x86_64),y) +TOOLCHAIN_EXTERNAL_CFLAGS += -m64 +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_64 +endif +ifneq ($(CC_TARGET_ARCH_),) +TOOLCHAIN_EXTERNAL_CFLAGS += -march=$(CC_TARGET_ARCH_) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_ARCH='"$(CC_TARGET_ARCH_)"' +endif +ifneq ($(CC_TARGET_CPU_),) +TOOLCHAIN_EXTERNAL_CFLAGS += -mcpu=$(CC_TARGET_CPU_) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_CPU='"$(CC_TARGET_CPU_)"' +endif +ifneq ($(CC_TARGET_ABI_),) +TOOLCHAIN_EXTERNAL_CFLAGS += -mabi=$(CC_TARGET_ABI_) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_ABI='"$(CC_TARGET_ABI_)"' +endif +ifneq ($(CC_TARGET_FPU_),) +TOOLCHAIN_EXTERNAL_CFLAGS += -mfpu=$(CC_TARGET_FPU_) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_FPU='"$(CC_TARGET_FPU_)"' +endif +ifneq ($(CC_TARGET_FLOAT_ABI_),) +TOOLCHAIN_EXTERNAL_CFLAGS += -mfloat-abi=$(CC_TARGET_FLOAT_ABI_) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_FLOAT_ABI='"$(CC_TARGET_FLOAT_ABI_)"' +endif +ifneq ($(CC_TARGET_MODE_),) +TOOLCHAIN_EXTERNAL_CFLAGS += -m$(CC_TARGET_MODE_) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_MODE='"$(CC_TARGET_MODE_)"' +endif +ifeq ($(BR2_BINFMT_FLAT),y) +TOOLCHAIN_EXTERNAL_CFLAGS += -Wl,-elf2flt +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_BINFMT_FLAT +endif +ifeq ($(BR2_mipsel)$(BR2_mips64el),y) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_MIPS_TARGET_LITTLE_ENDIAN +TOOLCHAIN_EXTERNAL_CFLAGS += -EL +endif +ifeq ($(BR2_mips)$(BR2_mips64),y) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_MIPS_TARGET_BIG_ENDIAN +TOOLCHAIN_EXTERNAL_CFLAGS += -EB +endif +ifeq ($(BR2_arceb),y) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_ARC_TARGET_BIG_ENDIAN +TOOLCHAIN_EXTERNAL_CFLAGS += -EB +endif + +TOOLCHAIN_EXTERNAL_CFLAGS += $(call qstrip,$(BR2_TARGET_OPTIMIZATION)) + +ifeq ($(BR2_SOFT_FLOAT),y) +TOOLCHAIN_EXTERNAL_CFLAGS += -msoft-float +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_SOFTFLOAT=1 +endif + +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += \ + -DBR_CROSS_PATH_SUFFIX='"$(TOOLCHAIN_EXTERNAL_SUFFIX)"' + +ifeq ($(filter $(HOST_DIR)/%,$(TOOLCHAIN_EXTERNAL_BIN)),) +# TOOLCHAIN_EXTERNAL_BIN points outside HOST_DIR => absolute path +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += \ + -DBR_CROSS_PATH_ABS='"$(TOOLCHAIN_EXTERNAL_BIN)"' +else +# TOOLCHAIN_EXTERNAL_BIN points inside HOST_DIR => relative path +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += \ + -DBR_CROSS_PATH_REL='"$(TOOLCHAIN_EXTERNAL_BIN:$(HOST_DIR)/%=%)"' +endif + + +# +# The following functions creates the symbolic links needed to get the +# cross-compilation tools visible in $(HOST_DIR)/usr/bin. Some of +# links are done directly to the corresponding tool in the external +# toolchain installation directory, while some other links are done to +# the toolchain wrapper (preprocessor, C, C++ and Fortran compiler) +# +# We skip gdb symlink when we are building our own gdb to prevent two +# gdb's in $(HOST_DIR)/usr/bin. +# +# The LTO support in gcc creates wrappers for ar, ranlib and nm which load +# the lto plugin. These wrappers are called *-gcc-ar, *-gcc-ranlib, and +# *-gcc-nm and should be used instead of the real programs when -flto is +# used. However, we should not add the toolchain wrapper for them, and they +# match the *cc-* pattern. Therefore, an additional case is added for *-ar, +# *-ranlib and *-nm. +define TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER + $(Q)cd $(HOST_DIR)/usr/bin; \ + for i in $(TOOLCHAIN_EXTERNAL_CROSS)*; do \ + base=$${i##*/}; \ + case "$$base" in \ + *-ar|*-ranlib|*-nm) \ + ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%../..%') .; \ + ;; \ + *cc|*cc-*|*++|*++-*|*cpp|*-gfortran) \ + ln -sf toolchain-wrapper $$base; \ + ;; \ + *gdb|*gdbtui) \ + if test "$(BR2_PACKAGE_HOST_GDB)" != "y"; then \ + ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%../..%') .; \ + fi \ + ;; \ + *) \ + ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%../..%') .; \ + ;; \ + esac; \ + done +endef + + +# Various utility functions used by the external toolchain package +# infrastructure. Those functions are mainly responsible for: +# +# - installation the toolchain libraries to $(TARGET_DIR) +# - copying the toolchain sysroot to $(STAGING_DIR) +# - installing a gdbinit file +# +# Details about sysroot directory selection. +# +# To find the sysroot directory, we use the trick of looking for the +# 'libc.a' file with the -print-file-name gcc option, and then +# mangling the path to find the base directory of the sysroot. +# +# Note that we do not use the -print-sysroot option, because it is +# only available since gcc 4.4.x, and we only recently dropped support +# for 4.2.x and 4.3.x. +# +# When doing this, we don't pass any option to gcc that could select a +# multilib variant (such as -march) as we want the "main" sysroot, +# which contains all variants of the C library in the case of multilib +# toolchains. We use the TARGET_CC_NO_SYSROOT variable, which is the +# path of the cross-compiler, without the --sysroot=$(STAGING_DIR), +# since what we want to find is the location of the original toolchain +# sysroot. This "main" sysroot directory is stored in SYSROOT_DIR. +# +# Then, multilib toolchains are a little bit more complicated, since +# they in fact have multiple sysroots, one for each variant supported +# by the toolchain. So we need to find the particular sysroot we're +# interested in. +# +# To do so, we ask the compiler where its sysroot is by passing all +# flags (including -march and al.), except the --sysroot flag since we +# want to the compiler to tell us where its original sysroot +# is. ARCH_SUBDIR will contain the subdirectory, in the main +# SYSROOT_DIR, that corresponds to the selected architecture +# variant. ARCH_SYSROOT_DIR will contain the full path to this +# location. +# +# One might wonder why we don't just bother with ARCH_SYSROOT_DIR. The +# fact is that in multilib toolchains, the header files are often only +# present in the main sysroot, and only the libraries are available in +# each variant-specific sysroot directory. + + +# toolchain_find_sysroot returns the sysroot location for the given +# compiler + flags. We need to handle cases where libc.a is in: +# +# - lib/ +# - usr/lib/ +# - lib32/ +# - lib64/ +# - lib32-fp/ (Cavium toolchain) +# - lib64-fp/ (Cavium toolchain) +# - usr/lib// (Linaro toolchain) +# +# And variations on these. +define toolchain_find_sysroot +$$(printf $(call toolchain_find_libc_a,$(1)) | sed -r -e 's:(usr/)?lib(32|64)?([^/]*)?/([^/]*/)?libc\.a::') +endef + +# Returns the lib subdirectory for the given compiler + flags (i.e +# typically lib32 or lib64 for some toolchains) +define toolchain_find_libdir +$$(printf $(call toolchain_find_libc_a,$(1)) | sed -r -e 's:.*/(usr/)?(lib(32|64)?([^/]*)?)/([^/]*/)?libc.a:\2:') +endef + +# Returns the location of the libc.a file for the given compiler + flags +define toolchain_find_libc_a +$$(readlink -f $$(LANG=C $(1) -print-file-name=libc.a)) +endef + +# Integration of the toolchain into Buildroot: find the main sysroot +# and the variant-specific sysroot, then copy the needed libraries to +# the $(TARGET_DIR) and copy the whole sysroot (libraries and headers) +# to $(STAGING_DIR). +# +# Variables are defined as follows: +# +# LIBC_A_LOCATION: location of the libc.a file in the default +# multilib variant (allows to find the main +# sysroot directory) +# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/usr/lib/libc.a +# +# SYSROOT_DIR: the main sysroot directory, deduced from +# LIBC_A_LOCATION by removing the +# usr/lib[32|64]/libc.a part of the path. +# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/ +# +# ARCH_LIBC_A_LOCATION: location of the libc.a file in the selected +# multilib variant (taking into account the +# CFLAGS). Allows to find the sysroot of the +# selected multilib variant. +# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/libc.a +# +# ARCH_SYSROOT_DIR: the sysroot of the selected multilib variant, +# deduced from ARCH_LIBC_A_LOCATION by removing +# usr/lib[32|64]/libc.a at the end of the path. +# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/mips16/soft-float/el/ +# +# ARCH_LIB_DIR: 'lib', 'lib32' or 'lib64' depending on where libraries +# are stored. Deduced from ARCH_LIBC_A_LOCATION by +# looking at usr/lib??/libc.a. +# Ex: lib +# +# ARCH_SUBDIR: the relative location of the sysroot of the selected +# multilib variant compared to the main sysroot. +# Ex: mips16/soft-float/el +# +# SUPPORT_LIB_DIR: some toolchains, such as recent Linaro toolchains, +# store GCC support libraries (libstdc++, +# libgcc_s, etc.) outside of the sysroot. In +# this case, SUPPORT_LIB_DIR is set to a +# non-empty value, and points to the directory +# where these support libraries are +# available. Those libraries will be copied to +# our sysroot, and the directory will also be +# considered when searching libraries for copy +# to the target filesystem. +# +# Please be very careful to check the major toolchain sources: +# Buildroot, Crosstool-NG, CodeSourcery and Linaro +# before doing any modification on the below logic. + +ifeq ($(BR2_STATIC_LIBS),) +define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_LIBS + $(Q)$(call MESSAGE,"Copying external toolchain libraries to target...") + $(Q)for libs in $(TOOLCHAIN_EXTERNAL_LIBS); do \ + $(call copy_toolchain_lib_root,$$libs); \ + done +endef +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY),y) +define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_GDBSERVER + $(Q)$(call MESSAGE,"Copying gdbserver") + $(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + gdbserver_found=0 ; \ + for d in $${ARCH_SYSROOT_DIR}/usr \ + $${ARCH_SYSROOT_DIR}/../debug-root/usr \ + $${ARCH_SYSROOT_DIR}/usr/$${ARCH_LIB_DIR} \ + $(TOOLCHAIN_EXTERNAL_INSTALL_DIR); do \ + if test -f $${d}/bin/gdbserver ; then \ + install -m 0755 -D $${d}/bin/gdbserver $(TARGET_DIR)/usr/bin/gdbserver ; \ + gdbserver_found=1 ; \ + break ; \ + fi ; \ + done ; \ + if [ $${gdbserver_found} -eq 0 ] ; then \ + echo "Could not find gdbserver in external toolchain" ; \ + exit 1 ; \ + fi +endef +endif + +define TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS + $(Q)SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC))" ; \ + ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + SUPPORT_LIB_DIR="" ; \ + if test `find $${ARCH_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \ + LIBSTDCPP_A_LOCATION=$$(LANG=C $(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \ + if [ -e "$${LIBSTDCPP_A_LOCATION}" ]; then \ + SUPPORT_LIB_DIR=`readlink -f $${LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \ + fi ; \ + fi ; \ + if [ "$${SYSROOT_DIR}" == "$${ARCH_SYSROOT_DIR}" ] ; then \ + ARCH_SUBDIR="" ; \ + elif [ "`dirname $${ARCH_SYSROOT_DIR}`" = "`dirname $${SYSROOT_DIR}`" ] ; then \ + SYSROOT_DIR_DIRNAME=`dirname $${SYSROOT_DIR}`/ ; \ + ARCH_SUBDIR=`echo $${ARCH_SYSROOT_DIR} | sed -r -e "s:^$${SYSROOT_DIR_DIRNAME}(.*)/$$:\1:"` ; \ + else \ + ARCH_SUBDIR=`echo $${ARCH_SYSROOT_DIR} | sed -r -e "s:^$${SYSROOT_DIR}(.*)/$$:\1:"` ; \ + fi ; \ + $(call MESSAGE,"Copying external toolchain sysroot to staging...") ; \ + $(call copy_toolchain_sysroot,$${SYSROOT_DIR},$${ARCH_SYSROOT_DIR},$${ARCH_SUBDIR},$${ARCH_LIB_DIR},$${SUPPORT_LIB_DIR}) +endef + +# Create a symlink from (usr/)$(ARCH_LIB_DIR) to lib. +# Note: the skeleton package additionally creates lib32->lib or lib64->lib +# (as appropriate) +# +# $1: destination directory (TARGET_DIR / STAGING_DIR) +create_lib_symlinks = \ + $(Q)DESTDIR="$(strip $1)" ; \ + ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + if [ ! -e "$${DESTDIR}/$${ARCH_LIB_DIR}" -a ! -e "$${DESTDIR}/usr/$${ARCH_LIB_DIR}" ]; then \ + ln -snf lib "$${DESTDIR}/$${ARCH_LIB_DIR}" ; \ + ln -snf lib "$${DESTDIR}/usr/$${ARCH_LIB_DIR}" ; \ + fi + +define TOOLCHAIN_EXTERNAL_CREATE_STAGING_LIB_SYMLINK + $(call create_lib_symlinks,$(STAGING_DIR)) +endef + +define TOOLCHAIN_EXTERNAL_CREATE_TARGET_LIB_SYMLINK + $(call create_lib_symlinks,$(TARGET_DIR)) +endef + +# +# Generate gdbinit file for use with Buildroot +# +define TOOLCHAIN_EXTERNAL_INSTALL_GDBINIT + $(Q)if test -f $(TARGET_CROSS)gdb ; then \ + $(call MESSAGE,"Installing gdbinit"); \ + $(gen_gdbinit_file); \ + fi +endef + +# Various utility functions used by the external toolchain based on musl. + +# musl does not provide an implementation for sys/queue.h or sys/cdefs.h. +# So, add the musl-compat-headers package that will install those files, +# into the staging directory: +# sys/queue.h: header from NetBSD +# sys/cdefs.h: minimalist header bundled in Buildroot +ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) +TOOLCHAIN_EXTERNAL_DEPENDENCIES += musl-compat-headers +endif + +# With the musl C library, the libc.so library directly plays the role +# of the dynamic library loader. We just need to create a symbolic +# link to libc.so with the appropriate name. +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL),y) +ifeq ($(BR2_i386),y) +MUSL_ARCH = i386 +else ifeq ($(BR2_ARM_EABIHF),y) +MUSL_ARCH = armhf +else ifeq ($(BR2_mipsel):$(BR2_SOFT_FLOAT),y:y) +MUSL_ARCH = mipsel-sf +else ifeq ($(BR2_sh),y) +MUSL_ARCH = sh +else +MUSL_ARCH = $(ARCH) +endif +define TOOLCHAIN_EXTERNAL_MUSL_LD_LINK + ln -sf libc.so $(TARGET_DIR)/lib/ld-musl-$(MUSL_ARCH).so.1 +endef +TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_MUSL_LD_LINK +endif + +# +# Various functions used by the external toolchain package +# infrastructure to handle the Blackfin specific +# BR2_BFIN_INSTALL_FDPIC_SHARED and BR2_BFIN_INSTALL_FLAT_SHARED +# options. +# + +# Special installation target used on the Blackfin architecture when +# FDPIC is not the primary binary format being used, but the user has +# nonetheless requested the installation of the FDPIC libraries to the +# target filesystem. +ifeq ($(BR2_BFIN_INSTALL_FDPIC_SHARED),y) +define TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS_BFIN_FDPIC + $(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to staging...") + $(Q)FDPIC_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))/../../bfin-linux-uclibc/bin/bfin-linux-uclibc-gcc ; \ + FDPIC_SYSROOT_DIR="$(call toolchain_find_sysroot,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + FDPIC_LIB_DIR="$(call toolchain_find_libdir,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ + FDPIC_SUPPORT_LIB_DIR="" ; \ + if test `find $${FDPIC_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \ + FDPIC_LIBSTDCPP_A_LOCATION=$$(LANG=C $${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \ + if [ -e "$${FDPIC_LIBSTDCPP_A_LOCATION}" ]; then \ + FDPIC_SUPPORT_LIB_DIR=`readlink -f $${FDPIC_LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \ + fi ; \ + fi ; \ + $(call copy_toolchain_sysroot,$${FDPIC_SYSROOT_DIR},$${FDPIC_SYSROOT_DIR},,$${FDPIC_LIB_DIR},$${FDPIC_SUPPORT_LIB_DIR}) +endef +define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FDPIC + $(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to target...") + $(Q)for libs in $(TOOLCHAIN_EXTERNAL_LIBS); do \ + $(call copy_toolchain_lib_root,$$libs); \ + done +endef +endif + +# Special installation target used on the Blackfin architecture when +# shared FLAT is not the primary format being used, but the user has +# nonetheless requested the installation of the shared FLAT libraries +# to the target filesystem. The flat libraries are found and linked +# according to the index in name "libN.so". Index 1 is reserved for +# the standard C library. Customer libraries can use 4 and above. +ifeq ($(BR2_BFIN_INSTALL_FLAT_SHARED),y) +define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FLAT + $(Q)$(call MESSAGE,"Install external toolchain FLAT libraries to target...") + $(Q)FLAT_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))../../bfin-uclinux/bin/bfin-uclinux-gcc ; \ + FLAT_LIBC_A_LOCATION=`$${FLAT_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -mid-shared-library -print-file-name=libc`; \ + if [ -f $${FLAT_LIBC_A_LOCATION} -a ! -h $${FLAT_LIBC_A_LOCATION} ] ; then \ + $(INSTALL) -D $${FLAT_LIBC_A_LOCATION} $(TARGET_DIR)/lib/lib1.so; \ + fi +endef +endif + +# uClibc-ng dynamic loader is called ld-uClibc.so.1, but gcc is not +# patched specifically for uClibc-ng, so it continues to generate +# binaries that expect the dynamic loader to be named ld-uClibc.so.0, +# like with the original uClibc. Therefore, we create an additional +# symbolic link to make uClibc-ng systems work properly. +define TOOLCHAIN_EXTERNAL_FIXUP_UCLIBCNG_LDSO + $(Q)if test -e $(TARGET_DIR)/lib/ld-uClibc.so.1; then \ + ln -sf ld-uClibc.so.1 $(TARGET_DIR)/lib/ld-uClibc.so.0 ; \ + fi + $(Q)if test -e $(TARGET_DIR)/lib/ld64-uClibc.so.1; then \ + ln -sf ld64-uClibc.so.1 $(TARGET_DIR)/lib/ld64-uClibc.so.0 ; \ + fi +endef diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 180a63da58..be1b5e4bee 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -4,573 +4,9 @@ # ################################################################################ -# -# This package implements the support for external toolchains, i.e -# toolchains that are available pre-built, ready to use. Such toolchain -# may either be readily available on the Web (Linaro, Sourcery -# CodeBench, from processor vendors) or may be built with tools like -# Crosstool-NG or Buildroot itself. So far, we have tested this -# with: -# -# * Toolchains generated by Crosstool-NG -# * Toolchains generated by Buildroot -# * Toolchains provided by Linaro for the ARM and AArch64 -# architectures -# * Sourcery CodeBench toolchains (from Mentor Graphics) for the ARM, -# MIPS, PowerPC, x86, x86_64 and NIOS 2 architectures. For the MIPS -# toolchain, the -muclibc variant isn't supported yet, only the -# default glibc-based variant is. -# * Analog Devices toolchains for the Blackfin architecture -# * Xilinx toolchains for the Microblaze architecture -# * Synopsys DesignWare toolchains for ARC cores -# -# The basic principle is the following -# -# 1. If the toolchain is not pre-installed, download and extract it -# in $(TOOLCHAIN_EXTERNAL_INSTALL_DIR). Otherwise, -# $(TOOLCHAIN_EXTERNAL_INSTALL_DIR) points to were the toolchain has -# already been installed by the user. -# -# 2. For all external toolchains, perform some checks on the -# conformity between the toolchain configuration described in the -# Buildroot menuconfig system, and the real configuration of the -# external toolchain. This is for example important to make sure that -# the Buildroot configuration system knows whether the toolchain -# supports RPC, IPv6, locales, large files, etc. Unfortunately, these -# things cannot be detected automatically, since the value of these -# options (such as BR2_TOOLCHAIN_HAS_NATIVE_RPC) are needed at -# configuration time because these options are used as dependencies -# for other options. And at configuration time, we are not able to -# retrieve the external toolchain configuration. -# -# 3. Copy the libraries needed at runtime to the target directory, -# $(TARGET_DIR). Obviously, things such as the C library, the dynamic -# loader and a few other utility libraries are needed if dynamic -# applications are to be executed on the target system. -# -# 4. Copy the libraries and headers to the staging directory. This -# will allow all further calls to gcc to be made using --sysroot -# $(STAGING_DIR), which greatly simplifies the compilation of the -# packages when using external toolchains. So in the end, only the -# cross-compiler binaries remains external, all libraries and headers -# are imported into the Buildroot tree. -# -# 5. Build a toolchain wrapper which executes the external toolchain -# with a number of arguments (sysroot/march/mtune/..) hardcoded, -# so we're sure the correct configuration is always used and the -# toolchain behaves similar to an internal toolchain. -# This toolchain wrapper and symlinks are installed into -# $(HOST_DIR)/usr/bin like for the internal toolchains, and the rest -# of Buildroot is handled identical for the 2 toolchain types. - -# -# Definitions of where the toolchain can be found -# - -TOOLCHAIN_EXTERNAL_PREFIX = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX)) -TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR = $(HOST_DIR)/opt/ext-toolchain - -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y) -TOOLCHAIN_EXTERNAL_INSTALL_DIR = $(TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR) -else -TOOLCHAIN_EXTERNAL_INSTALL_DIR = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH)) -endif - -ifeq ($(TOOLCHAIN_EXTERNAL_INSTALL_DIR),) -ifneq ($(TOOLCHAIN_EXTERNAL_PREFIX),) -# if no path set, figure it out from path -TOOLCHAIN_EXTERNAL_BIN := $(shell dirname $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc)) -endif -else -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX),y) -TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/$(TOOLCHAIN_EXTERNAL_PREFIX)/bin -else -TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/bin -endif -endif - -# If this is a buildroot toolchain, it already has a wrapper which we want to -# bypass. Since this is only evaluated after it has been extracted, we can use -# $(wildcard ...) here. -TOOLCHAIN_EXTERNAL_SUFFIX = \ - $(if $(wildcard $(TOOLCHAIN_EXTERNAL_BIN)/*.br_real),.br_real) - -TOOLCHAIN_EXTERNAL_CROSS = $(TOOLCHAIN_EXTERNAL_BIN)/$(TOOLCHAIN_EXTERNAL_PREFIX)- -TOOLCHAIN_EXTERNAL_CC = $(TOOLCHAIN_EXTERNAL_CROSS)gcc$(TOOLCHAIN_EXTERNAL_SUFFIX) -TOOLCHAIN_EXTERNAL_CXX = $(TOOLCHAIN_EXTERNAL_CROSS)g++$(TOOLCHAIN_EXTERNAL_SUFFIX) -TOOLCHAIN_EXTERNAL_FC = $(TOOLCHAIN_EXTERNAL_CROSS)gfortran$(TOOLCHAIN_EXTERNAL_SUFFIX) -TOOLCHAIN_EXTERNAL_READELF = $(TOOLCHAIN_EXTERNAL_CROSS)readelf$(TOOLCHAIN_EXTERNAL_SUFFIX) - - -# -# Definitions of the list of libraries that should be copied to the target. -# -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y) -TOOLCHAIN_EXTERNAL_LIBS += libatomic.so.* libc.so.* libcrypt.so.* libdl.so.* libgcc_s.so.* libm.so.* libnsl.so.* libresolv.so.* librt.so.* libutil.so.* -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC)$(BR2_ARM_EABIHF),yy) -TOOLCHAIN_EXTERNAL_LIBS += ld-linux-armhf.so.* -else -TOOLCHAIN_EXTERNAL_LIBS += ld*.so.* -endif -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -TOOLCHAIN_EXTERNAL_LIBS += libpthread.so.* -ifneq ($(BR2_PACKAGE_GDB)$(BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY),) -TOOLCHAIN_EXTERNAL_LIBS += libthread_db.so.* -endif # gdbserver -endif # ! no threads -endif - -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC),y) -TOOLCHAIN_EXTERNAL_LIBS += libnss_files.so.* libnss_dns.so.* libmvec.so.* -endif - -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL),y) -TOOLCHAIN_EXTERNAL_LIBS += libc.so libgcc_s.so.* -endif - -ifeq ($(BR2_INSTALL_LIBSTDCPP),y) -TOOLCHAIN_EXTERNAL_LIBS += libstdc++.so.* -endif - -ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y) -TOOLCHAIN_EXTERNAL_LIBS += libgfortran.so.* -# fortran needs quadmath on x86 and x86_64 -ifeq ($(BR2_TOOLCHAIN_HAS_LIBQUADMATH),y) -TOOLCHAIN_EXTERNAL_LIBS += libquadmath.so* -endif -endif - -TOOLCHAIN_EXTERNAL_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS)) - - -# -# Definition of the CFLAGS to use with the external toolchain, as well as the -# common toolchain wrapper build arguments -# -ifeq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),) -CC_TARGET_CPU_ := $(call qstrip,$(BR2_GCC_TARGET_CPU)) -else -CC_TARGET_CPU_ := $(call qstrip,$(BR2_GCC_TARGET_CPU)-$(BR2_GCC_TARGET_CPU_REVISION)) -endif -CC_TARGET_ARCH_ := $(call qstrip,$(BR2_GCC_TARGET_ARCH)) -CC_TARGET_ABI_ := $(call qstrip,$(BR2_GCC_TARGET_ABI)) -CC_TARGET_FPU_ := $(call qstrip,$(BR2_GCC_TARGET_FPU)) -CC_TARGET_FLOAT_ABI_ := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) -CC_TARGET_MODE_ := $(call qstrip,$(BR2_GCC_TARGET_MODE)) - -# march/mtune/floating point mode needs to be passed to the external toolchain -# to select the right multilib variant -ifeq ($(BR2_x86_64),y) -TOOLCHAIN_EXTERNAL_CFLAGS += -m64 -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_64 -endif -ifneq ($(CC_TARGET_ARCH_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -march=$(CC_TARGET_ARCH_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_ARCH='"$(CC_TARGET_ARCH_)"' -endif -ifneq ($(CC_TARGET_CPU_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -mcpu=$(CC_TARGET_CPU_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_CPU='"$(CC_TARGET_CPU_)"' -endif -ifneq ($(CC_TARGET_ABI_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -mabi=$(CC_TARGET_ABI_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_ABI='"$(CC_TARGET_ABI_)"' -endif -ifneq ($(CC_TARGET_FPU_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -mfpu=$(CC_TARGET_FPU_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_FPU='"$(CC_TARGET_FPU_)"' -endif -ifneq ($(CC_TARGET_FLOAT_ABI_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -mfloat-abi=$(CC_TARGET_FLOAT_ABI_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_FLOAT_ABI='"$(CC_TARGET_FLOAT_ABI_)"' -endif -ifneq ($(CC_TARGET_MODE_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -m$(CC_TARGET_MODE_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_MODE='"$(CC_TARGET_MODE_)"' -endif -ifeq ($(BR2_BINFMT_FLAT),y) -TOOLCHAIN_EXTERNAL_CFLAGS += -Wl,-elf2flt -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_BINFMT_FLAT -endif -ifeq ($(BR2_mipsel)$(BR2_mips64el),y) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_MIPS_TARGET_LITTLE_ENDIAN -TOOLCHAIN_EXTERNAL_CFLAGS += -EL -endif -ifeq ($(BR2_mips)$(BR2_mips64),y) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_MIPS_TARGET_BIG_ENDIAN -TOOLCHAIN_EXTERNAL_CFLAGS += -EB -endif -ifeq ($(BR2_arceb),y) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_ARC_TARGET_BIG_ENDIAN -TOOLCHAIN_EXTERNAL_CFLAGS += -EB -endif - -TOOLCHAIN_EXTERNAL_CFLAGS += $(call qstrip,$(BR2_TARGET_OPTIMIZATION)) - -ifeq ($(BR2_SOFT_FLOAT),y) -TOOLCHAIN_EXTERNAL_CFLAGS += -msoft-float -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_SOFTFLOAT=1 -endif - -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += \ - -DBR_CROSS_PATH_SUFFIX='"$(TOOLCHAIN_EXTERNAL_SUFFIX)"' - -ifeq ($(filter $(HOST_DIR)/%,$(TOOLCHAIN_EXTERNAL_BIN)),) -# TOOLCHAIN_EXTERNAL_BIN points outside HOST_DIR => absolute path -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += \ - -DBR_CROSS_PATH_ABS='"$(TOOLCHAIN_EXTERNAL_BIN)"' -else -# TOOLCHAIN_EXTERNAL_BIN points inside HOST_DIR => relative path -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += \ - -DBR_CROSS_PATH_REL='"$(TOOLCHAIN_EXTERNAL_BIN:$(HOST_DIR)/%=%)"' -endif - - -# -# The following functions creates the symbolic links needed to get the -# cross-compilation tools visible in $(HOST_DIR)/usr/bin. Some of -# links are done directly to the corresponding tool in the external -# toolchain installation directory, while some other links are done to -# the toolchain wrapper (preprocessor, C, C++ and Fortran compiler) -# -# We skip gdb symlink when we are building our own gdb to prevent two -# gdb's in $(HOST_DIR)/usr/bin. -# -# The LTO support in gcc creates wrappers for ar, ranlib and nm which load -# the lto plugin. These wrappers are called *-gcc-ar, *-gcc-ranlib, and -# *-gcc-nm and should be used instead of the real programs when -flto is -# used. However, we should not add the toolchain wrapper for them, and they -# match the *cc-* pattern. Therefore, an additional case is added for *-ar, -# *-ranlib and *-nm. -define TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER - $(Q)cd $(HOST_DIR)/usr/bin; \ - for i in $(TOOLCHAIN_EXTERNAL_CROSS)*; do \ - base=$${i##*/}; \ - case "$$base" in \ - *-ar|*-ranlib|*-nm) \ - ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%../..%') .; \ - ;; \ - *cc|*cc-*|*++|*++-*|*cpp|*-gfortran) \ - ln -sf toolchain-wrapper $$base; \ - ;; \ - *gdb|*gdbtui) \ - if test "$(BR2_PACKAGE_HOST_GDB)" != "y"; then \ - ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%../..%') .; \ - fi \ - ;; \ - *) \ - ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%../..%') .; \ - ;; \ - esac; \ - done -endef - - -# Various utility functions used by the external toolchain package -# infrastructure. Those functions are mainly responsible for: -# -# - installation the toolchain libraries to $(TARGET_DIR) -# - copying the toolchain sysroot to $(STAGING_DIR) -# - installing a gdbinit file -# -# Details about sysroot directory selection. -# -# To find the sysroot directory, we use the trick of looking for the -# 'libc.a' file with the -print-file-name gcc option, and then -# mangling the path to find the base directory of the sysroot. -# -# Note that we do not use the -print-sysroot option, because it is -# only available since gcc 4.4.x, and we only recently dropped support -# for 4.2.x and 4.3.x. -# -# When doing this, we don't pass any option to gcc that could select a -# multilib variant (such as -march) as we want the "main" sysroot, -# which contains all variants of the C library in the case of multilib -# toolchains. We use the TARGET_CC_NO_SYSROOT variable, which is the -# path of the cross-compiler, without the --sysroot=$(STAGING_DIR), -# since what we want to find is the location of the original toolchain -# sysroot. This "main" sysroot directory is stored in SYSROOT_DIR. -# -# Then, multilib toolchains are a little bit more complicated, since -# they in fact have multiple sysroots, one for each variant supported -# by the toolchain. So we need to find the particular sysroot we're -# interested in. -# -# To do so, we ask the compiler where its sysroot is by passing all -# flags (including -march and al.), except the --sysroot flag since we -# want to the compiler to tell us where its original sysroot -# is. ARCH_SUBDIR will contain the subdirectory, in the main -# SYSROOT_DIR, that corresponds to the selected architecture -# variant. ARCH_SYSROOT_DIR will contain the full path to this -# location. -# -# One might wonder why we don't just bother with ARCH_SYSROOT_DIR. The -# fact is that in multilib toolchains, the header files are often only -# present in the main sysroot, and only the libraries are available in -# each variant-specific sysroot directory. - - -# toolchain_find_sysroot returns the sysroot location for the given -# compiler + flags. We need to handle cases where libc.a is in: -# -# - lib/ -# - usr/lib/ -# - lib32/ -# - lib64/ -# - lib32-fp/ (Cavium toolchain) -# - lib64-fp/ (Cavium toolchain) -# - usr/lib// (Linaro toolchain) -# -# And variations on these. -define toolchain_find_sysroot -$$(printf $(call toolchain_find_libc_a,$(1)) | sed -r -e 's:(usr/)?lib(32|64)?([^/]*)?/([^/]*/)?libc\.a::') -endef - -# Returns the lib subdirectory for the given compiler + flags (i.e -# typically lib32 or lib64 for some toolchains) -define toolchain_find_libdir -$$(printf $(call toolchain_find_libc_a,$(1)) | sed -r -e 's:.*/(usr/)?(lib(32|64)?([^/]*)?)/([^/]*/)?libc.a:\2:') -endef - -# Returns the location of the libc.a file for the given compiler + flags -define toolchain_find_libc_a -$$(readlink -f $$(LANG=C $(1) -print-file-name=libc.a)) -endef - -# Integration of the toolchain into Buildroot: find the main sysroot -# and the variant-specific sysroot, then copy the needed libraries to -# the $(TARGET_DIR) and copy the whole sysroot (libraries and headers) -# to $(STAGING_DIR). -# -# Variables are defined as follows: -# -# LIBC_A_LOCATION: location of the libc.a file in the default -# multilib variant (allows to find the main -# sysroot directory) -# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/usr/lib/libc.a -# -# SYSROOT_DIR: the main sysroot directory, deduced from -# LIBC_A_LOCATION by removing the -# usr/lib[32|64]/libc.a part of the path. -# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/ -# -# ARCH_LIBC_A_LOCATION: location of the libc.a file in the selected -# multilib variant (taking into account the -# CFLAGS). Allows to find the sysroot of the -# selected multilib variant. -# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/libc.a -# -# ARCH_SYSROOT_DIR: the sysroot of the selected multilib variant, -# deduced from ARCH_LIBC_A_LOCATION by removing -# usr/lib[32|64]/libc.a at the end of the path. -# Ex: /x-tools/mips-2011.03/mips-linux-gnu/libc/mips16/soft-float/el/ -# -# ARCH_LIB_DIR: 'lib', 'lib32' or 'lib64' depending on where libraries -# are stored. Deduced from ARCH_LIBC_A_LOCATION by -# looking at usr/lib??/libc.a. -# Ex: lib -# -# ARCH_SUBDIR: the relative location of the sysroot of the selected -# multilib variant compared to the main sysroot. -# Ex: mips16/soft-float/el -# -# SUPPORT_LIB_DIR: some toolchains, such as recent Linaro toolchains, -# store GCC support libraries (libstdc++, -# libgcc_s, etc.) outside of the sysroot. In -# this case, SUPPORT_LIB_DIR is set to a -# non-empty value, and points to the directory -# where these support libraries are -# available. Those libraries will be copied to -# our sysroot, and the directory will also be -# considered when searching libraries for copy -# to the target filesystem. -# -# Please be very careful to check the major toolchain sources: -# Buildroot, Crosstool-NG, CodeSourcery and Linaro -# before doing any modification on the below logic. - -ifeq ($(BR2_STATIC_LIBS),) -define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_LIBS - $(Q)$(call MESSAGE,"Copying external toolchain libraries to target...") - $(Q)for libs in $(TOOLCHAIN_EXTERNAL_LIBS); do \ - $(call copy_toolchain_lib_root,$$libs); \ - done -endef -endif - -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY),y) -define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_GDBSERVER - $(Q)$(call MESSAGE,"Copying gdbserver") - $(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - gdbserver_found=0 ; \ - for d in $${ARCH_SYSROOT_DIR}/usr \ - $${ARCH_SYSROOT_DIR}/../debug-root/usr \ - $${ARCH_SYSROOT_DIR}/usr/$${ARCH_LIB_DIR} \ - $(TOOLCHAIN_EXTERNAL_INSTALL_DIR); do \ - if test -f $${d}/bin/gdbserver ; then \ - install -m 0755 -D $${d}/bin/gdbserver $(TARGET_DIR)/usr/bin/gdbserver ; \ - gdbserver_found=1 ; \ - break ; \ - fi ; \ - done ; \ - if [ $${gdbserver_found} -eq 0 ] ; then \ - echo "Could not find gdbserver in external toolchain" ; \ - exit 1 ; \ - fi -endef -endif - -define TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS - $(Q)SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC))" ; \ - ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - SUPPORT_LIB_DIR="" ; \ - if test `find $${ARCH_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \ - LIBSTDCPP_A_LOCATION=$$(LANG=C $(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \ - if [ -e "$${LIBSTDCPP_A_LOCATION}" ]; then \ - SUPPORT_LIB_DIR=`readlink -f $${LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \ - fi ; \ - fi ; \ - if [ "$${SYSROOT_DIR}" == "$${ARCH_SYSROOT_DIR}" ] ; then \ - ARCH_SUBDIR="" ; \ - elif [ "`dirname $${ARCH_SYSROOT_DIR}`" = "`dirname $${SYSROOT_DIR}`" ] ; then \ - SYSROOT_DIR_DIRNAME=`dirname $${SYSROOT_DIR}`/ ; \ - ARCH_SUBDIR=`echo $${ARCH_SYSROOT_DIR} | sed -r -e "s:^$${SYSROOT_DIR_DIRNAME}(.*)/$$:\1:"` ; \ - else \ - ARCH_SUBDIR=`echo $${ARCH_SYSROOT_DIR} | sed -r -e "s:^$${SYSROOT_DIR}(.*)/$$:\1:"` ; \ - fi ; \ - $(call MESSAGE,"Copying external toolchain sysroot to staging...") ; \ - $(call copy_toolchain_sysroot,$${SYSROOT_DIR},$${ARCH_SYSROOT_DIR},$${ARCH_SUBDIR},$${ARCH_LIB_DIR},$${SUPPORT_LIB_DIR}) -endef - -# Create a symlink from (usr/)$(ARCH_LIB_DIR) to lib. -# Note: the skeleton package additionally creates lib32->lib or lib64->lib -# (as appropriate) -# -# $1: destination directory (TARGET_DIR / STAGING_DIR) -create_lib_symlinks = \ - $(Q)DESTDIR="$(strip $1)" ; \ - ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - if [ ! -e "$${DESTDIR}/$${ARCH_LIB_DIR}" -a ! -e "$${DESTDIR}/usr/$${ARCH_LIB_DIR}" ]; then \ - ln -snf lib "$${DESTDIR}/$${ARCH_LIB_DIR}" ; \ - ln -snf lib "$${DESTDIR}/usr/$${ARCH_LIB_DIR}" ; \ - fi - -define TOOLCHAIN_EXTERNAL_CREATE_STAGING_LIB_SYMLINK - $(call create_lib_symlinks,$(STAGING_DIR)) -endef - -define TOOLCHAIN_EXTERNAL_CREATE_TARGET_LIB_SYMLINK - $(call create_lib_symlinks,$(TARGET_DIR)) -endef - -# -# Generate gdbinit file for use with Buildroot -# -define TOOLCHAIN_EXTERNAL_INSTALL_GDBINIT - $(Q)if test -f $(TARGET_CROSS)gdb ; then \ - $(call MESSAGE,"Installing gdbinit"); \ - $(gen_gdbinit_file); \ - fi -endef - -# Various utility functions used by the external toolchain based on musl. - -# musl does not provide an implementation for sys/queue.h or sys/cdefs.h. -# So, add the musl-compat-headers package that will install those files, -# into the staging directory: -# sys/queue.h: header from NetBSD -# sys/cdefs.h: minimalist header bundled in Buildroot -ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) -TOOLCHAIN_EXTERNAL_DEPENDENCIES += musl-compat-headers -endif - -# With the musl C library, the libc.so library directly plays the role -# of the dynamic library loader. We just need to create a symbolic -# link to libc.so with the appropriate name. -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL),y) -ifeq ($(BR2_i386),y) -MUSL_ARCH = i386 -else ifeq ($(BR2_ARM_EABIHF),y) -MUSL_ARCH = armhf -else ifeq ($(BR2_mipsel):$(BR2_SOFT_FLOAT),y:y) -MUSL_ARCH = mipsel-sf -else ifeq ($(BR2_sh),y) -MUSL_ARCH = sh -else -MUSL_ARCH = $(ARCH) -endif -define TOOLCHAIN_EXTERNAL_MUSL_LD_LINK - ln -sf libc.so $(TARGET_DIR)/lib/ld-musl-$(MUSL_ARCH).so.1 -endef -TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_MUSL_LD_LINK -endif - -# -# Various functions used by the external toolchain package -# infrastructure to handle the Blackfin specific -# BR2_BFIN_INSTALL_FDPIC_SHARED and BR2_BFIN_INSTALL_FLAT_SHARED -# options. -# - -# Special installation target used on the Blackfin architecture when -# FDPIC is not the primary binary format being used, but the user has -# nonetheless requested the installation of the FDPIC libraries to the -# target filesystem. -ifeq ($(BR2_BFIN_INSTALL_FDPIC_SHARED),y) -define TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS_BFIN_FDPIC - $(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to staging...") - $(Q)FDPIC_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))/../../bfin-linux-uclibc/bin/bfin-linux-uclibc-gcc ; \ - FDPIC_SYSROOT_DIR="$(call toolchain_find_sysroot,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - FDPIC_LIB_DIR="$(call toolchain_find_libdir,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - FDPIC_SUPPORT_LIB_DIR="" ; \ - if test `find $${FDPIC_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \ - FDPIC_LIBSTDCPP_A_LOCATION=$$(LANG=C $${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \ - if [ -e "$${FDPIC_LIBSTDCPP_A_LOCATION}" ]; then \ - FDPIC_SUPPORT_LIB_DIR=`readlink -f $${FDPIC_LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \ - fi ; \ - fi ; \ - $(call copy_toolchain_sysroot,$${FDPIC_SYSROOT_DIR},$${FDPIC_SYSROOT_DIR},,$${FDPIC_LIB_DIR},$${FDPIC_SUPPORT_LIB_DIR}) -endef -define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FDPIC - $(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to target...") - $(Q)for libs in $(TOOLCHAIN_EXTERNAL_LIBS); do \ - $(call copy_toolchain_lib_root,$$libs); \ - done -endef -endif - -# Special installation target used on the Blackfin architecture when -# shared FLAT is not the primary format being used, but the user has -# nonetheless requested the installation of the shared FLAT libraries -# to the target filesystem. The flat libraries are found and linked -# according to the index in name "libN.so". Index 1 is reserved for -# the standard C library. Customer libraries can use 4 and above. -ifeq ($(BR2_BFIN_INSTALL_FLAT_SHARED),y) -define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FLAT - $(Q)$(call MESSAGE,"Install external toolchain FLAT libraries to target...") - $(Q)FLAT_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))../../bfin-uclinux/bin/bfin-uclinux-gcc ; \ - FLAT_LIBC_A_LOCATION=`$${FLAT_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -mid-shared-library -print-file-name=libc`; \ - if [ -f $${FLAT_LIBC_A_LOCATION} -a ! -h $${FLAT_LIBC_A_LOCATION} ] ; then \ - $(INSTALL) -D $${FLAT_LIBC_A_LOCATION} $(TARGET_DIR)/lib/lib1.so; \ - fi -endef -endif - -# uClibc-ng dynamic loader is called ld-uClibc.so.1, but gcc is not -# patched specifically for uClibc-ng, so it continues to generate -# binaries that expect the dynamic loader to be named ld-uClibc.so.0, -# like with the original uClibc. Therefore, we create an additional -# symbolic link to make uClibc-ng systems work properly. -define TOOLCHAIN_EXTERNAL_FIXUP_UCLIBCNG_LDSO - $(Q)if test -e $(TARGET_DIR)/lib/ld-uClibc.so.1; then \ - ln -sf ld-uClibc.so.1 $(TARGET_DIR)/lib/ld-uClibc.so.0 ; \ - fi - $(Q)if test -e $(TARGET_DIR)/lib/ld64-uClibc.so.1; then \ - ln -sf ld64-uClibc.so.1 $(TARGET_DIR)/lib/ld64-uClibc.so.0 ; \ - fi -endef +# All the definition that are common between the toolchain-external +# generic package and the toolchain-external-package infrastructure +# can be found in pkg-toolchain-external.mk TOOLCHAIN_EXTERNAL_INSTALL_STAGING = YES TOOLCHAIN_EXTERNAL_ADD_TOOLCHAIN_DEPENDENCY = NO From 1c99d70e5210f9d7b475736e0360ed63d16584f2 Mon Sep 17 00:00:00 2001 From: Arnout Vandecappelle Date: Mon, 7 Nov 2016 02:19:59 +0100 Subject: [PATCH 099/180] toolchain-external: introduce toolchain-external-package The toolchain-external-package infrastructure is just a copy of the toolchain-external commands, replacing TOOLCHAIN_EXTERNAL by $(2) and adding double-dollars everywhere. toolchain-external itself is converted to a virtual package, but it is faked a little to make sue the toolchains that haven't been converted to toolchain-external-package yet keep on working. The TOOLCHAIN_EXTERNAL_MOVE commands don't have to be redefined for every toolchain-external-package instance, so that is moved out into the common part of pkg-toolchain-external.mk. The musl-compat-headers dependency stays in the toolchain-external package itself. The musl ld link is duplicated in the legacy toolchain-external and the toolchain-external-package, because they have separate hooks. The handling of TOOLCHAIN_EXTERNAL_BIN deserves some special attention, because its value will be different for different toolchain-external-package instances. However, the value only depends on variables that are set by Kconfig (BR2_TOOLCHAIN_EXTERNAL_PREFIX and BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD) so it can easily be used in the generic part. So we don't have to do anything specific for this variable after all. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Cc: Thomas Petazzoni Cc: Romain Naour Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 8 ++ .../pkg-toolchain-external.mk | 124 ++++++++++++++++-- .../toolchain-external/toolchain-external.mk | 48 +++++-- 3 files changed, 159 insertions(+), 21 deletions(-) diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 5324599bf7..65a4216cd8 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -667,6 +667,14 @@ config BR2_TOOLCHAIN_EXTERNAL_MUSL # Compatibility headers: cdefs.h, queue.h select BR2_PACKAGE_MUSL_COMPAT_HEADERS +# Make sure the virtual-package infra checks the provider +config BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL + bool + default y + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + string + if BR2_TOOLCHAIN_EXTERNAL_CUSTOM choice diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk index 583b0d6cf1..3cac5202d3 100644 --- a/toolchain/toolchain-external/pkg-toolchain-external.mk +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk @@ -98,6 +98,17 @@ TOOLCHAIN_EXTERNAL_CXX = $(TOOLCHAIN_EXTERNAL_CROSS)g++$(TOOLCHAIN_EXTERNAL_SUFF TOOLCHAIN_EXTERNAL_FC = $(TOOLCHAIN_EXTERNAL_CROSS)gfortran$(TOOLCHAIN_EXTERNAL_SUFFIX) TOOLCHAIN_EXTERNAL_READELF = $(TOOLCHAIN_EXTERNAL_CROSS)readelf$(TOOLCHAIN_EXTERNAL_SUFFIX) +# Normal handling of downloaded toolchain tarball extraction. +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y) +# As a regular package, the toolchain gets extracted in $(@D), but +# since it's actually a fairly special package, we need it to be moved +# into TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR. +define TOOLCHAIN_EXTERNAL_MOVE + rm -rf $(TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR) + mkdir -p $(TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR) + mv $(@D)/* $(TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR)/ +endef +endif # # Definitions of the list of libraries that should be copied to the target. @@ -474,15 +485,6 @@ endef # Various utility functions used by the external toolchain based on musl. -# musl does not provide an implementation for sys/queue.h or sys/cdefs.h. -# So, add the musl-compat-headers package that will install those files, -# into the staging directory: -# sys/queue.h: header from NetBSD -# sys/cdefs.h: minimalist header bundled in Buildroot -ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) -TOOLCHAIN_EXTERNAL_DEPENDENCIES += musl-compat-headers -endif - # With the musl C library, the libc.so library directly plays the role # of the dynamic library loader. We just need to create a symbolic # link to libc.so with the appropriate name. @@ -501,7 +503,6 @@ endif define TOOLCHAIN_EXTERNAL_MUSL_LD_LINK ln -sf libc.so $(TARGET_DIR)/lib/ld-musl-$(MUSL_ARCH).so.1 endef -TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_MUSL_LD_LINK endif # @@ -568,3 +569,106 @@ define TOOLCHAIN_EXTERNAL_FIXUP_UCLIBCNG_LDSO ln -sf ld64-uClibc.so.1 $(TARGET_DIR)/lib/ld64-uClibc.so.0 ; \ fi endef + + +################################################################################ +# inner-toolchain-external-package -- defines the generic installation rules +# for external toolchain packages +# +# argument 1 is the lowercase package name +# argument 2 is the uppercase package name, including a HOST_ prefix +# for host packages +# argument 3 is the uppercase package name, without the HOST_ prefix +# for host packages +# argument 4 is the type (target or host) +################################################################################ +define inner-toolchain-external-package + +$(2)_INSTALL_STAGING = YES +$(2)_ADD_TOOLCHAIN_DEPENDENCY = NO + +# In fact, we don't need to download the toolchain, since it is already +# available on the system, so force the site and source to be empty so +# that nothing will be downloaded/extracted. +ifeq ($$(BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED),y) +$(2)_SITE = +$(2)_SOURCE = +endif + +ifeq ($$(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y) +$(2)_EXCLUDES = usr/lib/locale/* + +$(2)_POST_EXTRACT_HOOKS += \ + TOOLCHAIN_EXTERNAL_MOVE +endif + +# Checks for an already installed toolchain: check the toolchain +# location, check that it is usable, and then verify that it +# matches the configuration provided in Buildroot: ABI, C++ support, +# kernel headers version, type of C library and all C library features. +define $(2)_CONFIGURE_CMDS + $$(Q)$$(call check_cross_compiler_exists,$$(TOOLCHAIN_EXTERNAL_CC)) + $$(Q)$$(call check_unusable_toolchain,$$(TOOLCHAIN_EXTERNAL_CC)) + $$(Q)SYSROOT_DIR="$$(call toolchain_find_sysroot,$$(TOOLCHAIN_EXTERNAL_CC))" ; \ + $$(call check_kernel_headers_version,\ + $$(call toolchain_find_sysroot,$$(TOOLCHAIN_EXTERNAL_CC)),\ + $$(call qstrip,$$(BR2_TOOLCHAIN_HEADERS_AT_LEAST))); \ + $$(call check_gcc_version,$$(TOOLCHAIN_EXTERNAL_CC),\ + $$(call qstrip,$$(BR2_TOOLCHAIN_GCC_AT_LEAST))); \ + if test "$$(BR2_arm)" = "y" ; then \ + $$(call check_arm_abi,\ + "$$(TOOLCHAIN_EXTERNAL_CC) $$(TOOLCHAIN_EXTERNAL_CFLAGS)",\ + $$(TOOLCHAIN_EXTERNAL_READELF)) ; \ + fi ; \ + if test "$$(BR2_INSTALL_LIBSTDCPP)" = "y" ; then \ + $$(call check_cplusplus,$$(TOOLCHAIN_EXTERNAL_CXX)) ; \ + fi ; \ + if test "$$(BR2_TOOLCHAIN_HAS_FORTRAN)" = "y" ; then \ + $$(call check_fortran,$$(TOOLCHAIN_EXTERNAL_FC)) ; \ + fi ; \ + if test "$$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)" = "y" ; then \ + $$(call check_uclibc,$$$${SYSROOT_DIR}) ; \ + elif test "$$(BR2_TOOLCHAIN_EXTERNAL_MUSL)" = "y" ; then \ + $$(call check_musl,$$$${SYSROOT_DIR}) ; \ + else \ + $$(call check_glibc,$$$${SYSROOT_DIR}) ; \ + fi + $$(Q)$$(call check_toolchain_ssp,$$(TOOLCHAIN_EXTERNAL_CC)) +endef + +$(2)_TOOLCHAIN_WRAPPER_ARGS += $$(TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS) + +$(2)_BUILD_CMDS = $$(TOOLCHAIN_WRAPPER_BUILD) + +define $(2)_INSTALL_STAGING_CMDS + $$(TOOLCHAIN_WRAPPER_INSTALL) + $$(TOOLCHAIN_EXTERNAL_CREATE_STAGING_LIB_SYMLINK) + $$(TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS) + $$(TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS_BFIN_FDPIC) + $$(TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER) + $$(TOOLCHAIN_EXTERNAL_INSTALL_GDBINIT) +endef + +ifeq ($$(BR2_TOOLCHAIN_EXTERNAL_MUSL),y) +$(2)_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_MUSL_LD_LINK +endif + +# Even though we're installing things in both the staging, the host +# and the target directory, we do everything within the +# install-staging step, arbitrarily. +define $(2)_INSTALL_TARGET_CMDS + $$(TOOLCHAIN_EXTERNAL_CREATE_TARGET_LIB_SYMLINK) + $$(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_LIBS) + $$(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_GDBSERVER) + $$(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FDPIC) + $$(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FLAT) + $$(TOOLCHAIN_EXTERNAL_FIXUP_UCLIBCNG_LDSO) +endef + +# Call the generic package infrastructure to generate the necessary +# make targets +$(call inner-generic-package,$(1),$(2),$(3),$(4)) + +endef + +toolchain-external-package = $(call inner-toolchain-external-package,$(pkgname),$(call UPPERCASE,$(pkgname)),$(call UPPERCASE,$(pkgname)),target) diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index be1b5e4bee..bcbcb2ef96 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -4,12 +4,31 @@ # ################################################################################ +TOOLCHAIN_EXTERNAL_ADD_TOOLCHAIN_DEPENDENCY = NO + +# musl does not provide an implementation for sys/queue.h or sys/cdefs.h. +# So, add the musl-compat-headers package that will install those files, +# into the staging directory: +# sys/queue.h: header from NetBSD +# sys/cdefs.h: minimalist header bundled in Buildroot +ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) +TOOLCHAIN_EXTERNAL_DEPENDENCIES += musl-compat-headers +endif + # All the definition that are common between the toolchain-external # generic package and the toolchain-external-package infrastructure # can be found in pkg-toolchain-external.mk +# Legacy toolchains that don't use the toolchain-external-package infrastructure +# yet. We can recognise that because no provider is set. +ifeq ($(call qstrip,$(BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL)),) + +# Now we are the provider. However, we can't set it to ourselves or we'll get a +# circular dependency. Let's set it to a target that we always depend on +# instead. +BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL = skeleton + TOOLCHAIN_EXTERNAL_INSTALL_STAGING = YES -TOOLCHAIN_EXTERNAL_ADD_TOOLCHAIN_DEPENDENCY = NO # In fact, we don't need to download the toolchain, since it is already # available on the system, so force the site and source to be empty so @@ -201,18 +220,9 @@ TOOLCHAIN_EXTERNAL_ACTUAL_SOURCE_TARBALL ?= \ $(subst -i686-pc-linux-gnu.tar.bz2,.src.tar.bz2,$(subst -i686-pc-linux-gnu-i386-linux.tar.bz2,-i686-pc-linux-gnu.src.tar.bz2,$(TOOLCHAIN_EXTERNAL_SOURCE))) endif -# Normal handling of downloaded toolchain tarball extraction. ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y) TOOLCHAIN_EXTERNAL_EXCLUDES = usr/lib/locale/* -# As a regular package, the toolchain gets extracted in $(@D), but -# since it's actually a fairly special package, we need it to be moved -# into TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR. -define TOOLCHAIN_EXTERNAL_MOVE - rm -rf $(TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR) - mkdir -p $(TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR) - mv $(@D)/* $(TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR)/ -endef TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += \ TOOLCHAIN_EXTERNAL_MOVE endif @@ -262,6 +272,10 @@ define TOOLCHAIN_EXTERNAL_INSTALL_STAGING_CMDS $(TOOLCHAIN_EXTERNAL_INSTALL_GDBINIT) endef +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL),y) +TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_MUSL_LD_LINK +endif + # Even though we're installing things in both the staging, the host # and the target directory, we do everything within the # install-staging step, arbitrarily. @@ -274,5 +288,17 @@ define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_CMDS $(TOOLCHAIN_EXTERNAL_FIXUP_UCLIBCNG_LDSO) endef -$(eval $(generic-package)) +endif # BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + +# Since a virtual package is just a generic package, we can still +# define commands for the legacy toolchains. +$(eval $(virtual-package)) + +# Ensure the external-toolchain package has a prefix defined. +# This comes after the virtual-package definition, which checks the provider. +ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y) +ifeq ($(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX)),) +$(error No prefix selected for external toolchain package $(BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL). Configuration error) +endif +endif From f1f2ae5f26af4b5c76fb86e0203344fb5fcea346 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:00 +0100 Subject: [PATCH 100/180] toolchain-external-linaro-aarch64: new package This commit adds a new package for the Linaro external toolchain for the AArch64 architecture. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 30 ++++++++----------- .../Config.in | 15 ++++++++++ .../Config.in.options | 9 ++++++ .../toolchain-external-linaro-aarch64.hash | 3 ++ .../toolchain-external-linaro-aarch64.mk | 16 ++++++++++ .../toolchain-external.hash | 4 +-- .../toolchain-external/toolchain-external.mk | 9 ++---- 7 files changed, 59 insertions(+), 27 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 65a4216cd8..096f435d02 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -8,6 +8,12 @@ choice comment "glibc toolchains only available with shared lib support" depends on BR2_STATIC_LIBS +# Kept toolchains sorted by architecture in order to use some toolchain +# as default choice + +# Aarch64 (use Linaro toolchain by default) +source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in" + comment "Linaro toolchains available for Cortex-A + EABIhf" depends on BR2_arm || BR2_armeb depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF @@ -485,22 +491,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX Toolchain for the Blackfin architecture, from http://blackfin.uclinux.org. -config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 - bool "Linaro AArch64 2016.05" - depends on BR2_aarch64 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - select BR2_TOOLCHAIN_HAS_FORTRAN - help - Toolchain for the AArch64 architecture, from - http://www.linaro.org/engineering/armv8/ - config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 bool "CodeSourcery AArch64 2014.11" depends on BR2_aarch64 @@ -628,7 +618,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE - default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 default "aarch64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII @@ -675,6 +664,13 @@ config BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL string +# Kept toolchains sorted as in the choice above +# The toolchain Config.in.options must define +# BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL and BR2_TOOLCHAIN_EXTERNAL_PREFIX + +# Aarch64 +source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options" + if BR2_TOOLCHAIN_EXTERNAL_CUSTOM choice diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in new file mode 100644 index 0000000000..662f7d7449 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in @@ -0,0 +1,15 @@ +config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 + bool "Linaro AArch64 2016.05" + depends on BR2_aarch64 + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 + select BR2_TOOLCHAIN_GCC_AT_LEAST_5 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Toolchain for the AArch64 architecture, from + http://www.linaro.org/engineering/armv8/ diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options new file mode 100644 index 0000000000..099c6c0d07 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "aarch64-linux-gnu" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-linaro-aarch64" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash new file mode 100644 index 0000000000..7a2c038181 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 d43227248f282a652da42322fcf4abfd3021f2a2f62e0cf6e242d82f55966ba9 gcc-linaro-5.3.1-2016.05-i686_aarch64-linux-gnu.tar.xz +sha256 1941dcf6229d6706bcb89b7976d5d43d170efdd17c27d5fe1738e7ecf22adc37 gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk new file mode 100644 index 0000000000..a0543a75e4 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# toolchain-external-linaro-aarch64 +# +################################################################################ + +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION = 2016.05 +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)/aarch64-linux-gnu + +ifeq ($(HOSTARCH),x86) +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-i686_aarch64-linux-gnu.tar.xz +else +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-x86_64_aarch64-linux-gnu.tar.xz +endif + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index 41c2ab3ace..fd1bc6d5f8 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -34,13 +34,11 @@ sha256 f2febf3b3c565536461ad4405f1bcb835d75a6afb2a8bec958a1248cb4b81fc7 arago-2 sha256 254af7d02eb3bcc8345c78e131700bc995d65b68232caaed21150a5fd1456070 arago-2011.09-armv5te-linux-gnueabi-sdk.tar.bz2 sha256 25fbf0513ad7322b15cbaae964cafadcbb4c939f2708f57f40b8f9f2d601122b arago-toolchain-2011.09-sources.tar.bz2 -# ARM and Aarch64 toolchains from Linaro +# ARM toolchains from Linaro sha256 f1421c580ce977226f4fefc9c409b3b423260cc65a6e9dc6da88bb3478a521a0 gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabihf.tar.xz sha256 987941c9fffdf56ffcbe90e8984673c16648c477b537fcf43add22fa62f161cd gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.xz sha256 f6e9c0d3320760fe8f89e9ec3acdd7b4da7eff889c094b4a2acc286fd46f334f gcc-linaro-5.3.1-2016.05-i686_armeb-linux-gnueabihf.tar.xz sha256 6cf41c8944be56279cc14992aa075174b7a4c5938502536266eaaeef048f9440 gcc-linaro-5.3.1-2016.05-x86_64_armeb-linux-gnueabihf.tar.xz -sha256 d43227248f282a652da42322fcf4abfd3021f2a2f62e0cf6e242d82f55966ba9 gcc-linaro-5.3.1-2016.05-i686_aarch64-linux-gnu.tar.xz -sha256 1941dcf6229d6706bcb89b7976d5d43d170efdd17c27d5fe1738e7ecf22adc37 gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu.tar.xz # Codescape toolchains from Imagination Technologies # From: http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-03/downloads.html diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index bcbcb2ef96..8a3e4daa72 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -148,13 +148,6 @@ TOOLCHAIN_EXTERNAL_SOURCE = blackfin-toolchain-2014R1-RC2.i386.tar.bz2 TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS = blackfin-toolchain-uclibc-full-2014R1-RC2.i386.tar.bz2 TOOLCHAIN_EXTERNAL_STRIP_COMPONENTS = 3 TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_BLACKFIN_UCLIBC_EXTRA_EXTRACT -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64),y) -TOOLCHAIN_EXTERNAL_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-2016.05/aarch64-linux-gnu -ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-5.3.1-2016.05-i686_aarch64-linux-gnu.tar.xz -else -TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu.tar.xz -endif else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64),y) TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/aarch64-amd-linux-gnu TOOLCHAIN_EXTERNAL_SOURCE = aarch64-amd-2014.11-95-aarch64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 @@ -302,3 +295,5 @@ ifeq ($(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX)),) $(error No prefix selected for external toolchain package $(BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL). Configuration error) endif endif + +include toolchain/toolchain-external/*/*.mk From f0f2498c7f4e0b6cb6afeb752d885bf9ea821b83 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:01 +0100 Subject: [PATCH 101/180] toolchain-external-codesourcery-aarch64: new package This commit adds a new package for the Sourcery CodeBench external toolchain for the AArch64 architecture. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 21 ++---------------- .../Config.in | 17 ++++++++++++++ .../Config.in.options | 9 ++++++++ ...olchain-external-codesourcery-aarch64.hash | 3 +++ ...toolchain-external-codesourcery-aarch64.mk | 22 +++++++++++++++++++ .../toolchain-external.hash | 3 --- .../toolchain-external/toolchain-external.mk | 11 ---------- 7 files changed, 53 insertions(+), 33 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 096f435d02..ecf96189bb 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -13,6 +13,7 @@ comment "glibc toolchains only available with shared lib support" # Aarch64 (use Linaro toolchain by default) source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in" +source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in" comment "Linaro toolchains available for Cortex-A + EABIhf" depends on BR2_arm || BR2_armeb @@ -491,24 +492,6 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX Toolchain for the Blackfin architecture, from http://blackfin.uclinux.org. -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 - bool "CodeSourcery AArch64 2014.11" - depends on BR2_aarch64 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - help - Sourcery CodeBench toolchain for the AArch64 architecture, - from Mentor Graphics. It uses gcc 4.9.1, binutils - 2.24.51.20140217, glibc 2.20, gdb 7.7.50 and kernel headers - 3.16.2. - config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS bool "Musl 1.1.12 toolchain" depends on (BR2_arm && BR2_ARM_EABI && BR2_USE_MMU) || \ @@ -618,7 +601,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE - default "aarch64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH @@ -670,6 +652,7 @@ config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL # Aarch64 source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options" +source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options" if BR2_TOOLCHAIN_EXTERNAL_CUSTOM diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in new file mode 100644 index 0000000000..2fbb218ecc --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in @@ -0,0 +1,17 @@ +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 + bool "CodeSourcery AArch64 2014.11" + depends on BR2_aarch64 + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_INSTALL_LIBSTDCPP + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + help + Sourcery CodeBench toolchain for the AArch64 architecture, + from Mentor Graphics. It uses gcc 4.9.1, binutils + 2.24.51.20140217, glibc 2.20, gdb 7.7.50 and kernel headers + 3.16.2. diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options new file mode 100644 index 0000000000..1eab839216 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "aarch64-amd-linux-gnu" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-codesourcery-aarch64" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash new file mode 100644 index 0000000000..f7d3f29fdc --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 405aada821146755c5f2df566375c2a682456d6b8451ee47b88cf1a52b093676 aarch64-amd-2014.11-95-aarch64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 +sha256 3f50dd6ee433eb5b6992a1071b988e50379a738f54f58722bc60081613764716 aarch64-amd-2014.11-95-aarch64-amd-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk new file mode 100644 index 0000000000..bc58c44c71 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# toolchain-external-codesourcery-aarch64 +# +################################################################################ + +TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_SITE = http://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX) +TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_VERSION = 2014.11-95 +TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_SOURCE = aarch64-amd-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2 +TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_ACTUAL_SOURCE_TARBALL = aarch64-amd-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2 + +define TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_STAGING_FIXUP + ln -sf ld-2.20.so $(STAGING_DIR)/lib/ld-linux-aarch64.so.1 +endef +TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_STAGING_FIXUP + +define TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_TARGET_FIXUP + ln -sf ld-2.20.so $(TARGET_DIR)/lib/ld-linux-aarch64.so.1 +endef +TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_POST_INSTALL_TARGET_HOOKS += TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_TARGET_FIXUP + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index fd1bc6d5f8..666cd0234c 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -21,9 +21,6 @@ sha256 1a9519e415a1e6892c760bf21f7e98f3a633a9d1c5bb8781a96d338e4dd62717 ia32-20 # AMD64 sha256 3c31206c8b9277f409ee00e4777ba82dfa6da2a4ca0926501cd5fb6bbd1b407e amd-2015.11-139-x86_64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 sha256 0b673f5035f97d5d03c31272cddab0f117d39ad76a5ad2a3bc98c156571527de amd-2015.11-139-x86_64-amd-linux-gnu.src.tar.bz2 -# Aarch64 -sha256 405aada821146755c5f2df566375c2a682456d6b8451ee47b88cf1a52b093676 aarch64-amd-2014.11-95-aarch64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 -sha256 3f50dd6ee433eb5b6992a1071b988e50379a738f54f58722bc60081613764716 aarch64-amd-2014.11-95-aarch64-amd-linux-gnu.src.tar.bz2 # MIPS sha256 d354447c4c5160439dafd5464fa3a0266dd41e79f973477238e4f0215a6b5397 mips-2016.05-8-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2 sha256 2658e55d5b71bba25d6f77e868e18b200ea5f75c8add7ed3a9266e716d9adfff mips-2016.05-8-mips-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 8a3e4daa72..2571539227 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -148,17 +148,6 @@ TOOLCHAIN_EXTERNAL_SOURCE = blackfin-toolchain-2014R1-RC2.i386.tar.bz2 TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS = blackfin-toolchain-uclibc-full-2014R1-RC2.i386.tar.bz2 TOOLCHAIN_EXTERNAL_STRIP_COMPONENTS = 3 TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_BLACKFIN_UCLIBC_EXTRA_EXTRACT -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64),y) -TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/aarch64-amd-linux-gnu -TOOLCHAIN_EXTERNAL_SOURCE = aarch64-amd-2014.11-95-aarch64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 -define TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_STAGING_FIXUP - ln -sf ld-2.20.so $(STAGING_DIR)/lib/ld-linux-aarch64.so.1 -endef -TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_STAGING_FIXUP -define TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_TARGET_FIXUP - ln -sf ld-2.20.so $(TARGET_DIR)/lib/ld-linux-aarch64.so.1 -endef -TOOLCHAIN_EXTERNAL_POST_INSTALL_TARGET_HOOKS += TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_TARGET_FIXUP else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS),y) TOOLCHAIN_EXTERNAL_VERSION = 1.1.12 TOOLCHAIN_EXTERNAL_SITE = https://googledrive.com/host/0BwnS5DMB0YQ6bDhPZkpOYVFhbk0/musl-$(TOOLCHAIN_EXTERNAL_VERSION) From 21cb9d4c8adb65ccfd64ed82ddff23e9fae4595d Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:02 +0100 Subject: [PATCH 102/180] toolchain-external-linaro-arm: new package This commit adds a new package for the Linaro external toolchain for the ARM architecture. The legacy implementation is removed. The comment about availability is duplicated for arm and armeb. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 32 ++++--------------- .../toolchain-external-linaro-arm/Config.in | 27 ++++++++++++++++ .../Config.in.options | 9 ++++++ .../toolchain-external-linaro-arm.hash | 3 ++ .../toolchain-external-linaro-arm.mk | 16 ++++++++++ .../toolchain-external.hash | 2 -- .../toolchain-external/toolchain-external.mk | 7 ---- 7 files changed, 62 insertions(+), 34 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index ecf96189bb..bffb9fd969 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -15,34 +15,14 @@ comment "glibc toolchains only available with shared lib support" source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in" source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in" +# ARM (use Linaro toolchain by default) +source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in" + comment "Linaro toolchains available for Cortex-A + EABIhf" - depends on BR2_arm || BR2_armeb + depends on BR2_armeb depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF depends on !BR2_STATIC_LIBS -config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM - bool "Linaro ARM 2016.05" - depends on BR2_arm - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_ARM_EABIHF - depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - select BR2_TOOLCHAIN_HAS_FORTRAN - help - Linaro toolchain for the ARM architecture. It uses Linaro - GCC 2016.05 (based on gcc 5.3.1), Linaro GDB 2016.05 (based on - GDB 7.11.1), glibc 2.21, Binutils 2016.05 (based on 2.25). It - generates code that runs on all Cortex-A profile devices, - but tuned for the Cortex-A9. The code generated is Thumb 2, - with the hard floating point calling convention, and uses - the VFPv3-D16 FPU instructions. - config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB bool "Linaro armeb 2016.05" depends on BR2_armeb @@ -596,7 +576,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX string default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb - default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A @@ -654,6 +633,9 @@ config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options" source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options" +# ARM +source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options" + if BR2_TOOLCHAIN_EXTERNAL_CUSTOM choice diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in new file mode 100644 index 0000000000..bf8649acfb --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in @@ -0,0 +1,27 @@ +comment "Linaro toolchains available for Cortex-A + EABIhf" + depends on BR2_arm + depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM + bool "Linaro ARM 2016.05" + depends on BR2_arm + depends on BR2_ARM_CPU_ARMV7A + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 + select BR2_TOOLCHAIN_GCC_AT_LEAST_5 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Linaro toolchain for the ARM architecture. It uses Linaro + GCC 2016.05 (based on gcc 5.3.1), Linaro GDB 2016.05 (based on + GDB 7.11.1), glibc 2.21, Binutils 2016.05 (based on 2.25). It + generates code that runs on all Cortex-A profile devices, + but tuned for the Cortex-A9. The code generated is Thumb 2, + with the hard floating point calling convention, and uses + the VFPv3-D16 FPU instructions. diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options new file mode 100644 index 0000000000..dcbc6599d9 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "arm-linux-gnueabihf" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-linaro-arm" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash b/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash new file mode 100644 index 0000000000..8106426214 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 f1421c580ce977226f4fefc9c409b3b423260cc65a6e9dc6da88bb3478a521a0 gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabihf.tar.xz +sha256 987941c9fffdf56ffcbe90e8984673c16648c477b537fcf43add22fa62f161cd gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk b/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk new file mode 100644 index 0000000000..64918cac02 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# toolchain-external-linaro-arm +# +################################################################################ + +TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION = 2016.05 +TOOLCHAIN_EXTERNAL_LINARO_ARM_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)/arm-linux-gnueabihf + +ifeq ($(HOSTARCH),x86) +TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-i686_arm-linux-gnueabihf.tar.xz +else +TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-x86_64_arm-linux-gnueabihf.tar.xz +endif + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index 666cd0234c..945bf210d8 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -32,8 +32,6 @@ sha256 254af7d02eb3bcc8345c78e131700bc995d65b68232caaed21150a5fd1456070 arago-2 sha256 25fbf0513ad7322b15cbaae964cafadcbb4c939f2708f57f40b8f9f2d601122b arago-toolchain-2011.09-sources.tar.bz2 # ARM toolchains from Linaro -sha256 f1421c580ce977226f4fefc9c409b3b423260cc65a6e9dc6da88bb3478a521a0 gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabihf.tar.xz -sha256 987941c9fffdf56ffcbe90e8984673c16648c477b537fcf43add22fa62f161cd gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.xz sha256 f6e9c0d3320760fe8f89e9ec3acdd7b4da7eff889c094b4a2acc286fd46f334f gcc-linaro-5.3.1-2016.05-i686_armeb-linux-gnueabihf.tar.xz sha256 6cf41c8944be56279cc14992aa075174b7a4c5938502536266eaaeef048f9440 gcc-linaro-5.3.1-2016.05-x86_64_armeb-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 2571539227..410ff18ed6 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -101,13 +101,6 @@ define TOOLCHAIN_EXTERNAL_FIXUP_CMDS rm -rf $(@D)/arago-2011.09/ endef TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM),y) -TOOLCHAIN_EXTERNAL_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-2016.05/arm-linux-gnueabihf -ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabihf.tar.xz -else -TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.xz -endif else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB),y) TOOLCHAIN_EXTERNAL_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-2016.05/armeb-linux-gnueabihf ifeq ($(HOSTARCH),x86) From 5b3c5b336b9a6f8341167686f3dbf52b1b0e722b Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:03 +0100 Subject: [PATCH 103/180] toolchain-external-codesourcery-arm: new package This commit adds a new package for the Sourcery CodeBench external toolchain for the ARM architecture. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 37 +------------------ .../Config.in | 33 +++++++++++++++++ .../Config.in.options | 9 +++++ .../toolchain-external-codesourcery-arm.hash | 3 ++ .../toolchain-external-codesourcery-arm.mk | 13 +++++++ .../toolchain-external.hash | 3 -- .../toolchain-external/toolchain-external.mk | 5 +-- 7 files changed, 61 insertions(+), 42 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index bffb9fd969..dfc8e70a03 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -17,6 +17,7 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Con # ARM (use Linaro toolchain by default) source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in" +source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in" comment "Linaro toolchains available for Cortex-A + EABIhf" depends on BR2_armeb @@ -45,40 +46,6 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB generated is Thumb 2, with the hard floating point calling convention, and uses the VFPv3-D16 FPU instructions. -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM - bool "Sourcery CodeBench ARM 2014.05" - depends on BR2_arm - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_ARM_EABI - depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - help - Sourcery CodeBench toolchain for the ARM architecture, from - Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc - 2.18 and gdb 7.7.50, kernel headers 3.13. It has support - for the following variants: - - ARMv5TE, little endian, soft-float, glibc - Select ARM926T, ARM10T, XScale or another ARMv5 core - Select BR2_SOFT_FLOAT - - ARMv4T, little endian, soft-float, glibc - Select ARM720T, ARM920T, ARM922T or another ARMv4 core - Select BR2_SOFT_FLOAT - - ARMv7-A, Thumb 2, little endian, soft-float, glibc - Select Cortex-A8, Cortex-A9 or another ARMv7-A core - Select BR2_SOFT_FLOAT - Set BR2_TARGET_OPTIMIZATION to -mthumb - -comment "Sourcery CodeBench toolchains available for the EABI ABI" - depends on BR2_arm - depends on !BR2_ARM_EABI - depends on !BR2_STATIC_LIBS - config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09" depends on BR2_arm @@ -577,7 +544,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB - default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS @@ -635,6 +601,7 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Con # ARM source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options" +source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options" if BR2_TOOLCHAIN_EXTERNAL_CUSTOM diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in new file mode 100644 index 0000000000..037985b06a --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in @@ -0,0 +1,33 @@ +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM + bool "Sourcery CodeBench ARM 2014.05" + depends on BR2_arm + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_ARM_EABI + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + help + Sourcery CodeBench toolchain for the ARM architecture, from + Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc + 2.18 and gdb 7.7.50, kernel headers 3.13. It has support + for the following variants: + - ARMv5TE, little endian, soft-float, glibc + Select ARM926T, ARM10T, XScale or another ARMv5 core + Select BR2_SOFT_FLOAT + - ARMv4T, little endian, soft-float, glibc + Select ARM720T, ARM920T, ARM922T or another ARMv4 core + Select BR2_SOFT_FLOAT + - ARMv7-A, Thumb 2, little endian, soft-float, glibc + Select Cortex-A8, Cortex-A9 or another ARMv7-A core + Select BR2_SOFT_FLOAT + Set BR2_TARGET_OPTIMIZATION to -mthumb + +comment "Sourcery CodeBench toolchains available for the EABI ABI" + depends on BR2_arm + depends on !BR2_ARM_EABI + depends on !BR2_STATIC_LIBS diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options new file mode 100644 index 0000000000..7f3654dc70 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "arm-none-linux-gnueabi" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-codesourcery-arm" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash new file mode 100644 index 0000000000..535f4aaf99 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 39ee0e789034334ecc89af94e838e3a4815400ac5ff980f808f466b04778532e arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 +sha256 e16a5b1e41d7ff1e74161f9405182001bc8d1360d89564e73911032e6966cc0d arm-2014.05-29-arm-none-linux-gnueabi.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk new file mode 100644 index 0000000000..f96a0e0b6e --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# toolchain-external-codesourcery-arm +# +################################################################################ + +TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_VERSION = 2014.05-29 + +TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_SITE = http://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX) +TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_SOURCE = arm-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2 +TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_ACTUAL_SOURCE_TARBALL = arm-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2 + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index 945bf210d8..d2cf44b32d 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -6,9 +6,6 @@ sha256 e424e90d8481d942a40266d78d1488726561fed3ec38403094f98055e61889d0 blackfi sha256 c65b1b4b918d5185349d62a3b7bf43b4b21e1175c52598ec047ca56b3f11d857 blackfin-toolchain-uclibc-full-2014R1-RC2.i386.tar.bz2 # Mentor's Sourcery CodeBench Lite toolchains -# ARM -sha256 39ee0e789034334ecc89af94e838e3a4815400ac5ff980f808f466b04778532e arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -sha256 e16a5b1e41d7ff1e74161f9405182001bc8d1360d89564e73911032e6966cc0d arm-2014.05-29-arm-none-linux-gnueabi.src.tar.bz2 # NiosII sha256 750639290744adda931c81fa2cd2ffc2bde972488047824dcfaa53c42562191d sourceryg++-2016.05-10-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 sha256 3dc1c2685c0472059547dd7becb5dc991541b8176af39fa7aa5f601d38b9879a sourceryg++-2016.05-10-nios2-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 410ff18ed6..f8d22b47b8 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -80,10 +80,7 @@ define TOOLCHAIN_EXTERNAL_BLACKFIN_UCLIBC_EXTRA_EXTRACT $(TAR) --strip-components=3 --hard-dereference -C $(@D) $(TAR_OPTIONS) - endef -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM),y) -TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi -TOOLCHAIN_EXTERNAL_SOURCE = arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A),y) +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A),y) TOOLCHAIN_EXTERNAL_SITE = http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/exports TOOLCHAIN_EXTERNAL_SOURCE = arago-2011.09-armv7a-linux-gnueabi-sdk.tar.bz2 TOOLCHAIN_EXTERNAL_ACTUAL_SOURCE_TARBALL = arago-toolchain-2011.09-sources.tar.bz2 From 71a66e8beccc5a3e37310b529bf7782bd466ee4d Mon Sep 17 00:00:00 2001 From: Arnout Vandecappelle Date: Mon, 7 Nov 2016 02:20:04 +0100 Subject: [PATCH 104/180] toolchain-external-codesourcery-arm: Cortex-A12 and Cortex-A17 not supported It's gcc 4.8.3 which doesn't support those cores yet. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- .../toolchain-external-codesourcery-arm/Config.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in index 037985b06a..3cdfc860ab 100644 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in @@ -3,6 +3,8 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM depends on BR2_arm depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_ARM_EABI + # Unsupported ARM cores + depends on !BR2_cortex_a12 && !BR2_cortex_a17 depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP From c428f456383cabc798d436a04e74a95aca1e321b Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:05 +0100 Subject: [PATCH 105/180] toolchain-external-linaro-armeb: new package This commit adds a new package for the Linaro external toolchain for the ARM Big-endian architecture. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 32 +++---------------- .../toolchain-external-linaro-armeb/Config.in | 26 +++++++++++++++ .../Config.in.options | 9 ++++++ .../toolchain-external-linaro-armeb.hash | 3 ++ .../toolchain-external-linaro-armeb.mk | 16 ++++++++++ .../toolchain-external.hash | 4 --- .../toolchain-external/toolchain-external.mk | 7 ---- 7 files changed, 59 insertions(+), 38 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash create mode 100644 toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index dfc8e70a03..a19e41a34d 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -19,32 +19,8 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Con source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in" source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in" -comment "Linaro toolchains available for Cortex-A + EABIhf" - depends on BR2_armeb - depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF - depends on !BR2_STATIC_LIBS - -config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB - bool "Linaro armeb 2016.05" - depends on BR2_armeb - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_ARM_EABIHF - depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - help - Linaro toolchain for the ARM big endian architecture. It - uses Linaro GCC 2016.05 (based on gcc 5.3.1), Linaro GDB - 2016.05 (based on GDB 7.11.1), glibc 2.21, Binutils 2016.05 - (based on 2.25). It generates code that runs on all Cortex-A - profile devices, but tuned for the Cortex-A9. The code - generated is Thumb 2, with the hard floating point calling - convention, and uses the VFPv3-D16 FPU instructions. +# ARM big-endian +source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in" config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09" @@ -543,7 +519,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX string default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb - default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS @@ -603,6 +578,9 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Con source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options" source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options" +# ARM big-endian +source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options" + if BR2_TOOLCHAIN_EXTERNAL_CUSTOM choice diff --git a/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in new file mode 100644 index 0000000000..ed84c47550 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in @@ -0,0 +1,26 @@ +comment "Linaro toolchains available for Cortex-A + EABIhf" + depends on BR2_armeb + depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB + bool "Linaro armeb 2016.05" + depends on BR2_armeb + depends on BR2_ARM_CPU_ARMV7A + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 + select BR2_TOOLCHAIN_GCC_AT_LEAST_5 + help + Linaro toolchain for the ARM big endian architecture. It + uses Linaro GCC 2016.05 (based on gcc 5.3.1), Linaro GDB + 2016.05 (based on GDB 7.11.1), glibc 2.21, Binutils 2016.05 + (based on 2.25). It generates code that runs on all Cortex-A + profile devices, but tuned for the Cortex-A9. The code + generated is Thumb 2, with the hard floating point calling + convention, and uses the VFPv3-D16 FPU instructions. diff --git a/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options new file mode 100644 index 0000000000..225e90f009 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "armeb-linux-gnueabihf" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-linaro-armeb" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash b/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash new file mode 100644 index 0000000000..7952b5087e --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 f6e9c0d3320760fe8f89e9ec3acdd7b4da7eff889c094b4a2acc286fd46f334f gcc-linaro-5.3.1-2016.05-i686_armeb-linux-gnueabihf.tar.xz +sha256 6cf41c8944be56279cc14992aa075174b7a4c5938502536266eaaeef048f9440 gcc-linaro-5.3.1-2016.05-x86_64_armeb-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk b/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk new file mode 100644 index 0000000000..cf2f3ad2c7 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# toolchain-external-linaro-armeb +# +################################################################################ + +TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION = 2016.05 +TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)/armeb-linux-gnueabihf + +ifeq ($(HOSTARCH),x86) +TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-i686_armeb-linux-gnueabihf.tar.xz +else +TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-x86_64_armeb-linux-gnueabihf.tar.xz +endif + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index d2cf44b32d..3740ca4633 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -28,10 +28,6 @@ sha256 f2febf3b3c565536461ad4405f1bcb835d75a6afb2a8bec958a1248cb4b81fc7 arago-2 sha256 254af7d02eb3bcc8345c78e131700bc995d65b68232caaed21150a5fd1456070 arago-2011.09-armv5te-linux-gnueabi-sdk.tar.bz2 sha256 25fbf0513ad7322b15cbaae964cafadcbb4c939f2708f57f40b8f9f2d601122b arago-toolchain-2011.09-sources.tar.bz2 -# ARM toolchains from Linaro -sha256 f6e9c0d3320760fe8f89e9ec3acdd7b4da7eff889c094b4a2acc286fd46f334f gcc-linaro-5.3.1-2016.05-i686_armeb-linux-gnueabihf.tar.xz -sha256 6cf41c8944be56279cc14992aa075174b7a4c5938502536266eaaeef048f9440 gcc-linaro-5.3.1-2016.05-x86_64_armeb-linux-gnueabihf.tar.xz - # Codescape toolchains from Imagination Technologies # From: http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-03/downloads.html sha256 e3c1f292ac6a9f12480af431c85a7ed9dfa011a52fd62a50be3363ec6b9bc872 Codescape.GNU.Tools.Package.2016.05-03.for.MIPS.IMG.Linux.CentOS-5.x86.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index f8d22b47b8..7dfcac3684 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -98,13 +98,6 @@ define TOOLCHAIN_EXTERNAL_FIXUP_CMDS rm -rf $(@D)/arago-2011.09/ endef TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB),y) -TOOLCHAIN_EXTERNAL_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-2016.05/armeb-linux-gnueabihf -ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-5.3.1-2016.05-i686_armeb-linux-gnueabihf.tar.xz -else -TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-5.3.1-2016.05-x86_64_armeb-linux-gnueabihf.tar.xz -endif else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS),y) TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/mips-linux-gnu TOOLCHAIN_EXTERNAL_SOURCE = mips-2016.05-8-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2 From cfacefecc3d3832be1ec3c4c576e7a612067186c Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:06 +0100 Subject: [PATCH 106/180] toolchain-external-blackfin-uclinux: new package This commit adds a new package for the Analog Devices external toolchain for the Blackfin architecture. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 26 ++++----------- .../Config.in | 17 ++++++++++ .../Config.in.options | 10 ++++++ .../toolchain-external-blackfin-uclinux.hash | 3 ++ .../toolchain-external-blackfin-uclinux.mk | 33 +++++++++++++++++++ .../toolchain-external.hash | 4 --- .../toolchain-external/toolchain-external.mk | 16 --------- 7 files changed, 69 insertions(+), 40 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.hash create mode 100644 toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index a19e41a34d..f8e04f54e8 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -22,6 +22,9 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config. # ARM big-endian source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in" +# Blackfin +source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in" + config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09" depends on BR2_arm @@ -397,24 +400,6 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 Other architecture variants (beyond Pentium-4/Xeon) are supported as well, but glibc is not optimised for it. -config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX - bool "Blackfin.uclinux.org 2014R1" - depends on BR2_bfin - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - select BR2_TOOLCHAIN_EXTERNAL_UCLIBC - select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_USE_WCHAR - select BR2_TOOLCHAIN_HAS_THREADS - select BR2_TOOLCHAIN_HAS_THREADS_DEBUG - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 - select BR2_TOOLCHAIN_HAS_FORTRAN - help - Toolchain for the Blackfin architecture, from - http://blackfin.uclinux.org. - config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS bool "Musl 1.1.12 toolchain" depends on (BR2_arm && BR2_ARM_EABI && BR2_USE_MMU) || \ @@ -526,8 +511,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 - default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FLAT - default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FDPIC default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF default "mips-img-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS @@ -581,6 +564,9 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config. # ARM big-endian source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options" +# Blackfin +source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options" + if BR2_TOOLCHAIN_EXTERNAL_CUSTOM choice diff --git a/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in b/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in new file mode 100644 index 0000000000..8b299e857c --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in @@ -0,0 +1,17 @@ +config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX + bool "Blackfin.uclinux.org 2014R1" + depends on BR2_bfin + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_USE_WCHAR + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Toolchain for the Blackfin architecture, from + http://blackfin.uclinux.org. diff --git a/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options b/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options new file mode 100644 index 0000000000..3b7f457eb8 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options @@ -0,0 +1,10 @@ +if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "bfin-uclinux" if BR2_BINFMT_FLAT + default "bfin-linux-uclibc" if BR2_BINFMT_FDPIC + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-blackfin-uclinux" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.hash b/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.hash new file mode 100644 index 0000000000..b320d94ef0 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 e424e90d8481d942a40266d78d1488726561fed3ec38403094f98055e61889d0 blackfin-toolchain-2014R1-RC2.i386.tar.bz2 +sha256 c65b1b4b918d5185349d62a3b7bf43b4b21e1175c52598ec047ca56b3f11d857 blackfin-toolchain-uclibc-full-2014R1-RC2.i386.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.mk b/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.mk new file mode 100644 index 0000000000..0a48220e3d --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.mk @@ -0,0 +1,33 @@ +################################################################################ +# +# toolchain-external-blackfin-uclinux +# +################################################################################ + +TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION_MAJOR = 2014R1 +TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION = $(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION_MAJOR)-RC2 + +ifeq ($(BR2_BINFMT_FLAT),y) +TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_SUBDIR = bfin-uclinux +else +TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_SUBDIR = bfin-linux-uclibc +endif + +TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_SITE = http://downloads.sourceforge.net/project/adi-toolchain/$(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION_MAJOR)/$(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION)/i386 +TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_SOURCE = blackfin-toolchain-$(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION).i386.tar.bz2 +TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_EXTRA_DOWNLOADS = blackfin-toolchain-uclibc-full-$(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION).i386.tar.bz2 + +TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_STRIP_COMPONENTS = 3 + +# Special handling for Blackfin toolchain, because of the split in two +# tarballs, and the organization of tarball contents. The tarballs +# contain ./opt/uClinux/{bfin-uclinux,bfin-linux-uclibc} directories, +# which themselves contain the toolchain. This is why we strip more +# components than usual. +define TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_UCLIBC_EXTRA_EXTRACT + $(call suitable-extractor,$(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_EXTRA_DOWNLOADS)) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_EXTRA_DOWNLOADS) | \ + $(TAR) --strip-components=3 -C $(@D) $(TAR_OPTIONS) - +endef +TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_UCLIBC_EXTRA_EXTRACT + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index 3740ca4633..16c2e19e88 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -1,10 +1,6 @@ ###################################### # Next hashes are all locally computed -# Blackfin toolchains from Analog Devices -sha256 e424e90d8481d942a40266d78d1488726561fed3ec38403094f98055e61889d0 blackfin-toolchain-2014R1-RC2.i386.tar.bz2 -sha256 c65b1b4b918d5185349d62a3b7bf43b4b21e1175c52598ec047ca56b3f11d857 blackfin-toolchain-uclibc-full-2014R1-RC2.i386.tar.bz2 - # Mentor's Sourcery CodeBench Lite toolchains # NiosII sha256 750639290744adda931c81fa2cd2ffc2bde972488047824dcfaa53c42562191d sourceryg++-2016.05-10-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 7dfcac3684..4b21b4fa51 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -70,16 +70,6 @@ define TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_STAGING_FIXUPS endef endif -# Special handling for Blackfin toolchain, because of the split in two -# tarballs, and the organization of tarball contents. The tarballs -# contain ./opt/uClinux/{bfin-uclinux,bfin-linux-uclibc} directories, -# which themselves contain the toolchain. This is why we strip more -# components than usual. -define TOOLCHAIN_EXTERNAL_BLACKFIN_UCLIBC_EXTRA_EXTRACT - $(call suitable-extractor,$(TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS)) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS) | \ - $(TAR) --strip-components=3 --hard-dereference -C $(@D) $(TAR_OPTIONS) - -endef - ifeq ($(BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A),y) TOOLCHAIN_EXTERNAL_SITE = http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/exports TOOLCHAIN_EXTERNAL_SOURCE = arago-2011.09-armv7a-linux-gnueabi-sdk.tar.bz2 @@ -125,12 +115,6 @@ TOOLCHAIN_EXTERNAL_SOURCE = Codescape.GNU.Tools.Package.2016.05-03.for.MIPS.MTI. TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_SYMLINK TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_STAGING_FIXUPS TOOLCHAIN_EXTERNAL_STRIP_COMPONENTS = 2 -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX),y) -TOOLCHAIN_EXTERNAL_SITE = http://downloads.sourceforge.net/project/adi-toolchain/2014R1/2014R1-RC2/i386 -TOOLCHAIN_EXTERNAL_SOURCE = blackfin-toolchain-2014R1-RC2.i386.tar.bz2 -TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS = blackfin-toolchain-uclibc-full-2014R1-RC2.i386.tar.bz2 -TOOLCHAIN_EXTERNAL_STRIP_COMPONENTS = 3 -TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_BLACKFIN_UCLIBC_EXTRA_EXTRACT else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS),y) TOOLCHAIN_EXTERNAL_VERSION = 1.1.12 TOOLCHAIN_EXTERNAL_SITE = https://googledrive.com/host/0BwnS5DMB0YQ6bDhPZkpOYVFhbk0/musl-$(TOOLCHAIN_EXTERNAL_VERSION) From 1e1bef57fbd316b08fb06d584162223072745825 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:07 +0100 Subject: [PATCH 107/180] toolchain-external-codesourcery-mips: new package This commit adds a new package for the Sourcery CodeBench external toolchain for the MIPS architecture. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 101 ++---------------- .../Config.in | 93 ++++++++++++++++ .../Config.in.options | 9 ++ .../toolchain-external-codesourcery-mips.hash | 3 + .../toolchain-external-codesourcery-mips.mk | 13 +++ .../toolchain-external.hash | 3 - .../toolchain-external/toolchain-external.mk | 3 - 7 files changed, 124 insertions(+), 101 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.hash create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index f8e04f54e8..1f49975595 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -25,6 +25,9 @@ source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in" # Blackfin source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in" +# MIPS (use codesourcery toolchain by default) +source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in" + config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09" depends on BR2_arm @@ -70,100 +73,6 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE This toolchain uses software-floating point. -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS - bool "Sourcery CodeBench MIPS 2016.05" - depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2 - # Unsupported MIPS cores - depends on !BR2_mips_interaptiv - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on !BR2_MIPS_NABI32 - depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - help - Sourcery CodeBench toolchain for the MIPS architecture, from - Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc - 2.23, uClibc 0.9.30 and gdb 7.10.50, kernel headers 4.4.1. It - has support for the following variants: - - MIPS32r2 - Big-Endian, 2008 NaN, O32 - Select MIPS (big endian) core - Disable BR2_SOFT_FLOAT - Set BR2_TARGET_OPTIMIZATION to -mnan=2008 - - MIPS32r2 - Big-Endian, O32 - Select MIPS (big endian) core - Disable BR2_SOFT_FLOAT - - MIPS32r2 - Big-Endian, O32, MIPS16 - Select MIPS (big endian) core - Disable BR2_SOFT_FLOAT - Set BR2_TARGET_OPTIMIZATION to -mips16 - - MIPS32r2 - Big-Endian, Soft-Float, O32 - Select MIPS (big endian) core - Select BR2_SOFT_FLOAT - - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16 - Select MIPS (big endian) core - Select BR2_SOFT_FLOAT - Set BR2_TARGET_OPTIMIZATION to -mips16 - - MIPS32r2 - Little-Endian, 2008 NaN, O32 - Select MIPS (little endian) core - Disable BR2_SOFT_FLOAT - Set BR2_TARGET_OPTIMIZATION to -mnan=2008 - - MIPS32r2 - Little-Endian, O32 - Select MIPS (little endian) core - Disable BR2_SOFT_FLOAT - - MIPS32r2 - Little-Endian, O32, MIPS16 - Select MIPS (little endian) core - Disable BR2_SOFT_FLOAT - Set BR2_TARGET_OPTIMIZATION to -mips16 - - MIPS32r2 - Little-Endian, Soft-Float, O32 - Select MIPS (little endian) core - Select BR2_SOFT_FLOAT - - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16 - Select MIPS (little endian) core - Select BR2_SOFT_FLOAT - Set BR2_TARGET_OPTIMIZATION to -mips16 - - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS - Select MIPS (little endian) core - Select BR2_SOFT_FLOAT - Set BR2_TARGET_OPTIMIZATION to -mmicromips - - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32 - Not usable in Buildroot yet. - - MIPS32r2 - uClibc, Big-Endian, O32 - Not usable in Buildroot yet. - - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32 - Not usable in Buildroot yet. - - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32 - Not usable in Buildroot yet. - - MIPS32r2 - uClibc, Little-Endian, O32 - Not usable in Buildroot yet. - - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32 - Not usable in Buildroot yet. - - MIPS64r2 - Big-Endian, N64 - Select MIPS64 (big endian) core - Select the n64 ABI - Disable BR2_SOFT_FLOAT - - MIPS64r2 - Big-Endian, Soft-Float, N64 - Select MIPS64 (big endian) core - Select the n64 ABI - Select BR2_SOFT_FLOAT - - MIPS64r2 - Little-Endian, N64 - Select MIPS64 (little endian) core - Select the n64 ABI - Disable BR2_SOFT_FLOAT - - MIPS64r2 - Little-Endian, Soft-Float, N64 - Select MIPS64 (little endian) core - Select the n64 ABI - Select BR2_SOFT_FLOAT - -comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64" - depends on BR2_MIPS_NABI32 - depends on !BR2_STATIC_LIBS - config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS bool "Codescape IMG GNU Linux Toolchain 2016.05" depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el @@ -506,7 +415,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE - default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 @@ -567,6 +475,9 @@ source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.o # Blackfin source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options" +# MIPS +source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options" + if BR2_TOOLCHAIN_EXTERNAL_CUSTOM choice diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in new file mode 100644 index 0000000000..6a13ae6cd6 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in @@ -0,0 +1,93 @@ +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS + bool "Sourcery CodeBench MIPS 2016.05" + depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2 + # Unsupported MIPS cores + depends on !BR2_mips_interaptiv + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on !BR2_MIPS_NABI32 + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_5 + help + Sourcery CodeBench toolchain for the MIPS architecture, from + Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc + 2.23, uClibc 0.9.30 and gdb 7.10.50, kernel headers 4.4.1. It + has support for the following variants: + - MIPS32r2 - Big-Endian, 2008 NaN, O32 + Select MIPS (big endian) core + Disable BR2_SOFT_FLOAT + Set BR2_TARGET_OPTIMIZATION to -mnan=2008 + - MIPS32r2 - Big-Endian, O32 + Select MIPS (big endian) core + Disable BR2_SOFT_FLOAT + - MIPS32r2 - Big-Endian, O32, MIPS16 + Select MIPS (big endian) core + Disable BR2_SOFT_FLOAT + Set BR2_TARGET_OPTIMIZATION to -mips16 + - MIPS32r2 - Big-Endian, Soft-Float, O32 + Select MIPS (big endian) core + Select BR2_SOFT_FLOAT + - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16 + Select MIPS (big endian) core + Select BR2_SOFT_FLOAT + Set BR2_TARGET_OPTIMIZATION to -mips16 + - MIPS32r2 - Little-Endian, 2008 NaN, O32 + Select MIPS (little endian) core + Disable BR2_SOFT_FLOAT + Set BR2_TARGET_OPTIMIZATION to -mnan=2008 + - MIPS32r2 - Little-Endian, O32 + Select MIPS (little endian) core + Disable BR2_SOFT_FLOAT + - MIPS32r2 - Little-Endian, O32, MIPS16 + Select MIPS (little endian) core + Disable BR2_SOFT_FLOAT + Set BR2_TARGET_OPTIMIZATION to -mips16 + - MIPS32r2 - Little-Endian, Soft-Float, O32 + Select MIPS (little endian) core + Select BR2_SOFT_FLOAT + - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16 + Select MIPS (little endian) core + Select BR2_SOFT_FLOAT + Set BR2_TARGET_OPTIMIZATION to -mips16 + - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS + Select MIPS (little endian) core + Select BR2_SOFT_FLOAT + Set BR2_TARGET_OPTIMIZATION to -mmicromips + - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32 + Not usable in Buildroot yet. + - MIPS32r2 - uClibc, Big-Endian, O32 + Not usable in Buildroot yet. + - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32 + Not usable in Buildroot yet. + - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32 + Not usable in Buildroot yet. + - MIPS32r2 - uClibc, Little-Endian, O32 + Not usable in Buildroot yet. + - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32 + Not usable in Buildroot yet. + - MIPS64r2 - Big-Endian, N64 + Select MIPS64 (big endian) core + Select the n64 ABI + Disable BR2_SOFT_FLOAT + - MIPS64r2 - Big-Endian, Soft-Float, N64 + Select MIPS64 (big endian) core + Select the n64 ABI + Select BR2_SOFT_FLOAT + - MIPS64r2 - Little-Endian, N64 + Select MIPS64 (little endian) core + Select the n64 ABI + Disable BR2_SOFT_FLOAT + - MIPS64r2 - Little-Endian, Soft-Float, N64 + Select MIPS64 (little endian) core + Select the n64 ABI + Select BR2_SOFT_FLOAT + +comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64" + depends on BR2_MIPS_NABI32 + depends on !BR2_STATIC_LIBS diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options new file mode 100644 index 0000000000..677cc67d67 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "mips-linux-gnu" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-codesourcery-mips" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.hash new file mode 100644 index 0000000000..2d80338e7b --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 d354447c4c5160439dafd5464fa3a0266dd41e79f973477238e4f0215a6b5397 mips-2016.05-8-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2 +sha256 2658e55d5b71bba25d6f77e868e18b200ea5f75c8add7ed3a9266e716d9adfff mips-2016.05-8-mips-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.mk new file mode 100644 index 0000000000..5117d475cb --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# toolchain-external-codesourcery-mips +# +################################################################################ + +TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS_VERSION = 2016.05-8 + +TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS_SITE = http://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX) +TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS_SOURCE = mips-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2 +TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS_ACTUAL_SOURCE_TARBALL = mips-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2 + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index 16c2e19e88..1a0ff725c2 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -14,9 +14,6 @@ sha256 1a9519e415a1e6892c760bf21f7e98f3a633a9d1c5bb8781a96d338e4dd62717 ia32-20 # AMD64 sha256 3c31206c8b9277f409ee00e4777ba82dfa6da2a4ca0926501cd5fb6bbd1b407e amd-2015.11-139-x86_64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 sha256 0b673f5035f97d5d03c31272cddab0f117d39ad76a5ad2a3bc98c156571527de amd-2015.11-139-x86_64-amd-linux-gnu.src.tar.bz2 -# MIPS -sha256 d354447c4c5160439dafd5464fa3a0266dd41e79f973477238e4f0215a6b5397 mips-2016.05-8-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2 -sha256 2658e55d5b71bba25d6f77e868e18b200ea5f75c8add7ed3a9266e716d9adfff mips-2016.05-8-mips-linux-gnu.src.tar.bz2 # ARM toolchains from Texas Instrument's Arago project # There is one source file that covers both binary distributions. diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 4b21b4fa51..e7bc754409 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -88,9 +88,6 @@ define TOOLCHAIN_EXTERNAL_FIXUP_CMDS rm -rf $(@D)/arago-2011.09/ endef TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS),y) -TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/mips-linux-gnu -TOOLCHAIN_EXTERNAL_SOURCE = mips-2016.05-8-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII),y) TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/nios2-linux-gnu TOOLCHAIN_EXTERNAL_SOURCE = sourceryg++-2016.05-10-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 From 95c75fc8346c6e4caf419bf449ba8d8972cd3be5 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:08 +0100 Subject: [PATCH 108/180] toolchain-external-codescape-img-mips: new package This commit adds a new package for the Codescape IMG external toolchain for the MIPS architecture. The legacy implementation is removed. The Codescape hacks for IMG and MTI are duplicated. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 66 +------------------ .../Config.in | 62 +++++++++++++++++ .../Config.in.options | 9 +++ ...toolchain-external-codescape-img-mips.hash | 3 + .../toolchain-external-codescape-img-mips.mk | 47 +++++++++++++ .../toolchain-external.hash | 1 - .../toolchain-external/toolchain-external.mk | 8 +-- 7 files changed, 124 insertions(+), 72 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash create mode 100644 toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 1f49975595..c76941a954 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -27,6 +27,7 @@ source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config. # MIPS (use codesourcery toolchain by default) source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in" +source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in" config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09" @@ -73,69 +74,6 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE This toolchain uses software-floating point. -config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS - bool "Codescape IMG GNU Linux Toolchain 2016.05" - depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT) - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - select BR2_TOOLCHAIN_HAS_FORTRAN - help - Codescape IMG GNU Linux Toolchain 2015.10 for the MIPS - architecture, from Imagination Technologies. It uses gcc - 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel - headers 4.0. It has support for the following variants: - - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Disable 'Use soft-float' - - MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Enable 'Use soft-float' - - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Disable 'Use soft-float' - - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Enable 'Use soft-float' - - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Disable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, microMIPS - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Enable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI - Select 'MIPS64 (big endian)' Target Architecture - Select 'mips 64r6' Target Architecture Variant - Select 'n32' Target ABI - Disable 'Use soft-float' - - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI - Select 'MIPS64 (little endian)' Target Architecture - Select 'mips 64r6' Target Architecture Variant - Select 'n32' Target ABI - Disable 'Use soft-float' - - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI - Select 'MIPS64 (big endian)' Target Architecture - Select 'mips 64r6' Target Architecture Variant - Select 'n64' Target ABI - Disable 'Use soft-float' - - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI - Select 'MIPS64 (little endian)' Target Architecture - Select 'mips 64r6' Target Architecture Variant - Select 'n64' Target ABI - Disable 'Use soft-float' - config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS bool "Codescape MTI GNU Linux Toolchain 2016.05" depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el @@ -421,7 +359,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF - default "mips-img-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS default "mips-mti-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386 @@ -477,6 +414,7 @@ source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config. # MIPS source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options" +source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options" if BR2_TOOLCHAIN_EXTERNAL_CUSTOM diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in new file mode 100644 index 0000000000..1f0d4d11b9 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in @@ -0,0 +1,62 @@ +config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS + bool "Codescape IMG GNU Linux Toolchain 2016.05" + depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT) + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_INSTALL_LIBSTDCPP + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Codescape IMG GNU Linux Toolchain 2015.10 for the MIPS + architecture, from Imagination Technologies. It uses gcc + 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel + headers 4.0. It has support for the following variants: + - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI + Select 'MIPS (big endian)' Target Architecture + Select 'mips 32r6' Target Architecture Variant + Disable 'Use soft-float' + - MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI + Select 'MIPS (big endian)' Target Architecture + Select 'mips 32r6' Target Architecture Variant + Enable 'Use soft-float' + - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r6' Target Architecture Variant + Disable 'Use soft-float' + - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r6' Target Architecture Variant + Enable 'Use soft-float' + - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r6' Target Architecture Variant + Disable 'Use soft-float' + Set BR2_TARGET_OPTIMIZATION to '-mmicromips' + - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, microMIPS + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r6' Target Architecture Variant + Enable 'Use soft-float' + Set BR2_TARGET_OPTIMIZATION to '-mmicromips' + - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI + Select 'MIPS64 (big endian)' Target Architecture + Select 'mips 64r6' Target Architecture Variant + Select 'n32' Target ABI + Disable 'Use soft-float' + - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI + Select 'MIPS64 (little endian)' Target Architecture + Select 'mips 64r6' Target Architecture Variant + Select 'n32' Target ABI + Disable 'Use soft-float' + - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI + Select 'MIPS64 (big endian)' Target Architecture + Select 'mips 64r6' Target Architecture Variant + Select 'n64' Target ABI + Disable 'Use soft-float' + - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI + Select 'MIPS64 (little endian)' Target Architecture + Select 'mips 64r6' Target Architecture Variant + Select 'n64' Target ABI + Disable 'Use soft-float' diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options new file mode 100644 index 0000000000..3eaa2a9522 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "mips-img-linux-gnu" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-codescape-img-mips" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash new file mode 100644 index 0000000000..e4ae9e1e11 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash @@ -0,0 +1,3 @@ +# Codescape toolchains from Imagination Technologies +# From: http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-03/downloads.html +sha256 e3c1f292ac6a9f12480af431c85a7ed9dfa011a52fd62a50be3363ec6b9bc872 Codescape.GNU.Tools.Package.2016.05-03.for.MIPS.IMG.Linux.CentOS-5.x86.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk new file mode 100644 index 0000000000..b4decfbff0 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk @@ -0,0 +1,47 @@ +################################################################################ +# +# toolchain-external-codescape-img-mips +# +################################################################################ + +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION = 2016.05-03 +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SITE = http://codescape-mips-sdk.imgtec.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION) +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STRIP_COMPONENTS = 2 + +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-5.x86.tar.gz + +# Special fixup for Codescape MIPS toolchains, that have bin- and +# sbin- directories. We create symlinks bin -> bin- and sbin +# -> sbin- so that the rest of Buildroot can find the toolchain +# tools in the appropriate location. +ifeq ($(BR2_MIPS_OABI32),y) +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX = o32 +else ifeq ($(BR2_MIPS_NABI32),y) +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX = n32 +else ifeq ($(BR2_MIPS_NABI64),y) +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX = n64 +endif + +define TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STAGING_FIXUPS + rmdir $(STAGING_DIR)/usr/bin $(STAGING_DIR)/usr/sbin + ln -sf bin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/bin + ln -sf sbin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/sbin +endef + +# The Codescape toolchain uses a sysroot layout that places them +# side-by-side instead of nested like multilibs. A symlink is needed +# much like for the nested sysroots which are handled in +# copy_toolchain_sysroot but there is not enough information in there +# to determine whether the sysroot layout was nested or side-by-side. +# Add the symlink here for now. +define TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SYMLINK + $(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))"; \ + ARCH_SUBDIR=`basename $${ARCH_SYSROOT_DIR}`; \ + ln -snf . $(STAGING_DIR)/$${ARCH_SUBDIR} +endef + +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_POST_INSTALL_STAGING_HOOKS += \ + TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STAGING_FIXUPS \ + TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SYMLINK + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index 1a0ff725c2..962263c4a3 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -23,7 +23,6 @@ sha256 25fbf0513ad7322b15cbaae964cafadcbb4c939f2708f57f40b8f9f2d601122b arago-t # Codescape toolchains from Imagination Technologies # From: http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-03/downloads.html -sha256 e3c1f292ac6a9f12480af431c85a7ed9dfa011a52fd62a50be3363ec6b9bc872 Codescape.GNU.Tools.Package.2016.05-03.for.MIPS.IMG.Linux.CentOS-5.x86.tar.gz sha256 10b8ab6d7c492abc19ecabafedc6bc5f12ff88107a3cb76dc452b3a9522d9c56 Codescape.GNU.Tools.Package.2016.05-03.for.MIPS.MTI.Linux.CentOS-5.x86.tar.gz # Synopsys DesignWare ARC toolchains diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index e7bc754409..2acf9dda24 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -54,7 +54,7 @@ endef # sbin- directories. We create symlinks bin -> bin- and sbin # -> sbin- so that the rest of Buildroot can find the toolchain # tools in the appropriate location. -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS)$(BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS),y) +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS),y) ifeq ($(BR2_MIPS_OABI32),y) TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_BIN_DIR_SUFFIX = o32 else ifeq ($(BR2_MIPS_NABI32),y) @@ -100,12 +100,6 @@ TOOLCHAIN_EXTERNAL_SOURCE = ia32-2012.09-62-i686-pc-linux-gnu-i386-linux.tar.bz2 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64),y) TOOLCHAIN_EXTERNAL_SITE = https://sourcery.mentor.com/public/gnu_toolchain/x86_64-amd-linux-gnu TOOLCHAIN_EXTERNAL_SOURCE = amd-2015.11-139-x86_64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS),y) -TOOLCHAIN_EXTERNAL_SITE = http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-03 -TOOLCHAIN_EXTERNAL_SOURCE = Codescape.GNU.Tools.Package.2016.05-03.for.MIPS.IMG.Linux.CentOS-5.x86.tar.gz -TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_SYMLINK -TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_STAGING_FIXUPS -TOOLCHAIN_EXTERNAL_STRIP_COMPONENTS = 2 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS),y) TOOLCHAIN_EXTERNAL_SITE = http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-03 TOOLCHAIN_EXTERNAL_SOURCE = Codescape.GNU.Tools.Package.2016.05-03.for.MIPS.MTI.Linux.CentOS-5.x86.tar.gz From c4a62fa6278058461ff9e501ba6e822486453493 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:09 +0100 Subject: [PATCH 109/180] toolchain-external-codescape-mti-mips: new package This commit adds a new package for the Codescape MTI external toolchain for the MIPS architecture. The legacy implementation is removed. The Codescape hacks for IMG and MTI are duplicated. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 77 +------------------ .../Config.in | 73 ++++++++++++++++++ .../Config.in.options | 9 +++ ...toolchain-external-codescape-mti-mips.hash | 3 + .../toolchain-external-codescape-mti-mips.mk | 47 +++++++++++ .../toolchain-external.hash | 4 - .../toolchain-external/toolchain-external.mk | 38 --------- 7 files changed, 134 insertions(+), 117 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash create mode 100644 toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index c76941a954..d2e1d3b127 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -28,6 +28,7 @@ source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config. # MIPS (use codesourcery toolchain by default) source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in" source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in" +source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in" config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09" @@ -74,80 +75,6 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE This toolchain uses software-floating point. -config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS - bool "Codescape MTI GNU Linux Toolchain 2016.05" - depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \ - BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT) - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - select BR2_TOOLCHAIN_HAS_FORTRAN - help - Codescape MTI GNU Linux Toolchain 2015.10 for the MIPS - architecture, from Imagination Technologies. It uses gcc - 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel - headers 4.0. It has support for the following variants: - - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - - MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mnan=2008' - - MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Enable 'Use soft-float' - - MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mnan=2008' - - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Enable 'Use soft-float' - - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Enable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, microMIPS - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI - Select 'MIPS64 (big endian)' Target Architecture - Select 'mips 64r2' Target Architecture Variant - Select 'n32' Target ABI - Disable 'Use soft-float' - - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI - Select 'MIPS64 (little endian)' Target Architecture - Select 'mips 64r2' Target Architecture Variant - Select 'n32' Target ABI - Disable 'Use soft-float' - - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI - Select 'MIPS64 (big endian)' Target Architecture - Select 'mips 64r2' Target Architecture Variant - Select 'n64' Target ABI - Disable 'Use soft-float' - - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI - Select 'MIPS64 (little endian)' Target Architecture - Select 'mips 64r2' Target Architecture Variant - Select 'n64' Target ABI - Disable 'Use soft-float' - config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII bool "Sourcery CodeBench Nios-II 2016.05" depends on BR2_nios2 @@ -359,7 +286,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF - default "mips-mti-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386 default "mips-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT) @@ -415,6 +341,7 @@ source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config. # MIPS source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options" source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options" +source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options" if BR2_TOOLCHAIN_EXTERNAL_CUSTOM diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in new file mode 100644 index 0000000000..f899467e3b --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in @@ -0,0 +1,73 @@ +config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS + bool "Codescape MTI GNU Linux Toolchain 2016.05" + depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \ + BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT) + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_INSTALL_LIBSTDCPP + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Codescape MTI GNU Linux Toolchain 2015.10 for the MIPS + architecture, from Imagination Technologies. It uses gcc + 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel + headers 4.0. It has support for the following variants: + - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI + Select 'MIPS (big endian)' Target Architecture + Select 'mips 32r2' Target Architecture Variant + Disable 'Use soft-float' + - MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI + Select 'MIPS (big endian)' Target Architecture + Select 'mips 32r2' Target Architecture Variant + Disable 'Use soft-float' + Set BR2_TARGET_OPTIMIZATION to '-mnan=2008' + - MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI + Select 'MIPS (big endian)' Target Architecture + Select 'mips 32r2' Target Architecture Variant + Enable 'Use soft-float' + - MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r2' Target Architecture Variant + Disable 'Use soft-float' + - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r2' Target Architecture Variant + Disable 'Use soft-float' + Set BR2_TARGET_OPTIMIZATION to '-mnan=2008' + - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r2' Target Architecture Variant + Enable 'Use soft-float' + - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r2' Target Architecture Variant + Enable 'Use soft-float' + Set BR2_TARGET_OPTIMIZATION to '-mmicromips' + - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, microMIPS + Select 'MIPS (little endian)' Target Architecture + Select 'mips 32r2' Target Architecture Variant + Disable 'Use soft-float' + Set BR2_TARGET_OPTIMIZATION to '-mmicromips' + - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI + Select 'MIPS64 (big endian)' Target Architecture + Select 'mips 64r2' Target Architecture Variant + Select 'n32' Target ABI + Disable 'Use soft-float' + - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI + Select 'MIPS64 (little endian)' Target Architecture + Select 'mips 64r2' Target Architecture Variant + Select 'n32' Target ABI + Disable 'Use soft-float' + - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI + Select 'MIPS64 (big endian)' Target Architecture + Select 'mips 64r2' Target Architecture Variant + Select 'n64' Target ABI + Disable 'Use soft-float' + - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI + Select 'MIPS64 (little endian)' Target Architecture + Select 'mips 64r2' Target Architecture Variant + Select 'n64' Target ABI + Disable 'Use soft-float' diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options new file mode 100644 index 0000000000..464c9b8448 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "mips-mti-linux-gnu" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-codescape-mti-mips" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash new file mode 100644 index 0000000000..0d785f2af1 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash @@ -0,0 +1,3 @@ +# Codescape toolchains from Imagination Technologies +# From: http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-03/downloads.html +sha256 10b8ab6d7c492abc19ecabafedc6bc5f12ff88107a3cb76dc452b3a9522d9c56 Codescape.GNU.Tools.Package.2016.05-03.for.MIPS.MTI.Linux.CentOS-5.x86.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk new file mode 100644 index 0000000000..e5733ca082 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk @@ -0,0 +1,47 @@ +################################################################################ +# +# toolchain-external-codescape-mti-mips +# +################################################################################ + +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION = 2016.05-03 +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SITE = http://codescape-mips-sdk.imgtec.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION) +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STRIP_COMPONENTS = 2 + +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-5.x86.tar.gz + +# Special fixup for Codescape MIPS toolchains, that have bin- and +# sbin- directories. We create symlinks bin -> bin- and sbin +# -> sbin- so that the rest of Buildroot can find the toolchain +# tools in the appropriate location. +ifeq ($(BR2_MIPS_OABI32),y) +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX = o32 +else ifeq ($(BR2_MIPS_NABI32),y) +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX = n32 +else ifeq ($(BR2_MIPS_NABI64),y) +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX = n64 +endif + +define TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STAGING_FIXUPS + rmdir $(STAGING_DIR)/usr/bin $(STAGING_DIR)/usr/sbin + ln -sf bin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/bin + ln -sf sbin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/sbin +endef + +# The Codescape toolchain uses a sysroot layout that places them +# side-by-side instead of nested like multilibs. A symlink is needed +# much like for the nested sysroots which are handled in +# copy_toolchain_sysroot but there is not enough information in there +# to determine whether the sysroot layout was nested or side-by-side. +# Add the symlink here for now. +define TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SYMLINK + $(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))"; \ + ARCH_SUBDIR=`basename $${ARCH_SYSROOT_DIR}`; \ + ln -snf . $(STAGING_DIR)/$${ARCH_SUBDIR} +endef + +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_POST_INSTALL_STAGING_HOOKS += \ + TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STAGING_FIXUPS \ + TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SYMLINK + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index 962263c4a3..83859e7e29 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -21,10 +21,6 @@ sha256 f2febf3b3c565536461ad4405f1bcb835d75a6afb2a8bec958a1248cb4b81fc7 arago-2 sha256 254af7d02eb3bcc8345c78e131700bc995d65b68232caaed21150a5fd1456070 arago-2011.09-armv5te-linux-gnueabi-sdk.tar.bz2 sha256 25fbf0513ad7322b15cbaae964cafadcbb4c939f2708f57f40b8f9f2d601122b arago-toolchain-2011.09-sources.tar.bz2 -# Codescape toolchains from Imagination Technologies -# From: http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-03/downloads.html -sha256 10b8ab6d7c492abc19ecabafedc6bc5f12ff88107a3cb76dc452b3a9522d9c56 Codescape.GNU.Tools.Package.2016.05-03.for.MIPS.MTI.Linux.CentOS-5.x86.tar.gz - # Synopsys DesignWare ARC toolchains sha256 1fa4ea2c8616623205f1c7beca02ea31b019099528a7433e5b020b0876b93bf3 arc_gnu_2014.12_prebuilt_uclibc_le_arc700_linux_install.tar.gz sha256 1080f07fcae2bfc176a3ea8d30b9ed8eaecab70fb786639d6ec70cae8322df10 arc_gnu_2014.12_prebuilt_uclibc_be_arc700_linux_install.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 2acf9dda24..31a53d21d9 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -38,38 +38,6 @@ TOOLCHAIN_EXTERNAL_SITE = TOOLCHAIN_EXTERNAL_SOURCE = endif -# The Codescape toolchain uses a sysroot layout that places them -# side-by-side instead of nested like multilibs. A symlink is needed -# much like for the nested sysroots which are handled in -# copy_toolchain_sysroot but there is not enough information in there -# to determine whether the sysroot layout was nested or side-by-side. -# Add the symlink here for now. -define TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_SYMLINK - $(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))"; \ - ARCH_SUBDIR=`basename $${ARCH_SYSROOT_DIR}`; \ - ln -snf . $(STAGING_DIR)/$${ARCH_SUBDIR} -endef - -# Special fixup for Codescape MIPS toolchains, that have bin- and -# sbin- directories. We create symlinks bin -> bin- and sbin -# -> sbin- so that the rest of Buildroot can find the toolchain -# tools in the appropriate location. -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS),y) -ifeq ($(BR2_MIPS_OABI32),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_BIN_DIR_SUFFIX = o32 -else ifeq ($(BR2_MIPS_NABI32),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_BIN_DIR_SUFFIX = n32 -else ifeq ($(BR2_MIPS_NABI64),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_BIN_DIR_SUFFIX = n64 -endif - -define TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_STAGING_FIXUPS - rmdir $(STAGING_DIR)/usr/bin $(STAGING_DIR)/usr/sbin - ln -sf bin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/bin - ln -sf sbin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/sbin -endef -endif - ifeq ($(BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A),y) TOOLCHAIN_EXTERNAL_SITE = http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/exports TOOLCHAIN_EXTERNAL_SOURCE = arago-2011.09-armv7a-linux-gnueabi-sdk.tar.bz2 @@ -100,12 +68,6 @@ TOOLCHAIN_EXTERNAL_SOURCE = ia32-2012.09-62-i686-pc-linux-gnu-i386-linux.tar.bz2 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64),y) TOOLCHAIN_EXTERNAL_SITE = https://sourcery.mentor.com/public/gnu_toolchain/x86_64-amd-linux-gnu TOOLCHAIN_EXTERNAL_SOURCE = amd-2015.11-139-x86_64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS),y) -TOOLCHAIN_EXTERNAL_SITE = http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-03 -TOOLCHAIN_EXTERNAL_SOURCE = Codescape.GNU.Tools.Package.2016.05-03.for.MIPS.MTI.Linux.CentOS-5.x86.tar.gz -TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_SYMLINK -TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_CODESCAPE_MIPS_STAGING_FIXUPS -TOOLCHAIN_EXTERNAL_STRIP_COMPONENTS = 2 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS),y) TOOLCHAIN_EXTERNAL_VERSION = 1.1.12 TOOLCHAIN_EXTERNAL_SITE = https://googledrive.com/host/0BwnS5DMB0YQ6bDhPZkpOYVFhbk0/musl-$(TOOLCHAIN_EXTERNAL_VERSION) From f61661bc51b266c10482bcf35af61e2814ce693e Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:10 +0100 Subject: [PATCH 110/180] toolchain-external-codesourcery-niosII: new package This commit adds a new package for the Sourcery CodeBench external toolchain for the nios-II architecture. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 25 +++++-------------- .../Config.in | 17 +++++++++++++ .../Config.in.options | 9 +++++++ ...oolchain-external-codesourcery-niosII.hash | 3 +++ .../toolchain-external-codesourcery-niosII.mk | 13 ++++++++++ .../toolchain-external.hash | 3 --- .../toolchain-external/toolchain-external.mk | 3 --- 7 files changed, 48 insertions(+), 25 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index d2e1d3b127..e628279b99 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -30,6 +30,9 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in" source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in" +# NIOSII +source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in" + config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09" depends on BR2_arm @@ -75,24 +78,6 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE This toolchain uses software-floating point. -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII - bool "Sourcery CodeBench Nios-II 2016.05" - depends on BR2_nios2 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - select BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # based-on binutils-2.25.1 - help - Sourcery CodeBench toolchain for the Nios-II architecture, - from Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, - glibc 2.23, gdb 7.10.50 and kernel headers 4.4. - config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH bool "Sourcery CodeBench SH 2012.09" depends on BR2_sh4a || BR2_sh4aeb @@ -280,7 +265,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE - default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 @@ -343,6 +327,9 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options" source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options" +# NIOSII +source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options" + if BR2_TOOLCHAIN_EXTERNAL_CUSTOM choice diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in new file mode 100644 index 0000000000..54eed8c792 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in @@ -0,0 +1,17 @@ +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII + bool "Sourcery CodeBench Nios-II 2016.05" + depends on BR2_nios2 + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_5 + select BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # based-on binutils-2.25.1 + help + Sourcery CodeBench toolchain for the Nios-II architecture, + from Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, + glibc 2.23, gdb 7.10.50 and kernel headers 4.4. diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options new file mode 100644 index 0000000000..07cc5ede94 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "nios2-linux-gnu" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-codesourcery-niosII" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash new file mode 100644 index 0000000000..a60c49f839 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 750639290744adda931c81fa2cd2ffc2bde972488047824dcfaa53c42562191d sourceryg++-2016.05-10-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 +sha256 3dc1c2685c0472059547dd7becb5dc991541b8176af39fa7aa5f601d38b9879a sourceryg++-2016.05-10-nios2-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.mk new file mode 100644 index 0000000000..3eb6679675 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# toolchain-external-codesourcery-niosII +# +################################################################################ + +TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII_VERSION = 2016.05-10 + +TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII_SITE = http://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX) +TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII_SOURCE = sourceryg++-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2 +TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII_ACTUAL_SOURCE_TARBALL = sourceryg++-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2 + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index 83859e7e29..5c98fe3b04 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -2,9 +2,6 @@ # Next hashes are all locally computed # Mentor's Sourcery CodeBench Lite toolchains -# NiosII -sha256 750639290744adda931c81fa2cd2ffc2bde972488047824dcfaa53c42562191d sourceryg++-2016.05-10-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 -sha256 3dc1c2685c0472059547dd7becb5dc991541b8176af39fa7aa5f601d38b9879a sourceryg++-2016.05-10-nios2-linux-gnu.src.tar.bz2 # SuperH sha256 59d6766fde244931aa52db01433d5acd051998762a931121c5fc109536a1a802 renesas-2012.09-61-sh-linux-gnu-i686-pc-linux-gnu.tar.bz2 sha256 e2e58c10e52395d5d35157e35f85233f713c6f9223a652dfc56194cfd2eed004 renesas-2012.09-61-sh-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 31a53d21d9..fde0564610 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -56,9 +56,6 @@ define TOOLCHAIN_EXTERNAL_FIXUP_CMDS rm -rf $(@D)/arago-2011.09/ endef TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII),y) -TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/nios2-linux-gnu -TOOLCHAIN_EXTERNAL_SOURCE = sourceryg++-2016.05-10-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH),y) TOOLCHAIN_EXTERNAL_SITE = https://sourcery.mentor.com/public/gnu_toolchain/sh-linux-gnu TOOLCHAIN_EXTERNAL_SOURCE = renesas-2012.09-61-sh-linux-gnu-i686-pc-linux-gnu.tar.bz2 From a3b686591c72019e9568ab8e8b9c267a95abf6bb Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:11 +0100 Subject: [PATCH 111/180] toolchain-external-codesourcery-sh: new package This commit adds a new package for the Sourcery CodeBench external toolchain for the SuperH 4a architecture. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 33 ++++--------------- .../Config.in | 25 ++++++++++++++ .../Config.in.options | 9 +++++ .../toolchain-external-codesourcery-sh.hash | 3 ++ .../toolchain-external-codesourcery-sh.mk | 13 ++++++++ .../toolchain-external.hash | 3 -- .../toolchain-external/toolchain-external.mk | 3 -- 7 files changed, 56 insertions(+), 33 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-sh/toolchain-external-codesourcery-sh.hash create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-sh/toolchain-external-codesourcery-sh.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index e628279b99..8e06b052d1 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -33,6 +33,9 @@ source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Confi # NIOSII source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in" +# SH4a +source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in" + config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09" depends on BR2_arm @@ -78,32 +81,6 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE This toolchain uses software-floating point. -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH - bool "Sourcery CodeBench SH 2012.09" - depends on BR2_sh4a || BR2_sh4aeb - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 - help - Sourcery CodeBench toolchain for the SuperH architecture, - from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51, - glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers - 3.5.4. It has support for the following variants: - - SH4A, glibc, little endian - Default. - - SH4A, glibc, big endian - Add -mb to BR2_TARGET_OPTIMIZATION - - SH4A, uClibc, little endian - Not usable in Buildroot yet. - - SH4A, uClibc, big endian - Not usable in Buildroot yet. - config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 bool "Sourcery CodeBench AMD64 2015.11" depends on BR2_x86_64 @@ -265,7 +242,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE - default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI @@ -330,6 +306,9 @@ source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Confi # NIOSII source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options" +# SH4a +source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in.options" + if BR2_TOOLCHAIN_EXTERNAL_CUSTOM choice diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in new file mode 100644 index 0000000000..a47dab7611 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in @@ -0,0 +1,25 @@ +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH + bool "Sourcery CodeBench SH 2012.09" + depends on BR2_sh4a || BR2_sh4aeb + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + help + Sourcery CodeBench toolchain for the SuperH architecture, + from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51, + glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers + 3.5.4. It has support for the following variants: + - SH4A, glibc, little endian + Default. + - SH4A, glibc, big endian + Add -mb to BR2_TARGET_OPTIMIZATION + - SH4A, uClibc, little endian + Not usable in Buildroot yet. + - SH4A, uClibc, big endian + Not usable in Buildroot yet. diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in.options new file mode 100644 index 0000000000..90061cef49 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "sh-linux-gnu" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-codesourcery-sh" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-sh/toolchain-external-codesourcery-sh.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-sh/toolchain-external-codesourcery-sh.hash new file mode 100644 index 0000000000..ff2ba5f473 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-sh/toolchain-external-codesourcery-sh.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 59d6766fde244931aa52db01433d5acd051998762a931121c5fc109536a1a802 renesas-2012.09-61-sh-linux-gnu-i686-pc-linux-gnu.tar.bz2 +sha256 e2e58c10e52395d5d35157e35f85233f713c6f9223a652dfc56194cfd2eed004 renesas-2012.09-61-sh-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-sh/toolchain-external-codesourcery-sh.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-sh/toolchain-external-codesourcery-sh.mk new file mode 100644 index 0000000000..5370bb22a8 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-sh/toolchain-external-codesourcery-sh.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# toolchain-external-sourcery-sh +# +################################################################################ + +TOOLCHAIN_EXTERNAL_CODESOURCERY_SH_VERSION = 2012.09-61 + +TOOLCHAIN_EXTERNAL_CODESOURCERY_SH_SITE = https://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX) +TOOLCHAIN_EXTERNAL_CODESOURCERY_SH_SOURCE = renesas-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_SH_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2 +TOOLCHAIN_EXTERNAL_CODESOURCERY_SH_ACTUAL_SOURCE_TARBALL = renesas-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_SH_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2 + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index 5c98fe3b04..18b3e1aa1d 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -2,9 +2,6 @@ # Next hashes are all locally computed # Mentor's Sourcery CodeBench Lite toolchains -# SuperH -sha256 59d6766fde244931aa52db01433d5acd051998762a931121c5fc109536a1a802 renesas-2012.09-61-sh-linux-gnu-i686-pc-linux-gnu.tar.bz2 -sha256 e2e58c10e52395d5d35157e35f85233f713c6f9223a652dfc56194cfd2eed004 renesas-2012.09-61-sh-linux-gnu.src.tar.bz2 # x86 sha256 ea804cf02014369da52abc4f64e91e96bde2dd2230aca96109459013d4545458 ia32-2012.09-62-i686-pc-linux-gnu-i386-linux.tar.bz2 sha256 1a9519e415a1e6892c760bf21f7e98f3a633a9d1c5bb8781a96d338e4dd62717 ia32-2012.09-62-i686-pc-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index fde0564610..9aabab612c 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -56,9 +56,6 @@ define TOOLCHAIN_EXTERNAL_FIXUP_CMDS rm -rf $(@D)/arago-2011.09/ endef TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH),y) -TOOLCHAIN_EXTERNAL_SITE = https://sourcery.mentor.com/public/gnu_toolchain/sh-linux-gnu -TOOLCHAIN_EXTERNAL_SOURCE = renesas-2012.09-61-sh-linux-gnu-i686-pc-linux-gnu.tar.bz2 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86),y) TOOLCHAIN_EXTERNAL_SITE = https://sourcery.mentor.com/public/gnu_toolchain/i686-pc-linux-gnu TOOLCHAIN_EXTERNAL_SOURCE = ia32-2012.09-62-i686-pc-linux-gnu-i386-linux.tar.bz2 From a66b8191f4c57b11874bb29c5d49e244f727d21a Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Mon, 7 Nov 2016 02:20:12 +0100 Subject: [PATCH 112/180] toolchain-external-codesourcery-amd64: new package This commit adds a new package for the Sourcery CodeBench external toolchain for the AMD-64 architecture. The legacy implementation is removed. Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 32 ++++--------------- .../Config.in | 24 ++++++++++++++ .../Config.in.options | 9 ++++++ ...toolchain-external-codesourcery-amd64.hash | 3 ++ .../toolchain-external-codesourcery-amd64.mk | 12 +++++++ .../toolchain-external.hash | 3 -- .../toolchain-external/toolchain-external.mk | 3 -- 7 files changed, 54 insertions(+), 32 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-amd64/toolchain-external-codesourcery-amd64.hash create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-amd64/toolchain-external-codesourcery-amd64.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 8e06b052d1..2689c91dd9 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -36,6 +36,9 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Conf # SH4a source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in" +# x86/x86_64 (use amd64 toolchain by default for AMD64) +source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in" + config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09" depends on BR2_arm @@ -81,31 +84,6 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE This toolchain uses software-floating point. -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 - bool "Sourcery CodeBench AMD64 2015.11" - depends on BR2_x86_64 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on !BR2_STATIC_LIBS - depends on BR2_x86_jaguar || BR2_x86_steamroller - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - help - Sourcery CodeBench toolchain for the amd64 (x86_64) - architectures, from Mentor Graphics. It uses gcc 5.2, - binutils 2.25.51, glibc 2.22, gdb 7.10.50 and kernel headers - 4.2. It has support for the following variants: - - AMD Puma/Jaguar (family 16h), glibc - Default for x86_64, nothing special to do. - - AMD Steamroller (family 15h), glibc - Select a steamroller core. - No other architecture variants are supported since glibc - is optimized for one of these two baselines. - config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 bool "Sourcery CodeBench x86/x86_64 2012.09" depends on BR2_i386 || BR2_x86_64 @@ -243,7 +221,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 - default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb @@ -309,6 +286,9 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Conf # SH4a source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in.options" +# x86/x86_64 +source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options" + if BR2_TOOLCHAIN_EXTERNAL_CUSTOM choice diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in new file mode 100644 index 0000000000..86486c818d --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in @@ -0,0 +1,24 @@ +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 + bool "Sourcery CodeBench AMD64 2015.11" + depends on BR2_x86_64 + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on !BR2_STATIC_LIBS + depends on BR2_x86_jaguar || BR2_x86_steamroller + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 + select BR2_TOOLCHAIN_GCC_AT_LEAST_5 + help + Sourcery CodeBench toolchain for the amd64 (x86_64) + architectures, from Mentor Graphics. It uses gcc 5.2, + binutils 2.25.51, glibc 2.22, gdb 7.10.50 and kernel headers + 4.2. It has support for the following variants: + - AMD Puma/Jaguar (family 16h), glibc + Default for x86_64, nothing special to do. + - AMD Steamroller (family 15h), glibc + Select a steamroller core. + No other architecture variants are supported since glibc + is optimized for one of these two baselines. diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options new file mode 100644 index 0000000000..2ab23026e9 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "x86_64-amd-linux-gnu" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-codesourcery-amd64" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/toolchain-external-codesourcery-amd64.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/toolchain-external-codesourcery-amd64.hash new file mode 100644 index 0000000000..ea5f300d73 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/toolchain-external-codesourcery-amd64.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 3c31206c8b9277f409ee00e4777ba82dfa6da2a4ca0926501cd5fb6bbd1b407e amd-2015.11-139-x86_64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 +sha256 0b673f5035f97d5d03c31272cddab0f117d39ad76a5ad2a3bc98c156571527de amd-2015.11-139-x86_64-amd-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/toolchain-external-codesourcery-amd64.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/toolchain-external-codesourcery-amd64.mk new file mode 100644 index 0000000000..4b8e31c070 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/toolchain-external-codesourcery-amd64.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# toolchain-external-codesourcery-amd64 +# +################################################################################ + +TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64_SITE = https://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX) +TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64_VERSION = 2015.11-139 +TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64_SOURCE = amd-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2 +TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64_ACTUAL_SOURCE_TARBALL = amd-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2 + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index 18b3e1aa1d..b873abe984 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -5,9 +5,6 @@ # x86 sha256 ea804cf02014369da52abc4f64e91e96bde2dd2230aca96109459013d4545458 ia32-2012.09-62-i686-pc-linux-gnu-i386-linux.tar.bz2 sha256 1a9519e415a1e6892c760bf21f7e98f3a633a9d1c5bb8781a96d338e4dd62717 ia32-2012.09-62-i686-pc-linux-gnu.src.tar.bz2 -# AMD64 -sha256 3c31206c8b9277f409ee00e4777ba82dfa6da2a4ca0926501cd5fb6bbd1b407e amd-2015.11-139-x86_64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 -sha256 0b673f5035f97d5d03c31272cddab0f117d39ad76a5ad2a3bc98c156571527de amd-2015.11-139-x86_64-amd-linux-gnu.src.tar.bz2 # ARM toolchains from Texas Instrument's Arago project # There is one source file that covers both binary distributions. diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 9aabab612c..3cb9024879 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -59,9 +59,6 @@ TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86),y) TOOLCHAIN_EXTERNAL_SITE = https://sourcery.mentor.com/public/gnu_toolchain/i686-pc-linux-gnu TOOLCHAIN_EXTERNAL_SOURCE = ia32-2012.09-62-i686-pc-linux-gnu-i386-linux.tar.bz2 -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64),y) -TOOLCHAIN_EXTERNAL_SITE = https://sourcery.mentor.com/public/gnu_toolchain/x86_64-amd-linux-gnu -TOOLCHAIN_EXTERNAL_SOURCE = amd-2015.11-139-x86_64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS),y) TOOLCHAIN_EXTERNAL_VERSION = 1.1.12 TOOLCHAIN_EXTERNAL_SITE = https://googledrive.com/host/0BwnS5DMB0YQ6bDhPZkpOYVFhbk0/musl-$(TOOLCHAIN_EXTERNAL_VERSION) From 25429ba260df5689e734721e9c1e8bc017dc5e95 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:13 +0100 Subject: [PATCH 113/180] toolchain-external-codesourcery-x86: new package This commit adds a new package for the Sourcery CodeBench external toolchain for the i386/x86_64 architecture. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 33 ++----------------- .../Config.in | 29 ++++++++++++++++ .../Config.in.options | 9 +++++ .../toolchain-external-codesourcery-x86.hash | 3 ++ .../toolchain-external-codesourcery-x86.mk | 12 +++++++ .../toolchain-external.hash | 5 --- .../toolchain-external/toolchain-external.mk | 3 -- 7 files changed, 55 insertions(+), 39 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.hash create mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 2689c91dd9..cddfca8a42 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -38,6 +38,7 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.i # x86/x86_64 (use amd64 toolchain by default for AMD64) source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in" +source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in" config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09" @@ -84,36 +85,6 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE This toolchain uses software-floating point. -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 - bool "Sourcery CodeBench x86/x86_64 2012.09" - depends on BR2_i386 || BR2_x86_64 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on !BR2_STATIC_LIBS - depends on !BR2_x86_jaguar - depends on !BR2_x86_steamroller - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 - help - Sourcery CodeBench toolchain for the x86/x86_64 - architectures, from Mentor Graphics. It uses gcc 4.7.2, - binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers - 3.5.4. It has support for the following variants: - - Intel Pentium 4, glibc, 32 bits - Default for x86, nothing special to do. - - Intel Atom, glibc, 32 bits - Select an Atom core - - Intel Xeon, glibc, 64 bits - Default for x86_64, nothing special to do. - - Intel Core 2, glibc, 64 bits - Select a Core 2 core - Other architecture variants (beyond Pentium-4/Xeon) are - supported as well, but glibc is not optimised for it. - config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS bool "Musl 1.1.12 toolchain" depends on (BR2_arm && BR2_ARM_EABI && BR2_USE_MMU) || \ @@ -220,7 +191,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE - default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb @@ -288,6 +258,7 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.i # x86/x86_64 source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options" +source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options" if BR2_TOOLCHAIN_EXTERNAL_CUSTOM diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in new file mode 100644 index 0000000000..bcbdd26938 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in @@ -0,0 +1,29 @@ +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 + bool "Sourcery CodeBench x86/x86_64 2012.09" + depends on BR2_i386 || BR2_x86_64 + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on !BR2_STATIC_LIBS + depends on !BR2_x86_jaguar + depends on !BR2_x86_steamroller + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + help + Sourcery CodeBench toolchain for the x86/x86_64 + architectures, from Mentor Graphics. It uses gcc 4.7.2, + binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers + 3.5.4. It has support for the following variants: + - Intel Pentium 4, glibc, 32 bits + Default for x86, nothing special to do. + - Intel Atom, glibc, 32 bits + Select an Atom core + - Intel Xeon, glibc, 64 bits + Default for x86_64, nothing special to do. + - Intel Core 2, glibc, 64 bits + Select a Core 2 core + Other architecture variants (beyond Pentium-4/Xeon) are + supported as well, but glibc is not optimised for it. diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options new file mode 100644 index 0000000000..65b62f3236 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "i686-pc-linux-gnu" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-codesourcery-x86" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.hash new file mode 100644 index 0000000000..a003f7ab3c --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 ea804cf02014369da52abc4f64e91e96bde2dd2230aca96109459013d4545458 ia32-2012.09-62-i686-pc-linux-gnu-i386-linux.tar.bz2 +sha256 1a9519e415a1e6892c760bf21f7e98f3a633a9d1c5bb8781a96d338e4dd62717 ia32-2012.09-62-i686-pc-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.mk new file mode 100644 index 0000000000..5ee6991c0c --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-x86/toolchain-external-codesourcery-x86.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# toolchain-external-codesourcery-x86 +# +################################################################################ + +TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_SITE = https://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX) +TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_VERSION = 2012.09-62 +TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_SOURCE = ia32-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i386-linux.tar.bz2 +TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_ACTUAL_SOURCE_TARBALL = ia32-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2 + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index b873abe984..8926bf87f6 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -1,11 +1,6 @@ ###################################### # Next hashes are all locally computed -# Mentor's Sourcery CodeBench Lite toolchains -# x86 -sha256 ea804cf02014369da52abc4f64e91e96bde2dd2230aca96109459013d4545458 ia32-2012.09-62-i686-pc-linux-gnu-i386-linux.tar.bz2 -sha256 1a9519e415a1e6892c760bf21f7e98f3a633a9d1c5bb8781a96d338e4dd62717 ia32-2012.09-62-i686-pc-linux-gnu.src.tar.bz2 - # ARM toolchains from Texas Instrument's Arago project # There is one source file that covers both binary distributions. sha256 f2febf3b3c565536461ad4405f1bcb835d75a6afb2a8bec958a1248cb4b81fc7 arago-2011.09-armv7a-linux-gnueabi-sdk.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 3cb9024879..7e4539e19a 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -56,9 +56,6 @@ define TOOLCHAIN_EXTERNAL_FIXUP_CMDS rm -rf $(@D)/arago-2011.09/ endef TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86),y) -TOOLCHAIN_EXTERNAL_SITE = https://sourcery.mentor.com/public/gnu_toolchain/i686-pc-linux-gnu -TOOLCHAIN_EXTERNAL_SOURCE = ia32-2012.09-62-i686-pc-linux-gnu-i386-linux.tar.bz2 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS),y) TOOLCHAIN_EXTERNAL_VERSION = 1.1.12 TOOLCHAIN_EXTERNAL_SITE = https://googledrive.com/host/0BwnS5DMB0YQ6bDhPZkpOYVFhbk0/musl-$(TOOLCHAIN_EXTERNAL_VERSION) From 06ba7f9e1ca5dcc726b1881a40c7c13e3fbcedec Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:14 +0100 Subject: [PATCH 114/180] toolchain-external-musl-cross: new package This commit adds a new package for the pre-built Musl external toolchains. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 48 +++---------------- .../toolchain-external-musl-cross/Config.in | 30 ++++++++++++ .../Config.in.options | 19 ++++++++ .../toolchain-external-musl-cross.hash | 12 +++++ .../toolchain-external-musl-cross.mk | 12 +++++ .../toolchain-external.hash | 13 ----- .../toolchain-external/toolchain-external.mk | 26 ---------- 7 files changed, 79 insertions(+), 81 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-musl-cross/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-musl-cross/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-musl-cross/toolchain-external-musl-cross.hash create mode 100644 toolchain/toolchain-external/toolchain-external-musl-cross/toolchain-external-musl-cross.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index cddfca8a42..5188e1a5eb 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -40,6 +40,9 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.i source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in" source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in" +# Musl based toolchains (after all the others) +source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in" + config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09" depends on BR2_arm @@ -85,37 +88,6 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE This toolchain uses software-floating point. -config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS - bool "Musl 1.1.12 toolchain" - depends on (BR2_arm && BR2_ARM_EABI && BR2_USE_MMU) || \ - (BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4 && BR2_USE_MMU) || \ - (BR2_armeb && BR2_ARM_EABI && !BR2_ARM_CPU_ARMV7A && BR2_USE_MMU) || \ - BR2_i386 || (BR2_mips && !BR2_SOFT_FLOAT) || \ - BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \ - BR2_sh4 || BR2_sh4eb || \ - BR2_x86_64 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - # Unsupported MIPS cores - depends on !BR2_mips_interaptiv && !BR2_mips_m5100 && !BR2_mips_m5101 - # Unsupported for MIPS R6 - depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 - select BR2_TOOLCHAIN_EXTERNAL_MUSL - select BR2_TOOLCHAIN_HAS_SSP - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - help - Toolchain based on the Musl C library, provided by the - musl-cross project. It uses gcc 5.3, binutils 2.25.1 and - musl 1.1.12. It does not have a cross debugger included. - - The ARM soft-float toolchain is built for ARMv4t, while the - ARM hard-float toolchain is built for ARMv5t. - The x86 toolchain is built for i486. - - http://musl.codu.org/ - config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC bool "Synopsys ARC 2014.12 toolchain" depends on BR2_arc @@ -191,17 +163,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE - default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI - default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF - default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb - default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386 - default "mips-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT) - default "mipsel-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && !BR2_SOFT_FLOAT) - default "mipsel-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT) - default "powerpc-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc - default "sh4-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4 - default "sh4eb-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4eb - default "x86_64-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \ if BR2_TOOLCHAIN_EXTERNAL_CUSTOM @@ -260,6 +221,9 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.i source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options" source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options" +# Musl based toolchains +source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in.options" + if BR2_TOOLCHAIN_EXTERNAL_CUSTOM choice diff --git a/toolchain/toolchain-external/toolchain-external-musl-cross/Config.in b/toolchain/toolchain-external/toolchain-external-musl-cross/Config.in new file mode 100644 index 0000000000..5cffa2dad3 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-musl-cross/Config.in @@ -0,0 +1,30 @@ +config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS + bool "Musl 1.1.12 toolchain" + depends on (BR2_arm && BR2_ARM_EABI && BR2_USE_MMU) || \ + (BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4 && BR2_USE_MMU) || \ + (BR2_armeb && BR2_ARM_EABI && !BR2_ARM_CPU_ARMV7A && BR2_USE_MMU) || \ + BR2_i386 || (BR2_mips && !BR2_SOFT_FLOAT) || \ + BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \ + BR2_sh4 || BR2_sh4eb || \ + BR2_x86_64 + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + # Unsupported MIPS cores + depends on !BR2_mips_interaptiv && !BR2_mips_m5100 && !BR2_mips_m5101 + # Unsupported for MIPS R6 + depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 + select BR2_TOOLCHAIN_EXTERNAL_MUSL + select BR2_TOOLCHAIN_HAS_SSP + select BR2_INSTALL_LIBSTDCPP + select BR2_HOSTARCH_NEEDS_IA32_LIBS + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 + select BR2_TOOLCHAIN_GCC_AT_LEAST_5 + help + Toolchain based on the Musl C library, provided by the + musl-cross project. It uses gcc 5.3, binutils 2.25.1 and + musl 1.1.12. It does not have a cross debugger included. + + The ARM soft-float toolchain is built for ARMv4t, while the + ARM hard-float toolchain is built for ARMv5t. + The x86 toolchain is built for i486. + + http://musl.codu.org/ diff --git a/toolchain/toolchain-external/toolchain-external-musl-cross/Config.in.options b/toolchain/toolchain-external/toolchain-external-musl-cross/Config.in.options new file mode 100644 index 0000000000..cd12355e3e --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-musl-cross/Config.in.options @@ -0,0 +1,19 @@ +if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "arm-linux-musleabi" if BR2_arm && BR2_ARM_EABI + default "arm-linux-musleabihf" if BR2_arm && BR2_ARM_EABIHF + default "armeb-linux-musleabi" if BR2_armeb + default "i486-linux-musl" if BR2_i386 + default "mips-linux-musl" if (BR2_mips && !BR2_SOFT_FLOAT) + default "mipsel-linux-musl" if (BR2_mipsel && !BR2_SOFT_FLOAT) + default "mipsel-sf-linux-musl" if (BR2_mipsel && BR2_SOFT_FLOAT) + default "powerpc-linux-musl" if BR2_powerpc + default "sh4-linux-musl" if BR2_sh4 + default "sh4eb-linux-musl" if BR2_sh4eb + default "x86_64-linux-musl" if BR2_x86_64 + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-musl-cross" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-musl-cross/toolchain-external-musl-cross.hash b/toolchain/toolchain-external/toolchain-external-musl-cross/toolchain-external-musl-cross.hash new file mode 100644 index 0000000000..beef8fdc75 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-musl-cross/toolchain-external-musl-cross.hash @@ -0,0 +1,12 @@ +# Locally calculated +sha256 e32c23d0b83639fc10ad06666ec086b66453b9be44415fe1a818c3c3b526dfb1 crossx86-armeb-linux-musleabi-1.1.12.tar.xz +sha256 eb81bd5d6ada454c6e854b18bfa8dc801333782152166f6cab9fb7cd11692987 crossx86-arm-linux-musleabi-1.1.12.tar.xz +sha256 a050da284ff22d291ae71dfc249ebdedb18334b8d626804760ce7d5963e392e6 crossx86-arm-linux-musleabihf-1.1.12.tar.xz +sha256 18d07f5c8f4cfe373461cf21cf7b1bfefa820a37e96a69b68e0f315d528b4286 crossx86-i486-linux-musl-1.1.12.tar.xz +sha256 1c1480c2618097e402fe804c1431fbd49b0d43520af81d4c1a695a2fa13a3922 crossx86-mipsel-linux-musl-1.1.12.tar.xz +sha256 f0a8b3eb0566138ab3cc77bc09648be15bc325da974ec98b9e67f2fb82be3295 crossx86-mipsel-sf-linux-musl-1.1.12.tar.xz +sha256 6a99989c3dff56776981f6760b2c54dcb9e4032be1d649968bb06c04f2e64177 crossx86-mips-linux-musl-1.1.12.tar.xz +sha256 c082adc3e8b0750bb22ca82628524fd525fd77f534517ac5a66e7ac5a297ee6e crossx86-powerpc-linux-musl-1.1.12.tar.xz +sha256 8c6c9ebb54040e47947b4d3af6823d01fef2bb6ee81b18903c801030c066092b crossx86-sh4eb-linux-musl-1.1.12.tar.xz +sha256 ae9a0a5a60226aa086a56628cfd5c1d283c9dffdca37891d7e6adc2bd21ac2e0 crossx86-sh4-linux-musl-1.1.12.tar.xz +sha256 27e0ea1043a58aebeadf1dacd67e47fd0b5c19fc36f42c9374e5fa3308df09c6 crossx86-x86_64-linux-musl-1.1.12.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-musl-cross/toolchain-external-musl-cross.mk b/toolchain/toolchain-external/toolchain-external-musl-cross/toolchain-external-musl-cross.mk new file mode 100644 index 0000000000..966505b771 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-musl-cross/toolchain-external-musl-cross.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# toolchain-external-musl-cross +# +################################################################################ + +TOOLCHAIN_EXTERNAL_MUSL_CROSS_VERSION = 1.1.12 +TOOLCHAIN_EXTERNAL_MUSL_CROSS_SITE = https://googledrive.com/host/0BwnS5DMB0YQ6bDhPZkpOYVFhbk0/musl-$(TOOLCHAIN_EXTERNAL_MUSL_CROSS_VERSION) + +TOOLCHAIN_EXTERNAL_MUSL_CROSS_SOURCE = crossx86-$(TOOLCHAIN_EXTERNAL_PREFIX)-$(TOOLCHAIN_EXTERNAL_MUSL_CROSS_VERSION).tar.xz + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index 8926bf87f6..a286ef2923 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -12,16 +12,3 @@ sha256 1fa4ea2c8616623205f1c7beca02ea31b019099528a7433e5b020b0876b93bf3 arc_gnu sha256 1080f07fcae2bfc176a3ea8d30b9ed8eaecab70fb786639d6ec70cae8322df10 arc_gnu_2014.12_prebuilt_uclibc_be_arc700_linux_install.tar.gz sha256 aaaf6facd1f60a3cd2a537154ea39cd7d70501c175e30e01a97e8df6cb8226c7 arc_gnu_2014.12_prebuilt_uclibc_le_archs_linux_install.tar.gz sha256 30711c5f15762764d4cd5ec1e6ced5b1fddd03aac41c424b0c4ec8a45d5d79cd arc_gnu_2014.12_prebuilt_uclibc_be_archs_linux_install.tar.gz - -# Prebuilt musl toolchains from musl-cross -sha256 e32c23d0b83639fc10ad06666ec086b66453b9be44415fe1a818c3c3b526dfb1 crossx86-armeb-linux-musleabi-1.1.12.tar.xz -sha256 eb81bd5d6ada454c6e854b18bfa8dc801333782152166f6cab9fb7cd11692987 crossx86-arm-linux-musleabi-1.1.12.tar.xz -sha256 a050da284ff22d291ae71dfc249ebdedb18334b8d626804760ce7d5963e392e6 crossx86-arm-linux-musleabihf-1.1.12.tar.xz -sha256 18d07f5c8f4cfe373461cf21cf7b1bfefa820a37e96a69b68e0f315d528b4286 crossx86-i486-linux-musl-1.1.12.tar.xz -sha256 1c1480c2618097e402fe804c1431fbd49b0d43520af81d4c1a695a2fa13a3922 crossx86-mipsel-linux-musl-1.1.12.tar.xz -sha256 f0a8b3eb0566138ab3cc77bc09648be15bc325da974ec98b9e67f2fb82be3295 crossx86-mipsel-sf-linux-musl-1.1.12.tar.xz -sha256 6a99989c3dff56776981f6760b2c54dcb9e4032be1d649968bb06c04f2e64177 crossx86-mips-linux-musl-1.1.12.tar.xz -sha256 c082adc3e8b0750bb22ca82628524fd525fd77f534517ac5a66e7ac5a297ee6e crossx86-powerpc-linux-musl-1.1.12.tar.xz -sha256 8c6c9ebb54040e47947b4d3af6823d01fef2bb6ee81b18903c801030c066092b crossx86-sh4eb-linux-musl-1.1.12.tar.xz -sha256 ae9a0a5a60226aa086a56628cfd5c1d283c9dffdca37891d7e6adc2bd21ac2e0 crossx86-sh4-linux-musl-1.1.12.tar.xz -sha256 27e0ea1043a58aebeadf1dacd67e47fd0b5c19fc36f42c9374e5fa3308df09c6 crossx86-x86_64-linux-musl-1.1.12.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 7e4539e19a..0680473ef9 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -56,32 +56,6 @@ define TOOLCHAIN_EXTERNAL_FIXUP_CMDS rm -rf $(@D)/arago-2011.09/ endef TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS),y) -TOOLCHAIN_EXTERNAL_VERSION = 1.1.12 -TOOLCHAIN_EXTERNAL_SITE = https://googledrive.com/host/0BwnS5DMB0YQ6bDhPZkpOYVFhbk0/musl-$(TOOLCHAIN_EXTERNAL_VERSION) -ifeq ($(BR2_arm)$(BR2_ARM_EABI),yy) -TOOLCHAIN_EXTERNAL_SOURCE = crossx86-arm-linux-musleabi-$(TOOLCHAIN_EXTERNAL_VERSION).tar.xz -else ifeq ($(BR2_arm)$(BR2_ARM_EABIHF),yy) -TOOLCHAIN_EXTERNAL_SOURCE = crossx86-arm-linux-musleabihf-$(TOOLCHAIN_EXTERNAL_VERSION).tar.xz -else ifeq ($(BR2_armeb),y) -TOOLCHAIN_EXTERNAL_SOURCE = crossx86-armeb-linux-musleabi-$(TOOLCHAIN_EXTERNAL_VERSION).tar.xz -else ifeq ($(BR2_i386),y) -TOOLCHAIN_EXTERNAL_SOURCE = crossx86-i486-linux-musl-$(TOOLCHAIN_EXTERNAL_VERSION).tar.xz -else ifeq ($(BR2_mips),y) -TOOLCHAIN_EXTERNAL_SOURCE = crossx86-mips-linux-musl-$(TOOLCHAIN_EXTERNAL_VERSION).tar.xz -else ifeq ($(BR2_mipsel):$(BR2_SOFT_FLOAT),y:) -TOOLCHAIN_EXTERNAL_SOURCE = crossx86-mipsel-linux-musl-$(TOOLCHAIN_EXTERNAL_VERSION).tar.xz -else ifeq ($(BR2_mipsel):$(BR2_SOFT_FLOAT),y:y) -TOOLCHAIN_EXTERNAL_SOURCE = crossx86-mipsel-sf-linux-musl-$(TOOLCHAIN_EXTERNAL_VERSION).tar.xz -else ifeq ($(BR2_powerpc),y) -TOOLCHAIN_EXTERNAL_SOURCE = crossx86-powerpc-linux-musl-$(TOOLCHAIN_EXTERNAL_VERSION).tar.xz -else ifeq ($(BR2_sh4),y) -TOOLCHAIN_EXTERNAL_SOURCE = crossx86-sh4-linux-musl-$(TOOLCHAIN_EXTERNAL_VERSION).tar.xz -else ifeq ($(BR2_sh4eb),y) -TOOLCHAIN_EXTERNAL_SOURCE = crossx86-sh4eb-linux-musl-$(TOOLCHAIN_EXTERNAL_VERSION).tar.xz -else ifeq ($(BR2_x86_64),y) -TOOLCHAIN_EXTERNAL_SOURCE = crossx86-x86_64-linux-musl-$(TOOLCHAIN_EXTERNAL_VERSION).tar.xz -endif else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC),y) TOOLCHAIN_EXTERNAL_SITE = https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2014.12 ifeq ($(BR2_arc750d)$(BR2_arc770d),y) From ec54092c916440501006bfa51a820eb953100510 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:15 +0100 Subject: [PATCH 115/180] toolchain-external-custom: new package This commit adds a new package to support custom external toolchains. The legacy implementation is removed. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 351 +----------------- .../toolchain-external-custom/Config.in | 5 + .../Config.in.options | 334 +++++++++++++++++ .../toolchain-external-custom.mk | 15 + .../toolchain-external/toolchain-external.mk | 6 - 5 files changed, 361 insertions(+), 350 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-custom/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-custom/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-custom/toolchain-external-custom.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 5188e1a5eb..e592ec2528 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -43,6 +43,11 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config. # Musl based toolchains (after all the others) source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in" +# Kept last, so it remains the non-default choice, unless there isn't +# any available toolchain profile for the currently selected +# architecture. +source "toolchain/toolchain-external/toolchain-external-custom/Config.in" + config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09" depends on BR2_arm @@ -109,12 +114,6 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC Toolchain for the ARC cores, from https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases -config BR2_TOOLCHAIN_EXTERNAL_CUSTOM - bool "Custom toolchain" - help - Use this option to use a custom toolchain pre-installed on - your system. - endchoice choice @@ -146,25 +145,12 @@ config BR2_TOOLCHAIN_EXTERNAL_PATH help Path to where the external toolchain is installed. -config BR2_TOOLCHAIN_EXTERNAL_URL - string "Toolchain URL" - depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD - help - URL of the custom toolchain tarball to download and install. - -config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX - string "Toolchain prefix" - depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM - default "$(ARCH)-linux" - config BR2_TOOLCHAIN_EXTERNAL_PREFIX string default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE - default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \ - if BR2_TOOLCHAIN_EXTERNAL_CUSTOM config BR2_TOOLCHAIN_EXTERNAL_GLIBC bool @@ -224,331 +210,8 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config. # Musl based toolchains source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in.options" -if BR2_TOOLCHAIN_EXTERNAL_CUSTOM - -choice - bool "External toolchain gcc version" - default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3 - help - Set to the gcc version that is used by your external - toolchain. - -config BR2_TOOLCHAIN_EXTERNAL_GCC_6 - bool "6.x" - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 - -config BR2_TOOLCHAIN_EXTERNAL_GCC_5 - bool "5.x" - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - -config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 - bool "4.9.x" - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - -config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 - bool "4.8.x" - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - -config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7 - bool "4.7.x" - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 - -config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6 - bool "4.6.x" - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 - -config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5 - bool "4.5.x" - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 - -config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4 - bool "4.4.x" - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 - -config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3 - bool "4.3.x" - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 - -endchoice - -choice - bool "External toolchain kernel headers series" - default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD - help - Set to the kernel headers version that were used to build - this external toolchain. - - This is used to hide/show some packages that have strict - requirements on the version of kernel headers. - - If unsure what version your toolchain is using, you can look - at the value of LINUX_VERSION_CODE in linux/version.h in your - toolchain. The Linux version is M.m.p, with: - M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF - m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF - p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8 - bool "4.8.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7 - bool "4.7.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6 - bool "4.6.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5 - bool "4.5.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4 - bool "4.4.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3 - bool "4.3.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2 - bool "4.2.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1 - bool "4.1.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0 - bool "4.0.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19 - bool "3.19.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18 - bool "3.18.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17 - bool "3.17.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16 - bool "3.16.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15 - bool "3.15.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14 - bool "3.14.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13 - bool "3.13.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12 - bool "3.12.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11 - bool "3.11.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10 - bool "3.10.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9 - bool "3.9.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8 - bool "3.8.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7 - bool "3.7.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6 - bool "3.6.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5 - bool "3.5.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4 - bool "3.4.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3 - bool "3.3.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2 - bool "3.2.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1 - bool "3.1.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0 - bool "3.0.x" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 - -config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD - bool "2.6.x" - -endchoice - -choice - prompt "External toolchain C library" - default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC - -config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC - bool "uClibc/uClibc-ng" - select BR2_TOOLCHAIN_EXTERNAL_UCLIBC - # For the time being, we assume that all custom external - # toolchains have shadow password support. - select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS - help - Select this option if your external toolchain uses the - uClibc (available from http://www.uclibc.org/) - or uClibc-ng (available from http://www.uclibc-ng.org) - C library. - -config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC - bool "glibc/eglibc" - depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - help - Select this option if your external toolchain uses the GNU C - library (available from https://www.gnu.org/software/libc/) - or its variant the eglibc library (http://www.eglibc.org/). - - Note: eglibc is a variant of glibc that (among other things) - can be configured to exclude some of its features. Using a - toolchain with eglibc configured to exclude key features may - cause build failures to some packages. - -comment "glibc only available with shared lib support" - depends on BR2_STATIC_LIBS - -config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL - bool "musl" - select BR2_TOOLCHAIN_EXTERNAL_MUSL - help - Select this option if your external toolchain uses the - 'musl' C library, available from http://www.musl-libc.org/. - -endchoice - -if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC - -config BR2_TOOLCHAIN_EXTERNAL_WCHAR - bool "Toolchain has WCHAR support?" - select BR2_USE_WCHAR - help - Select this option if your external toolchain supports - WCHAR. If you don't know, leave the default value, Buildroot - will tell you if it's correct or not. - -config BR2_TOOLCHAIN_EXTERNAL_LOCALE - bool "Toolchain has locale support?" - select BR2_TOOLCHAIN_EXTERNAL_WCHAR - select BR2_ENABLE_LOCALE - help - Select this option if your external toolchain has locale - support. If you don't know, leave the default value, - Buildroot will tell you if it's correct or not. - -config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS - bool "Toolchain has threads support?" - select BR2_TOOLCHAIN_HAS_THREADS - default y - help - Select this option if your external toolchain has thread - support. If you don't know, leave the default value, - Buildroot will tell you if it's correct or not. - -if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS - -config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG - bool "Toolchain has threads debugging support?" - select BR2_TOOLCHAIN_HAS_THREADS_DEBUG - default y - help - Select this option if your external toolchain has thread - debugging support. If you don't know, leave the default - value, Buildroot will tell you if it's correct or not. - -config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL - bool "Toolchain has NPTL threads support?" - select BR2_TOOLCHAIN_HAS_THREADS_NPTL - default y - help - Select this option if your external toolchain uses the NPTL - (Native Posix Thread Library) implementation of Posix - threads. If you don't know, leave the default value, - Buildroot will tell you if it's correct or not. - -endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS - -endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC - -config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP - bool "Toolchain has SSP support?" - select BR2_TOOLCHAIN_HAS_SSP - default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC - default y if BR2_TOOLCHAIN_EXTERNAL_MUSL - help - Selection this option if your external toolchain has Stack - Smashing Protection support enabled. If you don't know, - leave the default value, Buildroot will tell you if it's - correct or not. - -config BR2_TOOLCHAIN_EXTERNAL_INET_RPC - bool "Toolchain has RPC support?" - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL - default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC - help - Select this option if your external toolchain supports - RPC. If you don't know, leave the default value, Buildroot - will tell you if it's correct or not. - -config BR2_TOOLCHAIN_EXTERNAL_CXX - bool "Toolchain has C++ support?" - select BR2_INSTALL_LIBSTDCPP - help - Select this option if your external toolchain has C++ - support. If you don't know, leave the default value, - Buildroot will tell you if it's correct or not. - -config BR2_TOOLCHAIN_EXTERNAL_FORTRAN - bool "Toolchain has Fortran support?" - select BR2_TOOLCHAIN_HAS_FORTRAN - help - Select this option if your external toolchain has Fortran - support. If you don't know, leave the default value, - Buildroot will tell you if it's correct or not. - -config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS - string "Extra toolchain libraries to be copied to target" - help - If your external toolchain provides extra libraries that - need to be copied to the target filesystem, enter them - here, separated by spaces. - -endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM +# Custom toolchains +source "toolchain/toolchain-external/toolchain-external-custom/Config.in.options" config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY bool "Copy gdb server to the Target" diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in b/toolchain/toolchain-external/toolchain-external-custom/Config.in new file mode 100644 index 0000000000..a913feb34e --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in @@ -0,0 +1,5 @@ +config BR2_TOOLCHAIN_EXTERNAL_CUSTOM + bool "Custom toolchain" + help + Use this option to use a custom toolchain pre-installed on + your system. diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options new file mode 100644 index 0000000000..cdc25559fa --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -0,0 +1,334 @@ +if BR2_TOOLCHAIN_EXTERNAL_CUSTOM + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-custom" + +config BR2_TOOLCHAIN_EXTERNAL_URL + string "Toolchain URL" + depends on BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD + help + URL of the custom toolchain tarball to download and install. + +config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX + string "Toolchain prefix" + default "$(ARCH)-linux" + +choice + bool "External toolchain gcc version" + default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3 + help + Set to the gcc version that is used by your external + toolchain. + +config BR2_TOOLCHAIN_EXTERNAL_GCC_6 + bool "6.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_6 + +config BR2_TOOLCHAIN_EXTERNAL_GCC_5 + bool "5.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_5 + +config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 + bool "4.9.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + +config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 + bool "4.8.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + +config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7 + bool "4.7.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + +config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6 + bool "4.6.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 + +config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5 + bool "4.5.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 + +config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4 + bool "4.4.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 + +config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3 + bool "4.3.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 + +endchoice + +choice + bool "External toolchain kernel headers series" + default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD + help + Set to the kernel headers version that were used to build + this external toolchain. + + This is used to hide/show some packages that have strict + requirements on the version of kernel headers. + + If unsure what version your toolchain is using, you can look + at the value of LINUX_VERSION_CODE in linux/version.h in your + toolchain. The Linux version is M.m.p, with: + M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF + m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF + p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8 + bool "4.8.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7 + bool "4.7.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6 + bool "4.6.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5 + bool "4.5.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4 + bool "4.4.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3 + bool "4.3.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2 + bool "4.2.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1 + bool "4.1.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0 + bool "4.0.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19 + bool "3.19.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18 + bool "3.18.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17 + bool "3.17.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16 + bool "3.16.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15 + bool "3.15.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14 + bool "3.14.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13 + bool "3.13.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12 + bool "3.12.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11 + bool "3.11.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10 + bool "3.10.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9 + bool "3.9.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8 + bool "3.8.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7 + bool "3.7.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6 + bool "3.6.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5 + bool "3.5.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4 + bool "3.4.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3 + bool "3.3.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2 + bool "3.2.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1 + bool "3.1.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0 + bool "3.0.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD + bool "2.6.x" + +endchoice + +choice + prompt "External toolchain C library" + default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC + +config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC + bool "uClibc/uClibc-ng" + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + # For the time being, we assume that all custom external + # toolchains have shadow password support. + select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS + help + Select this option if your external toolchain uses the + uClibc (available from http://www.uclibc.org/) + or uClibc-ng (available from http://www.uclibc-ng.org) + C library. + +config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC + bool "glibc/eglibc" + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Select this option if your external toolchain uses the GNU C + library (available from https://www.gnu.org/software/libc/) + or its variant the eglibc library (http://www.eglibc.org/). + + Note: eglibc is a variant of glibc that (among other things) + can be configured to exclude some of its features. Using a + toolchain with eglibc configured to exclude key features may + cause build failures to some packages. + +comment "(e)glibc only available with shared lib support" + depends on BR2_STATIC_LIBS + +config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL + bool "musl (experimental)" + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Select this option if your external toolchain uses the + 'musl' C library, available from http://www.musl-libc.org/. + +endchoice + +if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC + +config BR2_TOOLCHAIN_EXTERNAL_WCHAR + bool "Toolchain has WCHAR support?" + select BR2_USE_WCHAR + help + Select this option if your external toolchain supports + WCHAR. If you don't know, leave the default value, Buildroot + will tell you if it's correct or not. + +config BR2_TOOLCHAIN_EXTERNAL_LOCALE + bool "Toolchain has locale support?" + select BR2_TOOLCHAIN_EXTERNAL_WCHAR + select BR2_ENABLE_LOCALE + help + Select this option if your external toolchain has locale + support. If you don't know, leave the default value, + Buildroot will tell you if it's correct or not. + +config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS + bool "Toolchain has threads support?" + select BR2_TOOLCHAIN_HAS_THREADS + default y + help + Select this option if your external toolchain has thread + support. If you don't know, leave the default value, + Buildroot will tell you if it's correct or not. + +if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS + +config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG + bool "Toolchain has threads debugging support?" + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + default y + help + Select this option if your external toolchain has thread + debugging support. If you don't know, leave the default + value, Buildroot will tell you if it's correct or not. + +config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL + bool "Toolchain has NPTL threads support?" + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + default y + help + Select this option if your external toolchain uses the NPTL + (Native Posix Thread Library) implementation of Posix + threads. If you don't know, leave the default value, + Buildroot will tell you if it's correct or not. + +endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS + +endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC + +config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP + bool "Toolchain has SSP support?" + select BR2_TOOLCHAIN_HAS_SSP + default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC + default y if BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Selection this option if your external toolchain has Stack + Smashing Protection support enabled. If you don't know, + leave the default value, Buildroot will tell you if it's + correct or not. + +config BR2_TOOLCHAIN_EXTERNAL_INET_RPC + bool "Toolchain has RPC support?" + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL + default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Select this option if your external toolchain supports + RPC. If you don't know, leave the default value, Buildroot + will tell you if it's correct or not. + +config BR2_TOOLCHAIN_EXTERNAL_CXX + bool "Toolchain has C++ support?" + select BR2_INSTALL_LIBSTDCPP + help + Select this option if your external toolchain has C++ + support. If you don't know, leave the default value, + Buildroot will tell you if it's correct or not. + +config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS + string "Extra toolchain libraries to be copied to target" + help + If your external toolchain provides extra libraries that + need to be copied to the target filesystem, enter them + here, separated by spaces. They will be copied to the + target's /lib directory. + +endif diff --git a/toolchain/toolchain-external/toolchain-external-custom/toolchain-external-custom.mk b/toolchain/toolchain-external/toolchain-external-custom/toolchain-external-custom.mk new file mode 100644 index 0000000000..c4ae6125ef --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-custom/toolchain-external-custom.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# toolchain-external-custom +# +################################################################################ + +TOOLCHAIN_EXTERNAL_CUSTOM_SITE = $(patsubst %/,%,$(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))) +TOOLCHAIN_EXTERNAL_CUSTOM_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL))) + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CUSTOM),y) +# We can't check hashes for custom downloaded toolchains +BR_NO_CHECK_HASH_FOR += $(TOOLCHAIN_EXTERNAL_SOURCE) +endif + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 0680473ef9..e13d240c2f 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -69,12 +69,6 @@ else TOOLCHAIN_EXTERNAL_SYNOPSYS_ENDIANESS = be endif TOOLCHAIN_EXTERNAL_SOURCE = arc_gnu_2014.12_prebuilt_uclibc_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ENDIANESS)_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_CORE)_linux_install.tar.gz -else -# Custom toolchain -TOOLCHAIN_EXTERNAL_SITE = $(patsubst %/,%,$(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))) -TOOLCHAIN_EXTERNAL_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL))) -# We can't check hashes for custom downloaded toolchains -BR_NO_CHECK_HASH_FOR += $(TOOLCHAIN_EXTERNAL_SOURCE) endif # Some toolchain vendors have a regular file naming pattern. From a7ec35815272925b92d34e764b4a6079f14d0786 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 7 Nov 2016 02:20:16 +0100 Subject: [PATCH 116/180] toolchain-external-arc: new package This commit adds a new package for the Synopsys external toolchain for the ARC architecture. The legacy implementation is removed. Note that this toolchain is marked as BROKEN, but 2016.09 seems about to be released so maybe it will be unbroken soon. Signed-off-by: Thomas Petazzoni Signed-off-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- toolchain/toolchain-external/Config.in | 29 ++++--------------- .../toolchain-external-synopsys-arc/Config.in | 20 +++++++++++++ .../Config.in.options | 10 +++++++ .../toolchain-external-synopsys-arc.hash | 5 ++++ .../toolchain-external-synopsys-arc.mk | 24 +++++++++++++++ .../toolchain-external.hash | 6 ---- .../toolchain-external/toolchain-external.mk | 13 --------- 7 files changed, 65 insertions(+), 42 deletions(-) create mode 100644 toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in create mode 100644 toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options create mode 100644 toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash create mode 100644 toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index e592ec2528..fb337033f0 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -15,6 +15,9 @@ comment "glibc toolchains only available with shared lib support" source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in" source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in" +# ARC +source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in" + # ARM (use Linaro toolchain by default) source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in" source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in" @@ -93,27 +96,6 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE This toolchain uses software-floating point. -config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC - bool "Synopsys ARC 2014.12 toolchain" - depends on BR2_arc - depends on BR2_HOSTARCH = "x86_64" - # does not provide IPv6, and lacks many uClibc features - # expected by Buildroot. The next Synopsys toolchain version - # should fix those problems. - depends on BROKEN - select BR2_TOOLCHAIN_EXTERNAL_UCLIBC - select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_ENABLE_LOCALE - select BR2_USE_WCHAR - select BR2_TOOLCHAIN_HAS_THREADS - select BR2_TOOLCHAIN_HAS_THREADS_DEBUG - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - help - Toolchain for the ARC cores, from - https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases - endchoice choice @@ -147,8 +129,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PATH config BR2_TOOLCHAIN_EXTERNAL_PREFIX string - default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle - default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE @@ -182,6 +162,9 @@ config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options" source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options" +# ARC +source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options" + # ARM source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options" source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options" diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in new file mode 100644 index 0000000000..641eca8484 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in @@ -0,0 +1,20 @@ +config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC + bool "Synopsys ARC 2014.12 toolchain" + depends on BR2_arc + depends on BR2_HOSTARCH = "x86_64" + # does not provide IPv6, and lacks many uClibc features + # expected by Buildroot. The next Synopsys toolchain version + # should fix those problems. + depends on BROKEN + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_ENABLE_LOCALE + select BR2_USE_WCHAR + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + help + Toolchain for the ARC cores, from + https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options new file mode 100644 index 0000000000..ceb7dd0081 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options @@ -0,0 +1,10 @@ +if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "arc-linux" if BR2_arcle + default "arceb-linux" if BR2_arceb + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-synopsys-arc" + +endif diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash new file mode 100644 index 0000000000..b684cced9a --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 1fa4ea2c8616623205f1c7beca02ea31b019099528a7433e5b020b0876b93bf3 arc_gnu_2014.12_prebuilt_uclibc_le_arc700_linux_install.tar.gz +sha256 1080f07fcae2bfc176a3ea8d30b9ed8eaecab70fb786639d6ec70cae8322df10 arc_gnu_2014.12_prebuilt_uclibc_be_arc700_linux_install.tar.gz +sha256 aaaf6facd1f60a3cd2a537154ea39cd7d70501c175e30e01a97e8df6cb8226c7 arc_gnu_2014.12_prebuilt_uclibc_le_archs_linux_install.tar.gz +sha256 30711c5f15762764d4cd5ec1e6ced5b1fddd03aac41c424b0c4ec8a45d5d79cd arc_gnu_2014.12_prebuilt_uclibc_be_archs_linux_install.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk new file mode 100644 index 0000000000..14ea5e350c --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# toolchain-external-synopsys-arc +# +################################################################################ + +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION = 2014.12 +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_SITE = https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION) + +ifeq ($(BR2_arc750d)$(BR2_arc770d),y) +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_CORE = arc700 +else +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_CORE = archs +endif + +ifeq ($(BR2_arcle),y) +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_ENDIANESS = le +else +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_ENDIANESS = be +endif + +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_SOURCE = arc_gnu_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION)_prebuilt_uclibc_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ENDIANESS)_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_CORE)_linux_install.tar.gz + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash index a286ef2923..cc93998a58 100644 --- a/toolchain/toolchain-external/toolchain-external.hash +++ b/toolchain/toolchain-external/toolchain-external.hash @@ -6,9 +6,3 @@ sha256 f2febf3b3c565536461ad4405f1bcb835d75a6afb2a8bec958a1248cb4b81fc7 arago-2011.09-armv7a-linux-gnueabi-sdk.tar.bz2 sha256 254af7d02eb3bcc8345c78e131700bc995d65b68232caaed21150a5fd1456070 arago-2011.09-armv5te-linux-gnueabi-sdk.tar.bz2 sha256 25fbf0513ad7322b15cbaae964cafadcbb4c939f2708f57f40b8f9f2d601122b arago-toolchain-2011.09-sources.tar.bz2 - -# Synopsys DesignWare ARC toolchains -sha256 1fa4ea2c8616623205f1c7beca02ea31b019099528a7433e5b020b0876b93bf3 arc_gnu_2014.12_prebuilt_uclibc_le_arc700_linux_install.tar.gz -sha256 1080f07fcae2bfc176a3ea8d30b9ed8eaecab70fb786639d6ec70cae8322df10 arc_gnu_2014.12_prebuilt_uclibc_be_arc700_linux_install.tar.gz -sha256 aaaf6facd1f60a3cd2a537154ea39cd7d70501c175e30e01a97e8df6cb8226c7 arc_gnu_2014.12_prebuilt_uclibc_le_archs_linux_install.tar.gz -sha256 30711c5f15762764d4cd5ec1e6ced5b1fddd03aac41c424b0c4ec8a45d5d79cd arc_gnu_2014.12_prebuilt_uclibc_be_archs_linux_install.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index e13d240c2f..53f558369e 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -56,19 +56,6 @@ define TOOLCHAIN_EXTERNAL_FIXUP_CMDS rm -rf $(@D)/arago-2011.09/ endef TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC),y) -TOOLCHAIN_EXTERNAL_SITE = https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2014.12 -ifeq ($(BR2_arc750d)$(BR2_arc770d),y) -TOOLCHAIN_EXTERNAL_SYNOPSYS_CORE = arc700 -else -TOOLCHAIN_EXTERNAL_SYNOPSYS_CORE = archs -endif -ifeq ($(BR2_arcle),y) -TOOLCHAIN_EXTERNAL_SYNOPSYS_ENDIANESS = le -else -TOOLCHAIN_EXTERNAL_SYNOPSYS_ENDIANESS = be -endif -TOOLCHAIN_EXTERNAL_SOURCE = arc_gnu_2014.12_prebuilt_uclibc_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ENDIANESS)_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_CORE)_linux_install.tar.gz endif # Some toolchain vendors have a regular file naming pattern. From b5c00f09085251a122b0af08438685fa2304b73d Mon Sep 17 00:00:00 2001 From: Arnout Vandecappelle Date: Mon, 7 Nov 2016 02:20:17 +0100 Subject: [PATCH 117/180] toolchain-external: remove Arago toolchains The Arago toolchains are no longer maintained and haven't been updated for a long time. With this removal, all the legacy toolchain-external support can be removed as well. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- Config.in.legacy | 12 ++ toolchain/toolchain-external/Config.in | 53 +------- .../toolchain-external.hash | 8 -- .../toolchain-external/toolchain-external.mk | 123 ------------------ 4 files changed, 15 insertions(+), 181 deletions(-) delete mode 100644 toolchain/toolchain-external/toolchain-external.hash diff --git a/Config.in.legacy b/Config.in.legacy index 53fcf4e31f..c0b84980b6 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -145,6 +145,18 @@ endif ############################################################################### comment "Legacy options removed in 2017.02" +config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A + bool "Arago ARMv7 2011.09 removed" + select BR2_LEGACY + help + The Arago toolchains are every old and not updated anymore. + +config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE + bool "Arago ARMv5 2011.09 removed" + select BR2_LEGACY + help + The Arago toolchains are every old and not updated anymore. + config BR2_PACKAGE_SNOWBALL_HDMISERVICE bool "snowball-hdmiservice removed" select BR2_LEGACY diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index fb337033f0..2c39e5ae59 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -51,51 +51,6 @@ source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in" # architecture. source "toolchain/toolchain-external/toolchain-external-custom/Config.in" -config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A - bool "Arago ARMv7 2011.09" - depends on BR2_arm - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABI - depends on BR2_ARM_CPU_HAS_VFPV3 - depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 - # kernel headers: 2.6.31 - help - Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3, - binutils 2.20.1, glibc 2.12, gdb 7.2. - - This toolchain uses -mfloat-abi=softfp (i.e can use FPU - instructions, but passes floating point function arguments - in integer registers), and requires a VFPv3 floating point - unit to work properly. This unit is available on most - Cortex-A ARM processors, but not all. - -config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE - bool "Arago ARMv5 2011.09" - depends on BR2_arm - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on !BR2_ARM_CPU_ARMV4 - depends on BR2_ARM_EABI - depends on !BR2_STATIC_LIBS - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 - # kernel headers: 2.6.31 - help - Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc - 4.5.3, binutils 2.20.1, glibc 2.12, gdb 7.2. - - This toolchain uses software-floating point. - endchoice choice @@ -127,11 +82,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PATH help Path to where the external toolchain is installed. -config BR2_TOOLCHAIN_EXTERNAL_PREFIX - string - default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A - default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE - config BR2_TOOLCHAIN_EXTERNAL_GLIBC bool select BR2_TOOLCHAIN_USES_GLIBC @@ -154,6 +104,9 @@ config BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL string +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + string + # Kept toolchains sorted as in the choice above # The toolchain Config.in.options must define # BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL and BR2_TOOLCHAIN_EXTERNAL_PREFIX diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash deleted file mode 100644 index cc93998a58..0000000000 --- a/toolchain/toolchain-external/toolchain-external.hash +++ /dev/null @@ -1,8 +0,0 @@ -###################################### -# Next hashes are all locally computed - -# ARM toolchains from Texas Instrument's Arago project -# There is one source file that covers both binary distributions. -sha256 f2febf3b3c565536461ad4405f1bcb835d75a6afb2a8bec958a1248cb4b81fc7 arago-2011.09-armv7a-linux-gnueabi-sdk.tar.bz2 -sha256 254af7d02eb3bcc8345c78e131700bc995d65b68232caaed21150a5fd1456070 arago-2011.09-armv5te-linux-gnueabi-sdk.tar.bz2 -sha256 25fbf0513ad7322b15cbaae964cafadcbb4c939f2708f57f40b8f9f2d601122b arago-toolchain-2011.09-sources.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk index 53f558369e..48de1e71f2 100644 --- a/toolchain/toolchain-external/toolchain-external.mk +++ b/toolchain/toolchain-external/toolchain-external.mk @@ -15,129 +15,6 @@ ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) TOOLCHAIN_EXTERNAL_DEPENDENCIES += musl-compat-headers endif -# All the definition that are common between the toolchain-external -# generic package and the toolchain-external-package infrastructure -# can be found in pkg-toolchain-external.mk - -# Legacy toolchains that don't use the toolchain-external-package infrastructure -# yet. We can recognise that because no provider is set. -ifeq ($(call qstrip,$(BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL)),) - -# Now we are the provider. However, we can't set it to ourselves or we'll get a -# circular dependency. Let's set it to a target that we always depend on -# instead. -BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL = skeleton - -TOOLCHAIN_EXTERNAL_INSTALL_STAGING = YES - -# In fact, we don't need to download the toolchain, since it is already -# available on the system, so force the site and source to be empty so -# that nothing will be downloaded/extracted. -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED),y) -TOOLCHAIN_EXTERNAL_SITE = -TOOLCHAIN_EXTERNAL_SOURCE = -endif - -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A),y) -TOOLCHAIN_EXTERNAL_SITE = http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/exports -TOOLCHAIN_EXTERNAL_SOURCE = arago-2011.09-armv7a-linux-gnueabi-sdk.tar.bz2 -TOOLCHAIN_EXTERNAL_ACTUAL_SOURCE_TARBALL = arago-toolchain-2011.09-sources.tar.bz2 -define TOOLCHAIN_EXTERNAL_FIXUP_CMDS - mv $(@D)/arago-2011.09/armv7a/* $(@D)/ - rm -rf $(@D)/arago-2011.09/ -endef -TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE),y) -TOOLCHAIN_EXTERNAL_SITE = http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/exports -TOOLCHAIN_EXTERNAL_SOURCE = arago-2011.09-armv5te-linux-gnueabi-sdk.tar.bz2 -TOOLCHAIN_EXTERNAL_ACTUAL_SOURCE_TARBALL = arago-toolchain-2011.09-sources.tar.bz2 -define TOOLCHAIN_EXTERNAL_FIXUP_CMDS - mv $(@D)/arago-2011.09/armv5te/* $(@D)/ - rm -rf $(@D)/arago-2011.09/ -endef -TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_FIXUP_CMDS -endif - -# Some toolchain vendors have a regular file naming pattern. -# For them, mass-define _ACTUAL_SOURCE_TARBALL based _SITE. -ifneq ($(findstring sourcery.mentor.com/public/gnu_toolchain,$(TOOLCHAIN_EXTERNAL_SITE)),) -TOOLCHAIN_EXTERNAL_ACTUAL_SOURCE_TARBALL ?= \ - $(subst -i686-pc-linux-gnu.tar.bz2,.src.tar.bz2,$(subst -i686-pc-linux-gnu-i386-linux.tar.bz2,-i686-pc-linux-gnu.src.tar.bz2,$(TOOLCHAIN_EXTERNAL_SOURCE))) -endif - -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y) -TOOLCHAIN_EXTERNAL_EXCLUDES = usr/lib/locale/* - -TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += \ - TOOLCHAIN_EXTERNAL_MOVE -endif - -# Checks for an already installed toolchain: check the toolchain -# location, check that it is usable, and then verify that it -# matches the configuration provided in Buildroot: ABI, C++ support, -# kernel headers version, type of C library and all C library features. -define TOOLCHAIN_EXTERNAL_CONFIGURE_CMDS - $(Q)$(call check_cross_compiler_exists,$(TOOLCHAIN_EXTERNAL_CC)) - $(Q)$(call check_unusable_toolchain,$(TOOLCHAIN_EXTERNAL_CC)) - $(Q)SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC))" ; \ - $(call check_kernel_headers_version,\ - $(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC)),\ - $(call qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST))); \ - $(call check_gcc_version,$(TOOLCHAIN_EXTERNAL_CC),\ - $(call qstrip,$(BR2_TOOLCHAIN_GCC_AT_LEAST))); \ - if test "$(BR2_arm)" = "y" ; then \ - $(call check_arm_abi,\ - "$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS)",\ - $(TOOLCHAIN_EXTERNAL_READELF)) ; \ - fi ; \ - if test "$(BR2_INSTALL_LIBSTDCPP)" = "y" ; then \ - $(call check_cplusplus,$(TOOLCHAIN_EXTERNAL_CXX)) ; \ - fi ; \ - if test "$(BR2_TOOLCHAIN_HAS_FORTRAN)" = "y" ; then \ - $(call check_fortran,$(TOOLCHAIN_EXTERNAL_FC)) ; \ - fi ; \ - if test "$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)" = "y" ; then \ - $(call check_uclibc,$${SYSROOT_DIR}) ; \ - elif test "$(BR2_TOOLCHAIN_EXTERNAL_MUSL)" = "y" ; then \ - $(call check_musl,$${SYSROOT_DIR}) ; \ - else \ - $(call check_glibc,$${SYSROOT_DIR}) ; \ - fi - $(Q)$(call check_toolchain_ssp,$(TOOLCHAIN_EXTERNAL_CC)) -endef - -TOOLCHAIN_EXTERNAL_BUILD_CMDS = $(TOOLCHAIN_WRAPPER_BUILD) - -define TOOLCHAIN_EXTERNAL_INSTALL_STAGING_CMDS - $(TOOLCHAIN_WRAPPER_INSTALL) - $(TOOLCHAIN_EXTERNAL_CREATE_STAGING_LIB_SYMLINK) - $(TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS) - $(TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS_BFIN_FDPIC) - $(TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER) - $(TOOLCHAIN_EXTERNAL_INSTALL_GDBINIT) -endef - -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL),y) -TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_MUSL_LD_LINK -endif - -# Even though we're installing things in both the staging, the host -# and the target directory, we do everything within the -# install-staging step, arbitrarily. -define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_CMDS - $(TOOLCHAIN_EXTERNAL_CREATE_TARGET_LIB_SYMLINK) - $(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_LIBS) - $(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_GDBSERVER) - $(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FDPIC) - $(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FLAT) - $(TOOLCHAIN_EXTERNAL_FIXUP_UCLIBCNG_LDSO) -endef - -endif # BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - - -# Since a virtual package is just a generic package, we can still -# define commands for the legacy toolchains. $(eval $(virtual-package)) # Ensure the external-toolchain package has a prefix defined. From 9befe94baf990ee6331e77edb40e286e9dc4df8d Mon Sep 17 00:00:00 2001 From: Gilles Chanteperdrix Date: Wed, 23 Nov 2016 13:58:40 +0100 Subject: [PATCH 118/180] Makefile: generate SOURCE_DATE_EPOCH for reproducible builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When reproducibility is requested, generate a global SOURCE_DATE_EPOCH environment variable which contains either the date of Buildroot last commit if running from a git repository, or the latest release date. This means that all packages embedding build dates will appear to have the same build date, so in case of new commit or release, all packages will appear to have been changed, even though some of them may not have changed in fact. The meaning of SOURCE_DATE_EPOCH is specified by the following specification: https://reproducible-builds.org/specs/source-date-epoch/ Signed-off-by: Gilles Chanteperdrix Signed-off-by: Jérôme Pouiller Signed-off-by: Thomas Petazzoni --- Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile b/Makefile index eff814b8c6..8acbe58655 100644 --- a/Makefile +++ b/Makefile @@ -87,6 +87,8 @@ all: # Set and export the version string export BR2_VERSION := 2016.11-rc1 +# Actual time the release is cut (for reproducible builds) +BR2_VERSION_EPOCH = 1478206447 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -249,6 +251,8 @@ ifeq ($(BR2_REPRODUCIBLE),y) export TZ=UTC export LANG=C export LC_ALL=C +BR2_VERSION_GIT_EPOCH = $(shell GIT_DIR=$(TOPDIR)/.git $(GIT) log -1 --format=%at) +export SOURCE_DATE_EPOCH = $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH)) endif # To put more focus on warnings, be less verbose as default From 9b91b21dae40d6db1c320a76cfdbabeedcb2d1c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Date: Wed, 23 Nov 2016 13:58:42 +0100 Subject: [PATCH 119/180] Makefile: add '-n' to gzip invocations to improve reproducibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Default invocation to gzip include timestamp in output file. This feature is incompatible with BR2_REPRODUCIBLE. It is possible to disable it with '-n'. The environment variable GZIP can hold a set of default options for gzip. So instead to find all gzip invocation in build process, we just export 'GZIP=-n'. Notice bzip2, lzma and xz are not impacted by this problem. On the other hand, lzop does include timestamp and does not provide any way to disable it. This work was sponsored by `BA Robotic Systems'. Signed-off-by: Jérôme Pouiller Reviewed-by: Thomas Petazzoni Reviewed-by: Arnout Vandecappelle (Essensium/Mind) Signed-off-by: Thomas Petazzoni --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 8acbe58655..9e588dae7d 100644 --- a/Makefile +++ b/Makefile @@ -251,6 +251,7 @@ ifeq ($(BR2_REPRODUCIBLE),y) export TZ=UTC export LANG=C export LC_ALL=C +export GZIP = -n BR2_VERSION_GIT_EPOCH = $(shell GIT_DIR=$(TOPDIR)/.git $(GIT) log -1 --format=%at) export SOURCE_DATE_EPOCH = $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH)) endif From 59f9c4ca9feb2c070df508c7196f06a6e87307b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Date: Wed, 23 Nov 2016 13:58:43 +0100 Subject: [PATCH 120/180] fs/tar: make results reproducible MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In order to make tar images reproducible, force files order in tarball. This work was sponsored by `BA Robotic Systems'. Signed-off-by: Jérôme Pouiller Signed-off-by: Thomas Petazzoni --- fs/tar/tar.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/tar/tar.mk b/fs/tar/tar.mk index 11c69c5a8b..b14c977d76 100644 --- a/fs/tar/tar.mk +++ b/fs/tar/tar.mk @@ -7,7 +7,8 @@ TAR_OPTS := $(call qstrip,$(BR2_TARGET_ROOTFS_TAR_OPTIONS)) define ROOTFS_TAR_CMD - tar $(TAR_OPTS) -cf $@ --numeric-owner -C $(TARGET_DIR) . + (cd $(TARGET_DIR); find -print0 | LC_ALL=C sort -z | \ + tar $(TAR_OPTS) -cf $@ --null -T - --no-recursion --numeric-owner) endef $(eval $(call ROOTFS_TARGET,tar)) From af109fb44469a89b2576d167b02f02a811d13c12 Mon Sep 17 00:00:00 2001 From: Gilles Chanteperdrix Date: Wed, 23 Nov 2016 13:58:44 +0100 Subject: [PATCH 121/180] linux: override build timestamp for reproducible builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Linux kernel include a few information about build environment in its binary. This feature is incompatible with BR2_REPRODUCIBLE. This patch overload build information when BR2_REPRODUCIBLE is enabled. Note that usage of KBUILD_BUILD_TIMESTAMP is not mandatory since Buildroot use `fakedate'. However, native solution is prefered when upstream provide one. Signed-off-by: Gilles Chanteperdrix Reviewed-by: "Yann E. MORIN" Signed-off-by: Jérôme Pouiller Signed-off-by: Thomas Petazzoni --- linux/linux.mk | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/linux/linux.mk b/linux/linux.mk index 988427ca7c..7e826ccdf0 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -94,6 +94,14 @@ LINUX_MAKE_ENV = \ $(TARGET_MAKE_ENV) \ BR_BINARIES_DIR=$(BINARIES_DIR) +ifeq ($(BR2_REPRODUCIBLE),y) +LINUX_MAKE_ENV += \ + KBUILD_BUILD_VERSION=1 \ + KBUILD_BUILD_USER=buildroot \ + KBUILD_BUILD_HOST=buildroot \ + KBUILD_BUILD_TIMESTAMP="$(shell date -d @$(SOURCE_DATE_EPOCH))" +endif + # Get the real Linux version, which tells us where kernel modules are # going to be installed in the target filesystem. LINUX_VERSION_PROBED = `$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null` From a8254d32fd839ebd0a96863579832678eb6e0038 Mon Sep 17 00:00:00 2001 From: Gilles Chanteperdrix Date: Wed, 23 Nov 2016 13:58:46 +0100 Subject: [PATCH 122/180] busybox: disable build timestamps for reproducible builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Busybox includes some information about the build environment in its binary. For BR2_REPRODUCIBLE, remove that information. Signed-off-by: Gilles Chanteperdrix Signed-off-by: Jérôme Pouiller Reviewed-by: "Yann E. MORIN" Reviewed-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: Thomas Petazzoni Signed-off-by: Thomas Petazzoni --- package/busybox/busybox.mk | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index fc23a90a29..f4a241d38b 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -36,6 +36,12 @@ BUSYBOX_MAKE_ENV = \ $(TARGET_MAKE_ENV) \ CFLAGS="$(BUSYBOX_CFLAGS)" \ CFLAGS_busybox="$(BUSYBOX_CFLAGS_busybox)" + +ifeq ($(BR2_REPRODUCIBLE),y) +BUSYBOX_MAKE_ENV += \ + KCONFIG_NOTIMESTAMP=1 +endif + BUSYBOX_MAKE_OPTS = \ CC="$(TARGET_CC)" \ ARCH=$(KERNEL_ARCH) \ From 68db7210fd8e76120c27cdc4a1fe591de67c06c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Date: Wed, 23 Nov 2016 13:58:47 +0100 Subject: [PATCH 123/180] fs/common: lock modification times in $TARGET_DIR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make sure all files in $TARGET_DIR have a defined modification time before to generate filesystems. This work was sponsored by `BA Robotic Systems'. Signed-off-by: Jérôme Pouiller Reviewed-by: Thomas Petazzoni Reviewed-by: Arnout Vandecappelle (Essensium/Mind) Signed-off-by: Thomas Petazzoni --- fs/common.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/common.mk b/fs/common.mk index 2dbef4d7b0..981dcb1aa2 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -95,6 +95,9 @@ endif $$(foreach s,$$(call qstrip,$$(BR2_ROOTFS_POST_FAKEROOT_SCRIPT)),\ echo "echo '$$(TERM_BOLD)>>> Executing fakeroot script $$(s)$$(TERM_RESET)'" >> $$(FAKEROOT_SCRIPT); \ echo $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep)) +ifeq ($$(BR2_REPRODUCIBLE),y) + echo "find $$(TARGET_DIR) -print0 | xargs -0 -r touch -hd @$$(SOURCE_DATE_EPOCH)" >> $$(FAKEROOT_SCRIPT) +endif $$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT) chmod a+x $$(FAKEROOT_SCRIPT) PATH=$$(BR_PATH) $$(HOST_DIR)/usr/bin/pseudo -- $$(FAKEROOT_SCRIPT) From bedb16105dd6742d3209af7ef45c23a8bb1c077f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Date: Wed, 23 Nov 2016 13:58:56 +0100 Subject: [PATCH 124/180] Config.in: improve BR2_REPRODUCIBLE help text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Pouiller Signed-off-by: Thomas Petazzoni --- Config.in | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Config.in b/Config.in index 5cf0c4d290..98096dff12 100644 --- a/Config.in +++ b/Config.in @@ -707,6 +707,12 @@ config BR2_REPRODUCIBLE this allows to generate exactly identical binaries from one build to the other, including on different machines. + The current implementation is restricted to builds with the + same output directory. Many (absolute) paths are recorded in + intermediary files, and it is very likely that some of these + paths leak into the target rootfs. If you build with the + same O=... path, however, the result is identical. + This is labeled as an experimental feature, as not all packages behave properly to ensure reproducibility. From 3111f6a5109678fa08be44792b4708fd7d09eb4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Date: Wed, 23 Nov 2016 13:58:57 +0100 Subject: [PATCH 125/180] Makefile: make exported variable definitions consistent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use a space before and after the equal sign when defining the TZ, LANG and LC_ALL variables, as suggested by the Buildroot coding style. Signed-off-by: Jérôme Pouiller Signed-off-by: Thomas Petazzoni --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 9e588dae7d..7c582e5d78 100644 --- a/Makefile +++ b/Makefile @@ -248,9 +248,9 @@ endif # timezone and locale may affect build output ifeq ($(BR2_REPRODUCIBLE),y) -export TZ=UTC -export LANG=C -export LC_ALL=C +export TZ = UTC +export LANG = C +export LC_ALL = C export GZIP = -n BR2_VERSION_GIT_EPOCH = $(shell GIT_DIR=$(TOPDIR)/.git $(GIT) log -1 --format=%at) export SOURCE_DATE_EPOCH = $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH)) From 207294ffa9bbc0a01476646ed37afbd866b74191 Mon Sep 17 00:00:00 2001 From: Arnout Vandecappelle Date: Wed, 23 Nov 2016 15:14:04 +0100 Subject: [PATCH 126/180] makedevs: remove target package The makedevs package is a fork of the makedevs tool from busybox. It is part of the Buildroot infrastructure, not something that should be used on the target. It something like this is needed on the target, upstream busybox should be used. And if one of the Buildroot-specific features is needed, then that feature should be upstreamed to busybox. Besides, there were already two things wrong with the target package: - it didn't take into account the overlap with busybox (no depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS, no dependency on busybox); - it didn't take into account the libcap feature. The target package was introduced more or less accidentally in 81cd9d45 where the intention was to make it more similar to other packages. So, kill it with fire. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Signed-off-by: Thomas Petazzoni --- Config.in.legacy | 7 +++++++ package/Config.in | 1 - package/makedevs/Config.in | 5 ----- package/makedevs/makedevs.mk | 10 ---------- 4 files changed, 7 insertions(+), 16 deletions(-) delete mode 100644 package/makedevs/Config.in diff --git a/Config.in.legacy b/Config.in.legacy index c0b84980b6..cfb127610a 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -145,6 +145,13 @@ endif ############################################################################### comment "Legacy options removed in 2017.02" +config BR2_PACKAGE_MAKEDEVS + bool "makedevs removed" + select BR2_LEGACY + help + The makedevs tool is part of busybox. The Buildroot fork + should not be used outside of the Buildroot infrastructure. + config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A bool "Arago ARMv7 2011.09 removed" select BR2_LEGACY diff --git a/package/Config.in b/package/Config.in index b2e1a2a41b..b076dfd8b1 100644 --- a/package/Config.in +++ b/package/Config.in @@ -170,7 +170,6 @@ menu "Filesystem and flash utilities" source "package/genext2fs/Config.in" source "package/genpart/Config.in" source "package/genromfs/Config.in" - source "package/makedevs/Config.in" source "package/mmc-utils/Config.in" source "package/mtd/Config.in" source "package/mtools/Config.in" diff --git a/package/makedevs/Config.in b/package/makedevs/Config.in deleted file mode 100644 index 923150dd6d..0000000000 --- a/package/makedevs/Config.in +++ /dev/null @@ -1,5 +0,0 @@ -config BR2_PACKAGE_MAKEDEVS - bool "makedevs" - help - The makedevs utility allows to create a set of device files - according to a configuration file. diff --git a/package/makedevs/makedevs.mk b/package/makedevs/makedevs.mk index 95933c4f4e..9bd684f036 100644 --- a/package/makedevs/makedevs.mk +++ b/package/makedevs/makedevs.mk @@ -15,15 +15,6 @@ HOST_MAKEDEVS_CFLAGS += -DEXTENDED_ATTRIBUTES HOST_MAKEDEVS_LDFLAGS += -lcap endif -define MAKEDEVS_BUILD_CMDS - $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \ - package/makedevs/makedevs.c -o $(@D)/makedevs -endef - -define MAKEDEVS_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 755 $(@D)/makedevs $(TARGET_DIR)/usr/sbin/makedevs -endef - define HOST_MAKEDEVS_BUILD_CMDS $(HOSTCC) $(HOST_MAKEDEVS_CFLAGS) package/makedevs/makedevs.c \ -o $(@D)/makedevs $(HOST_MAKEDEVS_LDFLAGS) @@ -33,5 +24,4 @@ define HOST_MAKEDEVS_INSTALL_CMDS $(INSTALL) -D -m 755 $(@D)/makedevs $(HOST_DIR)/usr/bin/makedevs endef -$(eval $(generic-package)) $(eval $(host-generic-package)) From 921c94720bfff3dacd7c84216298046a75dec59c Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 23 Nov 2016 12:20:16 +0100 Subject: [PATCH 127/180] gcc: the special workaround for ARC is no longer required It seems with the change to gcc 6.x based toolchain this workaround is no longer required. Tested with an arc hs toolchain. Signed-off-by: Waldemar Brodkorb Acked-by: Alexey Brodkin Signed-off-by: Thomas Petazzoni --- package/gcc/gcc-initial/gcc-initial.mk | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk index 7bb988bdf7..a51e29cfc7 100644 --- a/package/gcc/gcc-initial/gcc-initial.mk +++ b/package/gcc/gcc-initial/gcc-initial.mk @@ -25,19 +25,6 @@ HOST_GCC_INITIAL_SUBDIR = build HOST_GCC_INITIAL_PRE_CONFIGURE_HOOKS += HOST_GCC_CONFIGURE_SYMLINK -# gcc on ARC has a bug: in its libgcc, even when no C library is -# available (--with-newlib is passed, and therefore inhibit_libc is -# defined), it tries to use the C library for the libgmon -# library. Since it's not needed in gcc-initial, we disabled it here. -ifeq ($(BR2_GCC_VERSION_ARC),y) -define HOST_GCC_INITIAL_DISABLE_LIBGMON - $(SED) 's/crtbeginS.o libgmon.a crtg.o/crtbeginS.o crtg.o/' \ - $(@D)/libgcc/config.host -endef -HOST_GCC_INITIAL_POST_PATCH_HOOKS += HOST_GCC_INITIAL_DISABLE_LIBGMON -HOST_GCC_INITIAL_POST_RSYNC_HOOKS += HOST_GCC_INITIAL_DISABLE_LIBGMON -endif - HOST_GCC_INITIAL_CONF_OPTS = \ $(HOST_GCC_COMMON_CONF_OPTS) \ --enable-languages=c \ From 5b7013c4ae3c4b183303204710a4bb3d717a4558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20PORTAY?= Date: Tue, 22 Nov 2016 15:53:33 -0500 Subject: [PATCH 128/180] Makefile: fix ignored trace at target-finalize MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make may throw an error (but ignored) trace when cleaning up the rootfs. The target-finalize rule intends to remove the folder `$(TARGET_DIR)/usr/share' but this directory may still contain items (such as the `udhcpc' helper script) and causes the rmdir to fail. The stderr output is redirected to /dev/null but it returns and error which is escaped by the leading `-'; but make reports an ignored-error. See the log below: $ make (...) rm -rf (...)/target/usr/share/gtk-doc rmdir (...)/target/usr/share rmdir: failed to remove '(...)/target/usr/share': Directory not empty make[1]: [Makefile:650: target-finalize] Error 1 (ignored) find /(...)/target -type f \( -perm /111 -o -name '*.so*' \) -not \( -name 'libpthread*.so*' -o -name 'ld-*.so*' -o -name '*.ko' \) -print0 | xargs -0 (...)/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-strip --remove-section=.comment --remove-section=.note 2>/dev/null || true This patch apply the same rule at the instruction immediately after: * redirecting stderr to /dev/null (already done) and * executing true if the `rmdir' instruction fails. Signed-off-by: Gaël PORTAY Reviewed-by: "Yann E. MORIN" Signed-off-by: Thomas Petazzoni --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 7c582e5d78..4f6269faa3 100644 --- a/Makefile +++ b/Makefile @@ -668,7 +668,7 @@ endif rm -rf $(TARGET_DIR)/usr/info $(TARGET_DIR)/usr/share/info rm -rf $(TARGET_DIR)/usr/doc $(TARGET_DIR)/usr/share/doc rm -rf $(TARGET_DIR)/usr/share/gtk-doc - -rmdir $(TARGET_DIR)/usr/share 2>/dev/null + rmdir $(TARGET_DIR)/usr/share 2>/dev/null || true $(STRIP_FIND_CMD) | xargs -0 $(STRIPCMD) 2>/dev/null || true # See http://sourceware.org/gdb/wiki/FAQ, "GDB does not see any threads From d634d9dda7f3c328d63469cb628c79da49a09e89 Mon Sep 17 00:00:00 2001 From: Sam bobroff Date: Wed, 23 Nov 2016 13:25:02 +1100 Subject: [PATCH 129/180] package/qemu: enable host QEMU for powerpc64/powerpc64le Signed-off-by: Sam Bobroff Signed-off-by: Thomas Petazzoni --- package/qemu/qemu.mk | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index cf23f16a3c..ae4e0ad221 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -34,6 +34,8 @@ HOST_QEMU_DEPENDENCIES = host-pkgconf host-python host-zlib host-libglib2 host-p # mips64 mips64 # mips64el mips64el # powerpc ppc +# powerpc64 ppc64 +# powerpc64le ppc64 (ppc64 supports little-endian) # sh2a not supported # sh4 sh4 # sh4eb sh4eb @@ -55,6 +57,12 @@ endif ifeq ($(HOST_QEMU_ARCH),powerpc) HOST_QEMU_ARCH = ppc endif +ifeq ($(HOST_QEMU_ARCH),powerpc64) +HOST_QEMU_ARCH = ppc64 +endif +ifeq ($(HOST_QEMU_ARCH),powerpc64le) +HOST_QEMU_ARCH = ppc64 +endif ifeq ($(HOST_QEMU_ARCH),sh4a) HOST_QEMU_ARCH = sh4 endif From 3fdb3af6316278400446511a7e6c53cde43f4a09 Mon Sep 17 00:00:00 2001 From: Dagg Stompler Date: Fri, 25 Nov 2016 09:48:46 +0200 Subject: [PATCH 130/180] odroid-scripts: init display as early as possible this commit will init the display as early as possible so the user can see on screen the boot process. the displey init will be called after the logging init to provide some logging of the init. Signed-off-by: Dagg Stompler Signed-off-by: Thomas Petazzoni --- package/odroid-scripts/{S50odroidc2_fb => S02odroidc2_fb} | 0 package/odroid-scripts/odroid-scripts.mk | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename package/odroid-scripts/{S50odroidc2_fb => S02odroidc2_fb} (100%) diff --git a/package/odroid-scripts/S50odroidc2_fb b/package/odroid-scripts/S02odroidc2_fb similarity index 100% rename from package/odroid-scripts/S50odroidc2_fb rename to package/odroid-scripts/S02odroidc2_fb diff --git a/package/odroid-scripts/odroid-scripts.mk b/package/odroid-scripts/odroid-scripts.mk index 858ec37fe8..72e7b95880 100644 --- a/package/odroid-scripts/odroid-scripts.mk +++ b/package/odroid-scripts/odroid-scripts.mk @@ -29,8 +29,8 @@ define ODROID_SCRIPTS_INSTALL_INIT_SYSTEMD endef define ODROID_SCRIPTS_INSTALL_INIT_SYSV - $(INSTALL) -D -m 0755 package/odroid-scripts/S50odroidc2_fb \ - $(TARGET_DIR)/etc/init.d/S50odroidc2_fb + $(INSTALL) -D -m 0755 package/odroid-scripts/S02odroidc2_fb \ + $(TARGET_DIR)/etc/init.d/S02odroidc2_fb endef $(eval $(generic-package)) From df6788e72be6e547cca067fa2da7d498ca3e4233 Mon Sep 17 00:00:00 2001 From: Dagg Stompler Date: Fri, 25 Nov 2016 09:52:55 +0200 Subject: [PATCH 131/180] odroid-scripts: bump version to cfd289b1d69136b8bfd725d90cd648da4654f2bd - add support for new monitor modes. - fix cvbs modes Signed-off-by: Dagg Stompler Signed-off-by: Thomas Petazzoni --- package/odroid-scripts/odroid-scripts.hash | 2 +- package/odroid-scripts/odroid-scripts.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/odroid-scripts/odroid-scripts.hash b/package/odroid-scripts/odroid-scripts.hash index 8fd4b2c642..e5a262d209 100644 --- a/package/odroid-scripts/odroid-scripts.hash +++ b/package/odroid-scripts/odroid-scripts.hash @@ -1,2 +1,2 @@ # Locally computed hash -sha256 779e8beccf8c66d51e495a4cc0e6eccf72c295499a1ecdc0740aa4459de786a0 odroid-scripts-a252de04562dcf8d8a4918a544b45a9e3d46d2fb.tar.gz +sha256 9d61472ee6aed2d1a7b5afdcb91b823003c8524a242572f24f89d4e57323daf3 odroid-scripts-cfd289b1d69136b8bfd725d90cd648da4654f2bd.tar.gz diff --git a/package/odroid-scripts/odroid-scripts.mk b/package/odroid-scripts/odroid-scripts.mk index 72e7b95880..fc1940dcef 100644 --- a/package/odroid-scripts/odroid-scripts.mk +++ b/package/odroid-scripts/odroid-scripts.mk @@ -4,7 +4,7 @@ # ################################################################################ -ODROID_SCRIPTS_VERSION = a252de04562dcf8d8a4918a544b45a9e3d46d2fb +ODROID_SCRIPTS_VERSION = cfd289b1d69136b8bfd725d90cd648da4654f2bd ODROID_SCRIPTS_SITE = $(call github,mdrjr,c2_bootini,$(ODROID_SCRIPTS_VERSION)) ODROID_SCRIPTS_LICENSE = unclear From f36dccef818bb8ef36e15a71094c2e6eb66de463 Mon Sep 17 00:00:00 2001 From: Sam Mendoza-Jonas Date: Fri, 25 Nov 2016 13:19:53 +1100 Subject: [PATCH 132/180] package/kexec-lite: Update to latest version Upstream kexec-lite now has support for kexec on POWER9 based machines. Update so this works in simulators and is ready for when real machines are available. Signed-off-by: Samuel Mendoza-Jonas Acked-by: Joel Stanley Signed-off-by: Thomas Petazzoni --- package/kexec-lite/kexec-lite.hash | 2 +- package/kexec-lite/kexec-lite.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/kexec-lite/kexec-lite.hash b/package/kexec-lite/kexec-lite.hash index e8179b7021..0f212241da 100644 --- a/package/kexec-lite/kexec-lite.hash +++ b/package/kexec-lite/kexec-lite.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 2300187bf25616c382cb2f191a2eb13033e019511854794ce234a76cf9f5ad6b kexec-lite-783fb4a811d0b0f8cc2ed68fa7872dcad56a3944.tar.gz +sha256 5786ddc0c94ead4fd4a1fded44bb1da0c9bc91af08049fed373ea161603e1e1f kexec-lite-86e45a47e8cc1f598ccfa9b873a23067f4ecc36f.tar.gz diff --git a/package/kexec-lite/kexec-lite.mk b/package/kexec-lite/kexec-lite.mk index 27bc20485d..2467306dab 100644 --- a/package/kexec-lite/kexec-lite.mk +++ b/package/kexec-lite/kexec-lite.mk @@ -4,7 +4,7 @@ # ################################################################################ -KEXEC_LITE_VERSION = 783fb4a811d0b0f8cc2ed68fa7872dcad56a3944 +KEXEC_LITE_VERSION = 86e45a47e8cc1f598ccfa9b873a23067f4ecc36f KEXEC_LITE_SITE = $(call github,antonblanchard,kexec-lite,$(KEXEC_LITE_VERSION)) KEXEC_LITE_LICENSE = GPLv2+ KEXEC_LITE_DEPENDENCIES = elfutils dtc From 9d49e3c0e9e16995bf712865fe8df5d029eeea7f Mon Sep 17 00:00:00 2001 From: Sam bobroff Date: Thu, 24 Nov 2016 16:56:42 +1100 Subject: [PATCH 133/180] package/qemu: fixup enable host QEMU for powerpc64/powerpc64le Fixes next commit d634d9dda7f3c328d63469cb628c79da49a09e89, which itself fixes: http://autobuild.buildroot.net/results/f58ec73d906a5da49a88ed78492e3b5bf8cecdd4/ Signed-off-by: Sam Bobroff Signed-off-by: Thomas Petazzoni --- package/qemu/qemu.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index ae4e0ad221..45fc0fad0a 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -35,7 +35,7 @@ HOST_QEMU_DEPENDENCIES = host-pkgconf host-python host-zlib host-libglib2 host-p # mips64el mips64el # powerpc ppc # powerpc64 ppc64 -# powerpc64le ppc64 (ppc64 supports little-endian) +# powerpc64le ppc64le # sh2a not supported # sh4 sh4 # sh4eb sh4eb @@ -61,7 +61,7 @@ ifeq ($(HOST_QEMU_ARCH),powerpc64) HOST_QEMU_ARCH = ppc64 endif ifeq ($(HOST_QEMU_ARCH),powerpc64le) -HOST_QEMU_ARCH = ppc64 +HOST_QEMU_ARCH = ppc64le endif ifeq ($(HOST_QEMU_ARCH),sh4a) HOST_QEMU_ARCH = sh4 From 23b949fdb0f7a4d2582929defa8c17ff5b1a5d1a Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 23 Nov 2016 14:39:09 +0000 Subject: [PATCH 134/180] moarvm: bump version to 2016.11 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/moarvm/moarvm.hash | 2 +- package/moarvm/moarvm.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/moarvm/moarvm.hash b/package/moarvm/moarvm.hash index 514a1bfe80..2e49811d14 100644 --- a/package/moarvm/moarvm.hash +++ b/package/moarvm/moarvm.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 d8cb9fe74267dd933c3e405b098dea99cb9c0561aedb06e8efd8ddaef43396d0 MoarVM-2016.10.tar.gz +sha256 5eaa8ff47b1c25e023a900947f88222fffe0884ce74652659ecd2265ae2d1387 MoarVM-2016.11.tar.gz diff --git a/package/moarvm/moarvm.mk b/package/moarvm/moarvm.mk index d2421fd78a..644432eda7 100644 --- a/package/moarvm/moarvm.mk +++ b/package/moarvm/moarvm.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOARVM_VERSION = 2016.10 +MOARVM_VERSION = 2016.11 MOARVM_SITE = http://moarvm.com/releases MOARVM_SOURCE = MoarVM-$(MOARVM_VERSION).tar.gz MOARVM_LICENSE = Artistic-2.0 From 40cbdf6de070db116e44a52b4a232d24ce850186 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 23 Nov 2016 14:39:10 +0000 Subject: [PATCH 135/180] moarvm: use pkgconfig to find libraries and headers MoarVM's Configure.pl script uses pkgconfig to find libraries and headers, but it uses the one installed in the host machine which is wrong and can lead to errors of unsafe include paths. Instead, make it depend on the host-pkgconf package and specify the path to our pkgconfig binary by using the --pkgconfig configure option. Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/moarvm/moarvm.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package/moarvm/moarvm.mk b/package/moarvm/moarvm.mk index 644432eda7..80bd19c92d 100644 --- a/package/moarvm/moarvm.mk +++ b/package/moarvm/moarvm.mk @@ -10,7 +10,7 @@ MOARVM_SOURCE = MoarVM-$(MOARVM_VERSION).tar.gz MOARVM_LICENSE = Artistic-2.0 MOARVM_LICENSE_FILES = Artistic2.txt MOARVM_INSTALL_STAGING = YES -MOARVM_DEPENDENCIES = host-luajit libuv libtommath libatomic_ops +MOARVM_DEPENDENCIES = host-luajit host-pkgconf libuv libtommath libatomic_ops MOARVM_CONF_OPTS = \ --build=$(GNU_HOST_NAME) \ @@ -19,6 +19,7 @@ MOARVM_CONF_OPTS = \ --cc="$(TARGET_CC)" \ --ld="$(TARGET_CC)" \ --prefix="/usr" \ + --pkgconfig=$(PKG_CONFIG_HOST_BINARY) \ --lua=$(HOST_DIR)/usr/bin/luajit \ --has-libuv \ --has-libtommath \ From a8981b3785d6719bc8a2869a5931ab3abd48a2b4 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 23 Nov 2016 14:39:11 +0000 Subject: [PATCH 136/180] moarvm: enable optional support for libffi Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/moarvm/moarvm.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/package/moarvm/moarvm.mk b/package/moarvm/moarvm.mk index 80bd19c92d..d09117471f 100644 --- a/package/moarvm/moarvm.mk +++ b/package/moarvm/moarvm.mk @@ -25,6 +25,11 @@ MOARVM_CONF_OPTS = \ --has-libtommath \ --has-libatomic +ifeq ($(BR2_PACKAGE_LIBFFI),y) +MOARVM_CONF_OPTS += --has-libffi +MOARVM_DEPENDENCIES += libffi +endif + ifeq ($(BR2_ENDIAN),"BIG") MOARVM_CONF_OPTS += --big-endian endif From 507025a933c2b1624a4e9929e3a1fed9dfc4ff44 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 23 Nov 2016 14:39:12 +0000 Subject: [PATCH 137/180] moarvm: select libffi when building for MIPS Otherwise the compilation will fail like this: ./libmoar.so: undefined reference to `dcCallbackThunkEntry' See: https://github.com/MoarVM/MoarVM/issues/222 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/moarvm/Config.in | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package/moarvm/Config.in b/package/moarvm/Config.in index 3e0a1045ec..76343d1199 100644 --- a/package/moarvm/Config.in +++ b/package/moarvm/Config.in @@ -9,6 +9,9 @@ config BR2_PACKAGE_MOARVM select BR2_PACKAGE_LIBUV select BR2_PACKAGE_LIBTOMMATH select BR2_PACKAGE_LIBATOMIC_OPS + # dyncall does not work on MIPS; libffi needs to be used. + # See: https://github.com/MoarVM/MoarVM/issues/222 + select BR2_PACKAGE_LIBFFI if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el help Short for "Metamodel On A Runtime", MoarVM is a virtual machine built especially for Rakudo Perl 6 and the NQP Compiler Toolchain. From 8fa73e6bd692d07bb27a0f1864a30f992d5d5c31 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 23 Nov 2016 14:39:13 +0000 Subject: [PATCH 138/180] libatomic_ops: add support for MIPS architecture Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/libatomic_ops/Config.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package/libatomic_ops/Config.in b/package/libatomic_ops/Config.in index c6fe7a03b4..e9206f3395 100644 --- a/package/libatomic_ops/Config.in +++ b/package/libatomic_ops/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS bool - default y if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || BR2_sparc || BR2_sparc64 || BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || BR2_x86_64 + default y if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || BR2_sparc || BR2_sparc64 || BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || BR2_x86_64 || BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + # Unsupported for MIPS R6 + depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 config BR2_PACKAGE_LIBATOMIC_OPS bool "libatomic_ops" From abeab9ce934ad26785d476492d06b3ad38000f41 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 23 Nov 2016 14:39:14 +0000 Subject: [PATCH 139/180] libatomic_ops: bump version to 7.4.4 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/libatomic_ops/libatomic_ops.hash | 2 +- package/libatomic_ops/libatomic_ops.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/libatomic_ops/libatomic_ops.hash b/package/libatomic_ops/libatomic_ops.hash index d91f7059d0..47a281ddf2 100644 --- a/package/libatomic_ops/libatomic_ops.hash +++ b/package/libatomic_ops/libatomic_ops.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 2616be0a2f70f7e3eb12f131a36e32723ed5a1928f17b886c3e7c62f7ed14339 libatomic_ops-libatomic_ops-7_4_2.tar.gz +sha256 ef8335676f18a111f885d48810ab090fb6bfad94e5a5dd76cdccd2a536828662 libatomic_ops-libatomic_ops-7_4_4.tar.gz diff --git a/package/libatomic_ops/libatomic_ops.mk b/package/libatomic_ops/libatomic_ops.mk index fd45726750..b5e217237c 100644 --- a/package/libatomic_ops/libatomic_ops.mk +++ b/package/libatomic_ops/libatomic_ops.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBATOMIC_OPS_VERSION = libatomic_ops-7_4_2 +LIBATOMIC_OPS_VERSION = libatomic_ops-7_4_4 LIBATOMIC_OPS_SITE = $(call github,ivmai,libatomic_ops,$(LIBATOMIC_OPS_VERSION)) LIBATOMIC_OPS_AUTORECONF = YES From 006ba68a3020477e8358eb0253acaf15220b84b5 Mon Sep 17 00:00:00 2001 From: Arnout Vandecappelle Date: Thu, 24 Nov 2016 00:40:34 +0100 Subject: [PATCH 140/180] toolchain-external: support gcc < 4.3 We currently support gcc as old as 4.3. However, Buildroot works perfectly well with even older gcc versions (tested with 4.1). So we can add an option BR2_TOOLCHAIN_EXTERNAL_GCC_OLD to support that. The help text of this option is written with plenty of discouragement. We use _OLD and not something like _PRE_4_3, because at some point we will likely remove the 4.3 option and what would then require a name change. We don't set any _AT_LEAST option in this case because it's no use - there is no lower bound on the version in this case. We therefore leave BR2_TOOLCHAIN_GCC_AT_LEAST empty (the implicit default). When it is empty, we don't do a version check at all in check_gcc_version (previously we errored out when it was empty). Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Signed-off-by: Thomas Petazzoni --- toolchain/helpers.mk | 3 +-- .../toolchain-external-custom/Config.in.options | 11 +++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk index 3991bc1cf1..72e7292353 100644 --- a/toolchain/helpers.mk +++ b/toolchain/helpers.mk @@ -145,8 +145,7 @@ check_kernel_headers_version = \ check_gcc_version = \ expected_version="$(strip $2)" ; \ if [ -z "$${expected_version}" ]; then \ - printf "Internal error, gcc version unknown (no GCC_AT_LEAST_X_Y selected)\n"; \ - exit 1 ; \ + exit 0 ; \ fi; \ real_version=`$(1) --version | sed -r -e '1!d; s/^[^)]+\) ([^[:space:]]+).*/\1/;'` ; \ if [[ ! "$${real_version}" =~ ^$${expected_version}\. ]] ; then \ diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index cdc25559fa..5ff2491e19 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -59,6 +59,17 @@ config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3 bool "4.3.x" select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 +config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD + bool "older" + help + Use this option if your GCC version is older than any of the + above. + + Note that the Buildroot community doesn't do any testing with + such old toolchains. Some packages may fail to build in + surprising ways, or the generated root filesystem may not + work at all. Use such old toolchains at your own risk. + endchoice choice From 311bc137da2952445683413794f3ebc8e477c9ef Mon Sep 17 00:00:00 2001 From: Arnout Vandecappelle Date: Thu, 24 Nov 2016 00:40:35 +0100 Subject: [PATCH 141/180] toolchain: kill ADI Blackfin toolchain This toolchain has many problems which are fixed in contemporary gcc and uClibc-ng. In addition, several hacks are needed to be able to work with this toolchain. All these hacks are removed as well. Also the package exceptions for this toolchain are removed. The BR2_BFIN_INSTALL_FDPIC_SHARED and BR2_BFIN_INSTALL_FLAT_SHARED options don't get a legacy entry. For the ADI toolchain, there already is a legacy entry, so it doesn't make sense to add it twice. For other external toolchains, these options didn't actually work, because they rely on the specific layout of the ADI toolchain. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Signed-off-by: Thomas Petazzoni --- Config.in.legacy | 8 +++ package/glog/Config.in | 3 - package/php-amqp/Config.in | 2 - package/rabbitmq-c/Config.in | 4 -- package/tinycbor/Config.in | 2 - package/x264/Config.in | 1 - toolchain/toolchain-external/Config.in | 33 ----------- .../pkg-toolchain-external.mk | 59 ------------------- .../Config.in | 17 ------ .../Config.in.options | 10 ---- .../toolchain-external-blackfin-uclinux.hash | 3 - .../toolchain-external-blackfin-uclinux.mk | 33 ----------- 12 files changed, 8 insertions(+), 167 deletions(-) delete mode 100644 toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in delete mode 100644 toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options delete mode 100644 toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.hash delete mode 100644 toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.mk diff --git a/Config.in.legacy b/Config.in.legacy index cfb127610a..aeefb392c3 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -145,6 +145,14 @@ endif ############################################################################### comment "Legacy options removed in 2017.02" +config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX + bool "Blackfin.uclinux.org 2014R1 toolchain removed" + select BR2_LEGACY + help + The ADI Blackfin toolchain has many bugs which are fixed in + more recent gcc and uClibc-ng releases. Use the Buildroot + toolchain instead. + config BR2_PACKAGE_MAKEDEVS bool "makedevs removed" select BR2_LEGACY diff --git a/package/glog/Config.in b/package/glog/Config.in index f708758101..534997af49 100644 --- a/package/glog/Config.in +++ b/package/glog/Config.in @@ -3,14 +3,11 @@ config BR2_PACKAGE_GLOG depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS - # build issues with this external toolchain - depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX help C++ implementation of the Google logging module https://github.com/google/glog comment "glog needs a toolchain w/ C++, threads, dynamic library" - depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ BR2_STATIC_LIBS diff --git a/package/php-amqp/Config.in b/package/php-amqp/Config.in index 253bfa7b7c..0aa2021f5a 100644 --- a/package/php-amqp/Config.in +++ b/package/php-amqp/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_PHP_AMQP bool "php-amqp" depends on BR2_PACKAGE_PHP depends on BR2_TOOLCHAIN_HAS_THREADS # rabbitmq-c - depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX # rabbitmq-c select BR2_PACKAGE_RABBITMQ_C help Communicate with any AMQP compliant server. @@ -11,4 +10,3 @@ config BR2_PACKAGE_PHP_AMQP comment "php-amqp needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX diff --git a/package/rabbitmq-c/Config.in b/package/rabbitmq-c/Config.in index 0d08233a70..b330c90474 100644 --- a/package/rabbitmq-c/Config.in +++ b/package/rabbitmq-c/Config.in @@ -1,9 +1,6 @@ config BR2_PACKAGE_RABBITMQ_C bool "rabbitmq-c" depends on BR2_TOOLCHAIN_HAS_THREADS - # too old uClibc, not providing posix_spawn functions - # http://autobuild.buildroot.net/results/a6c3e79c61c5a535970d03bf37b068349f766a7f/ - depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX help This is a C-language AMQP client library for use with v2.0+ of the RabbitMQ broker. @@ -12,4 +9,3 @@ config BR2_PACKAGE_RABBITMQ_C comment "rabbitmq-c needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX diff --git a/package/tinycbor/Config.in b/package/tinycbor/Config.in index cf176e46fe..41f0b5fac3 100644 --- a/package/tinycbor/Config.in +++ b/package/tinycbor/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_TINYCBOR bool "tinycbor" - # package uses fopencookie(), not available with this toolchain - depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX help Concise Binary Object Representation (CBOR) Library diff --git a/package/x264/Config.in b/package/x264/Config.in index 7bf2319f26..be3ab3f3e2 100644 --- a/package/x264/Config.in +++ b/package/x264/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_X264 bool "x264" - depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX # madvise() help x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 2c39e5ae59..c007e623fd 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -25,9 +25,6 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config. # ARM big-endian source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in" -# Blackfin -source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in" - # MIPS (use codesourcery toolchain by default) source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in" source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in" @@ -125,9 +122,6 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config. # ARM big-endian source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options" -# Blackfin -source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options" - # MIPS source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options" source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options" @@ -156,31 +150,4 @@ config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY Copy the gdbserver provided by the external toolchain to the target. -# When the FDPIC shared binary format is used, the corresponding libraries are -# always installed. When a different binary format is used, we offer the option -# of installing the FDPIC shared libraries. -config BR2_BFIN_INSTALL_FDPIC_SHARED - bool "Install FDPIC shared libraries" - depends on BR2_bfin && !BR2_BINFMT_FDPIC - help - The Linux kernel supports running both FDPIC and FLAT applications - concurrently if the binary format specific libraries are installed - properly. This option allows developer to install FDPIC libraries - into a buildroot rootfs image built with binary format that is not - FDPIC. - -# When the FLAT shared binary format is used, we force the installation -# of the corresponding libraries. When a different binary format is -# used, we offer the option of installing the FLAT shared libraries. -config BR2_BFIN_INSTALL_FLAT_SHARED - bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED - depends on BR2_bfin - default y if BR2_BINFMT_FLAT_SHARED - help - The Linux kernel supports running both FDPIC and FLAT applications - concurrently if the binary format specific libraries are installed - properly. This option allows developer to install FLAT libraries - into a buildroot rootfs image built with binary format that is not - shared FLAT. - endif # BR2_TOOLCHAIN_EXTERNAL diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk index 3cac5202d3..e0a8b410c0 100644 --- a/toolchain/toolchain-external/pkg-toolchain-external.mk +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk @@ -16,7 +16,6 @@ # MIPS, PowerPC, x86, x86_64 and NIOS 2 architectures. For the MIPS # toolchain, the -muclibc variant isn't supported yet, only the # default glibc-based variant is. -# * Analog Devices toolchains for the Blackfin architecture # * Xilinx toolchains for the Microblaze architecture # * Synopsys DesignWare toolchains for ARC cores # @@ -79,12 +78,8 @@ ifneq ($(TOOLCHAIN_EXTERNAL_PREFIX),) TOOLCHAIN_EXTERNAL_BIN := $(shell dirname $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc)) endif else -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX),y) -TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/$(TOOLCHAIN_EXTERNAL_PREFIX)/bin -else TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/bin endif -endif # If this is a buildroot toolchain, it already has a wrapper which we want to # bypass. Since this is only evaluated after it has been extracted, we can use @@ -505,57 +500,6 @@ define TOOLCHAIN_EXTERNAL_MUSL_LD_LINK endef endif -# -# Various functions used by the external toolchain package -# infrastructure to handle the Blackfin specific -# BR2_BFIN_INSTALL_FDPIC_SHARED and BR2_BFIN_INSTALL_FLAT_SHARED -# options. -# - -# Special installation target used on the Blackfin architecture when -# FDPIC is not the primary binary format being used, but the user has -# nonetheless requested the installation of the FDPIC libraries to the -# target filesystem. -ifeq ($(BR2_BFIN_INSTALL_FDPIC_SHARED),y) -define TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS_BFIN_FDPIC - $(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to staging...") - $(Q)FDPIC_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))/../../bfin-linux-uclibc/bin/bfin-linux-uclibc-gcc ; \ - FDPIC_SYSROOT_DIR="$(call toolchain_find_sysroot,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - FDPIC_LIB_DIR="$(call toolchain_find_libdir,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \ - FDPIC_SUPPORT_LIB_DIR="" ; \ - if test `find $${FDPIC_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \ - FDPIC_LIBSTDCPP_A_LOCATION=$$(LANG=C $${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \ - if [ -e "$${FDPIC_LIBSTDCPP_A_LOCATION}" ]; then \ - FDPIC_SUPPORT_LIB_DIR=`readlink -f $${FDPIC_LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \ - fi ; \ - fi ; \ - $(call copy_toolchain_sysroot,$${FDPIC_SYSROOT_DIR},$${FDPIC_SYSROOT_DIR},,$${FDPIC_LIB_DIR},$${FDPIC_SUPPORT_LIB_DIR}) -endef -define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FDPIC - $(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to target...") - $(Q)for libs in $(TOOLCHAIN_EXTERNAL_LIBS); do \ - $(call copy_toolchain_lib_root,$$libs); \ - done -endef -endif - -# Special installation target used on the Blackfin architecture when -# shared FLAT is not the primary format being used, but the user has -# nonetheless requested the installation of the shared FLAT libraries -# to the target filesystem. The flat libraries are found and linked -# according to the index in name "libN.so". Index 1 is reserved for -# the standard C library. Customer libraries can use 4 and above. -ifeq ($(BR2_BFIN_INSTALL_FLAT_SHARED),y) -define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FLAT - $(Q)$(call MESSAGE,"Install external toolchain FLAT libraries to target...") - $(Q)FLAT_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))../../bfin-uclinux/bin/bfin-uclinux-gcc ; \ - FLAT_LIBC_A_LOCATION=`$${FLAT_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -mid-shared-library -print-file-name=libc`; \ - if [ -f $${FLAT_LIBC_A_LOCATION} -a ! -h $${FLAT_LIBC_A_LOCATION} ] ; then \ - $(INSTALL) -D $${FLAT_LIBC_A_LOCATION} $(TARGET_DIR)/lib/lib1.so; \ - fi -endef -endif - # uClibc-ng dynamic loader is called ld-uClibc.so.1, but gcc is not # patched specifically for uClibc-ng, so it continues to generate # binaries that expect the dynamic loader to be named ld-uClibc.so.0, @@ -644,7 +588,6 @@ define $(2)_INSTALL_STAGING_CMDS $$(TOOLCHAIN_WRAPPER_INSTALL) $$(TOOLCHAIN_EXTERNAL_CREATE_STAGING_LIB_SYMLINK) $$(TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS) - $$(TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS_BFIN_FDPIC) $$(TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER) $$(TOOLCHAIN_EXTERNAL_INSTALL_GDBINIT) endef @@ -660,8 +603,6 @@ define $(2)_INSTALL_TARGET_CMDS $$(TOOLCHAIN_EXTERNAL_CREATE_TARGET_LIB_SYMLINK) $$(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_LIBS) $$(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_GDBSERVER) - $$(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FDPIC) - $$(TOOLCHAIN_EXTERNAL_INSTALL_TARGET_BFIN_FLAT) $$(TOOLCHAIN_EXTERNAL_FIXUP_UCLIBCNG_LDSO) endef diff --git a/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in b/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in deleted file mode 100644 index 8b299e857c..0000000000 --- a/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in +++ /dev/null @@ -1,17 +0,0 @@ -config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX - bool "Blackfin.uclinux.org 2014R1" - depends on BR2_bfin - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - select BR2_TOOLCHAIN_EXTERNAL_UCLIBC - select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_USE_WCHAR - select BR2_TOOLCHAIN_HAS_THREADS - select BR2_TOOLCHAIN_HAS_THREADS_DEBUG - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 - select BR2_TOOLCHAIN_HAS_FORTRAN - help - Toolchain for the Blackfin architecture, from - http://blackfin.uclinux.org. diff --git a/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options b/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options deleted file mode 100644 index 3b7f457eb8..0000000000 --- a/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options +++ /dev/null @@ -1,10 +0,0 @@ -if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX - -config BR2_TOOLCHAIN_EXTERNAL_PREFIX - default "bfin-uclinux" if BR2_BINFMT_FLAT - default "bfin-linux-uclibc" if BR2_BINFMT_FDPIC - -config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - default "toolchain-external-blackfin-uclinux" - -endif diff --git a/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.hash b/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.hash deleted file mode 100644 index b320d94ef0..0000000000 --- a/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 e424e90d8481d942a40266d78d1488726561fed3ec38403094f98055e61889d0 blackfin-toolchain-2014R1-RC2.i386.tar.bz2 -sha256 c65b1b4b918d5185349d62a3b7bf43b4b21e1175c52598ec047ca56b3f11d857 blackfin-toolchain-uclibc-full-2014R1-RC2.i386.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.mk b/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.mk deleted file mode 100644 index 0a48220e3d..0000000000 --- a/toolchain/toolchain-external/toolchain-external-blackfin-uclinux/toolchain-external-blackfin-uclinux.mk +++ /dev/null @@ -1,33 +0,0 @@ -################################################################################ -# -# toolchain-external-blackfin-uclinux -# -################################################################################ - -TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION_MAJOR = 2014R1 -TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION = $(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION_MAJOR)-RC2 - -ifeq ($(BR2_BINFMT_FLAT),y) -TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_SUBDIR = bfin-uclinux -else -TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_SUBDIR = bfin-linux-uclibc -endif - -TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_SITE = http://downloads.sourceforge.net/project/adi-toolchain/$(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION_MAJOR)/$(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION)/i386 -TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_SOURCE = blackfin-toolchain-$(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION).i386.tar.bz2 -TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_EXTRA_DOWNLOADS = blackfin-toolchain-uclibc-full-$(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_VERSION).i386.tar.bz2 - -TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_STRIP_COMPONENTS = 3 - -# Special handling for Blackfin toolchain, because of the split in two -# tarballs, and the organization of tarball contents. The tarballs -# contain ./opt/uClinux/{bfin-uclinux,bfin-linux-uclibc} directories, -# which themselves contain the toolchain. This is why we strip more -# components than usual. -define TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_UCLIBC_EXTRA_EXTRACT - $(call suitable-extractor,$(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_EXTRA_DOWNLOADS)) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_EXTRA_DOWNLOADS) | \ - $(TAR) --strip-components=3 -C $(@D) $(TAR_OPTIONS) - -endef -TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_POST_EXTRACT_HOOKS += TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_UCLIBC_EXTRA_EXTRACT - -$(eval $(toolchain-external-package)) From 1ffcf364b6e9894a876dc581a090f87685945412 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Mon, 14 Nov 2016 13:15:41 +0000 Subject: [PATCH 142/180] cmake: bump version to 3.7.0 libuv is now a required dependency. Signed-off-by: Vicente Olivert Riera Tested-by: Samuel Martin Signed-off-by: Thomas Petazzoni --- package/cmake/Config.in | 9 +++++++-- package/cmake/cmake.hash | 4 ++-- package/cmake/cmake.mk | 6 +++--- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/package/cmake/Config.in b/package/cmake/Config.in index 6f04a4ad39..716d80ec55 100644 --- a/package/cmake/Config.in +++ b/package/cmake/Config.in @@ -20,11 +20,14 @@ config BR2_PACKAGE_CMAKE_CTEST select BR2_PACKAGE_EXPAT select BR2_PACKAGE_BZIP2 select BR2_PACKAGE_XZ + select BR2_PACKAGE_LIBUV depends on BR2_PACKAGE_CMAKE_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # from jsoncpp depends on BR2_USE_WCHAR # libarchive depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_THREADS # libuv + depends on BR2_USE_MMU # libuv help CTest is a testing tool distributed as a part of CMake. It can be used to automate updating (using CVS for example), @@ -34,7 +37,9 @@ config BR2_PACKAGE_CMAKE_CTEST http://www.cmake.org/ -comment "ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.7" +comment "ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.7, threads" depends on BR2_PACKAGE_CMAKE_ARCH_SUPPORTS + depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ - BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/cmake/cmake.hash b/package/cmake/cmake.hash index f846dc9541..687e5a4483 100644 --- a/package/cmake/cmake.hash +++ b/package/cmake/cmake.hash @@ -1,2 +1,2 @@ -# From http://www.cmake.org/files/v3.6/cmake-3.6.3-SHA-256.txt -sha256 7d73ee4fae572eb2d7cd3feb48971aea903bb30a20ea5ae8b4da826d8ccad5fe cmake-3.6.3.tar.gz +# From http://www.cmake.org/files/v3.7/cmake-3.7.0-SHA-256.txt +sha256 ed63e05c41aeb6c036e503114ab15847f29c312f9f21f5f1a7060a4b4ec2fb31 cmake-3.7.0.tar.gz diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk index fadb09ebdd..522d7fec87 100644 --- a/package/cmake/cmake.mk +++ b/package/cmake/cmake.mk @@ -4,8 +4,8 @@ # ################################################################################ -CMAKE_VERSION_MAJOR = 3.6 -CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).3 +CMAKE_VERSION_MAJOR = 3.7 +CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).0 CMAKE_SITE = https://cmake.org/files/v$(CMAKE_VERSION_MAJOR) CMAKE_LICENSE = BSD-3c CMAKE_LICENSE_FILES = Copyright.txt @@ -22,7 +22,7 @@ CMAKE_LICENSE_FILES = Copyright.txt # the system-wide libraries instead of rebuilding and statically # linking with the ones bundled into the CMake sources. -CMAKE_DEPENDENCIES = zlib jsoncpp libcurl libarchive expat bzip2 xz +CMAKE_DEPENDENCIES = zlib jsoncpp libcurl libarchive expat bzip2 xz libuv CMAKE_CONF_OPTS = \ -DKWSYS_LFS_WORKS=TRUE \ From 9cf9f1e3495463e46937f4f7ccc45a541cda5eca Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Fri, 25 Nov 2016 23:26:22 +0100 Subject: [PATCH 143/180] package/efl: bump to 1.18.3 Bug fixes release: https://www.enlightenment.org/news/efl-1.18.3 Signed-off-by: Romain Naour Signed-off-by: Thomas Petazzoni --- package/efl/efl.hash | 4 ++-- package/efl/efl.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/efl/efl.hash b/package/efl/efl.hash index 18393a43e6..4077ddd436 100644 --- a/package/efl/efl.hash +++ b/package/efl/efl.hash @@ -1,2 +1,2 @@ -# From https://download.enlightenment.org/rel/libs/efl/efl-1.18.2.tar.xz.sha256 -sha256 292faf76557fe56a6bc15b48b5ea3eb1f0790e2ed7f2ade4ae79ef7973d67bed efl-1.18.2.tar.xz +# From https://download.enlightenment.org/rel/libs/efl/efl-1.18.3.tar.xz.sha256 +sha256 0748ec0847f543d96b149cb3a84e6438724e827a38d530922ecb4bd59d3e64c0 efl-1.18.3.tar.xz diff --git a/package/efl/efl.mk b/package/efl/efl.mk index 777ef3c848..17d3163c87 100644 --- a/package/efl/efl.mk +++ b/package/efl/efl.mk @@ -4,7 +4,7 @@ # ################################################################################ -EFL_VERSION = 1.18.2 +EFL_VERSION = 1.18.3 EFL_SOURCE = efl-$(EFL_VERSION).tar.xz EFL_SITE = http://download.enlightenment.org/rel/libs/efl EFL_LICENSE = BSD-2c, LGPLv2.1+, GPLv2+ From 21a0ca235d1886c94d0e3ff4ab91a38a33720287 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Mon, 14 Nov 2016 14:01:36 +0000 Subject: [PATCH 144/180] package/{mesa3d, mesa3d-headers}: bump version to 13.0.1 Signed-off-by: Vicente Olivert Riera Signed-off-by: Thomas Petazzoni --- package/mesa3d-headers/mesa3d-headers.mk | 2 +- package/mesa3d/mesa3d.hash | 4 ++-- package/mesa3d/mesa3d.mk | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk index b3b80ebc8e..523d10b077 100644 --- a/package/mesa3d-headers/mesa3d-headers.mk +++ b/package/mesa3d-headers/mesa3d-headers.mk @@ -12,7 +12,7 @@ endif # Not possible to directly refer to mesa3d variables, because of # first/second expansion trickery... -MESA3D_HEADERS_VERSION = 13.0.0 +MESA3D_HEADERS_VERSION = 13.0.1 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz MESA3D_HEADERS_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_HEADERS_VERSION) MESA3D_HEADERS_LICENSE = MIT, SGI, Khronos diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash index 7dbe1ac8fa..0fab1de644 100644 --- a/package/mesa3d/mesa3d.hash +++ b/package/mesa3d/mesa3d.hash @@ -1,2 +1,2 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2016-November/000264.html -sha256 94edb4ebff82066a68be79d9c2627f15995e1fe10f67ab3fc63deb842027d727 mesa-13.0.0.tar.xz +# From https://lists.freedesktop.org/archives/mesa-announce/2016-November/000270.html +sha256 71962fb2bf77d33b0ad4a565b490dbbeaf4619099c6d9722f04a73187957a731 mesa-13.0.1.tar.xz diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index e17db5c6f1..031ce883c1 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -5,7 +5,7 @@ ################################################################################ # When updating the version, please also update mesa3d-headers -MESA3D_VERSION = 13.0.0 +MESA3D_VERSION = 13.0.1 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION) MESA3D_LICENSE = MIT, SGI, Khronos From ac6785f12cc6b24e66f3d16eb6058d7c5db6014e Mon Sep 17 00:00:00 2001 From: Sam bobroff Date: Wed, 23 Nov 2016 11:16:52 +1100 Subject: [PATCH 145/180] package/qemu: add option to include tools Add an option to QEMU to include the "tools" (configure option: --enable-tools) in the target. This adds a dependency on pixman, but that's already present. Signed-off-by: Sam Bobroff Signed-off-by: Thomas Petazzoni --- package/qemu/Config.in | 5 +++++ package/qemu/qemu.mk | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/package/qemu/Config.in b/package/qemu/Config.in index e935ef9c61..b9c1ca1816 100644 --- a/package/qemu/Config.in +++ b/package/qemu/Config.in @@ -107,4 +107,9 @@ comment "FDT support needs a toolchain w/ dynamic library" endif # BR2_PACKAGE_QEMU_HAS_EMULS +config BR2_PACKAGE_QEMU_TOOLS + bool "Enable tools" + help + Say 'y' here to include tools packaged with QEMU (e.g. qemu-img). + endif # BR2_PACKAGE_QEMU diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index 45fc0fad0a..bc707cf7e6 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -204,6 +204,12 @@ else QEMU_OPTS += --disable-fdt endif +ifeq ($(BR2_PACKAGE_QEMU_TOOLS),y) +QEMU_OPTS += --enable-tools +else +QEMU_OPTS += --disable-tools +endif + # Override CPP, as it expects to be able to call it like it'd # call the compiler. define QEMU_CONFIGURE_CMDS @@ -242,7 +248,6 @@ define QEMU_CONFIGURE_CMDS --disable-strip \ --disable-seccomp \ --disable-sparse \ - --disable-tools \ $(QEMU_OPTS) \ ) endef From 7497818be7e4fcab7f18edcc5aa857ca93a7d201 Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Sun, 27 Nov 2016 16:32:02 +0200 Subject: [PATCH 146/180] efivar: bump to version 30 Use newest release. Signed-off-by: Andy Shevchenko Signed-off-by: Thomas Petazzoni --- ...-avoid-the-multiple-definitions-bug-.patch | 29 +++++++++++++++++++ package/efivar/efivar.hash | 2 +- package/efivar/efivar.mk | 2 +- 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 package/efivar/0001-Use-z-muldefs-to-avoid-the-multiple-definitions-bug-.patch diff --git a/package/efivar/0001-Use-z-muldefs-to-avoid-the-multiple-definitions-bug-.patch b/package/efivar/0001-Use-z-muldefs-to-avoid-the-multiple-definitions-bug-.patch new file mode 100644 index 0000000000..2bc3ff243f --- /dev/null +++ b/package/efivar/0001-Use-z-muldefs-to-avoid-the-multiple-definitions-bug-.patch @@ -0,0 +1,29 @@ +From 314eb67b239e60c2ed3700e2baf9cd0e590465f3 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Thu, 27 Oct 2016 09:19:18 -0400 +Subject: [PATCH] Use -z muldefs to avoid the multiple definitions bug + without -flto + +This fixes github issue #64 + +Signed-off-by: Peter Jones +Signed-off-by: Andy Shevchenko +--- + Make.defaults | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Make.defaults b/Make.defaults +index aa974d9..c9d599f 100644 +--- a/Make.defaults ++++ b/Make.defaults +@@ -32,6 +32,7 @@ cflags = $(CFLAGS) -I${TOPDIR}/src/include/efivar/ \ + clang_ccldflags = + gcc_ccldflags = + ccldflags = $(cflags) -L. $(CCLDFLAGS) $(LDFLAGS) \ ++ -Wl,-z,muldefs \ + $(if $(findstring clang,$(CCLD)),$(clang_ccldflags),) \ + $(if $(findstring gcc,$(CCLD)),$(gcc_ccldflags),) \ + $(call pkg-config-ccldflags) +-- +2.10.2 + diff --git a/package/efivar/efivar.hash b/package/efivar/efivar.hash index 3671bbc05e..e337b96450 100644 --- a/package/efivar/efivar.hash +++ b/package/efivar/efivar.hash @@ -1,2 +1,2 @@ # locally computed hash -sha256 7fed0b31fe796d7dfef40cccb97b8bb0b806f16e568074ad2d456be30e195f5e efivar-28.tar.gz +sha256 20709c76311f8eb8be92977b7ac008ce62501fa9f7fe885a784321540fc352f9 efivar-30.tar.gz diff --git a/package/efivar/efivar.mk b/package/efivar/efivar.mk index cff3ac1d11..913322e2f6 100644 --- a/package/efivar/efivar.mk +++ b/package/efivar/efivar.mk @@ -4,7 +4,7 @@ # ################################################################################ -EFIVAR_VERSION = 28 +EFIVAR_VERSION = 30 EFIVAR_SITE = $(call github,rhinstaller,efivar,$(EFIVAR_VERSION)) EFIVAR_LICENSE = LGPLv2.1 EFIVAR_LICENSE_FILES = COPYING From 64551a8f5f7fd8cb8dd92cb3198ceff8f112b343 Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Sun, 27 Nov 2016 16:32:03 +0200 Subject: [PATCH 147/180] efivar: allow build with uClibc Details at https://github.com/rhinstaller/efivar/issues/76. Signed-off-by: Andy Shevchenko [Thomas: tweak the dependency, efivar still doesn't build with musl.] Signed-off-by: Thomas Petazzoni --- .../efivar/0002-Allow-build-with-uClibc.patch | 38 +++++++++++++++++++ package/efivar/Config.in | 7 ++-- 2 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 package/efivar/0002-Allow-build-with-uClibc.patch diff --git a/package/efivar/0002-Allow-build-with-uClibc.patch b/package/efivar/0002-Allow-build-with-uClibc.patch new file mode 100644 index 0000000000..7c195872b0 --- /dev/null +++ b/package/efivar/0002-Allow-build-with-uClibc.patch @@ -0,0 +1,38 @@ +From 2255601757a8a58baddad2d37d0bcc6b003a3732 Mon Sep 17 00:00:00 2001 +From: Andy Shevchenko +Date: Fri, 25 Nov 2016 19:42:27 +0200 +Subject: [PATCH] Allow build with uClibc + +Basically this replaces type definitions in . + +Signed-off-by: Andy Shevchenko +--- + src/export.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/export.c b/src/export.c +index 7f2d4dd..72c02d1 100644 +--- a/src/export.c ++++ b/src/export.c +@@ -21,11 +21,17 @@ + #include + #include + #include +-#include + + #include + #include "lib.h" + ++#ifdef __UCLIBC__ ++typedef int_least16_t char16_t; ++typedef int_least32_t char32_t; ++#else ++#include ++#endif ++ + #define EFIVAR_MAGIC 0xf3df1597 + + #define ATTRS_UNSET 0xa5a5a5a5a5a5a5a5 +-- +2.10.2 + diff --git a/package/efivar/Config.in b/package/efivar/Config.in index 466a30ac5a..1bdb6cad63 100644 --- a/package/efivar/Config.in +++ b/package/efivar/Config.in @@ -9,9 +9,8 @@ config BR2_PACKAGE_EFIVAR # toolchains. depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS && \ !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII - # doesn't build with uclibc due to lack of uchar.h # doesn't build with musl due to lack of __bswap_constant_16 - depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_TOOLCHAIN_USES_MUSL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 select BR2_PACKAGE_POPT help @@ -19,9 +18,9 @@ config BR2_PACKAGE_EFIVAR https://github.com/rhinstaller/efivar -comment "efivar requires a glibc toolchain w/ headers >= 3.12, gcc >= 4.9" +comment "efivar requires a glibc or uClibc toolchain w/ headers >= 3.12, gcc >= 4.9" depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \ - !BR2_TOOLCHAIN_USES_GLIBC || \ + BR2_TOOLCHAIN_USES_MUSL || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS && \ !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII From 3ae07b4746fcf7457a6ab3bd990df97fdd9e1fbe Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Sun, 27 Nov 2016 16:32:04 +0200 Subject: [PATCH 148/180] efibootmrg: Allow build with uClibc Details at https://github.com/rhinstaller/efibootmgr/issues/61. Signed-off-by: Andy Shevchenko [Thomas: efivar still doesn't build on musl, so same for efibootmgr.] Signed-off-by: Thomas Petazzoni --- .../0001-Allow-build-with-uClibc.patch | 40 +++++++++++++++++++ package/efibootmgr/Config.in | 7 ++-- package/efibootmgr/efibootmgr.mk | 8 ++-- 3 files changed, 49 insertions(+), 6 deletions(-) create mode 100644 package/efibootmgr/0001-Allow-build-with-uClibc.patch diff --git a/package/efibootmgr/0001-Allow-build-with-uClibc.patch b/package/efibootmgr/0001-Allow-build-with-uClibc.patch new file mode 100644 index 0000000000..fd29233dc3 --- /dev/null +++ b/package/efibootmgr/0001-Allow-build-with-uClibc.patch @@ -0,0 +1,40 @@ +From bbfcc60497c326576bb23cb01d90115ef3cf6947 Mon Sep 17 00:00:00 2001 +From: Andy Shevchenko +Date: Fri, 25 Nov 2016 20:26:52 +0200 +Subject: [PATCH] Remove unneeded include + +This fixes the build with uClibc. + +Signed-off-by: Andy Shevchenko +--- + src/efibootdump.c | 1 - + src/eficonman.c | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/src/efibootdump.c b/src/efibootdump.c +index 6ff8360..7c5a1c5 100644 +--- a/src/efibootdump.c ++++ b/src/efibootdump.c +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + #include + + #include "error.h" +diff --git a/src/eficonman.c b/src/eficonman.c +index 2c2be38..9bfae79 100644 +--- a/src/eficonman.c ++++ b/src/eficonman.c +@@ -17,7 +17,6 @@ + #include + #include + #include +-#include + #include + + #define _(String) gettext (String) +-- +2.10.2 + diff --git a/package/efibootmgr/Config.in b/package/efibootmgr/Config.in index 988bf6d651..8b29938d8a 100644 --- a/package/efibootmgr/Config.in +++ b/package/efibootmgr/Config.in @@ -1,10 +1,11 @@ config BR2_PACKAGE_EFIBOOTMGR bool "efibootmgr" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # efivar - depends on BR2_TOOLCHAIN_USES_GLIBC # efivar + depends on !BR2_TOOLCHAIN_USES_MUSL # efivar depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # efivar depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS && \ !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII # efivar + select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT select BR2_PACKAGE_EFIVAR help A Linux user-space application to modify the Intel Extensible @@ -14,9 +15,9 @@ config BR2_PACKAGE_EFIBOOTMGR https://github.com/rhinstaller/efibootmgr -comment "efibootmgr requires a glibc toolchain w/ headers >= 3.12, gcc >= 4.9" +comment "efibootmgr requires a glibc or uClibc toolchain w/ headers >= 3.12, gcc >= 4.9" depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \ - !BR2_TOOLCHAIN_USES_GLIBC || \\ + BR2_TOOLCHAIN_USES_MUSL || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS && \ !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII diff --git a/package/efibootmgr/efibootmgr.mk b/package/efibootmgr/efibootmgr.mk index 731d6e9f59..487c8ca666 100644 --- a/package/efibootmgr/efibootmgr.mk +++ b/package/efibootmgr/efibootmgr.mk @@ -8,7 +8,8 @@ EFIBOOTMGR_VERSION = 14 EFIBOOTMGR_SITE = $(call github,rhinstaller,efibootmgr,$(EFIBOOTMGR_VERSION)) EFIBOOTMGR_LICENSE = GPLv2+ EFIBOOTMGR_LICENSE_FILES = COPYING -EFIBOOTMGR_DEPENDENCIES = efivar +EFIBOOTMGR_DEPENDENCIES = efivar $(if $(BR2_NEEDS_GETTEXT),gettext) +EFIBOOTMGR_LDFLAGS = $(TARGET_LDFLAGS) $(if $(BR2_NEEDS_GETTEXT),-lintl) define EFIBOOTMSR_PATCH_HEADER_PATH $(SED) 's,-I/,-I$(STAGING_DIR)/,' $(@D)/Makefile @@ -17,11 +18,12 @@ endef EFIBOOTMGR_POST_PATCH_HOOKS += EFIBOOTMSR_PATCH_HEADER_PATH define EFIBOOTMGR_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D) + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ + LDFLAGS="$(EFIBOOTMGR_LDFLAGS)" $(MAKE1) -C $(@D) endef define EFIBOOTMGR_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ DESTDIR=$(TARGET_DIR) install endef From 6ce49353422b76f28d6e0c7166e3b98b8c089434 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 11:40:22 +0100 Subject: [PATCH 149/180] package/ffmpeg: bump version to 3.2.1 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- package/ffmpeg/ffmpeg.hash | 2 +- package/ffmpeg/ffmpeg.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/ffmpeg/ffmpeg.hash b/package/ffmpeg/ffmpeg.hash index 541f421de6..aa9f0f738b 100644 --- a/package/ffmpeg/ffmpeg.hash +++ b/package/ffmpeg/ffmpeg.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 88f70c1b8cab108f494ecbab5ba302cdb35d59a84cea88008b5fe49be068d5da ffmpeg-3.2.tar.xz +sha256 1ecf93da5d601e6fb3096c65cbe33fdaf042d690a3c50c4efadb0a9b74f2badf ffmpeg-3.2.1.tar.xz diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk index de6d8416c3..699de2ac8f 100644 --- a/package/ffmpeg/ffmpeg.mk +++ b/package/ffmpeg/ffmpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -FFMPEG_VERSION = 3.2 +FFMPEG_VERSION = 3.2.1 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz FFMPEG_SITE = http://ffmpeg.org/releases FFMPEG_INSTALL_STAGING = YES From b56a301a17d4ac38211132d51ccd46f42c08a37d Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 11:40:23 +0100 Subject: [PATCH 150/180] package/libdrm: bump version to 2.4.73 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- package/libdrm/libdrm.hash | 4 ++-- package/libdrm/libdrm.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/libdrm/libdrm.hash b/package/libdrm/libdrm.hash index bda054eb01..3131705228 100644 --- a/package/libdrm/libdrm.hash +++ b/package/libdrm/libdrm.hash @@ -1,2 +1,2 @@ -# From https://lists.freedesktop.org/archives/dri-devel/2016-October/119998.html -sha256 c66287ddeee5f46ea8f8880b94b80acb3bbc33ba6321d17767eef145046df9b8 libdrm-2.4.71.tar.bz2 +# From https://lists.freedesktop.org/archives/dri-devel/2016-November/123704.html +sha256 96bfd39242fe168017d95f22e141645a35591f5902a7d98c2fa4ca8c31df5e4d libdrm-2.4.73.tar.bz2 diff --git a/package/libdrm/libdrm.mk b/package/libdrm/libdrm.mk index cce50236f4..b4e1aada79 100644 --- a/package/libdrm/libdrm.mk +++ b/package/libdrm/libdrm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDRM_VERSION = 2.4.71 +LIBDRM_VERSION = 2.4.73 LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.bz2 LIBDRM_SITE = http://dri.freedesktop.org/libdrm LIBDRM_LICENSE = MIT From 7ffd68ba9235ccde6da70debabe1a38136b897f1 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 12:06:04 +0100 Subject: [PATCH 151/180] package/x11r7/xdriver_xf86-input-joystick: bump version to 1.6.3 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../xdriver_xf86-input-joystick.hash | 4 ++-- .../xdriver_xf86-input-joystick.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.hash b/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.hash index 5fac77e689..feec2d3777 100644 --- a/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.hash +++ b/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.hash @@ -1,2 +1,2 @@ -# From http://lists.x.org/archives/xorg-announce/2013-January/002136.html -sha1 61658b8d829fdaed6064c7c26232c3884d359187 xf86-input-joystick-1.6.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2016-November/002742.html +sha256 9e7669ecf0f23b8e5dc39d5397cf28296f692aa4c0e4255f5e02816612c18eab xf86-input-joystick-1.6.3.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.mk b/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.mk index 76f257727f..5bc2a5cafb 100644 --- a/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.mk +++ b/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_INPUT_JOYSTICK_VERSION = 1.6.2 +XDRIVER_XF86_INPUT_JOYSTICK_VERSION = 1.6.3 XDRIVER_XF86_INPUT_JOYSTICK_SOURCE = xf86-input-joystick-$(XDRIVER_XF86_INPUT_JOYSTICK_VERSION).tar.bz2 XDRIVER_XF86_INPUT_JOYSTICK_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_JOYSTICK_LICENSE = MIT From 87d88afe4b2e504a895b199a0330d8f9fee95f00 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 12:06:05 +0100 Subject: [PATCH 152/180] package/x11r7/xdriver_xf86-input-keyboard: bump version to 1.9.0 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../xdriver_xf86-input-keyboard.hash | 4 ++-- .../xdriver_xf86-input-keyboard.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.hash b/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.hash index 11fcc601d7..eccfa74dc8 100644 --- a/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.hash +++ b/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.hash @@ -1,2 +1,2 @@ -# From http://lists.x.org/archives/xorg-announce/2015-April/002559.html -sha256 1ac8ff39bf9da7d2fc7fd6c24515726e8138340c0518ab8c606e008cf93ca211 xf86-input-keyboard-1.8.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2016-November/002739.html +sha256 f7c900f21752683402992b288d5a2826de7a6c0c0abac2aadd7e8a409e170388 xf86-input-keyboard-1.9.0.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk b/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk index eb2d58287f..01a6859cd4 100644 --- a/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk +++ b/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_INPUT_KEYBOARD_VERSION = 1.8.1 +XDRIVER_XF86_INPUT_KEYBOARD_VERSION = 1.9.0 XDRIVER_XF86_INPUT_KEYBOARD_SOURCE = xf86-input-keyboard-$(XDRIVER_XF86_INPUT_KEYBOARD_VERSION).tar.bz2 XDRIVER_XF86_INPUT_KEYBOARD_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_KEYBOARD_LICENSE = MIT From 8e5380db9ed0e92c60bc29a624a30bb1f0ef0e19 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 12:06:06 +0100 Subject: [PATCH 153/180] package/x11r7/xdriver_xf86-input-mouse: bump version to 1.9.2 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash | 4 ++-- .../xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash b/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash index 5a62d13178..caba427b22 100644 --- a/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash +++ b/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash @@ -1,2 +1,2 @@ -# From http://lists.x.org/archives/xorg-announce/2014-August/002471.html -sha256 3485d375779c08406f0789feedde15933dc703158a086ddac638598f479fc5ce xf86-input-mouse-1.9.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2016-November/002740.html +sha256 f425d5b05c6ab412a27e0a1106bb83f9e2662b307210abbe48270892387f4b2f xf86-input-mouse-1.9.2.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk b/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk index e1bd81a55f..5bcbeb70fd 100644 --- a/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk +++ b/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_INPUT_MOUSE_VERSION = 1.9.1 +XDRIVER_XF86_INPUT_MOUSE_VERSION = 1.9.2 XDRIVER_XF86_INPUT_MOUSE_SOURCE = xf86-input-mouse-$(XDRIVER_XF86_INPUT_MOUSE_VERSION).tar.bz2 XDRIVER_XF86_INPUT_MOUSE_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_MOUSE_LICENSE = MIT From c7e5e0f406fb40aa7f9426166c7041556e8b2b39 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 12:06:07 +0100 Subject: [PATCH 154/180] package/x11r7/xdriver_xf86-input-synaptics: bump version to 1.9.0 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../xdriver_xf86-input-synaptics.hash | 4 ++-- .../xdriver_xf86-input-synaptics.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.hash b/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.hash index 3cb0758089..2c31600b0a 100644 --- a/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.hash +++ b/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.hash @@ -1,2 +1,2 @@ -# From http://lists.x.org/archives/xorg-announce/2015-November/002652.html -sha256 d39f100c74f3673778b53f17bab7690161925e25dd998a15dd8cc69b52e83f01 xf86-input-synaptics-1.8.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2016-November/002744.html +sha256 afba3289d7a40217a19d90db98ce181772f9ca6d77e1898727b0afcf02073b5a xf86-input-synaptics-1.9.0.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.mk b/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.mk index d6164d0daf..6bd9cc49c5 100644 --- a/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.mk +++ b/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_INPUT_SYNAPTICS_VERSION = 1.8.3 +XDRIVER_XF86_INPUT_SYNAPTICS_VERSION = 1.9.0 XDRIVER_XF86_INPUT_SYNAPTICS_SOURCE = xf86-input-synaptics-$(XDRIVER_XF86_INPUT_SYNAPTICS_VERSION).tar.bz2 XDRIVER_XF86_INPUT_SYNAPTICS_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_SYNAPTICS_LICENSE = MIT From 415893dfe16ff4b73fdbb35f2b6c2cf1d357b204 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 12:06:08 +0100 Subject: [PATCH 155/180] package/x11r7/xdriver_xf86-video-amdgpu: bump version to 1.2.0 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash | 4 ++-- .../xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash index 816f0754bd..32ff1646d1 100644 --- a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash +++ b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash @@ -1,2 +1,2 @@ -# From https://lists.x.org/archives/xorg-announce/2016-September/002708.html -sha256 6ee87fed6d70d12353ca7ac02f8321a30d770626bf56f62f0e27970a33690779 xf86-video-amdgpu-1.1.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2016-November/002741.html +sha256 275b1aac5f127f55ba3d7480a1df89eace1d02650e24e46908067fc875e76c8f xf86-video-amdgpu-1.2.0.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk index 4e12e12063..d858e14096 100644 --- a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk +++ b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_AMDGPU_VERSION = 1.1.2 +XDRIVER_XF86_VIDEO_AMDGPU_VERSION = 1.2.0 XDRIVER_XF86_VIDEO_AMDGPU_SOURCE = xf86-video-amdgpu-$(XDRIVER_XF86_VIDEO_AMDGPU_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_AMDGPU_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_AMDGPU_LICENSE = MIT From a68c52366fa6becd6d238e46a6d85854bfbfca7e Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 12:06:09 +0100 Subject: [PATCH 156/180] package/x11r7/xdriver_xf86-video-ati: bump version to 7.8.0 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash | 4 ++-- .../x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash index 469e0572bb..fe5ae0ea70 100644 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash +++ b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash @@ -1,2 +1,2 @@ -# From https://lists.x.org/archives/xorg-announce/2016-September/002707.html -sha256 00a58588db62ee309095c5c5920bbd248d965e8627f88affe68a73b18865078d xf86-video-ati-7.7.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2016-November/002738.html +sha256 401f5de772928f3dc4ce43a885adb0a47a2f61aa4a9e45d2ab3d184136a9d6fa xf86-video-ati-7.8.0.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk index 02a457b067..ea701672c2 100644 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk +++ b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_ATI_VERSION = 7.7.1 +XDRIVER_XF86_VIDEO_ATI_VERSION = 7.8.0 XDRIVER_XF86_VIDEO_ATI_SOURCE = xf86-video-ati-$(XDRIVER_XF86_VIDEO_ATI_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_ATI_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_ATI_LICENSE = MIT From 19ad486c6ba6f2af2a26559aabff64c891d9fcd6 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 12:06:10 +0100 Subject: [PATCH 157/180] package/x11r7/xdriver_xf86-video-openchrome: bump version to 0.5.0 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../xdriver_xf86-video-openchrome.hash | 4 ++-- .../xdriver_xf86-video-openchrome.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.hash b/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.hash index b3aef580ba..2d29fae3a7 100644 --- a/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.hash +++ b/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.hash @@ -1,2 +1,2 @@ -# Locally computed -sha256 73e7966d01d0d644d3b9204e8bfc106cb99069c58e981626e7352f2693e3e927 xf86-video-openchrome-0.4.0.tar.bz2 +# From https://lists.freedesktop.org/archives/openchrome-devel/2016-July/002890.html +sha1 9c7ad349de6dd350252ccda8da56fa1e2a6afa32 xf86-video-openchrome-0.5.0.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.mk b/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.mk index 83c12b2055..9ab032b6bc 100644 --- a/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.mk +++ b/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_OPENCHROME_VERSION = 0.4.0 +XDRIVER_XF86_VIDEO_OPENCHROME_VERSION = 0.5.0 XDRIVER_XF86_VIDEO_OPENCHROME_SOURCE = xf86-video-openchrome-$(XDRIVER_XF86_VIDEO_OPENCHROME_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_OPENCHROME_SITE = http://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_OPENCHROME_LICENSE = MIT From c58598019394cc70d08fbcfe22bfc8aa3e03b32d Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 12:06:11 +0100 Subject: [PATCH 158/180] package/x11r7/xdriver_xf86-video-vmware: bump version to 13.2.1 Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash | 4 ++-- .../xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash b/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash index 10d31d02fc..8d948a7d4c 100644 --- a/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash +++ b/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash @@ -1,2 +1,2 @@ -# From http://lists.x.org/archives/xorg-announce/2015-January/002521.html -sha256 3c1d244e4b1b77e92126957965cdc9fb82de4c215c0706a3a8aaff6939e4a0cc xf86-video-vmware-13.1.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2016-November/002743.html +sha256 e2f7f7101fba7f53b268e7a25908babbf155b3984fb5268b3d244eb6c11bf62b xf86-video-vmware-13.2.1.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk b/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk index ea4dd48215..ef262f8942 100644 --- a/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk +++ b/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_VMWARE_VERSION = 13.1.0 +XDRIVER_XF86_VIDEO_VMWARE_VERSION = 13.2.1 XDRIVER_XF86_VIDEO_VMWARE_SOURCE = xf86-video-vmware-$(XDRIVER_XF86_VIDEO_VMWARE_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_VMWARE_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_VMWARE_LICENSE = MIT From f08ab40b606cb757f55e8390806842d1e7ca6684 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 12:06:12 +0100 Subject: [PATCH 159/180] package/x11r7/xdriver_xf86-video-*: mass addition of patches for ABI 23 support (xserver_xorg-server 1.19+) Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../xdriver_xf86-video-glint/0002-abi23.patch | 33 ++++++++++++++++ .../xdriver_xf86-video-mga/0002-abi23.patch | 33 ++++++++++++++++ .../xdriver_xf86-video-nv/0002-abi23.patch | 39 +++++++++++++++++++ .../xdriver_xf86-video-r128/0002-abi23.patch | 33 ++++++++++++++++ .../0002-abi23.patch | 39 +++++++++++++++++++ .../0001-abi23.patch | 33 ++++++++++++++++ .../xdriver_xf86-video-tdfx/0002-abi23.patch | 39 +++++++++++++++++++ .../0001-abi23.patch | 33 ++++++++++++++++ 8 files changed, 282 insertions(+) create mode 100644 package/x11r7/xdriver_xf86-video-glint/0002-abi23.patch create mode 100644 package/x11r7/xdriver_xf86-video-mga/0002-abi23.patch create mode 100644 package/x11r7/xdriver_xf86-video-nv/0002-abi23.patch create mode 100644 package/x11r7/xdriver_xf86-video-r128/0002-abi23.patch create mode 100644 package/x11r7/xdriver_xf86-video-savage/0002-abi23.patch create mode 100644 package/x11r7/xdriver_xf86-video-siliconmotion/0001-abi23.patch create mode 100644 package/x11r7/xdriver_xf86-video-tdfx/0002-abi23.patch create mode 100644 package/x11r7/xdriver_xf86-video-trident/0001-abi23.patch diff --git a/package/x11r7/xdriver_xf86-video-glint/0002-abi23.patch b/package/x11r7/xdriver_xf86-video-glint/0002-abi23.patch new file mode 100644 index 0000000000..1d8f7f22c2 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-glint/0002-abi23.patch @@ -0,0 +1,33 @@ +From 2eb4d03d2280deec4d6f1b06aaa16477a641af9a Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 19 Jul 2016 10:03:56 -0400 +Subject: Adapt Block/WakeupHandler signature for ABI 23 + +Signed-off-by: Adam Jackson +--- +Downloaded from: +https://cgit.freedesktop.org/xorg/driver/xf86-video-glint/commit/?id=2eb4d03d2280deec4d6f1b06aaa16477a641af9a + +Signed-off-by: Bernd Kuhls + +diff --git a/src/compat-api.h b/src/compat-api.h +index 6bc946f..89976e4 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -75,8 +75,13 @@ + + #define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv + ++#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0) ++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout ++#define BLOCKHANDLER_ARGS arg, pTimeout ++#else + #define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask + #define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask ++#endif + + #define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen + #define CLOSE_SCREEN_ARGS pScreen +-- +cgit v0.10.2 + diff --git a/package/x11r7/xdriver_xf86-video-mga/0002-abi23.patch b/package/x11r7/xdriver_xf86-video-mga/0002-abi23.patch new file mode 100644 index 0000000000..b2b691789e --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-mga/0002-abi23.patch @@ -0,0 +1,33 @@ +From df094bfffe4ef097bfd9a569f2d2e35649c1a3c7 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 19 Jul 2016 10:03:56 -0400 +Subject: Adapt Block/WakeupHandler signature for ABI 23 + +Signed-off-by: Adam Jackson +--- +Downloaded from +https://cgit.freedesktop.org/xorg/driver/xf86-video-mga/commit/?id=df094bfffe4ef097bfd9a569f2d2e35649c1a3c7 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/compat-api.h b/src/compat-api.h +index 6bc946f..89976e4 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -75,8 +75,13 @@ + + #define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv + ++#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0) ++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout ++#define BLOCKHANDLER_ARGS arg, pTimeout ++#else + #define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask + #define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask ++#endif + + #define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen + #define CLOSE_SCREEN_ARGS pScreen +-- +cgit v0.10.2 + diff --git a/package/x11r7/xdriver_xf86-video-nv/0002-abi23.patch b/package/x11r7/xdriver_xf86-video-nv/0002-abi23.patch new file mode 100644 index 0000000000..7b7bb34cd9 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-nv/0002-abi23.patch @@ -0,0 +1,39 @@ +From 42e260a7ab630fdfa4664f467dad25e7178ff809 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 19 Jul 2016 10:03:56 -0400 +Subject: Adapt Block/WakeupHandler signature for ABI 23 + +Signed-off-by: Adam Jackson +--- +Downloaded from +https://cgit.freedesktop.org/xorg/driver/xf86-video-nv/commit/?id=42e260a7ab630fdfa4664f467dad25e7178ff809 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/compat-api.h b/src/compat-api.h +index 0a87cf5..62d9481 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -78,11 +78,19 @@ + + #define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv + ++#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0) ++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout ++#define BLOCKHANDLER_ARGS arg, pTimeout ++ ++#define WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result ++#define WAKEUPHANDLER_ARGS arg, result ++#else + #define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask + #define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask + + #define WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result, pointer read_mask + #define WAKEUPHANDLER_ARGS arg, result, read_mask ++#endif + + #define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen + #define CLOSE_SCREEN_ARGS pScreen +-- +cgit v0.10.2 + diff --git a/package/x11r7/xdriver_xf86-video-r128/0002-abi23.patch b/package/x11r7/xdriver_xf86-video-r128/0002-abi23.patch new file mode 100644 index 0000000000..e79ffdfb60 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-r128/0002-abi23.patch @@ -0,0 +1,33 @@ +From 5ab23b3a8ef18ab9ff96ac8be174380d36e185e5 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 19 Jul 2016 10:03:56 -0400 +Subject: Adapt Block/WakeupHandler signature for ABI 23 + +Signed-off-by: Adam Jackson +--- +Downloaded from +https://cgit.freedesktop.org/xorg/driver/xf86-video-r128/commit/?id=5ab23b3a8ef18ab9ff96ac8be174380d36e185e5 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/compat-api.h b/src/compat-api.h +index 6bc946f..89976e4 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -75,8 +75,13 @@ + + #define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv + ++#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0) ++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout ++#define BLOCKHANDLER_ARGS arg, pTimeout ++#else + #define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask + #define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask ++#endif + + #define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen + #define CLOSE_SCREEN_ARGS pScreen +-- +cgit v0.10.2 + diff --git a/package/x11r7/xdriver_xf86-video-savage/0002-abi23.patch b/package/x11r7/xdriver_xf86-video-savage/0002-abi23.patch new file mode 100644 index 0000000000..248758545b --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-savage/0002-abi23.patch @@ -0,0 +1,39 @@ +From de3e1803314820968502156703d5bfe3fab24972 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 19 Jul 2016 10:03:56 -0400 +Subject: Adapt Block/WakeupHandler signature for ABI 23 + +Signed-off-by: Adam Jackson +--- +Downloaded from +https://cgit.freedesktop.org/xorg/driver/xf86-video-savage/commit/?id=de3e1803314820968502156703d5bfe3fab24972 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/compat-api.h b/src/compat-api.h +index 98ba435..44daea4 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -78,11 +78,19 @@ + + #define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv + ++#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0) ++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout ++#define BLOCKHANDLER_ARGS arg, pTimeout ++ ++#define WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result ++#define WAKEUPHANDLER_ARGS arg, result ++#else + #define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask + #define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask + + #define WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result, pointer read_mask + #define WAKEUPHANDLER_ARGS arg, result, read_mask ++#endif + + #define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen + #define CLOSE_SCREEN_ARGS pScreen +-- +cgit v0.10.2 + diff --git a/package/x11r7/xdriver_xf86-video-siliconmotion/0001-abi23.patch b/package/x11r7/xdriver_xf86-video-siliconmotion/0001-abi23.patch new file mode 100644 index 0000000000..2cd6e637bb --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-siliconmotion/0001-abi23.patch @@ -0,0 +1,33 @@ +From e67f3949648c20e16ac756ae28ea4a2b4a1d0f4c Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 19 Jul 2016 10:03:56 -0400 +Subject: Adapt Block/WakeupHandler signature for ABI 23 + +Signed-off-by: Adam Jackson +--- +Downloaded from +https://cgit.freedesktop.org/xorg/driver/xf86-video-siliconmotion/patch/?id=e67f3949648c20e16ac756ae28ea4a2b4a1d0f4c + +Signed-off-by: Bernd Kuhls + +diff --git a/src/compat-api.h b/src/compat-api.h +index 6bc946f..89976e4 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -75,8 +75,13 @@ + + #define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv + ++#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0) ++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout ++#define BLOCKHANDLER_ARGS arg, pTimeout ++#else + #define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask + #define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask ++#endif + + #define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen + #define CLOSE_SCREEN_ARGS pScreen +-- +cgit v0.10.2 + diff --git a/package/x11r7/xdriver_xf86-video-tdfx/0002-abi23.patch b/package/x11r7/xdriver_xf86-video-tdfx/0002-abi23.patch new file mode 100644 index 0000000000..7e5d650f95 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-tdfx/0002-abi23.patch @@ -0,0 +1,39 @@ +From b99390efcb55d7d4a68e8c595119c1af4426fc0b Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 19 Jul 2016 10:03:56 -0400 +Subject: Adapt Block/WakeupHandler signature for ABI 23 + +Signed-off-by: Adam Jackson +--- +Downloaded from +https://cgit.freedesktop.org/xorg/driver/xf86-video-tdfx/patch/?id=b99390efcb55d7d4a68e8c595119c1af4426fc0b + +Signed-off-by: Bernd Kuhls + +diff --git a/src/compat-api.h b/src/compat-api.h +index 98ba435..44daea4 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -78,11 +78,19 @@ + + #define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv + ++#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0) ++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout ++#define BLOCKHANDLER_ARGS arg, pTimeout ++ ++#define WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result ++#define WAKEUPHANDLER_ARGS arg, result ++#else + #define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask + #define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask + + #define WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result, pointer read_mask + #define WAKEUPHANDLER_ARGS arg, result, read_mask ++#endif + + #define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen + #define CLOSE_SCREEN_ARGS pScreen +-- +cgit v0.10.2 + diff --git a/package/x11r7/xdriver_xf86-video-trident/0001-abi23.patch b/package/x11r7/xdriver_xf86-video-trident/0001-abi23.patch new file mode 100644 index 0000000000..d9aecd535e --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-trident/0001-abi23.patch @@ -0,0 +1,33 @@ +From b5f4d35327863a14224d2a63885cd8b3b83a1815 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 19 Jul 2016 10:03:56 -0400 +Subject: Adapt Block/WakeupHandler signature for ABI 23 + +Signed-off-by: Adam Jackson +--- +Downloaded from +https://cgit.freedesktop.org/xorg/driver/xf86-video-trident/patch/?id=b5f4d35327863a14224d2a63885cd8b3b83a1815 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/compat-api.h b/src/compat-api.h +index 6bc946f..89976e4 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -75,8 +75,13 @@ + + #define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv + ++#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0) ++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout ++#define BLOCKHANDLER_ARGS arg, pTimeout ++#else + #define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask + #define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask ++#endif + + #define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen + #define CLOSE_SCREEN_ARGS pScreen +-- +cgit v0.10.2 + From c55fb8ad22be6d95b8b521d208cad0cfa7d75d07 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 12:06:13 +0100 Subject: [PATCH 160/180] package/x11r7/xdriver_xf86-video-qxl: Add patches for newer xserver_xorg-server releases 0002-xserverfix.patch added xlib_libXfont as new dependency. Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../0001-systemincludes.patch | 39 ++++++++++++++ .../0002-xserverfix.patch | 51 +++++++++++++++++++ .../x11r7/xdriver_xf86-video-qxl/Config.in | 1 + .../xdriver_xf86-video-qxl.mk | 3 ++ 4 files changed, 94 insertions(+) create mode 100644 package/x11r7/xdriver_xf86-video-qxl/0001-systemincludes.patch create mode 100644 package/x11r7/xdriver_xf86-video-qxl/0002-xserverfix.patch diff --git a/package/x11r7/xdriver_xf86-video-qxl/0001-systemincludes.patch b/package/x11r7/xdriver_xf86-video-qxl/0001-systemincludes.patch new file mode 100644 index 0000000000..0c681f2898 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-qxl/0001-systemincludes.patch @@ -0,0 +1,39 @@ +From 83e00bb5f9b74c0d7059c189d747ec3c24c7798a Mon Sep 17 00:00:00 2001 +From: Christophe Fergeau +Date: Tue, 4 Aug 2015 17:36:12 +0200 +Subject: Use <> for system-includes + +These headers come from /usr/include/xorg/ so it's clearer if they are +included using <>. While at it, I've reordered them alphabetically. +--- +Downloaded from +https://cgit.freedesktop.org/xorg/driver/xf86-video-qxl/commit/?id=83e00bb5f9b74c0d7059c189d747ec3c24c7798a + +Signed-off-by: Bernd Kuhls + +diff --git a/src/uxa/uxa-damage.c b/src/uxa/uxa-damage.c +index 3e4c075..6201712 100644 +--- a/src/uxa/uxa-damage.c ++++ b/src/uxa/uxa-damage.c +@@ -27,12 +27,13 @@ + #include + #include "uxa-priv.h" + ++#include ++#include ++#include ++#include ++#include + #include +-#include "scrnintstr.h" +-#include "windowstr.h" +-#include "dixfontstr.h" +-#include "gcstruct.h" +-#include "picturestr.h" ++ + #include "uxa-damage.h" + + typedef struct _damageGCPriv { +-- +cgit v0.10.2 + diff --git a/package/x11r7/xdriver_xf86-video-qxl/0002-xserverfix.patch b/package/x11r7/xdriver_xf86-video-qxl/0002-xserverfix.patch new file mode 100644 index 0000000000..c38d42e95b --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-qxl/0002-xserverfix.patch @@ -0,0 +1,51 @@ +From a184774ad161031cceed264d62d48ebd019ac800 Mon Sep 17 00:00:00 2001 +From: Christophe Fergeau +Date: Mon, 3 Aug 2015 20:12:05 +0200 +Subject: Fix compilation with newer Xorg versions + +Xorg 1.18 stopped exporting some xfont related symbols in its +headers/shared libraries, which causes QXL to fail to build: + +uxa-damage.c:947:5: error: implicit declaration of function 'QueryGlyphExtents' [-Werror=implicit-function-declaration] + QueryGlyphExtents(font, charinfo, n, &extents); + +The missing definition can be found in xfont, so this commit addes the +needed configure.ac checks and includes. +Note that dixfontstr.h must be included before the xfont headers or this +will cause compile-time warnings on older Xorg versions (eg 1.17) +--- +Downloaded from +https://cgit.freedesktop.org/xorg/driver/xf86-video-qxl/commit/?id=a184774ad161031cceed264d62d48ebd019ac800 + +Signed-off-by: Bernd Kuhls + +diff --git a/configure.ac b/configure.ac +index 6555a8d..7e95b01 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -61,7 +61,7 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto) + XORG_DRIVER_CHECK_EXT(XFreeXDGA, xf86dgaproto) + + # Obtain compiler/linker options for the driver dependencies +-PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901] xproto fontsproto $REQUIRED_MODULES) ++PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901] xproto fontsproto xfont $REQUIRED_MODULES) + + + save_CFLAGS="$CFLAGS" +diff --git a/src/uxa/uxa-damage.c b/src/uxa/uxa-damage.c +index 6201712..a6d1ee3 100644 +--- a/src/uxa/uxa-damage.c ++++ b/src/uxa/uxa-damage.c +@@ -33,6 +33,9 @@ + #include + #include + #include ++#include ++#include ++#include + + #include "uxa-damage.h" + +-- +cgit v0.10.2 + diff --git a/package/x11r7/xdriver_xf86-video-qxl/Config.in b/package/x11r7/xdriver_xf86-video-qxl/Config.in index 5f05f6876b..04bde0f824 100644 --- a/package/x11r7/xdriver_xf86-video-qxl/Config.in +++ b/package/x11r7/xdriver_xf86-video-qxl/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_QXL select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_HAS_UDEV # for KMS select BR2_PACKAGE_LIBPCIACCESS select BR2_PACKAGE_SPICE_PROTOCOL + select BR2_PACKAGE_XLIB_LIBXFONT select BR2_PACKAGE_XPROTO_FONTSPROTO select BR2_PACKAGE_XPROTO_XPROTO help diff --git a/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk b/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk index ddc4191a47..30cd7a20c2 100644 --- a/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk +++ b/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk @@ -7,6 +7,8 @@ XDRIVER_XF86_VIDEO_QXL_VERSION = 0.1.4 XDRIVER_XF86_VIDEO_QXL_SOURCE = xf86-video-qxl-$(XDRIVER_XF86_VIDEO_QXL_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_QXL_SITE = http://xorg.freedesktop.org/releases/individual/driver +# 0002-xserverfix.patch +XDRIVER_XF86_VIDEO_QXL_AUTORECONF = YES XDRIVER_XF86_VIDEO_QXL_LICENSE = MIT XDRIVER_XF86_VIDEO_QXL_LICENSE_FILES = COPYING @@ -16,6 +18,7 @@ XDRIVER_XF86_VIDEO_QXL_CONF_OPTS = \ XDRIVER_XF86_VIDEO_QXL_DEPENDENCIES = \ libpciaccess \ spice-protocol \ + xlib_libXfont \ xproto_fontsproto \ xproto_xproto \ xserver_xorg-server From c2a79469b28f77d65bf44ca180493f26497f0bf5 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 27 Nov 2016 12:06:14 +0100 Subject: [PATCH 161/180] package/x11r7/xdriver_xf86-video-sis: Add patch for ABI 23 support (xserver_xorg-server 1.19+) Re-numbered patches as well. Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../xdriver_xf86-video-sis/0002-abi23.patch | 33 +++++++++++++++++++ .../{0007-xi.patch => 0003-xi.patch} | 0 2 files changed, 33 insertions(+) create mode 100644 package/x11r7/xdriver_xf86-video-sis/0002-abi23.patch rename package/x11r7/xdriver_xf86-video-sis/{0007-xi.patch => 0003-xi.patch} (100%) diff --git a/package/x11r7/xdriver_xf86-video-sis/0002-abi23.patch b/package/x11r7/xdriver_xf86-video-sis/0002-abi23.patch new file mode 100644 index 0000000000..109f745373 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-sis/0002-abi23.patch @@ -0,0 +1,33 @@ +From 96fee560cd8bf7bf27048ce5fe67b7af6838c8d0 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 19 Jul 2016 10:03:56 -0400 +Subject: Adapt Block/WakeupHandler signature for ABI 23 + +Signed-off-by: Adam Jackson +--- +Downloaded from +https://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=96fee560cd8bf7bf27048ce5fe67b7af6838c8d0 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/compat-api.h b/src/compat-api.h +index 6bc946f..89976e4 100644 +--- a/src/compat-api.h ++++ b/src/compat-api.h +@@ -75,8 +75,13 @@ + + #define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv + ++#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0) ++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout ++#define BLOCKHANDLER_ARGS arg, pTimeout ++#else + #define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask + #define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask ++#endif + + #define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen + #define CLOSE_SCREEN_ARGS pScreen +-- +cgit v0.10.2 + diff --git a/package/x11r7/xdriver_xf86-video-sis/0007-xi.patch b/package/x11r7/xdriver_xf86-video-sis/0003-xi.patch similarity index 100% rename from package/x11r7/xdriver_xf86-video-sis/0007-xi.patch rename to package/x11r7/xdriver_xf86-video-sis/0003-xi.patch From 6caa76db22ad952f3fe6329da39defed060d8980 Mon Sep 17 00:00:00 2001 From: Danomi Manchego Date: Tue, 22 Nov 2016 21:31:31 -0500 Subject: [PATCH 162/180] Makefile: drop redundant shell call when deriving BASE_DIR Commit 173135df5b69dfd5ae6fe6cf2de8833c6f74c143 ("core: re-enter make if $(CURDIR) or $(O) are not canonical paths") introduced the CANONICAL_O variable, defined as: CANONICAL_O := $(shell mkdir -p $(O) >/dev/null 2>&1)$(realpath $(O)) This duplicates the definition of BASE_DIR, by different means: BASE_DIR := $(shell mkdir -p $(O) && cd $(O) >/dev/null && pwd) So one of these shell calls is redundant. CANONICAL_O is defined first, so this commit replaces the BASE_DIR derivation with $(CANONICAL_O). Signed-off-by: Danomi Manchego Signed-off-by: Thomas Petazzoni --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 4f6269faa3..55d928de38 100644 --- a/Makefile +++ b/Makefile @@ -174,10 +174,10 @@ endif # bash prints the name of the directory on 'cd ' if CDPATH is # set, so unset it here to not cause problems. Notice that the export -# line doesn't affect the environment of $(shell ..) calls, so -# explictly throw away any output from 'cd' here. +# line doesn't affect the environment of $(shell ..) calls. export CDPATH := -BASE_DIR := $(shell mkdir -p $(O) && cd $(O) >/dev/null && pwd) + +BASE_DIR := $(CANONICAL_O) $(if $(BASE_DIR),, $(error output directory "$(O)" does not exist)) From b6e77c91e81a39e2910f320870441cdb16156974 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Tue, 29 Nov 2016 10:34:11 +0000 Subject: [PATCH 163/180] vala: bump version to 0.34.3 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/vala/vala.hash | 4 ++-- package/vala/vala.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/vala/vala.hash b/package/vala/vala.hash index 95566d1317..b5abcc3b01 100644 --- a/package/vala/vala.hash +++ b/package/vala/vala.hash @@ -1,2 +1,2 @@ -# From https://download.gnome.org/sources/vala/0.34/vala-0.34.2.sha256sum -sha256 765e9c2b429a66db93247940f8588319b43f35c173d057bcae5717a97d765c41 vala-0.34.2.tar.xz +# From https://download.gnome.org/sources/vala/0.34/vala-0.34.3.sha256sum +sha256 f0fad71aca03cdeadf749ca47f56296a4ddd1a25f4e2f09f0ff9e1e3afbcac3f vala-0.34.3.tar.xz diff --git a/package/vala/vala.mk b/package/vala/vala.mk index a208bdc8cb..6eaa7c40f0 100644 --- a/package/vala/vala.mk +++ b/package/vala/vala.mk @@ -5,7 +5,7 @@ ################################################################################ VALA_VERSION_MAJOR = 0.34 -VALA_VERSION = $(VALA_VERSION_MAJOR).2 +VALA_VERSION = $(VALA_VERSION_MAJOR).3 VALA_SITE = http://download.gnome.org/sources/vala/$(VALA_VERSION_MAJOR) VALA_SOURCE = vala-$(VALA_VERSION).tar.xz VALA_LICENSE = LGPLv2.1+ From 8af8c9d15fc4b8861e14b118b14339d0bb62f03d Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Tue, 29 Nov 2016 11:29:19 +0000 Subject: [PATCH 164/180] sqlite: bump version to 3150200 (3.15.2) Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/sqlite/sqlite.hash | 4 ++-- package/sqlite/sqlite.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/sqlite/sqlite.hash b/package/sqlite/sqlite.hash index bb24f94efc..7839dc9036 100644 --- a/package/sqlite/sqlite.hash +++ b/package/sqlite/sqlite.hash @@ -1,4 +1,4 @@ # From http://www.sqlite.org/download.html -sha1 47404fe5c43936160ad0e90bddedc99367da7a9b sqlite-autoconf-3150100.tar.gz +sha1 31f52169bcfeef9efb61480d0950e928ad059552 sqlite-autoconf-3150200.tar.gz # Calculated based on the hash above -sha256 5dfa89b7697ee3c2ac7b44e8e157e7f204bf999c866afcaa8bb1c7ff656ae2c5 sqlite-autoconf-3150100.tar.gz +sha256 07b35063b9386865b78226cdaca9a299d938a87aaa8fdc4d73edb0cef30f3149 sqlite-autoconf-3150200.tar.gz diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk index 3f44f82b17..cb032498d0 100644 --- a/package/sqlite/sqlite.mk +++ b/package/sqlite/sqlite.mk @@ -4,7 +4,7 @@ # ################################################################################ -SQLITE_VERSION = 3150100 +SQLITE_VERSION = 3150200 SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_VERSION).tar.gz SQLITE_SITE = http://www.sqlite.org/2016 SQLITE_LICENSE = Public domain From cc12905292994ec6ba1cfe3c3d12994f203c050d Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Tue, 29 Nov 2016 11:41:05 +0000 Subject: [PATCH 165/180] btrfs-progs: bump version to 4.8.4 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/btrfs-progs/btrfs-progs.hash | 2 +- package/btrfs-progs/btrfs-progs.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/btrfs-progs/btrfs-progs.hash b/package/btrfs-progs/btrfs-progs.hash index 83a96246fb..6d262a162f 100644 --- a/package/btrfs-progs/btrfs-progs.hash +++ b/package/btrfs-progs/btrfs-progs.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/sha256sums.asc -sha256 c1a60c317d2fcaf8420779d2d0717ae53882c2bc22bc44e3bdcd5efb7ca68ef2 btrfs-progs-v4.8.3.tar.xz +sha256 bf26ead666c337a62a74bc9ec7f8dd9ee200e60e5fe5289967d53328eff261c5 btrfs-progs-v4.8.4.tar.xz diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk index e2deb57700..e780903dc3 100644 --- a/package/btrfs-progs/btrfs-progs.mk +++ b/package/btrfs-progs/btrfs-progs.mk @@ -4,7 +4,7 @@ # ################################################################################ -BTRFS_PROGS_VERSION = 4.8.3 +BTRFS_PROGS_VERSION = 4.8.4 BTRFS_PROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/kdave/btrfs-progs BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz BTRFS_PROGS_DEPENDENCIES = host-pkgconf e2fsprogs lzo util-linux zlib From 7746a37856a9ac0138a5a4e94a829e0f08b3bbcc Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Tue, 29 Nov 2016 11:38:13 +0000 Subject: [PATCH 166/180] package/{mesa3d, mesa3d-headers}: bump version to 13.0.2 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/mesa3d-headers/mesa3d-headers.mk | 2 +- package/mesa3d/mesa3d.hash | 4 ++-- package/mesa3d/mesa3d.mk | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk index 523d10b077..3cb0d27390 100644 --- a/package/mesa3d-headers/mesa3d-headers.mk +++ b/package/mesa3d-headers/mesa3d-headers.mk @@ -12,7 +12,7 @@ endif # Not possible to directly refer to mesa3d variables, because of # first/second expansion trickery... -MESA3D_HEADERS_VERSION = 13.0.1 +MESA3D_HEADERS_VERSION = 13.0.2 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz MESA3D_HEADERS_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_HEADERS_VERSION) MESA3D_HEADERS_LICENSE = MIT, SGI, Khronos diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash index 0fab1de644..dfab5e2a70 100644 --- a/package/mesa3d/mesa3d.hash +++ b/package/mesa3d/mesa3d.hash @@ -1,2 +1,2 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2016-November/000270.html -sha256 71962fb2bf77d33b0ad4a565b490dbbeaf4619099c6d9722f04a73187957a731 mesa-13.0.1.tar.xz +# From https://lists.freedesktop.org/archives/mesa-announce/2016-November/000274.html +sha256 a6ed622645f4ed61da418bf65adde5bcc4bb79023c36ba7d6b45b389da4416d5 mesa-13.0.2.tar.xz diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index 031ce883c1..a0186587fd 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -5,7 +5,7 @@ ################################################################################ # When updating the version, please also update mesa3d-headers -MESA3D_VERSION = 13.0.1 +MESA3D_VERSION = 13.0.2 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION) MESA3D_LICENSE = MIT, SGI, Khronos From a8ab83fada243a14bb0e0c3966b69900f264996b Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 30 Nov 2016 09:45:05 +0000 Subject: [PATCH 167/180] git: bump version to 2.11.0 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/git/git.hash | 2 +- package/git/git.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/git/git.hash b/package/git/git.hash index 0815641c10..ee7615797e 100644 --- a/package/git/git.hash +++ b/package/git/git.hash @@ -1,2 +1,2 @@ # From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc -sha256 94802903dd707d85ca3b9a2be35e936a54ce86375f52c6a789efe7ce7e238671 git-2.10.2.tar.xz +sha256 7e7e8d69d494892373b87007674be5820a4bc1ef596a0117d03ea3169119fd0b git-2.11.0.tar.xz diff --git a/package/git/git.mk b/package/git/git.mk index a7768ac53b..7d4d363639 100644 --- a/package/git/git.mk +++ b/package/git/git.mk @@ -4,7 +4,7 @@ # ################################################################################ -GIT_VERSION = 2.10.2 +GIT_VERSION = 2.11.0 GIT_SOURCE = git-$(GIT_VERSION).tar.xz GIT_SITE = https://www.kernel.org/pub/software/scm/git GIT_LICENSE = GPLv2 LGPLv2.1+ From 6fecb71847415677dcfe7001eb4bd6b1d43d117b Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Tue, 29 Nov 2016 12:24:03 +0000 Subject: [PATCH 168/180] readline: bump version to 7.0 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/readline/0001-patchlevel-1.patch | 47 ----------------- package/readline/0002-patchlevel-2.patch | 48 ----------------- package/readline/0003-patchlevel-3.patch | 51 ------------------ package/readline/0004-patchlevel-4.patch | 49 ----------------- package/readline/0005-patchlevel-5.patch | 62 ---------------------- package/readline/0006-patchlevel-6.patch | 67 ------------------------ package/readline/0007-patchlevel-7.patch | 51 ------------------ package/readline/0008-patchlevel-8.patch | 51 ------------------ package/readline/readline.hash | 2 +- package/readline/readline.mk | 2 +- 10 files changed, 2 insertions(+), 428 deletions(-) delete mode 100644 package/readline/0001-patchlevel-1.patch delete mode 100644 package/readline/0002-patchlevel-2.patch delete mode 100644 package/readline/0003-patchlevel-3.patch delete mode 100644 package/readline/0004-patchlevel-4.patch delete mode 100644 package/readline/0005-patchlevel-5.patch delete mode 100644 package/readline/0006-patchlevel-6.patch delete mode 100644 package/readline/0007-patchlevel-7.patch delete mode 100644 package/readline/0008-patchlevel-8.patch diff --git a/package/readline/0001-patchlevel-1.patch b/package/readline/0001-patchlevel-1.patch deleted file mode 100644 index 8593073b9b..0000000000 --- a/package/readline/0001-patchlevel-1.patch +++ /dev/null @@ -1,47 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/readline/readline-6.3-patches/readline63-001 - -Signed-off-by: Gustavo Zacarias - - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.3 -Patch-ID: readline63-001 - -Bug-Reported-by: Daan van Rossum -Bug-Reference-ID: <20140307072523.GA14250@flash.uchicago.edu> -Bug-Reference-URL: - -Bug-Description: - -The `.' command in vi mode cannot undo multi-key commands beginning with -`c', `d', and `y' (command plus motion specifier). - -Patch (apply with `patch -p0'): - -*** a/readline-6.3/readline.c 2013-10-28 14:58:06.000000000 -0400 ---- b/readline.c 2014-03-07 15:20:33.000000000 -0500 -*************** -*** 965,969 **** - if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && - key != ANYOTHERKEY && -! rl_key_sequence_length == 1 && /* XXX */ - _rl_vi_textmod_command (key)) - _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); ---- 965,969 ---- - if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && - key != ANYOTHERKEY && -! _rl_dispatching_keymap == vi_movement_keymap && - _rl_vi_textmod_command (key)) - _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); -*** a/readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 ---- b/patchlevel 2014-03-21 08:28:40.000000000 -0400 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 5 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 1 diff --git a/package/readline/0002-patchlevel-2.patch b/package/readline/0002-patchlevel-2.patch deleted file mode 100644 index a8a94e0810..0000000000 --- a/package/readline/0002-patchlevel-2.patch +++ /dev/null @@ -1,48 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/readline/readline-6.3-patches/readline63-002 - -Signed-off-by: Gustavo Zacarias - - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.3 -Patch-ID: readline63-002 - -Bug-Reported-by: Anatol Pomozov -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00010.html - -Bug-Description: - -When in callback mode, some readline commands can cause readline to seg -fault by passing invalid contexts to callback functions. - -Patch (apply with `patch -p0'): - -*** a/readline-6.3/readline.c 2013-10-28 14:58:06.000000000 -0400 ---- b/readline.c 2014-03-10 14:15:02.000000000 -0400 -*************** -*** 745,749 **** - - RL_CHECK_SIGNALS (); -! if (r == 0) /* success! */ - { - _rl_keyseq_chain_dispose (); ---- 745,750 ---- - - RL_CHECK_SIGNALS (); -! /* We only treat values < 0 specially to simulate recursion. */ -! if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */ - { - _rl_keyseq_chain_dispose (); -*** a/readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 ---- b/patchlevel 2014-03-21 08:28:40.000000000 -0400 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 1 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 2 diff --git a/package/readline/0003-patchlevel-3.patch b/package/readline/0003-patchlevel-3.patch deleted file mode 100644 index 195ed554e9..0000000000 --- a/package/readline/0003-patchlevel-3.patch +++ /dev/null @@ -1,51 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/readline/readline-6.3-patches/readline63-003 - -Signed-off-by: Gustavo Zacarias - - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.3 -Patch-ID: readline63-003 - -Bug-Reported-by: -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -There are debugging functions in the readline release that are theoretically -exploitable as security problems. They are not public functions, but have -global linkage. - -Patch (apply with `patch -p0'): - -*** a/readline-6.3/util.c 2013-09-02 13:36:12.000000000 -0400 ---- b/util.c 2014-03-20 10:25:53.000000000 -0400 -*************** -*** 477,480 **** ---- 479,483 ---- - } - -+ #if defined (DEBUG) - #if defined (USE_VARARGS) - static FILE *_rl_tracefp; -*************** -*** 539,542 **** ---- 542,546 ---- - } - #endif -+ #endif /* DEBUG */ - - -*** a/readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 ---- b/patchlevel 2014-03-21 08:28:40.000000000 -0400 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 2 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 3 diff --git a/package/readline/0004-patchlevel-4.patch b/package/readline/0004-patchlevel-4.patch deleted file mode 100644 index 86ab3d5079..0000000000 --- a/package/readline/0004-patchlevel-4.patch +++ /dev/null @@ -1,49 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/readline/readline-6.3-patches/readline63-004 - -Signed-off-by: Gustavo Zacarias - - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.3 -Patch-ID: readline63-004 - -Bug-Reported-by: Egmont Koblinger -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00153.html - -Bug-Description: - -The signal handling changes to bash and readline (to avoid running any code -in a signal handler context) cause the cursor to be placed on the wrong -line of a multi-line command after a ^C interrupts editing. - -Patch (apply with `patch -p0'): - -*** a/readline-6.3-patched/display.c 2013-12-27 13:10:56.000000000 -0500 ---- b/display.c 2014-03-27 11:52:45.000000000 -0400 -*************** -*** 2678,2682 **** - if (_rl_echoing_p) - { -! _rl_move_vert (_rl_vis_botlin); - _rl_vis_botlin = 0; - fflush (rl_outstream); ---- 2678,2683 ---- - if (_rl_echoing_p) - { -! if (_rl_vis_botlin > 0) /* minor optimization plus bug fix */ -! _rl_move_vert (_rl_vis_botlin); - _rl_vis_botlin = 0; - fflush (rl_outstream); -*** a/readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 ---- b/patchlevel 2014-03-21 08:28:40.000000000 -0400 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 3 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 4 diff --git a/package/readline/0005-patchlevel-5.patch b/package/readline/0005-patchlevel-5.patch deleted file mode 100644 index 6e73c7f263..0000000000 --- a/package/readline/0005-patchlevel-5.patch +++ /dev/null @@ -1,62 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/readline/readline-6.3-patches/readline63-005 - -Signed-off-by: Gustavo Zacarias - - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.3 -Patch-ID: readline63-005 - -Bug-Reported-by: Juergen Daubert -Bug-Reference-ID: <20140303180430.GA7346@jue.netz> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00002.html - -Bug-Description: - -There are still applications using the deprecated Function/VFunction/etc. -typedefs in rltypedefs.h. This patch restores the typedefs, but attempts -to mark them as deprecated using gcc/clang attributes. Thanks to Max Horn -for the suggestion. - -Patch (apply with `patch -p0'): - -*** a/readline-6.3-patched/rltypedefs.h 2011-03-26 14:53:31.000000000 -0400 ---- b/rltypedefs.h 2014-04-10 11:30:45.000000000 -0400 -*************** -*** 27,30 **** ---- 27,49 ---- - #endif - -+ /* Old-style, attempt to mark as deprecated in some way people will notice. */ -+ -+ #if !defined (_FUNCTION_DEF) -+ # define _FUNCTION_DEF -+ -+ #if defined(__GNUC__) || defined(__clang__) -+ typedef int Function () __attribute__ ((deprecated)); -+ typedef void VFunction () __attribute__ ((deprecated)); -+ typedef char *CPFunction () __attribute__ ((deprecated)); -+ typedef char **CPPFunction () __attribute__ ((deprecated)); -+ #else -+ typedef int Function (); -+ typedef void VFunction (); -+ typedef char *CPFunction (); -+ typedef char **CPPFunction (); -+ #endif -+ -+ #endif /* _FUNCTION_DEF */ -+ - /* New style. */ - -*** a/readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 ---- b/patchlevel 2014-03-21 08:28:40.000000000 -0400 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 4 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 5 diff --git a/package/readline/0006-patchlevel-6.patch b/package/readline/0006-patchlevel-6.patch deleted file mode 100644 index b28b53c7ab..0000000000 --- a/package/readline/0006-patchlevel-6.patch +++ /dev/null @@ -1,67 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/readline/readline-6.3-patches/readline63-006 - -Signed-off-by: Gustavo Zacarias - - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.3 -Patch-ID: readline63-006 - -Bug-Reported-by: -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00069.html - -Bug-Description: - -Using reverse-i-search when horizontal scrolling is enabled does not redisplay -the entire line containing the successful search results. - -Patch (apply with `patch -p0'): - -*** a/readline-6.3-patched/display.c 2014-04-08 18:19:36.000000000 -0400 ---- b/display.c 2014-04-20 18:32:52.000000000 -0400 -*************** -*** 1638,1642 **** - the spot of first difference is before the end of the invisible chars, - lendiff needs to be adjusted. */ -! if (current_line == 0 && !_rl_horizontal_scroll_mode && - current_invis_chars != visible_wrap_offset) - { ---- 1638,1642 ---- - the spot of first difference is before the end of the invisible chars, - lendiff needs to be adjusted. */ -! if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */ - current_invis_chars != visible_wrap_offset) - { -*************** -*** 1826,1831 **** - _rl_last_c_pos += bytes_to_insert; - - if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) -! goto clear_rest_of_line; - } - } ---- 1826,1836 ---- - _rl_last_c_pos += bytes_to_insert; - -+ /* XXX - we only want to do this if we are at the end of the line -+ so we move there with _rl_move_cursor_relative */ - if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) -! { -! _rl_move_cursor_relative (ne-new, new); -! goto clear_rest_of_line; -! } - } - } -*** a/readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 ---- b/patchlevel 2014-03-21 08:28:40.000000000 -0400 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 5 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 6 diff --git a/package/readline/0007-patchlevel-7.patch b/package/readline/0007-patchlevel-7.patch deleted file mode 100644 index 4c6f59cd24..0000000000 --- a/package/readline/0007-patchlevel-7.patch +++ /dev/null @@ -1,51 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/readline/readline-6.3-patches/readline63-007 - -Signed-off-by: Gustavo Zacarias - - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.3 -Patch-ID: readline63-007 - -Bug-Reported-by: John Lenton -Bug-Reference-ID: -Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1317476 - -Bug-Description: - -Readline should allow SIGALRM and SIGVTALRM (if available) to `interrupt' -rl_getc and cause the handler to run when not in a signal handling context. - -Patch (apply with `patch -p0'): - -*** a/readline-6.3-patched/input.c 2014-01-10 15:07:08.000000000 -0500 ---- b/input.c 2014-05-30 16:20:56.000000000 -0400 -*************** -*** 535,540 **** ---- 538,551 ---- - else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM) - return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF); -+ /* keyboard-generated signals of interest */ - else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT) - RL_CHECK_SIGNALS (); -+ /* non-keyboard-generated signals of interest */ -+ else if (_rl_caught_signal == SIGALRM -+ #if defined (SIGVTALRM) -+ || _rl_caught_signal == SIGVTALRM -+ #endif -+ ) -+ RL_CHECK_SIGNALS (); - - if (rl_signal_event_hook) -*** a/readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 ---- b/patchlevel 2014-03-21 08:28:40.000000000 -0400 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 6 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 7 diff --git a/package/readline/0008-patchlevel-8.patch b/package/readline/0008-patchlevel-8.patch deleted file mode 100644 index 412ba352d6..0000000000 --- a/package/readline/0008-patchlevel-8.patch +++ /dev/null @@ -1,51 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/readline/readline-6.3-patches/readline63-008 - -Signed-off-by: Gustavo Zacarias - - READLINE PATCH REPORT - ===================== - -Readline-Release: 6.3 -Patch-ID: readline63-008 - -Bug-Reported-by: Jared Yanovich -Bug-Reference-ID: <20140625225019.GJ17044@nightderanger.psc.edu> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00070.html - -Bug-Description: - -When the readline `revert-all-at-newline' option is set, pressing newline -when the current line is one retrieved from history results in a double free -and a segmentation fault. - -Patch (apply with `patch -p0'): - -*** a/readline-6.3-patched/misc.c 2012-09-01 18:03:11.000000000 -0400 ---- b/misc.c 2014-06-30 13:41:19.000000000 -0400 -*************** -*** 462,465 **** ---- 462,466 ---- - /* Set up rl_line_buffer and other variables from history entry */ - rl_replace_from_history (entry, 0); /* entry->line is now current */ -+ entry->data = 0; /* entry->data is now current undo list */ - /* Undo all changes to this history entry */ - while (rl_undo_list) -*************** -*** 469,473 **** - FREE (entry->line); - entry->line = savestring (rl_line_buffer); -- entry->data = 0; - } - entry = previous_history (); ---- 470,473 ---- -*** a/readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 ---- b/patchlevel 2014-03-21 08:28:40.000000000 -0400 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 7 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 8 diff --git a/package/readline/readline.hash b/package/readline/readline.hash index d8833e9192..43f8c64bb2 100644 --- a/package/readline/readline.hash +++ b/package/readline/readline.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43 readline-6.3.tar.gz +sha256 750d437185286f40a369e1e4f4764eda932b9459b5ec9a731628393dd3d32334 readline-7.0.tar.gz diff --git a/package/readline/readline.mk b/package/readline/readline.mk index 763197085e..ed4e1442ee 100644 --- a/package/readline/readline.mk +++ b/package/readline/readline.mk @@ -4,7 +4,7 @@ # ################################################################################ -READLINE_VERSION = 6.3 +READLINE_VERSION = 7.0 READLINE_SITE = $(BR2_GNU_MIRROR)/readline READLINE_INSTALL_STAGING = YES READLINE_DEPENDENCIES = ncurses From cde22e1fd340492f6f017c9f9a2d749391961887 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Tue, 29 Nov 2016 12:24:04 +0000 Subject: [PATCH 169/180] bash: bump version to 4.4 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/bash/0031-patchlevel-31.patch | 116 ------------- package/bash/0032-patchlevel-32.patch | 55 ------- package/bash/0033-patchlevel-33.patch | 229 -------------------------- package/bash/0034-patchlevel-34.patch | 94 ----------- package/bash/0035-patchlevel-35.patch | 67 -------- package/bash/0036-patchlevel-36.patch | 61 ------- package/bash/0037-patchlevel-37.patch | 47 ------ package/bash/0038-patchlevel-38.patch | 92 ----------- package/bash/0039-patchlevel-39.patch | 61 ------- package/bash/0040-patchlevel-40.patch | 51 ------ package/bash/0041-patchlevel-41.patch | 76 --------- package/bash/0042-patchlevel-42.patch | 59 ------- package/bash/0043-patchlevel-43.patch | 63 ------- package/bash/0044-patchlevel-44.patch | 52 ------ package/bash/0045-patchlevel-45.patch | 56 ------- package/bash/0046-patchlevel-46.patch | 59 ------- package/bash/bash.hash | 2 +- package/bash/bash.mk | 2 +- 18 files changed, 2 insertions(+), 1240 deletions(-) delete mode 100644 package/bash/0031-patchlevel-31.patch delete mode 100644 package/bash/0032-patchlevel-32.patch delete mode 100644 package/bash/0033-patchlevel-33.patch delete mode 100644 package/bash/0034-patchlevel-34.patch delete mode 100644 package/bash/0035-patchlevel-35.patch delete mode 100644 package/bash/0036-patchlevel-36.patch delete mode 100644 package/bash/0037-patchlevel-37.patch delete mode 100644 package/bash/0038-patchlevel-38.patch delete mode 100644 package/bash/0039-patchlevel-39.patch delete mode 100644 package/bash/0040-patchlevel-40.patch delete mode 100644 package/bash/0041-patchlevel-41.patch delete mode 100644 package/bash/0042-patchlevel-42.patch delete mode 100644 package/bash/0043-patchlevel-43.patch delete mode 100644 package/bash/0044-patchlevel-44.patch delete mode 100644 package/bash/0045-patchlevel-45.patch delete mode 100644 package/bash/0046-patchlevel-46.patch diff --git a/package/bash/0031-patchlevel-31.patch b/package/bash/0031-patchlevel-31.patch deleted file mode 100644 index d285a1f882..0000000000 --- a/package/bash/0031-patchlevel-31.patch +++ /dev/null @@ -1,116 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-031 - -Signed-off-by: Gustavo Zacarias - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-031 - -Bug-Reported-by: lolilolicon -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00139.html - -Bug-Description: - -The new nameref assignment functionality introduced in bash-4.3 did not perform -enough validation on the variable value and would create variables with -invalid names. - -Patch (apply with `patch -p0'): - -*** a/bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500 ---- b/subst.h 2014-09-01 12:16:56.000000000 -0400 -*************** -*** 48,51 **** ---- 48,52 ---- - #define ASS_MKGLOBAL 0x0008 /* force global assignment */ - #define ASS_NAMEREF 0x0010 /* assigning to nameref variable */ -+ #define ASS_FROMREF 0x0020 /* assigning from value of nameref variable */ - - /* Flags for the string extraction functions. */ -*** a/bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400 ---- b/variables.c 2014-09-01 14:37:44.000000000 -0400 -*************** -*** 2504,2511 **** - int hflags, aflags; - { -! char *newval; - SHELL_VAR *entry; - - entry = (hflags & HASH_NOSRCH) ? (SHELL_VAR *)NULL : hash_lookup (name, table); - /* Follow the nameref chain here if this is the global variables table */ - if (entry && nameref_p (entry) && (invisible_p (entry) == 0) && table == global_variables->table) ---- 2566,2590 ---- - int hflags, aflags; - { -! char *newname, *newval; - SHELL_VAR *entry; -+ #if defined (ARRAY_VARS) -+ arrayind_t ind; -+ char *subp; -+ int sublen; -+ #endif - -+ newname = 0; -+ #if defined (ARRAY_VARS) -+ if ((aflags & ASS_FROMREF) && (hflags & HASH_NOSRCH) == 0 && valid_array_reference (name)) -+ { -+ newname = array_variable_name (name, &subp, &sublen); -+ if (newname == 0) -+ return (SHELL_VAR *)NULL; /* XXX */ -+ entry = hash_lookup (newname, table); -+ } -+ else -+ #endif - entry = (hflags & HASH_NOSRCH) ? (SHELL_VAR *)NULL : hash_lookup (name, table); -+ - /* Follow the nameref chain here if this is the global variables table */ - if (entry && nameref_p (entry) && (invisible_p (entry) == 0) && table == global_variables->table) -*************** -*** 2538,2541 **** ---- 2617,2630 ---- - } - } -+ #if defined (ARRAY_VARS) -+ else if (entry == 0 && newname) -+ { -+ entry = make_new_array_variable (newname); /* indexed array by default */ -+ if (entry == 0) -+ return entry; -+ ind = array_expand_index (name, subp, sublen); -+ bind_array_element (entry, ind, value, aflags); -+ } -+ #endif - else if (entry == 0) - { -*************** -*** 2658,2662 **** - if (nameref_cell (nv) == 0) - return (bind_variable_internal (nv->name, value, nvc->table, 0, flags)); -! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags)); - } - else ---- 2747,2752 ---- - if (nameref_cell (nv) == 0) - return (bind_variable_internal (nv->name, value, nvc->table, 0, flags)); -! /* XXX - bug here with ref=array[index] */ -! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags|ASS_FROMREF)); - } - else -*** a/bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 30 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 31 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0032-patchlevel-32.patch b/package/bash/0032-patchlevel-32.patch deleted file mode 100644 index 6cdc0f1e81..0000000000 --- a/package/bash/0032-patchlevel-32.patch +++ /dev/null @@ -1,55 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-032 - -Signed-off-by: Gustavo Zacarias - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-032 - -Bug-Reported-by: crispusfairbairn@gmail.com -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00013.html - -Bug-Description: - -When bash is running in Posix mode, it allows signals -- including SIGCHLD -- -to interrupt the `wait' builtin, as Posix requires. However, the interrupt -causes bash to not run a SIGCHLD trap for all exited children. This patch -fixes the issue and restores the documented behavior in Posix mode. - -Patch (apply with `patch -p0'): - -*** a/bash-4.3-patched/jobs.c 2014-05-14 09:20:15.000000000 -0400 ---- b/jobs.c 2014-09-09 11:50:38.000000000 -0400 -*************** -*** 3340,3344 **** - { - interrupt_immediately = 0; -! trap_handler (SIGCHLD); /* set pending_traps[SIGCHLD] */ - wait_signal_received = SIGCHLD; - /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up; ---- 3346,3352 ---- - { - interrupt_immediately = 0; -! /* This was trap_handler (SIGCHLD) but that can lose traps if -! children_exited > 1 */ -! queue_sigchld_trap (children_exited); - wait_signal_received = SIGCHLD; - /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up; -*** a/bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 31 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 32 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0033-patchlevel-33.patch b/package/bash/0033-patchlevel-33.patch deleted file mode 100644 index 45fb686e33..0000000000 --- a/package/bash/0033-patchlevel-33.patch +++ /dev/null @@ -1,229 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-033 - -Signed-off-by: Gustavo Zacarias - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-033 - -Bug-Reported-by: mickael9@gmail.com, Jan Rome -Bug-Reference-ID: <20140907224046.382ED3610CC@mickael-laptop.localdomain>, - <540D661D.50908@gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00029.html - http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00030.html - -Bug-Description: - -Bash does not clean up the terminal state in all cases where bash or -readline modifies it and bash is subsequently terminated by a fatal signal. -This happens when the `read' builtin modifies the terminal settings, both -when readline is active and when it is not. It occurs most often when a script -installs a trap that exits on a signal without re-sending the signal to itself. - -Patch (apply with `patch -p0'): - -*** a/bash-4.3-patched/shell.c 2014-01-14 08:04:32.000000000 -0500 ---- b/shell.c 2014-12-22 10:27:50.000000000 -0500 -*************** -*** 74,77 **** ---- 74,78 ---- - - #if defined (READLINE) -+ # include - # include "bashline.h" - #endif -*************** -*** 910,913 **** ---- 912,923 ---- - fflush (stderr); - -+ /* Clean up the terminal if we are in a state where it's been modified. */ -+ #if defined (READLINE) -+ if (RL_ISSTATE (RL_STATE_TERMPREPPED) && rl_deprep_term_function) -+ (*rl_deprep_term_function) (); -+ #endif -+ if (read_tty_modified ()) -+ read_tty_cleanup (); -+ - /* Do trap[0] if defined. Allow it to override the exit status - passed to us. */ -*** a/bash-4.3-patched/builtins/read.def 2014-10-01 12:57:38.000000000 -0400 ---- b/builtins/read.def 2014-12-22 10:48:54.000000000 -0500 -*************** -*** 141,148 **** - int sigalrm_seen; - -! static int reading; - static SigHandler *old_alrm; - static unsigned char delim; - - /* In all cases, SIGALRM just sets a flag that we check periodically. This - avoids problems with the semi-tricky stuff we do with the xfree of ---- 141,150 ---- - int sigalrm_seen; - -! static int reading, tty_modified; - static SigHandler *old_alrm; - static unsigned char delim; - -+ static struct ttsave termsave; -+ - /* In all cases, SIGALRM just sets a flag that we check periodically. This - avoids problems with the semi-tricky stuff we do with the xfree of -*************** -*** 189,193 **** - SHELL_VAR *var; - TTYSTRUCT ttattrs, ttset; -- struct ttsave termsave; - #if defined (ARRAY_VARS) - WORD_LIST *alist; ---- 191,194 ---- -*************** -*** 222,226 **** - USE_VAR(lastsig); - -! sigalrm_seen = reading = 0; - - i = 0; /* Index into the string that we are reading. */ ---- 223,227 ---- - USE_VAR(lastsig); - -! sigalrm_seen = reading = tty_modified = 0; - - i = 0; /* Index into the string that we are reading. */ -*************** -*** 439,442 **** ---- 440,445 ---- - goto assign_vars; - } -+ if (interactive_shell == 0) -+ initialize_terminating_signals (); - old_alrm = set_signal_handler (SIGALRM, sigalrm); - add_unwind_protect (reset_alarm, (char *)NULL); -*************** -*** 483,487 **** ---- 486,493 ---- - if (i < 0) - sh_ttyerror (1); -+ tty_modified = 1; - add_unwind_protect ((Function *)ttyrestore, (char *)&termsave); -+ if (interactive_shell == 0) -+ initialize_terminating_signals (); - } - } -*************** -*** 498,502 **** ---- 504,511 ---- - sh_ttyerror (1); - -+ tty_modified = 1; - add_unwind_protect ((Function *)ttyrestore, (char *)&termsave); -+ if (interactive_shell == 0) -+ initialize_terminating_signals (); - } - -*************** -*** 589,592 **** ---- 598,603 ---- - else - lastsig = 0; -+ if (terminating_signal && tty_modified) -+ ttyrestore (&termsave); /* fix terminal before exiting */ - CHECK_TERMSIG; - eof = 1; -*************** -*** 979,982 **** ---- 990,1007 ---- - { - ttsetattr (ttp->fd, ttp->attrs); -+ tty_modified = 0; -+ } -+ -+ void -+ read_tty_cleanup () -+ { -+ if (tty_modified) -+ ttyrestore (&termsave); -+ } -+ -+ int -+ read_tty_modified () -+ { -+ return (tty_modified); - } - -*** ./bash-4.3-patched/builtins/common.h 2014-10-01 12:57:47.000000000 -0400 ---- b/builtins/common.h 2014-12-22 10:10:14.000000000 -0500 -*************** -*** 123,126 **** ---- 141,148 ---- - extern void getopts_reset __P((int)); - -+ /* Functions from read.def */ -+ extern void read_tty_cleanup __P((void)); -+ extern int read_tty_modified __P((void)); -+ - /* Functions from set.def */ - extern int minus_o_option_value __P((char *)); -*** a/bash-4.3-patched/bashline.c 2014-05-14 09:22:39.000000000 -0400 ---- b/bashline.c 2014-09-08 11:28:56.000000000 -0400 -*************** -*** 203,206 **** ---- 203,207 ---- - extern int array_needs_making; - extern int posixly_correct, no_symbolic_links; -+ extern int sigalrm_seen; - extern char *current_prompt_string, *ps1_prompt; - extern STRING_INT_ALIST word_token_alist[]; -*************** -*** 4209,4214 **** - /* If we're going to longjmp to top_level, make sure we clean up readline. - check_signals will call QUIT, which will eventually longjmp to top_level, -! calling run_interrupt_trap along the way. */ -! if (interrupt_state) - rl_cleanup_after_signal (); - bashline_reset_event_hook (); ---- 4262,4268 ---- - /* If we're going to longjmp to top_level, make sure we clean up readline. - check_signals will call QUIT, which will eventually longjmp to top_level, -! calling run_interrupt_trap along the way. The check for sigalrm_seen is -! to clean up the read builtin's state. */ -! if (terminating_signal || interrupt_state || sigalrm_seen) - rl_cleanup_after_signal (); - bashline_reset_event_hook (); -*** a/bash-4.3-patched/sig.c 2014-01-10 15:06:06.000000000 -0500 ---- b/sig.c 2014-09-08 11:26:33.000000000 -0400 -*************** -*** 533,538 **** - /* Set the event hook so readline will call it after the signal handlers - finish executing, so if this interrupted character input we can get -! quick response. */ -! if (interactive_shell && interactive && no_line_editing == 0) - bashline_set_event_hook (); - #endif ---- 533,540 ---- - /* Set the event hook so readline will call it after the signal handlers - finish executing, so if this interrupted character input we can get -! quick response. If readline is active or has modified the terminal we -! need to set this no matter what the signal is, though the check for -! RL_STATE_TERMPREPPED is possibly redundant. */ -! if (RL_ISSTATE (RL_STATE_SIGHANDLER) || RL_ISSTATE (RL_STATE_TERMPREPPED)) - bashline_set_event_hook (); - #endif -*** a/bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 32 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 33 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0034-patchlevel-34.patch b/package/bash/0034-patchlevel-34.patch deleted file mode 100644 index 79c8945c5c..0000000000 --- a/package/bash/0034-patchlevel-34.patch +++ /dev/null @@ -1,94 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-034 - -Signed-off-by: Gustavo Zacarias - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-034 - -Bug-Reported-by: Dreamcat4 -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-05/msg00001.html - -Bug-Description: - -If neither the -f nor -v options is supplied to unset, and a name argument is -found to be a function and unset, subsequent name arguments are not treated as -variables before attempting to unset a function by that name. - -Patch (apply with `patch -p0'): - -*** a/bash-4.3-patched/builtins/set.def 2013-04-19 07:20:34.000000000 -0400 ---- b/builtins/set.def 2015-05-05 13:25:36.000000000 -0400 -*************** -*** 752,758 **** ---- 797,805 ---- - { - int unset_function, unset_variable, unset_array, opt, nameref, any_failed; -+ int global_unset_func, global_unset_var; - char *name; - - unset_function = unset_variable = unset_array = nameref = any_failed = 0; -+ global_unset_func = global_unset_var = 0; - - reset_internal_getopt (); -*************** -*** 762,769 **** - { - case 'f': -! unset_function = 1; - break; - case 'v': -! unset_variable = 1; - break; - case 'n': ---- 809,816 ---- - { - case 'f': -! global_unset_func = 1; - break; - case 'v': -! global_unset_var = 1; - break; - case 'n': -*************** -*** 778,782 **** - list = loptend; - -! if (unset_function && unset_variable) - { - builtin_error (_("cannot simultaneously unset a function and a variable")); ---- 825,829 ---- - list = loptend; - -! if (global_unset_func && global_unset_var) - { - builtin_error (_("cannot simultaneously unset a function and a variable")); -*************** -*** 796,799 **** ---- 843,849 ---- - name = list->word->word; - -+ unset_function = global_unset_func; -+ unset_variable = global_unset_var; -+ - #if defined (ARRAY_VARS) - unset_array = 0; - -*** a/bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 33 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 34 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0035-patchlevel-35.patch b/package/bash/0035-patchlevel-35.patch deleted file mode 100644 index c18b60dc56..0000000000 --- a/package/bash/0035-patchlevel-35.patch +++ /dev/null @@ -1,67 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-035 - -Signed-off-by: Gustavo Zacarias - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-035 - -Bug-Reported-by: -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00045.html - -Bug-Description: - -A locale with a long name can trigger a buffer overflow and core dump. This -applies on systems that do not have locale_charset in libc, are not using -GNU libiconv, and are not using the libintl that ships with bash in lib/intl. - -Patch (apply with `patch -p0'): - -*** a/bash-4.3-patched/lib/sh/unicode.c 2014-01-30 16:47:19.000000000 -0500 ---- b/lib/sh/unicode.c 2015-05-01 08:58:30.000000000 -0400 -*************** -*** 79,83 **** - if (s) - { -! strcpy (charsetbuf, s+1); - t = strchr (charsetbuf, '@'); - if (t) ---- 79,84 ---- - if (s) - { -! strncpy (charsetbuf, s+1, sizeof (charsetbuf) - 1); -! charsetbuf[sizeof (charsetbuf) - 1] = '\0'; - t = strchr (charsetbuf, '@'); - if (t) -*************** -*** 85,89 **** - return charsetbuf; - } -! strcpy (charsetbuf, locale); - return charsetbuf; - } ---- 86,91 ---- - return charsetbuf; - } -! strncpy (charsetbuf, locale, sizeof (charsetbuf) - 1); -! charsetbuf[sizeof (charsetbuf) - 1] = '\0'; - return charsetbuf; - } -*** a/bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 34 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 35 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0036-patchlevel-36.patch b/package/bash/0036-patchlevel-36.patch deleted file mode 100644 index f35b29b5bd..0000000000 --- a/package/bash/0036-patchlevel-36.patch +++ /dev/null @@ -1,61 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-036 - -Signed-off-by: Gustavo Zacarias - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-036 - -Bug-Reported-by: emanuelczirai@cryptolab.net -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00071.html - -Bug-Description: - -When evaluating and setting integer variables, and the assignment fails to -create a variable (for example, when performing an operation on an array -variable with an invalid subscript), bash attempts to dereference a null -pointer, causing a segmentation violation. - -Patch (apply with `patch -p0'): - -*** a/bash-20150206/variables.c 2015-01-23 20:39:27.000000000 -0500 ---- b/variables.c 2015-02-19 13:56:12.000000000 -0500 -*************** -*** 2834,2841 **** - v = bind_variable (lhs, rhs, 0); - -! if (v && isint) -! VSETATTR (v, att_integer); -! -! VUNSETATTR (v, att_invisible); - - return (v); ---- 2834,2843 ---- - v = bind_variable (lhs, rhs, 0); - -! if (v) -! { -! if (isint) -! VSETATTR (v, att_integer); -! VUNSETATTR (v, att_invisible); -! } - - return (v); -*** a/bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 35 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 36 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0037-patchlevel-37.patch b/package/bash/0037-patchlevel-37.patch deleted file mode 100644 index 5f8aff356c..0000000000 --- a/package/bash/0037-patchlevel-37.patch +++ /dev/null @@ -1,47 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-037 - -Signed-off-by: Gustavo Zacarias - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-037 - -Bug-Reported-by: Greg Wooledge -Bug-Reference-ID: <20150204144240.GN13956@eeg.ccf.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00007.html - -Bug-Description: - -If an associative array uses `@' or `*' as a subscript, `declare -p' produces -output that cannot be reused as input. - -Patch (apply with `patch -p0'): - -*** a/bash-4.3-patched/assoc.c 2011-11-05 16:39:05.000000000 -0400 ---- b/assoc.c 2015-02-04 15:28:25.000000000 -0500 -*************** -*** 437,440 **** ---- 440,445 ---- - if (sh_contains_shell_metas (tlist->key)) - istr = sh_double_quote (tlist->key); -+ else if (ALL_ELEMENT_SUB (tlist->key[0]) && tlist->key[1] == '\0') -+ istr = sh_double_quote (tlist->key); - else - istr = tlist->key; -*** a/bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 36 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 37 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0038-patchlevel-38.patch b/package/bash/0038-patchlevel-38.patch deleted file mode 100644 index 09fd9c2ec0..0000000000 --- a/package/bash/0038-patchlevel-38.patch +++ /dev/null @@ -1,92 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-038 - -Signed-off-by: Gustavo Zacarias - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-038 - -Bug-Reported-by: worley@alum.mit.edu (Dale R. Worley) -Bug-Reference-ID: <201406100051.s5A0pCeB014978@hobgoblin.ariadne.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00028.html - -Bug-Description: - -There are a number of instances where `time' is not recognized as a reserved -word when the shell grammar says it should be. - -Patch (apply with `patch -p0'): - -*** a/bash-4.3-patched/parse.y 2014-04-07 11:56:12.000000000 -0400 ---- b/parse.y 2014-06-11 10:25:53.000000000 -0400 -*************** -*** 2819,2827 **** - case OR_OR: - case '&': - case DO: - case THEN: - case ELSE: - case '{': /* } */ -! case '(': /* ) */ - case BANG: /* ! time pipeline */ - case TIME: /* time time pipeline */ ---- 2819,2832 ---- - case OR_OR: - case '&': -+ case WHILE: - case DO: -+ case UNTIL: -+ case IF: - case THEN: -+ case ELIF: - case ELSE: - case '{': /* } */ -! case '(': /* )( */ -! case ')': /* only valid in case statement */ - case BANG: /* ! time pipeline */ - case TIME: /* time time pipeline */ -*** a/bash-4.3-patched/y.tab.c 2014-10-05 13:52:50.000000000 -0400 ---- b/y.tab.c 2015-05-19 15:08:43.000000000 -0400 -*************** -*** 5131,5139 **** - case OR_OR: - case '&': - case DO: - case THEN: - case ELSE: - case '{': /* } */ -! case '(': /* ) */ - case BANG: /* ! time pipeline */ - case TIME: /* time time pipeline */ ---- 5131,5144 ---- - case OR_OR: - case '&': -+ case WHILE: - case DO: -+ case UNTIL: -+ case IF: - case THEN: -+ case ELIF: - case ELSE: - case '{': /* } */ -! case '(': /* )( */ -! case ')': /* only valid in case statement */ - case BANG: /* ! time pipeline */ - case TIME: /* time time pipeline */ -*** a/bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 37 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 38 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0039-patchlevel-39.patch b/package/bash/0039-patchlevel-39.patch deleted file mode 100644 index 2a555b96c1..0000000000 --- a/package/bash/0039-patchlevel-39.patch +++ /dev/null @@ -1,61 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-039 - -Signed-off-by: Gustavo Zacarias - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-039 - -Bug-Reported-by: SN -Bug-Reference-ID: <54E2554C.205@gazeta.pl> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00060.html - -Bug-Description: - -Using the output of `declare -p' when run in a function can result in variables -that are invisible to `declare -p'. This problem occurs when an assignment -builtin such as `declare' receives a quoted compound array assignment as one of -its arguments. - -Patch (apply with `patch -p0'): - -*** a/bash-4.3-patched/arrayfunc.c 2014-10-01 13:08:48.000000000 -0400 ---- b/arrayfunc.c 2015-02-19 14:33:05.000000000 -0500 -*************** -*** 405,408 **** ---- 405,411 ---- - else - array_insert (a, i, l->word->word); -+ -+ VUNSETATTR (var, att_invisible); /* no longer invisible */ -+ - return var; - } -*************** -*** 635,638 **** ---- 638,645 ---- - if (nlist) - dispose_words (nlist); -+ -+ if (var) -+ VUNSETATTR (var, att_invisible); /* no longer invisible */ -+ - return (var); - } -*** a/bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 38 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 39 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0040-patchlevel-40.patch b/package/bash/0040-patchlevel-40.patch deleted file mode 100644 index 2a03c45a92..0000000000 --- a/package/bash/0040-patchlevel-40.patch +++ /dev/null @@ -1,51 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-040 - -Signed-off-by: Gustavo Zacarias - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-040 - -Bug-Reported-by: Jean Delvare -Bug-Reference-ID: <20150609180231.5f463695@endymion.delvare> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00033.html - -Bug-Description: - -There is a memory leak that occurs when bash expands an array reference on -the rhs of an assignment statement. - -Patch (apply with `patch -p0'): - -*** a/bash-4.3-patched/subst.c 2014-10-01 12:57:47.000000000 -0400 ---- b/subst.c 2015-06-22 09:16:53.000000000 -0400 -*************** -*** 5783,5787 **** - if (pflags & PF_ASSIGNRHS) - { -! temp = array_variable_name (name, &tt, (int *)0); - if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']') - temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind); ---- 5783,5787 ---- - if (pflags & PF_ASSIGNRHS) - { -! var = array_variable_part (name, &tt, (int *)0); - if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']') - temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind); -*** a/bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 39 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 40 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0041-patchlevel-41.patch b/package/bash/0041-patchlevel-41.patch deleted file mode 100644 index c8ba4b1081..0000000000 --- a/package/bash/0041-patchlevel-41.patch +++ /dev/null @@ -1,76 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-041 - -Signed-off-by: Gustavo Zacarias - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-041 - -Bug-Reported-by: Hanno Böck -Bug-Reference-ID: <20150623131106.6f111da9@pc1>, <20150707004640.0e61d2f9@pc1> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00089.html, - http://lists.gnu.org/archive/html/bug-bash/2015-07/msg00018.html - -Bug-Description: - -There are several out-of-bounds read errors that occur when completing command -lines where assignment statements appear before the command name. The first -two appear only when programmable completion is enabled; the last one only -happens when listing possible completions. - -Patch (apply with `patch -p0'): - -*** a/bash-4.3.40/bashline.c 2014-12-29 14:39:43.000000000 -0500 ---- b/bashline.c 2015-08-12 10:21:58.000000000 -0400 -*************** -*** 1469,1476 **** ---- 1469,1489 ---- - os = start; - n = 0; -+ was_assignment = 0; - s = find_cmd_start (os); - e = find_cmd_end (end); - do - { -+ /* Don't read past the end of rl_line_buffer */ -+ if (s > rl_end) -+ { -+ s1 = s = e1; -+ break; -+ } -+ /* Or past point if point is within an assignment statement */ -+ else if (was_assignment && s > rl_point) -+ { -+ s1 = s = e1; -+ break; -+ } - /* Skip over assignment statements preceding a command name. If we - don't find a command name at all, we can perform command name -*** a/bash-4.3.40/lib/readline/complete.c 2013-10-14 09:27:10.000000000 -0400 ---- b/lib/readline/complete.c 2015-07-31 09:34:39.000000000 -0400 -*************** -*** 690,693 **** ---- 690,695 ---- - if (temp == 0 || *temp == '\0') - return (pathname); -+ else if (temp[1] == 0 && temp == pathname) -+ return (pathname); - /* If the basename is NULL, we might have a pathname like '/usr/src/'. - Look for a previous slash and, if one is found, return the portion -*** a/bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 40 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 41 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0042-patchlevel-42.patch b/package/bash/0042-patchlevel-42.patch deleted file mode 100644 index bb3471c63f..0000000000 --- a/package/bash/0042-patchlevel-42.patch +++ /dev/null @@ -1,59 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-042 - -Signed-off-by: Gustavo Zacarias - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-042 - -Bug-Reported-by: Nathan Neulinger -Bug-Reference-ID: <558EFDF2.7060402@neulinger.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00096.html - -Bug-Description: - -There is a problem when parsing command substitutions containing `case' -commands within pipelines that causes the parser to not correctly identify -the end of the command substitution. - -Patch (apply with `patch -p0'): - -*** a/bash-4.3-patched/parse.y 2015-05-18 19:27:05.000000000 -0400 ---- b/parse.y 2015-06-29 10:59:27.000000000 -0400 -*************** -*** 3709,3712 **** ---- 3709,3714 ---- - tflags |= LEX_INWORD; - lex_wlen = 0; -+ if (tflags & LEX_RESWDOK) -+ lex_rwlen = 0; - } - } -*** a/bash-4.3-patched/y.tab.c 2015-05-18 19:27:05.000000000 -0400 ---- b/y.tab.c 2015-06-29 10:59:27.000000000 -0400 -*************** -*** 6021,6024 **** ---- 6021,6026 ---- - tflags |= LEX_INWORD; - lex_wlen = 0; -+ if (tflags & LEX_RESWDOK) -+ lex_rwlen = 0; - } - } -*** a/bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 41 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 42 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0043-patchlevel-43.patch b/package/bash/0043-patchlevel-43.patch deleted file mode 100644 index a30a9817c9..0000000000 --- a/package/bash/0043-patchlevel-43.patch +++ /dev/null @@ -1,63 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-043 - -Signed-off-by: Bernd Kuhls - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-043 - -Bug-Reported-by: lolilolicon -Bug-Reference-ID: -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00040.html - -Bug-Description: - -When the lastpipe option is enabled, the last component can contain nested -pipelines and cause a segmentation fault under certain circumestances. - -Patch (apply with `patch -p0'): - -*** a/execute_cmd.c 2014-07-30 10:26:52.000000000 -0400 ---- b/execute_cmd.c 2014-08-15 08:55:24.000000000 -0400 -*************** -*** 2406,2412 **** - { - #if defined (JOB_CONTROL) -! append_process (savestring (the_printed_command), dollar_dollar_pid, exec_result, lastpipe_jid); -! #endif - lstdin = wait_for (lastpid); - #if defined (JOB_CONTROL) - /* If wait_for removes the job from the jobs table, use result of last ---- 2433,2447 ---- - { - #if defined (JOB_CONTROL) -! if (INVALID_JOB (lastpipe_jid) == 0) -! { -! append_process (savestring (the_printed_command_except_trap), dollar_dollar_pid, exec_result, lastpipe_jid); -! lstdin = wait_for (lastpid); -! } -! else -! lstdin = wait_for_single_pid (lastpid); /* checks bgpids list */ -! #else - lstdin = wait_for (lastpid); -+ #endif -+ - #if defined (JOB_CONTROL) - /* If wait_for removes the job from the jobs table, use result of last -*** a/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 42 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 43 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0044-patchlevel-44.patch b/package/bash/0044-patchlevel-44.patch deleted file mode 100644 index 62d541222a..0000000000 --- a/package/bash/0044-patchlevel-44.patch +++ /dev/null @@ -1,52 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-044 - -Signed-off-by: Bernd Kuhls - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-044 - -Bug-Reported-by: Ondrej Oprala -Bug-Reference-ID: <539ED55B.2080103@redhat.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00046.html - -Bug-Description: - -A typo prevents the `compat42' shopt option from working as intended. - -Patch (apply with `patch -p0'): - -diff -rC 2 bash-4.3.42/builtins/shopt.def bash-4.3.43/builtins/shopt.def -*** a/builtins/shopt.def 2013-02-27 09:43:20.000000000 -0500 ---- b/builtins/shopt.def 2015-10-16 11:25:28.000000000 -0400 -*************** -*** 161,165 **** - { "compat40", &shopt_compat40, set_compatibility_level }, - { "compat41", &shopt_compat41, set_compatibility_level }, -! { "compat42", &shopt_compat41, set_compatibility_level }, - #if defined (READLINE) - { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL}, ---- 161,165 ---- - { "compat40", &shopt_compat40, set_compatibility_level }, - { "compat41", &shopt_compat41, set_compatibility_level }, -! { "compat42", &shopt_compat42, set_compatibility_level }, - #if defined (READLINE) - { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL}, - -*** a/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 43 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 44 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0045-patchlevel-45.patch b/package/bash/0045-patchlevel-45.patch deleted file mode 100644 index bb11b1a055..0000000000 --- a/package/bash/0045-patchlevel-45.patch +++ /dev/null @@ -1,56 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-045 - -Signed-off-by: Bernd Kuhls - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-045 - -Bug-Reported-by: Basin Ilya -Bug-Reference-ID: <5624C0AC.8070802@gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-10/msg00141.html - -Bug-Description: - -If a file open attempted as part of a redirection fails because it is interrupted -by a signal, the shell needs to process any pending traps to allow the redirection -to be canceled. - -Patch (apply with `patch -p0'): - -*** a/redir.c 2014-12-03 10:47:38.000000000 -0500 ---- b/redir.c 2015-01-16 10:15:47.000000000 -0500 -*************** -*** 672,676 **** - e = errno; - if (fd < 0 && e == EINTR) -! QUIT; - errno = e; - } ---- 672,679 ---- - e = errno; - if (fd < 0 && e == EINTR) -! { -! QUIT; -! run_pending_traps (); -! } - errno = e; - } - -*** a/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 44 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 45 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0046-patchlevel-46.patch b/package/bash/0046-patchlevel-46.patch deleted file mode 100644 index bc3798a088..0000000000 --- a/package/bash/0046-patchlevel-46.patch +++ /dev/null @@ -1,59 +0,0 @@ -From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-046 - -Signed-off-by: Bernd Kuhls - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-046 - -Bug-Reported-by: Sergey Tselikh -Bug-Reference-ID: <20150816110235.91f3e12e3f20d20cdaad963e@gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-08/msg00080.html - -Bug-Description: - -An incorrect conversion from an indexed to associative array can result in a -core dump. - -Patch (apply with `patch -p0'): - -*** a/subst.c 2015-08-13 11:32:54.000000000 -0400 ---- b/subst.c 2015-08-18 10:13:59.000000000 -0400 -*************** -*** 9562,9566 **** - opts[opti] = '\0'; - if (opti > 0) -! make_internal_declare (tlist->word->word, opts); - - t = do_word_assignment (tlist->word, 0); ---- 9562,9573 ---- - opts[opti] = '\0'; - if (opti > 0) -! { -! t = make_internal_declare (tlist->word->word, opts); -! if (t != EXECUTION_SUCCESS) -! { -! last_command_exit_value = t; -! exp_jump_to_top_level (DISCARD); -! } -! } - - t = do_word_assignment (tlist->word, 0); - -*** a/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 ---- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 45 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 46 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash.hash b/package/bash/bash.hash index faf2364588..adbd60868a 100644 --- a/package/bash/bash.hash +++ b/package/bash/bash.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 317881019bbf2262fb814b7dd8e40632d13c3608d2f237800a8828fbb8a640dd bash-4.3.30.tar.gz +sha256 d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb bash-4.4.tar.gz diff --git a/package/bash/bash.mk b/package/bash/bash.mk index 3cd8d8273c..090cf5224c 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -4,7 +4,7 @@ # ################################################################################ -BASH_VERSION = 4.3.30 +BASH_VERSION = 4.4 BASH_SITE = $(BR2_GNU_MIRROR)/bash # Build after since bash is better than busybox shells BASH_DEPENDENCIES = ncurses readline host-bison \ From 372e9255b2cd475cb68f51413ad60bb205fc4793 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Tue, 29 Nov 2016 22:04:15 +0100 Subject: [PATCH 170/180] package/bluez5_utils: bump version to 5.43 Signed-off-by: Bernd Kuhls Signed-off-by: Peter Korsgaard --- package/bluez5_utils/bluez5_utils.hash | 2 +- package/bluez5_utils/bluez5_utils.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/bluez5_utils/bluez5_utils.hash b/package/bluez5_utils/bluez5_utils.hash index cbb3aa3cad..b030f1a08a 100644 --- a/package/bluez5_utils/bluez5_utils.hash +++ b/package/bluez5_utils/bluez5_utils.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc: -sha256 21d1bc9150d3576296595217efb98a746b592389d25d5637e8bee5da7272593b bluez-5.39.tar.xz +sha256 16c9c05d2a1da644ce3570d975ada3643d2e60c007a955bac09c0a0efeb58d15 bluez-5.43.tar.xz diff --git a/package/bluez5_utils/bluez5_utils.mk b/package/bluez5_utils/bluez5_utils.mk index 49cc7c2176..66c3eab1e9 100644 --- a/package/bluez5_utils/bluez5_utils.mk +++ b/package/bluez5_utils/bluez5_utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -BLUEZ5_UTILS_VERSION = 5.39 +BLUEZ5_UTILS_VERSION = 5.43 BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_INSTALL_STAGING = YES From 39864e2702490fd3da45a94ec6010ba95c17449f Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 30 Nov 2016 11:25:09 +0000 Subject: [PATCH 171/180] gstreamer1/gstreamer1: bump version to 1.10.2 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/gstreamer1/gstreamer1/gstreamer1.hash | 4 ++-- package/gstreamer1/gstreamer1/gstreamer1.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gstreamer1/gstreamer1.hash b/package/gstreamer1/gstreamer1/gstreamer1.hash index 40677da20a..3fd7c6bebb 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.hash +++ b/package/gstreamer1/gstreamer1/gstreamer1.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.10.1.tar.xz.sha256sum -sha256 f68df996e0e699382b935bb4783dd402c301377df18f57e28e0318c4b3bff6da gstreamer-1.10.1.tar.xz +# From http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.10.2.tar.xz.sha256sum +sha256 150e8e81febac94c161d8141cde78a38038a8f56e8ec549f353da54994278d65 gstreamer-1.10.2.tar.xz diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index 794abc4b30..6086e1329c 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.10.1 +GSTREAMER1_VERSION = 1.10.2 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES From 3d9234e9d49c6e5046a09aea81af97a976d13d5c Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 30 Nov 2016 11:25:10 +0000 Subject: [PATCH 172/180] gstreamer1/gst1-plugins-base: bump version to 1.10.2 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash | 4 ++-- package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index 70aad4d3f4..3f4d0cd425 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.10.1.tar.xz.sha256sum -sha256 66cfee294c7aaf9d7867eaba4841ca6254ea74f1a8b53e1289f4d3b9b6c976c9 gst-plugins-base-1.10.1.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.10.2.tar.xz.sha256sum +sha256 fbc0d40fcb746d2efe2ea47444674029912f66e6107f232766d33b722b97de20 gst-plugins-base-1.10.2.tar.xz diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index c89c22d039..1014bd78df 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.10.1 +GST1_PLUGINS_BASE_VERSION = 1.10.2 GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base GST1_PLUGINS_BASE_INSTALL_STAGING = YES From c186857fca113c040d88db8af43dd426a27ccf95 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 30 Nov 2016 11:25:11 +0000 Subject: [PATCH 173/180] gstreamer1/gst1-plugins-good: bump version to 1.10.2 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash | 4 ++-- package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash index 9977e2fc30..98b7988698 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.10.1.tar.xz.sha256sum -sha256 a7642ea7e7c17fb67e94d0c17e56757b6577fa7ed244ff8c11031841d3556cc2 gst-plugins-good-1.10.1.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.10.2.tar.xz.sha256sum +sha256 198f325bcce982dce1ebeb36929a5f430b8bf9528e0d519e18df0b29e1d23313 gst-plugins-good-1.10.2.tar.xz diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index 9da0c217a7..da0345497c 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.10.1 +GST1_PLUGINS_GOOD_VERSION = 1.10.2 GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz GST1_PLUGINS_GOOD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-good GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING From 50722b3a33c116996c6208c2e7392819358a32cb Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 30 Nov 2016 11:25:12 +0000 Subject: [PATCH 174/180] gstreamer1/gst1-plugins-bad: bump version to 1.10.2 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash | 4 ++-- package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash index 3b14e291fb..999a4e8666 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.10.1.tar.xz.sha256sum -sha256 133e0ed9fe21011b15d3898e3d3a9d17ab74eed31996da2e353353e688ca921d gst-plugins-bad-1.10.1.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.10.2.tar.xz.sha256sum +sha256 0795ca9303a99cc7e44dda0e6e18524de02b39892e4b68eaba488f7b9db53a3a gst-plugins-bad-1.10.2.tar.xz diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index 317248996d..ba9f30542e 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BAD_VERSION = 1.10.1 +GST1_PLUGINS_BAD_VERSION = 1.10.2 GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz GST1_PLUGINS_BAD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-bad GST1_PLUGINS_BAD_INSTALL_STAGING = YES From a556083c332d0156287631f580de11acb5597d33 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 30 Nov 2016 11:25:13 +0000 Subject: [PATCH 175/180] gstreamer1/gst1-plugins-ugly: bump version to 1.10.2 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash | 4 ++-- package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash index fd6fe7c3c6..a86fd64927 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.10.1.tar.xz.sha256sum -sha256 a5ecd59fc2091eeb52368de81cc6a91c1a1c19dc5bdde85ce90e1eed5d4183c2 gst-plugins-ugly-1.10.1.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.10.2.tar.xz.sha256sum +sha256 f303dd4c2ebc963e8b0b03c3069f70657bcf1cd62224d344ad579b3dda17ec9d gst-plugins-ugly-1.10.2.tar.xz diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk index 55b8e92072..b064c954cc 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_UGLY_VERSION = 1.10.1 +GST1_PLUGINS_UGLY_VERSION = 1.10.2 GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz GST1_PLUGINS_UGLY_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-ugly GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING From 4c4f58edfb28cba186da55ac24069d9ef2b4a336 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 30 Nov 2016 11:25:14 +0000 Subject: [PATCH 176/180] gstreamer1/gst1-libav: bump version to 1.10.2 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/gstreamer1/gst1-libav/gst1-libav.hash | 4 ++-- package/gstreamer1/gst1-libav/gst1-libav.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-libav/gst1-libav.hash b/package/gstreamer1/gst1-libav/gst1-libav.hash index 1bb714f15a..8cda287f20 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.hash +++ b/package/gstreamer1/gst1-libav/gst1-libav.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.10.1.tar.xz.sha256sum -sha256 27b28b8de0e6dff1e3952428e8ed8ba4a12f452f789ac0ae9bbe50f00a5c72c7 gst-libav-1.10.1.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.10.2.tar.xz.sha256sum +sha256 a3dd7036211f061e1eda04f985b7a9dd1a91b754f767ff2587eb6ec28f44e73c gst-libav-1.10.2.tar.xz diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk index eec630310f..8687ac652c 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.mk +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_LIBAV_VERSION = 1.10.1 +GST1_LIBAV_VERSION = 1.10.2 GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz GST1_LIBAV_SITE = https://gstreamer.freedesktop.org/src/gst-libav GST1_LIBAV_CONF_OPTS = --with-system-libav From 6fd6ee91dfaeeb9c84d9971313d4100e364f5bd9 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 30 Nov 2016 11:25:15 +0000 Subject: [PATCH 177/180] gstreamer1/gst1-rtsp-server: bump version to 1.10.2 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash | 4 ++-- package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash index b2e789d889..30cd68466b 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash @@ -1,2 +1,2 @@ -# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.10.1.tar.xz.sha256sum -sha256 ddc0c2699598623c2d19d3a2856fb73365496a949783537b238f44bc51e5b005 gst-rtsp-server-1.10.1.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.10.2.tar.xz.sha256sum +sha256 822dd6f754fea2bbf3369a7c388372f49b74668fb57943c1888675e544b07235 gst-rtsp-server-1.10.2.tar.xz diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk index b5854e174d..8fcaaf4726 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_RTSP_SERVER_VERSION = 1.10.1 +GST1_RTSP_SERVER_VERSION = 1.10.2 GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server GST1_RTSP_SERVER_LICENSE = LGPLv2+ From 29969daeb5aa13d9394f2fec2ce662ff96f3763e Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 30 Nov 2016 11:25:16 +0000 Subject: [PATCH 178/180] gstreamer1/gst1-validate: bump version to 1.10.2 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/gstreamer1/gst1-validate/gst1-validate.hash | 4 ++-- package/gstreamer1/gst1-validate/gst1-validate.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst1-validate/gst1-validate.hash b/package/gstreamer1/gst1-validate/gst1-validate.hash index adfb2fa45c..70b868ff0a 100644 --- a/package/gstreamer1/gst1-validate/gst1-validate.hash +++ b/package/gstreamer1/gst1-validate/gst1-validate.hash @@ -1,2 +1,2 @@ -# From http://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.10.1.tar.xz.sha256sum -sha256 07ae671a3e77c5480d2c1732175dd3b3255b6937ac55d4b3e69a90f8e3043f75 gst-validate-1.10.1.tar.xz +# From http://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.10.2.tar.xz.sha256sum +sha256 be274418d78694cecb1be6c860f3f499baa4313eece60a654507ab14d6989ed7 gst-validate-1.10.2.tar.xz diff --git a/package/gstreamer1/gst1-validate/gst1-validate.mk b/package/gstreamer1/gst1-validate/gst1-validate.mk index cb857d03fb..69a78bde3a 100644 --- a/package/gstreamer1/gst1-validate/gst1-validate.mk +++ b/package/gstreamer1/gst1-validate/gst1-validate.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_VALIDATE_VERSION = 1.10.1 +GST1_VALIDATE_VERSION = 1.10.2 GST1_VALIDATE_SOURCE = gst-validate-$(GST1_VALIDATE_VERSION).tar.xz GST1_VALIDATE_SITE = https://gstreamer.freedesktop.org/src/gst-validate GST1_VALIDATE_LICENSE = LGPLv2.1+ From ae36ee017402e4eeba381366524dae26baa65bc3 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 30 Nov 2016 11:25:17 +0000 Subject: [PATCH 179/180] gstreamer1/gst-omx: bump version to 1.10.2 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/gstreamer1/gst-omx/gst-omx.hash | 4 ++-- package/gstreamer1/gst-omx/gst-omx.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/gstreamer1/gst-omx/gst-omx.hash b/package/gstreamer1/gst-omx/gst-omx.hash index bf10f0a1a2..d52b61fd6a 100644 --- a/package/gstreamer1/gst-omx/gst-omx.hash +++ b/package/gstreamer1/gst-omx/gst-omx.hash @@ -1,2 +1,2 @@ -# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.10.1.tar.xz.sha256sum -sha256 1b07b9ceb4552c0911af1e3b97987e3314c601eacfbc09f1cca8632e98581231 gst-omx-1.10.1.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.10.2.tar.xz.sha256sum +sha256 c069a9cf775c92f889ca8f3b2fc718e428cd0579b7b805851a960c850a7aa497 gst-omx-1.10.2.tar.xz diff --git a/package/gstreamer1/gst-omx/gst-omx.mk b/package/gstreamer1/gst-omx/gst-omx.mk index c9343174f7..fcc7058b11 100644 --- a/package/gstreamer1/gst-omx/gst-omx.mk +++ b/package/gstreamer1/gst-omx/gst-omx.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST_OMX_VERSION = 1.10.1 +GST_OMX_VERSION = 1.10.2 GST_OMX_SOURCE = gst-omx-$(GST_OMX_VERSION).tar.xz GST_OMX_SITE = https://gstreamer.freedesktop.org/src/gst-omx From 4f29cc436b24a8007b065253babe27b9346a479e Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 30 Nov 2016 11:25:18 +0000 Subject: [PATCH 180/180] gstreamer1/gst1-imx: bump version to 0.12.3 Signed-off-by: Vicente Olivert Riera Signed-off-by: Peter Korsgaard --- package/gstreamer1/gst1-imx/gst1-imx.hash | 2 +- package/gstreamer1/gst1-imx/gst1-imx.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/gstreamer1/gst1-imx/gst1-imx.hash b/package/gstreamer1/gst1-imx/gst1-imx.hash index d345debc39..b0124aae25 100644 --- a/package/gstreamer1/gst1-imx/gst1-imx.hash +++ b/package/gstreamer1/gst1-imx/gst1-imx.hash @@ -1,2 +1,2 @@ # locally computed hash -sha256 a75f8bc3219fa3c62637f443cef0196c9eafb90aaa5af094847d007124895822 gst1-imx-0.12.2.tar.gz +sha256 a75f8bc3219fa3c62637f443cef0196c9eafb90aaa5af094847d007124895822 gst1-imx-0.12.3.tar.gz diff --git a/package/gstreamer1/gst1-imx/gst1-imx.mk b/package/gstreamer1/gst1-imx/gst1-imx.mk index 3c6b1b6027..71b4e1e19e 100644 --- a/package/gstreamer1/gst1-imx/gst1-imx.mk +++ b/package/gstreamer1/gst1-imx/gst1-imx.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_IMX_VERSION = 0.12.2 +GST1_IMX_VERSION = 0.12.3 GST1_IMX_SITE = $(call github,Freescale,gstreamer-imx,$(GST1_IMX_VERSION)) GST1_IMX_LICENSE = LGPLv2+