chromium: new package
cover chromium: new package
Hello,
This series creates a new package for the Chromium browser, as well as its dependencies.
Included are additional packages for dependencies at-spi2-core and at-spi2-atk, as well as version bumps for atk and llvm.
At the moment, supported target architectures include arm, aarch64, x86, and x86_64. MIPS is possible with minor modifications.
Builds were generated for x86_64 and aarch64. The application was tested on x86_64 with gtk3. Additional testing, especially on other architectures, would be appreciated.
Best regards,
Joseph
Joseph Kogut (8):
atk: bump to version 2.25.2
at-spi2-core: new package
at-spi2-atk: new package
libgtk3: remove patch to disable atk-bridge support
llvm: add config to build backend for host arch
llvm: bump to version 6.0.0
clang: bump to version 6.0.0
chromium: new package
DEVELOPERS | 3 + package/Config.in | 3 + package/at-spi2-atk/Config.in | 5 + package/at-spi2-atk/at-spi2-atk.hash | 4 + package/at-spi2-atk/at-spi2-atk.mk | 17 +++ package/at-spi2-core/Config.in | 9 ++ package/at-spi2-core/at-spi2-core.hash | 4 + package/at-spi2-core/at-spi2-core.mk | 46 +++++++ package/atk/atk.hash | 4 +- package/atk/atk.mk | 4 +- package/chromium/Config.in | 43 ++++++ package/chromium/chromium.hash | 4 + package/chromium/chromium.mk | 125 ++++++++++++++++++ package/chromium/toolchain/BUILD.gn | 72 ++++++++++ package/clang/clang.hash | 2 +- package/clang/clang.mk | 2 +- package/libgtk3/0003-disable-atk-bridge.patch | 45 ------- package/libgtk3/Config.in | 1 + package/libgtk3/libgtk3.mk | 3 +- ...type-in-ORC-readMem-client-interface.patch | 37 ------ package/llvm/Config.in | 9 ++ package/llvm/llvm.hash | 2 +- package/llvm/llvm.mk | 7 +- 23 files changed, 360 insertions(+), 91 deletions(-) create mode 100644 package/at-spi2-atk/Config.in create mode 100644 package/at-spi2-atk/at-spi2-atk.hash create mode 100644 package/at-spi2-atk/at-spi2-atk.mk create mode 100644 package/at-spi2-core/Config.in create mode 100644 package/at-spi2-core/at-spi2-core.hash create mode 100644 package/at-spi2-core/at-spi2-core.mk create mode 100644 package/chromium/Config.in create mode 100644 package/chromium/chromium.hash create mode 100644 package/chromium/chromium.mk create mode 100644 package/chromium/toolchain/BUILD.gn delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
Signature · 1 line
2.17.1
RFC PATCH 1/8 atk: bump to version 2.25.2
--- package/atk/atk.hash | 4 ++-- package/atk/atk.mk | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
package/atk/atk.hash +2 -2
@@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/gnome/sources/atk/2.22/atk-2.22.0.sha256sum -sha256 d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6 atk-2.22.0.tar.xz +# From http://ftp.acc.umu.se/pub/gnome/sources/atk/2.25/atk-2.25.2.sha256sum +sha256 75ac1f63e845f895dec8d72d4645ef5f362e32c921cc78987f2f19c2ce212a24 atk-2.25.2.tar.xz
package/atk/atk.mk +2 -2
@@ -4,8 +4,8 @@ # ################################################################################ -ATK_VERSION_MAJOR = 2.22 -ATK_VERSION = $(ATK_VERSION_MAJOR).0 +ATK_VERSION_MAJOR = 2.25 +ATK_VERSION = $(ATK_VERSION_MAJOR).2 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR) ATK_LICENSE = LGPL-2.0+
Signature · 1 line
2.17.1
RFC PATCH 1/8 atk: bump to version 2.25.2
Hello,
Thanks for this patch series!
package/atk/atk.mk line 7
Quoted 3 lines · Joseph Kogut
package/atk/atk.mk +1
-2-ATK_VERSION_MAJOR = 2.22 -ATK_VERSION = $(ATK_VERSION_MAJOR).0 +ATK_VERSION_MAJOR = 2.25
I *think* in the gnome project the odd version numbers are for development versions. I.e 2.22 is stable, 2.24 is stable, 2.25 is development. Also, why use 2.25, if 2.28 and 2.29 are available:
https://ftp.gnome.org/pub/gnome/sources/atk/
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
RFC PATCH 1/8 atk: bump to version 2.25.2
Hi Thomas,
Quoted 4 lines · Thomas Petazzoni
Hello,
Thanks for this patch series!
No problem, I think it's a great value add, it was fun to work on, and I personally have uses for it.
Quoted 10 lines · Joseph Kogut
package/atk/atk.mk line 7
Quoted 4 lines
package/atk/atk.mk +1
-2-ATK_VERSION_MAJOR = 2.22 -ATK_VERSION = $(ATK_VERSION_MAJOR).0 +ATK_VERSION_MAJOR = 2.25I *think* in the gnome project the odd version numbers are for development versions. I.e 2.22 is stable, 2.24 is stable, 2.25 is development. Also, why use 2.25, if 2.28 and 2.29 are available:
Quoted 2 lines
Good question. I've been working on this for a while, so I don't remember specifically why I chose that version, but I think it had something to do with one of the at-spi2 packages requiring 2.25.2 as the minimum version, and that's what I went with. I should've checked if there was a newer compatible version available. I'll respin this with the newest stable release and resubmit.
There's also a cross-compile issue I spotted yesterday, so I'll work on that as well.
Quoted 5 lines
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering
https://bootlin.com
RFC PATCH 2/8 at-spi2-core: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/at-spi2-core/Config.in | 9 +++++ package/at-spi2-core/at-spi2-core.hash | 4 +++ package/at-spi2-core/at-spi2-core.mk | 46 ++++++++++++++++++++++++++ 5 files changed, 61 insertions(+) create mode 100644 package/at-spi2-core/Config.in create mode 100644 package/at-spi2-core/at-spi2-core.hash create mode 100644 package/at-spi2-core/at-spi2-core.mk
DEVELOPERS +1 -0
@@ -955,6 +955,7 @@ F: board/qemu/ppc64le-pseries/ F: configs/qemu_ppc64le_pseries_defconfig N: Joseph Kogut <[email protected]> +F: package/at-spi2-core/ F: package/gconf/ F: package/libnss/ F: package/python-cython/
package/Config.in +1 -0
@@ -1128,6 +1128,7 @@ endmenu menu "Graphics" source "package/assimp/Config.in" + source "package/at-spi2-core/Config.in" source "package/atk/Config.in" source "package/atkmm/Config.in" source "package/bullet/Config.in"
package/at-spi2-core/Config.in new file +9 -0
@@ -0,0 +1,9 @@ +config BR2_PACKAGE_AT_SPI2_CORE + bool "at-spi2-core" + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_XLIB_LIBXTST + help + The At-Spi2 Core package is a part of the GNOME Accessibility Project. + It provides a Service Provider Interface for the Assistive Technologies + available on the GNOME platform and a library against which + applications can be linked.
package/at-spi2-core/at-spi2-core.hash new file +4 -0
@@ -0,0 +1,4 @@ +# locally calculated +sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87 at-spi2-core-2.28.0.tar.xz +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b COPYING +
package/at-spi2-core/at-spi2-core.mk new file +46 -0
46 lines not on this page · raw message
Signature · 1 line
2.17.1
RFC PATCH 3/8 at-spi2-atk: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/at-spi2-atk/Config.in | 5 +++++ package/at-spi2-atk/at-spi2-atk.hash | 4 ++++ package/at-spi2-atk/at-spi2-atk.mk | 17 +++++++++++++++++ 5 files changed, 28 insertions(+) create mode 100644 package/at-spi2-atk/Config.in create mode 100644 package/at-spi2-atk/at-spi2-atk.hash create mode 100644 package/at-spi2-atk/at-spi2-atk.mk
DEVELOPERS +1 -0
@@ -955,6 +955,7 @@ F: board/qemu/ppc64le-pseries/ F: configs/qemu_ppc64le_pseries_defconfig N: Joseph Kogut <[email protected]> +F: package/at-spi2-atk/ F: package/at-spi2-core/ F: package/gconf/ F: package/libnss/
package/Config.in +1 -0
@@ -1128,6 +1128,7 @@ endmenu menu "Graphics" source "package/assimp/Config.in" + source "package/at-spi2-atk/Config.in" source "package/at-spi2-core/Config.in" source "package/atk/Config.in" source "package/atkmm/Config.in"
package/at-spi2-atk/Config.in new file +5 -0
@@ -0,0 +1,5 @@ +config BR2_PACKAGE_AT_SPI2_ATK + bool "at-spi2-atk" + select BR2_PACKAGE_AT_SPI2_CORE + help + The At-Spi2 Atk package contains a library that bridges ATK to At-Spi2 D-Bus service.
package/at-spi2-atk/at-spi2-atk.hash new file +4 -0
@@ -0,0 +1,4 @@ +# locally calculated +sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e at-spi2-atk-2.26.2.tar.xz +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b COPYING +
package/at-spi2-atk/at-spi2-atk.mk new file +17 -0
@@ -0,0 +1,17 @@ +############################################################################### +# +# at-spi2-atk +# +############################################################################### + +AT_SPI2_ATK_VERSION_MAJOR = 2.26 +AT_SPI2_ATK_VERSION = $(AT_SPI2_ATK_VERSION_MAJOR).2 +AT_SPI2_ATK_SOURCE = at-spi2-atk-$(AT_SPI2_ATK_VERSION).tar.xz +AT_SPI2_ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/$(AT_SPI2_ATK_VERSION_MAJOR) +ATK_LICENSE = LGPL-2.0+ +ATK_LICENSE_FILES = COPYING +AT_SPI2_ATK_INSTALL_STAGING = YES +AT_SPI2_ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install +AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf + +$(eval $(autotools-package))
Signature · 1 line
2.17.1
RFC PATCH 4/8 libgtk3: remove patch to disable atk-bridge support
In reply to Joseph Kogut--- package/libgtk3/0003-disable-atk-bridge.patch | 45 ------------------- package/libgtk3/Config.in | 1 + package/libgtk3/libgtk3.mk | 3 +- 3 files changed, 3 insertions(+), 46 deletions(-) delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -45
@@ -1,45 +0,0 @@ -Remove atk-bridge support. - -atk-bridge doesn't seem useful for now in Buildroot and requires to -add two new packages just for it: at-spi2-core and at-spi2-atk. - -Signed-off-by: Hadrien Boutteville <[email protected]> - ---- a/configure.ac -+++ b/configure.ac -@@ -1349,11 +1349,7 @@ - # Check for Accessibility Toolkit flags - ######################################## - --if test x$enable_x11_backend = xyes; then -- ATK_PACKAGES="atk atk-bridge-2.0" --else -- ATK_PACKAGES="atk" --fi -+ATK_PACKAGES="atk" - - PKG_CHECK_MODULES(ATK, $ATK_PACKAGES) - ---- a/gtk/a11y/gtkaccessibility.c -+++ b/gtk/a11y/gtkaccessibility.c -@@ -37,10 +37,6 @@ - #include <gtk/gtkcombobox.h> - #include <gtk/gtkaccessible.h> - --#ifdef GDK_WINDOWING_X11 --#include <atk-bridge.h> --#endif -- - static gboolean gail_focus_watcher (GSignalInvocationHint *ihint, - guint n_param_values, - const GValue *param_values, -@@ -987,9 +983,5 @@ - _gtk_accessibility_override_atk_util (); - do_window_event_initialization (); - --#ifdef GDK_WINDOWING_X11 -- atk_bridge_adaptor_init (NULL, NULL); --#endif -- - atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL); - }
package/libgtk3/Config.in +1 -0
@@ -20,6 +20,7 @@ config BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_ATK + select BR2_PACKAGE_AT_SPI2_ATK select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PS select BR2_PACKAGE_CAIRO_PDF
package/libgtk3/libgtk3.mk +2 -1
@@ -26,7 +26,8 @@ LIBGTK3_CONF_OPTS = \ LIBGTK3_MAKE_OPTS = \ WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols -LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy +LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk at-spi2-atk libglib2 \ + cairo pango gdk-pixbuf libepoxy ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi
Signature · 1 line
2.17.1
RFC PATCH 5/8 llvm: add config to build backend for host arch
In reply to Joseph Kogut--- package/llvm/Config.in | 9 +++++++++ package/llvm/llvm.mk | 5 +++++ 2 files changed, 14 insertions(+)
package/llvm/Config.in +9 -0
@@ -11,6 +11,15 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH default "ARM" if BR2_arm || BR2_armeb default "X86" if BR2_i386 || BR2_x86_64 +config BR2_PACKAGE_LLVM_HOST_TARGET_ARCH + string + default "AArch64" if BR2_HOSTARCH="aarch64" + default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64" + default "ARM" if BR2_HOSTARCH = "arm" + +config BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH + bool + config BR2_PACKAGE_LLVM bool "llvm" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/llvm/llvm.mk +5 -0
@@ -59,6 +59,11 @@ ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) LLVM_TARGETS_TO_BUILD += AMDGPU endif +# Build backend for host architecture +ifeq ($(BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH),y) +LLVM_TARGETS_TO_BUILD += $(LLVM_HOST_TARGET_ARCH) +endif + # Use native llvm-tblgen from host-llvm (needed for cross-compilation) LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
Signature · 1 line
2.17.1
RFC PATCH 6/8 llvm: bump to version 6.0.0
In reply to Joseph Kogut--- ...type-in-ORC-readMem-client-interface.patch | 37 ------------------- package/llvm/llvm.hash | 2 +- package/llvm/llvm.mk | 2 +- 3 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch deleted +0 -37
@@ -1,37 +0,0 @@ -From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001 -From: Tilmann Scheller <[email protected]> -Date: Thu, 1 Feb 2018 11:40:01 -0600 -Subject: [PATCH] Fix return type in ORC readMem() client interface. - -GCC 8.0.1 detects the type mismatch and causes the compilation to fail. Clang -and earlier versions of GCC don't detect the issue. - -Fixes rhbz#1540620. - -This patch was taken from llvm5.0-5.0.1-7.fc28.src.rpm - -Link to bug: https://bugzilla.redhat.com/show_bug.cgi?id=1540620 - -Signed-off-by: Valentin Korenblit <[email protected]> ---- - include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -index da02250ba16..bed472e2e0e 100644 ---- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -@@ -713,8 +713,8 @@ private: - - uint32_t getTrampolineSize() const { return RemoteTrampolineSize; } - -- Expected<std::vector<char>> readMem(char *Dst, JITTargetAddress Src, -- uint64_t Size) { -+ Expected<std::vector<uint8_t>> readMem(char *Dst, JITTargetAddress Src, -+ uint64_t Size) { - // Check for an 'out-of-band' error, e.g. from an MM destructor. - if (ExistingError) - return std::move(ExistingError); --- -2.14.3 -
package/llvm/llvm.hash +1 -1
@@ -1,3 +1,3 @@ # locally calculated -sha256 d522eda97835a9c75f0b88ddc81437e5edbb87dc2740686cb8647763855c2b3c llvm-5.0.2.src.tar.xz +sha256 1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408 llvm-6.0.0.src.tar.xz sha256 abd4d8794808bacb1eb6924d49efafd9ab6eef88faaaeb5d3cfa13ee3670d672 LICENSE.TXT
package/llvm/llvm.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -LLVM_VERSION = 5.0.2 +LLVM_VERSION = 6.0.0 LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION) LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz LLVM_LICENSE = NCSA
Signature · 1 line
2.17.1
RFC PATCH 6/8 llvm: bump to version 6.0.0
Joseph, all,
package/llvm/llvm.mk line 10
Quoted 13 lines · Joseph Kogut
Signed-off-by Joseph Kogut <[email protected]>--- ...type-in-ORC-readMem-client-interface.patch | 37 ------------------- package/llvm/llvm.hash | 2 +- package/llvm/llvm.mk | 2 +- 3 files changed, 2 insertions(+), 39 deletions(-)delete mode 100644
package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patchpackage/llvm/llvm.mk +1
-1-LLVM_VERSION = 5.0.2 +LLVM_VERSION = 6.0.0 LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION) LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz LLVM_LICENSE = NCSA
I've applied the patch and tested llvmpipe on ARM and x86. My only doubt is whether we should also keep llvm 5 (no longer mantained). Apparently there haven't been changes in the API, most changes are related to backends: https://releases.llvm.org/6.0.0/docs/ReleaseNotes.html.
I ask this question because this topic was discussed during the meeting:
https://elinux.org/Buildroot:DeveloperDaysFOSDEM2018#LLVM.2FClang
I believe we could just bump to 6.0.0 as currently there is only Mesa using this package.
Best regards,
Valentin
RFC PATCH 6/8 llvm: bump to version 6.0.0
Valentin,
Quoted 20 lines · Valentin Korenblit
Joseph, all,
package/llvm/llvm.mk line 10
Quoted 13 lines · Joseph Kogut
Signed-off-by Joseph Kogut <[email protected]>--- ...type-in-ORC-readMem-client-interface.patch | 37 ------------------- package/llvm/llvm.hash | 2 +- package/llvm/llvm.mk | 2 +- 3 files changed, 2 insertions(+), 39 deletions(-)delete mode 100644
package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patchpackage/llvm/llvm.mk +1
-1-LLVM_VERSION = 5.0.2 +LLVM_VERSION = 6.0.0 LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION) LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz LLVM_LICENSE = NCSATested-by Valentin Korenblit <[email protected]>
Quoted 8 lines
I've applied the patch and tested llvmpipe on ARM and x86. My only doubt is whether we should also keep llvm 5 (no longer mantained). Apparently there haven't been changes in the API, most changes are related to backends: https://releases.llvm.org/6.0.0/docs/ReleaseNotes.html.
I ask this question because this topic was discussed during the meeting:
https://elinux.org/Buildroot:DeveloperDaysFOSDEM2018#LLVM.2FClang
I was curious about that as well, as I read the notes about the meeting.
If LLVM 5.0 is no longer maintained, I don't see any reason to continue supporting it, especially if the API hasn't broken.
Quoted 3 lines
I believe we could just bump to 6.0.0 as currently there is only Mesa using this package.
On the other hand, there's no way for us to know if someone is using LLVM in their own application that would break by upgrading. I think the answer to that problem is that they should stay on a Buildroot release branch that packages the version they need, or they should submit patches to allow the older version to be selected.
With 6.0.0 being the current stable release, I do think it makes sense for us to bump it.
Best,
Joseph
RFC PATCH 7/8 clang: bump to version 6.0.0
In reply to Joseph Kogut--- package/clang/clang.hash | 2 +- package/clang/clang.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
package/clang/clang.hash +1 -1
@@ -1,3 +1,3 @@ # locally calculated -sha256 fa9ce9724abdb68f166deea0af1f71ca0dfa9af8f7e1261f2cae63c280282800 cfe-5.0.2.src.tar.xz +sha256 e07d6dd8d9ef196cfc8e8bb131cbd6a2ed0b1caf1715f9d05b0f0eeaddb6df32 cfe-6.0.0.src.tar.xz sha256 de4c79665f0f5688b0ace17cba6f8e0343925bb95e0949d66d47bbd4527310d6 LICENSE.TXT
package/clang/clang.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -CLANG_VERSION = 5.0.2 +CLANG_VERSION = 6.0.0 CLANG_SITE = http://llvm.org/releases/$(CLANG_VERSION) CLANG_SOURCE = cfe-$(CLANG_VERSION).src.tar.xz CLANG_LICENSE = NCSA
Signature · 1 line
2.17.1
RFC PATCH 8/8 chromium: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/chromium/Config.in | 43 ++++++++++ package/chromium/chromium.hash | 4 + package/chromium/chromium.mk | 125 ++++++++++++++++++++++++++++ package/chromium/toolchain/BUILD.gn | 72 ++++++++++++++++ 6 files changed, 246 insertions(+) create mode 100644 package/chromium/Config.in create mode 100644 package/chromium/chromium.hash create mode 100644 package/chromium/chromium.mk create mode 100644 package/chromium/toolchain/BUILD.gn
DEVELOPERS +1 -0
@@ -957,6 +957,7 @@ F: configs/qemu_ppc64le_pseries_defconfig N: Joseph Kogut <[email protected]> F: package/at-spi2-atk/ F: package/at-spi2-core/ +F: package/chromium/ F: package/gconf/ F: package/libnss/ F: package/python-cython/
package/Config.in +1 -0
@@ -14,6 +14,7 @@ menu "Audio and video applications" source "package/aumix/Config.in" source "package/bellagio/Config.in" source "package/bluez-alsa/Config.in" + source "package/chromium/Config.in" source "package/dvblast/Config.in" source "package/dvdauthor/Config.in" source "package/dvdrw-tools/Config.in"
package/chromium/Config.in new file +43 -0
43 lines not on this page · raw message
package/chromium/chromium.hash new file +4 -0
@@ -0,0 +1,4 @@ +# locally calculated +sha256 37e6673741b365a25a837217b08f77b24b4f5fc4ad88c8581be6a5dae9a9e919 chromium-66.0.3359.181.tar.xz +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 LICENSE +
package/chromium/chromium.mk new file +125 -0
125 lines not on this page · raw message
package/chromium/toolchain/BUILD.gn new file +72 -0
72 lines not on this page · raw message
Signature · 1 line
2.17.1
v2 cover chromium: new package
In reply to Joseph KogutChanges since v1:
- fix some cross compilation issues
- chromium: bump version to 67.0.3396.79
- atk: bump version to 2.28.1
- lld: new package
- chromium: use lld for linking
- minor tweaks to variable naming and quotes
Joseph Kogut (9):
atk: bump to version 2.25.2
at-spi2-core: new package
at-spi2-atk: new package
libgtk3: remove patch to disable atk-bridge support
llvm: add config to build backend for host arch
llvm: bump to version 6.0.0
clang: bump to version 6.0.0
lld: new package
chromium: new package
DEVELOPERS | 4 + package/Config.in | 4 + package/at-spi2-atk/Config.in | 5 + package/at-spi2-atk/at-spi2-atk.hash | 4 + package/at-spi2-atk/at-spi2-atk.mk | 17 +++ package/at-spi2-core/Config.in | 9 ++ package/at-spi2-core/at-spi2-core.hash | 4 + package/at-spi2-core/at-spi2-core.mk | 46 ++++++ package/atk/atk.hash | 4 +- package/atk/atk.mk | 4 +- package/chromium/Config.in | 44 ++++++ package/chromium/chromium.hash | 4 + package/chromium/chromium.mk | 139 ++++++++++++++++++ package/chromium/toolchain/BUILD.gn | 71 +++++++++ package/clang/clang.hash | 2 +- package/clang/clang.mk | 2 +- package/libgtk3/0003-disable-atk-bridge.patch | 45 ------ package/libgtk3/Config.in | 1 + package/libgtk3/libgtk3.mk | 3 +- package/lld/Config.in | 3 + package/lld/lld.hash | 3 + package/lld/lld.mk | 19 +++ ...type-in-ORC-readMem-client-interface.patch | 37 ----- package/llvm/Config.in | 9 ++ package/llvm/llvm.hash | 2 +- package/llvm/llvm.mk | 7 +- 26 files changed, 401 insertions(+), 91 deletions(-) create mode 100644 package/at-spi2-atk/Config.in create mode 100644 package/at-spi2-atk/at-spi2-atk.hash create mode 100644 package/at-spi2-atk/at-spi2-atk.mk create mode 100644 package/at-spi2-core/Config.in create mode 100644 package/at-spi2-core/at-spi2-core.hash create mode 100644 package/at-spi2-core/at-spi2-core.mk create mode 100644 package/chromium/Config.in create mode 100644 package/chromium/chromium.hash create mode 100644 package/chromium/chromium.mk create mode 100644 package/chromium/toolchain/BUILD.gn delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch create mode 100644 package/lld/Config.in create mode 100644 package/lld/lld.hash create mode 100644 package/lld/lld.mk delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
Signature · 1 line
2.17.1
RFC PATCH v2 1/9 atk: bump to version 2.25.2
--- package/atk/atk.hash | 4 ++-- package/atk/atk.mk | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
package/atk/atk.hash +2 -2
@@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/gnome/sources/atk/2.22/atk-2.22.0.sha256sum -sha256 d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6 atk-2.22.0.tar.xz +# From http://ftp.acc.umu.se/pub/gnome/sources/atk/2.25/atk-2.25.2.sha256sum +sha256 75ac1f63e845f895dec8d72d4645ef5f362e32c921cc78987f2f19c2ce212a24 atk-2.25.2.tar.xz
package/atk/atk.mk +2 -2
@@ -4,8 +4,8 @@ # ################################################################################ -ATK_VERSION_MAJOR = 2.22 -ATK_VERSION = $(ATK_VERSION_MAJOR).0 +ATK_VERSION_MAJOR = 2.25 +ATK_VERSION = $(ATK_VERSION_MAJOR).2 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR) ATK_LICENSE = LGPL-2.0+
Signature · 1 line
2.17.1
RFC PATCH v2 1/9 atk: bump to version 2.28.1
In reply to Joseph Kogut--- package/atk/atk.hash | 4 ++-- package/atk/atk.mk | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
package/atk/atk.hash +2 -2
@@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/gnome/sources/atk/2.22/atk-2.22.0.sha256sum -sha256 d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6 atk-2.22.0.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/atk/2.28/atk-2.28.1.sha256sum +sha256 cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc atk-2.28.1.tar.xz
package/atk/atk.mk +2 -2
@@ -4,8 +4,8 @@ # ################################################################################ -ATK_VERSION_MAJOR = 2.22 -ATK_VERSION = $(ATK_VERSION_MAJOR).0 +ATK_VERSION_MAJOR = 2.28 +ATK_VERSION = $(ATK_VERSION_MAJOR).1 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR) ATK_LICENSE = LGPL-2.0+
Signature · 1 line
2.17.1
RFC PATCH v2 2/9 at-spi2-core: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/at-spi2-core/Config.in | 9 +++++ package/at-spi2-core/at-spi2-core.hash | 4 +++ package/at-spi2-core/at-spi2-core.mk | 46 ++++++++++++++++++++++++++ 5 files changed, 61 insertions(+) create mode 100644 package/at-spi2-core/Config.in create mode 100644 package/at-spi2-core/at-spi2-core.hash create mode 100644 package/at-spi2-core/at-spi2-core.mk
DEVELOPERS +1 -0
@@ -955,6 +955,7 @@ F: board/qemu/ppc64le-pseries/ F: configs/qemu_ppc64le_pseries_defconfig N: Joseph Kogut <[email protected]> +F: package/at-spi2-core/ F: package/gconf/ F: package/libnss/ F: package/python-cython/
package/Config.in +1 -0
@@ -1128,6 +1128,7 @@ endmenu menu "Graphics" source "package/assimp/Config.in" + source "package/at-spi2-core/Config.in" source "package/atk/Config.in" source "package/atkmm/Config.in" source "package/bullet/Config.in"
package/at-spi2-core/Config.in new file +9 -0
@@ -0,0 +1,9 @@ +config BR2_PACKAGE_AT_SPI2_CORE + bool "at-spi2-core" + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_XLIB_LIBXTST + help + The At-Spi2 Core package is a part of the GNOME Accessibility Project. + It provides a Service Provider Interface for the Assistive Technologies + available on the GNOME platform and a library against which + applications can be linked.
package/at-spi2-core/at-spi2-core.hash new file +4 -0
@@ -0,0 +1,4 @@ +# locally calculated +sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87 at-spi2-core-2.28.0.tar.xz +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b COPYING +
package/at-spi2-core/at-spi2-core.mk new file +46 -0
46 lines not on this page · raw message
Signature · 1 line
2.17.1
RFC PATCH v2 3/9 at-spi2-atk: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/at-spi2-atk/Config.in | 5 +++++ package/at-spi2-atk/at-spi2-atk.hash | 4 ++++ package/at-spi2-atk/at-spi2-atk.mk | 17 +++++++++++++++++ 5 files changed, 28 insertions(+) create mode 100644 package/at-spi2-atk/Config.in create mode 100644 package/at-spi2-atk/at-spi2-atk.hash create mode 100644 package/at-spi2-atk/at-spi2-atk.mk
DEVELOPERS +1 -0
@@ -955,6 +955,7 @@ F: board/qemu/ppc64le-pseries/ F: configs/qemu_ppc64le_pseries_defconfig N: Joseph Kogut <[email protected]> +F: package/at-spi2-atk/ F: package/at-spi2-core/ F: package/gconf/ F: package/libnss/
package/Config.in +1 -0
@@ -1128,6 +1128,7 @@ endmenu menu "Graphics" source "package/assimp/Config.in" + source "package/at-spi2-atk/Config.in" source "package/at-spi2-core/Config.in" source "package/atk/Config.in" source "package/atkmm/Config.in"
package/at-spi2-atk/Config.in new file +5 -0
@@ -0,0 +1,5 @@ +config BR2_PACKAGE_AT_SPI2_ATK + bool "at-spi2-atk" + select BR2_PACKAGE_AT_SPI2_CORE + help + The At-Spi2 Atk package contains a library that bridges ATK to At-Spi2 D-Bus service.
package/at-spi2-atk/at-spi2-atk.hash new file +4 -0
@@ -0,0 +1,4 @@ +# locally calculated +sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e at-spi2-atk-2.26.2.tar.xz +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b COPYING +
package/at-spi2-atk/at-spi2-atk.mk new file +17 -0
@@ -0,0 +1,17 @@ +############################################################################### +# +# at-spi2-atk +# +############################################################################### + +AT_SPI2_ATK_VERSION_MAJOR = 2.26 +AT_SPI2_ATK_VERSION = $(AT_SPI2_ATK_VERSION_MAJOR).2 +AT_SPI2_ATK_SOURCE = at-spi2-atk-$(AT_SPI2_ATK_VERSION).tar.xz +AT_SPI2_ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/$(AT_SPI2_ATK_VERSION_MAJOR) +ATK_LICENSE = LGPL-2.0+ +ATK_LICENSE_FILES = COPYING +AT_SPI2_ATK_INSTALL_STAGING = YES +AT_SPI2_ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install +AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf + +$(eval $(autotools-package))
Signature · 1 line
2.17.1
RFC PATCH v2 4/9 libgtk3: remove patch to disable atk-bridge support
In reply to Joseph Kogut--- package/libgtk3/0003-disable-atk-bridge.patch | 45 ------------------- package/libgtk3/Config.in | 1 + package/libgtk3/libgtk3.mk | 3 +- 3 files changed, 3 insertions(+), 46 deletions(-) delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -45
@@ -1,45 +0,0 @@ -Remove atk-bridge support. - -atk-bridge doesn't seem useful for now in Buildroot and requires to -add two new packages just for it: at-spi2-core and at-spi2-atk. - -Signed-off-by: Hadrien Boutteville <[email protected]> - ---- a/configure.ac -+++ b/configure.ac -@@ -1349,11 +1349,7 @@ - # Check for Accessibility Toolkit flags - ######################################## - --if test x$enable_x11_backend = xyes; then -- ATK_PACKAGES="atk atk-bridge-2.0" --else -- ATK_PACKAGES="atk" --fi -+ATK_PACKAGES="atk" - - PKG_CHECK_MODULES(ATK, $ATK_PACKAGES) - ---- a/gtk/a11y/gtkaccessibility.c -+++ b/gtk/a11y/gtkaccessibility.c -@@ -37,10 +37,6 @@ - #include <gtk/gtkcombobox.h> - #include <gtk/gtkaccessible.h> - --#ifdef GDK_WINDOWING_X11 --#include <atk-bridge.h> --#endif -- - static gboolean gail_focus_watcher (GSignalInvocationHint *ihint, - guint n_param_values, - const GValue *param_values, -@@ -987,9 +983,5 @@ - _gtk_accessibility_override_atk_util (); - do_window_event_initialization (); - --#ifdef GDK_WINDOWING_X11 -- atk_bridge_adaptor_init (NULL, NULL); --#endif -- - atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL); - }
package/libgtk3/Config.in +1 -0
@@ -20,6 +20,7 @@ config BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_ATK + select BR2_PACKAGE_AT_SPI2_ATK select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PS select BR2_PACKAGE_CAIRO_PDF
package/libgtk3/libgtk3.mk +2 -1
@@ -26,7 +26,8 @@ LIBGTK3_CONF_OPTS = \ LIBGTK3_MAKE_OPTS = \ WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols -LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy +LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk at-spi2-atk libglib2 \ + cairo pango gdk-pixbuf libepoxy ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi
Signature · 1 line
2.17.1
RFC PATCH v2 5/9 llvm: add config to build backend for host arch
In reply to Joseph Kogut--- package/llvm/Config.in | 9 +++++++++ package/llvm/llvm.mk | 5 +++++ 2 files changed, 14 insertions(+)
package/llvm/Config.in +9 -0
@@ -11,6 +11,15 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH default "ARM" if BR2_arm || BR2_armeb default "X86" if BR2_i386 || BR2_x86_64 +config BR2_PACKAGE_LLVM_HOST_ARCH + string + default "AArch64" if BR2_HOSTARCH="aarch64" + default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64" + default "ARM" if BR2_HOSTARCH = "arm" + +config BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH + bool + config BR2_PACKAGE_LLVM bool "llvm" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/llvm/llvm.mk +5 -0
@@ -59,6 +59,11 @@ ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) LLVM_TARGETS_TO_BUILD += AMDGPU endif +# Build backend for host architecture +ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y) +LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH)) +endif + # Use native llvm-tblgen from host-llvm (needed for cross-compilation) LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
Signature · 1 line
2.17.1
RFC PATCH v2 6/9 llvm: bump to version 6.0.0
In reply to Joseph Kogut--- ...type-in-ORC-readMem-client-interface.patch | 37 ------------------- package/llvm/llvm.hash | 2 +- package/llvm/llvm.mk | 2 +- 3 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch deleted +0 -37
@@ -1,37 +0,0 @@ -From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001 -From: Tilmann Scheller <[email protected]> -Date: Thu, 1 Feb 2018 11:40:01 -0600 -Subject: [PATCH] Fix return type in ORC readMem() client interface. - -GCC 8.0.1 detects the type mismatch and causes the compilation to fail. Clang -and earlier versions of GCC don't detect the issue. - -Fixes rhbz#1540620. - -This patch was taken from llvm5.0-5.0.1-7.fc28.src.rpm - -Link to bug: https://bugzilla.redhat.com/show_bug.cgi?id=1540620 - -Signed-off-by: Valentin Korenblit <[email protected]> ---- - include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -index da02250ba16..bed472e2e0e 100644 ---- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -@@ -713,8 +713,8 @@ private: - - uint32_t getTrampolineSize() const { return RemoteTrampolineSize; } - -- Expected<std::vector<char>> readMem(char *Dst, JITTargetAddress Src, -- uint64_t Size) { -+ Expected<std::vector<uint8_t>> readMem(char *Dst, JITTargetAddress Src, -+ uint64_t Size) { - // Check for an 'out-of-band' error, e.g. from an MM destructor. - if (ExistingError) - return std::move(ExistingError); --- -2.14.3 -
package/llvm/llvm.hash +1 -1
@@ -1,3 +1,3 @@ # locally calculated -sha256 d522eda97835a9c75f0b88ddc81437e5edbb87dc2740686cb8647763855c2b3c llvm-5.0.2.src.tar.xz +sha256 1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408 llvm-6.0.0.src.tar.xz sha256 abd4d8794808bacb1eb6924d49efafd9ab6eef88faaaeb5d3cfa13ee3670d672 LICENSE.TXT
package/llvm/llvm.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -LLVM_VERSION = 5.0.2 +LLVM_VERSION = 6.0.0 LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION) LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz LLVM_LICENSE = NCSA
Signature · 1 line
2.17.1
RFC PATCH v2 7/9 clang: bump to version 6.0.0
In reply to Joseph Kogut--- package/clang/clang.hash | 2 +- package/clang/clang.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
package/clang/clang.hash +1 -1
@@ -1,3 +1,3 @@ # locally calculated -sha256 fa9ce9724abdb68f166deea0af1f71ca0dfa9af8f7e1261f2cae63c280282800 cfe-5.0.2.src.tar.xz +sha256 e07d6dd8d9ef196cfc8e8bb131cbd6a2ed0b1caf1715f9d05b0f0eeaddb6df32 cfe-6.0.0.src.tar.xz sha256 de4c79665f0f5688b0ace17cba6f8e0343925bb95e0949d66d47bbd4527310d6 LICENSE.TXT
package/clang/clang.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -CLANG_VERSION = 5.0.2 +CLANG_VERSION = 6.0.0 CLANG_SITE = http://llvm.org/releases/$(CLANG_VERSION) CLANG_SOURCE = cfe-$(CLANG_VERSION).src.tar.xz CLANG_LICENSE = NCSA
Signature · 1 line
2.17.1
RFC PATCH v2 8/9 lld: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/lld/Config.in | 3 +++ package/lld/lld.hash | 3 +++ package/lld/lld.mk | 19 +++++++++++++++++++ 5 files changed, 27 insertions(+) create mode 100644 package/lld/Config.in create mode 100644 package/lld/lld.hash create mode 100644 package/lld/lld.mk
DEVELOPERS +1 -0
@@ -959,6 +959,7 @@ F: package/at-spi2-atk/ F: package/at-spi2-core/ F: package/gconf/ F: package/libnss/ +F: package/lld/ F: package/python-cython/ F: package/python-raven/ F: package/python-schedule/
package/Config.in +1 -0
@@ -1565,6 +1565,7 @@ menu "Other" source "package/libuv/Config.in" source "package/lightning/Config.in" source "package/linux-pam/Config.in" + source "package/lld/Config.in" source "package/llvm/Config.in" if BR2_PACKAGE_LINUX_PAM comment "linux-pam plugins"
package/lld/Config.in new file +3 -0
@@ -0,0 +1,3 @@ +config BR2_PACKAGE_LLD + bool "lld" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/lld/lld.hash new file +3 -0
@@ -0,0 +1,3 @@ +# locally calculated +sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b lld-6.0.0.src.tar.xz +sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b LICENSE.TXT
package/lld/lld.mk new file +19 -0
@@ -0,0 +1,19 @@ +############################################################################### +# +# lld +# +############################################################################### + +LLD_VERSION = 6.0.0 +LLD_SITE = https://llvm.org/releases/$(LLD_VERSION) +LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz +LLD_LICENSE = NCSA +LLD_LICENSE_FILES = LICENSE.TXT +LLD_SUPPORTS_IN_SOURCE_BUILD = NO + +HOST_LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release +LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) +
Signature · 1 line
2.17.1
RFC PATCH v2 9/9 chromium: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/chromium/Config.in | 44 +++++++++ package/chromium/chromium.hash | 4 + package/chromium/chromium.mk | 137 ++++++++++++++++++++++++++++ package/chromium/toolchain/BUILD.gn | 71 ++++++++++++++ 6 files changed, 258 insertions(+) create mode 100644 package/chromium/Config.in create mode 100644 package/chromium/chromium.hash create mode 100644 package/chromium/chromium.mk create mode 100644 package/chromium/toolchain/BUILD.gn
DEVELOPERS +1 -0
@@ -957,6 +957,7 @@ F: configs/qemu_ppc64le_pseries_defconfig N: Joseph Kogut <[email protected]> F: package/at-spi2-atk/ F: package/at-spi2-core/ +F: package/chromium/ F: package/gconf/ F: package/libnss/ F: package/lld/
package/Config.in +1 -0
@@ -14,6 +14,7 @@ menu "Audio and video applications" source "package/aumix/Config.in" source "package/bellagio/Config.in" source "package/bluez-alsa/Config.in" + source "package/chromium/Config.in" source "package/dvblast/Config.in" source "package/dvdauthor/Config.in" source "package/dvdrw-tools/Config.in"
package/chromium/Config.in new file +44 -0
44 lines not on this page · raw message
package/chromium/chromium.hash new file +4 -0
@@ -0,0 +1,4 @@ +# locally calculated +sha256 f8b1e5319163e378027826b12cf256b97423bb90e10e2013469d96e03bc9db8a chromium-67.0.3396.79.tar.xz +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 LICENSE +
package/chromium/chromium.mk new file +137 -0
137 lines not on this page · raw message
package/chromium/toolchain/BUILD.gn new file +71 -0
71 lines not on this page · raw message
Signature · 1 line
2.17.1
v2 cover chromium: new package
In reply to Joseph KogutChanges since v2:
- patch chromium toolchain config for buildroot
Changes since v1:
- fix some cross compilation issues
- chromium: bump version to 67.0.3396.79
- atk: bump version to 2.28.1
- lld: new package
- chromium: use lld for linking
- minor tweaks to variable naming and quotes
Joseph Kogut (9):
atk: bump to version 2.25.2
at-spi2-core: new package
at-spi2-atk: new package
libgtk3: remove patch to disable atk-bridge support
llvm: add config to build backend for host arch
llvm: bump to version 6.0.0
clang: bump to version 6.0.0
lld: new package
chromium: new package
DEVELOPERS | 4 + package/Config.in | 4 + package/at-spi2-atk/Config.in | 5 + package/at-spi2-atk/at-spi2-atk.hash | 4 + package/at-spi2-atk/at-spi2-atk.mk | 17 +++ package/at-spi2-core/Config.in | 9 ++ package/at-spi2-core/at-spi2-core.hash | 4 + package/at-spi2-core/at-spi2-core.mk | 46 ++++++ package/atk/atk.hash | 4 +- package/atk/atk.mk | 4 +- package/chromium/Config.in | 44 ++++++ package/chromium/chromium.hash | 4 + package/chromium/chromium.mk | 139 ++++++++++++++++++ package/chromium/toolchain/BUILD.gn | 71 +++++++++ package/clang/clang.hash | 2 +- package/clang/clang.mk | 2 +- package/libgtk3/0003-disable-atk-bridge.patch | 45 ------ package/libgtk3/Config.in | 1 + package/libgtk3/libgtk3.mk | 3 +- package/lld/Config.in | 3 + package/lld/lld.hash | 3 + package/lld/lld.mk | 19 +++ ...type-in-ORC-readMem-client-interface.patch | 37 ----- package/llvm/Config.in | 9 ++ package/llvm/llvm.hash | 2 +- package/llvm/llvm.mk | 7 +- 26 files changed, 401 insertions(+), 91 deletions(-) create mode 100644 package/at-spi2-atk/Config.in create mode 100644 package/at-spi2-atk/at-spi2-atk.hash create mode 100644 package/at-spi2-atk/at-spi2-atk.mk create mode 100644 package/at-spi2-core/Config.in create mode 100644 package/at-spi2-core/at-spi2-core.hash create mode 100644 package/at-spi2-core/at-spi2-core.mk create mode 100644 package/chromium/Config.in create mode 100644 package/chromium/chromium.hash create mode 100644 package/chromium/chromium.mk create mode 100644 package/chromium/toolchain/BUILD.gn delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch create mode 100644 package/lld/Config.in create mode 100644 package/lld/lld.hash create mode 100644 package/lld/lld.mk delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
Signature · 1 line
2.17.1
RFC PATCH v3 1/9 atk: bump to version 2.28.1
--- package/atk/atk.hash | 4 ++-- package/atk/atk.mk | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
package/atk/atk.hash +2 -2
@@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/gnome/sources/atk/2.22/atk-2.22.0.sha256sum -sha256 d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6 atk-2.22.0.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/atk/2.28/atk-2.28.1.sha256sum +sha256 cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc atk-2.28.1.tar.xz
package/atk/atk.mk +2 -2
@@ -4,8 +4,8 @@ # ################################################################################ -ATK_VERSION_MAJOR = 2.22 -ATK_VERSION = $(ATK_VERSION_MAJOR).0 +ATK_VERSION_MAJOR = 2.28 +ATK_VERSION = $(ATK_VERSION_MAJOR).1 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR) ATK_LICENSE = LGPL-2.0+
Signature · 1 line
2.17.1
RFC PATCH v3 2/9 at-spi2-core: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/at-spi2-core/Config.in | 9 +++++ package/at-spi2-core/at-spi2-core.hash | 4 +++ package/at-spi2-core/at-spi2-core.mk | 46 ++++++++++++++++++++++++++ 5 files changed, 61 insertions(+) create mode 100644 package/at-spi2-core/Config.in create mode 100644 package/at-spi2-core/at-spi2-core.hash create mode 100644 package/at-spi2-core/at-spi2-core.mk
DEVELOPERS +1 -0
@@ -955,6 +955,7 @@ F: board/qemu/ppc64le-pseries/ F: configs/qemu_ppc64le_pseries_defconfig N: Joseph Kogut <[email protected]> +F: package/at-spi2-core/ F: package/gconf/ F: package/libnss/ F: package/python-cython/
package/Config.in +1 -0
@@ -1128,6 +1128,7 @@ endmenu menu "Graphics" source "package/assimp/Config.in" + source "package/at-spi2-core/Config.in" source "package/atk/Config.in" source "package/atkmm/Config.in" source "package/bullet/Config.in"
package/at-spi2-core/Config.in new file +9 -0
@@ -0,0 +1,9 @@ +config BR2_PACKAGE_AT_SPI2_CORE + bool "at-spi2-core" + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_XLIB_LIBXTST + help + The At-Spi2 Core package is a part of the GNOME Accessibility Project. + It provides a Service Provider Interface for the Assistive Technologies + available on the GNOME platform and a library against which + applications can be linked.
package/at-spi2-core/at-spi2-core.hash new file +4 -0
@@ -0,0 +1,4 @@ +# locally calculated +sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87 at-spi2-core-2.28.0.tar.xz +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b COPYING +
package/at-spi2-core/at-spi2-core.mk new file +46 -0
46 lines not on this page · raw message
Signature · 1 line
2.17.1
RFC PATCH v3 3/9 at-spi2-atk: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/at-spi2-atk/Config.in | 5 +++++ package/at-spi2-atk/at-spi2-atk.hash | 4 ++++ package/at-spi2-atk/at-spi2-atk.mk | 17 +++++++++++++++++ 5 files changed, 28 insertions(+) create mode 100644 package/at-spi2-atk/Config.in create mode 100644 package/at-spi2-atk/at-spi2-atk.hash create mode 100644 package/at-spi2-atk/at-spi2-atk.mk
DEVELOPERS +1 -0
@@ -955,6 +955,7 @@ F: board/qemu/ppc64le-pseries/ F: configs/qemu_ppc64le_pseries_defconfig N: Joseph Kogut <[email protected]> +F: package/at-spi2-atk/ F: package/at-spi2-core/ F: package/gconf/ F: package/libnss/
package/Config.in +1 -0
@@ -1128,6 +1128,7 @@ endmenu menu "Graphics" source "package/assimp/Config.in" + source "package/at-spi2-atk/Config.in" source "package/at-spi2-core/Config.in" source "package/atk/Config.in" source "package/atkmm/Config.in"
package/at-spi2-atk/Config.in new file +5 -0
@@ -0,0 +1,5 @@ +config BR2_PACKAGE_AT_SPI2_ATK + bool "at-spi2-atk" + select BR2_PACKAGE_AT_SPI2_CORE + help + The At-Spi2 Atk package contains a library that bridges ATK to At-Spi2 D-Bus service.
package/at-spi2-atk/at-spi2-atk.hash new file +4 -0
@@ -0,0 +1,4 @@ +# locally calculated +sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e at-spi2-atk-2.26.2.tar.xz +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b COPYING +
package/at-spi2-atk/at-spi2-atk.mk new file +17 -0
@@ -0,0 +1,17 @@ +############################################################################### +# +# at-spi2-atk +# +############################################################################### + +AT_SPI2_ATK_VERSION_MAJOR = 2.26 +AT_SPI2_ATK_VERSION = $(AT_SPI2_ATK_VERSION_MAJOR).2 +AT_SPI2_ATK_SOURCE = at-spi2-atk-$(AT_SPI2_ATK_VERSION).tar.xz +AT_SPI2_ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/$(AT_SPI2_ATK_VERSION_MAJOR) +ATK_LICENSE = LGPL-2.0+ +ATK_LICENSE_FILES = COPYING +AT_SPI2_ATK_INSTALL_STAGING = YES +AT_SPI2_ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install +AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf + +$(eval $(autotools-package))
Signature · 1 line
2.17.1
RFC PATCH v3 4/9 libgtk3: remove patch to disable atk-bridge support
In reply to Joseph Kogut--- package/libgtk3/0003-disable-atk-bridge.patch | 45 ------------------- package/libgtk3/Config.in | 1 + package/libgtk3/libgtk3.mk | 3 +- 3 files changed, 3 insertions(+), 46 deletions(-) delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -45
@@ -1,45 +0,0 @@ -Remove atk-bridge support. - -atk-bridge doesn't seem useful for now in Buildroot and requires to -add two new packages just for it: at-spi2-core and at-spi2-atk. - -Signed-off-by: Hadrien Boutteville <[email protected]> - ---- a/configure.ac -+++ b/configure.ac -@@ -1349,11 +1349,7 @@ - # Check for Accessibility Toolkit flags - ######################################## - --if test x$enable_x11_backend = xyes; then -- ATK_PACKAGES="atk atk-bridge-2.0" --else -- ATK_PACKAGES="atk" --fi -+ATK_PACKAGES="atk" - - PKG_CHECK_MODULES(ATK, $ATK_PACKAGES) - ---- a/gtk/a11y/gtkaccessibility.c -+++ b/gtk/a11y/gtkaccessibility.c -@@ -37,10 +37,6 @@ - #include <gtk/gtkcombobox.h> - #include <gtk/gtkaccessible.h> - --#ifdef GDK_WINDOWING_X11 --#include <atk-bridge.h> --#endif -- - static gboolean gail_focus_watcher (GSignalInvocationHint *ihint, - guint n_param_values, - const GValue *param_values, -@@ -987,9 +983,5 @@ - _gtk_accessibility_override_atk_util (); - do_window_event_initialization (); - --#ifdef GDK_WINDOWING_X11 -- atk_bridge_adaptor_init (NULL, NULL); --#endif -- - atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL); - }
package/libgtk3/Config.in +1 -0
@@ -20,6 +20,7 @@ config BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_ATK + select BR2_PACKAGE_AT_SPI2_ATK select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PS select BR2_PACKAGE_CAIRO_PDF
package/libgtk3/libgtk3.mk +2 -1
@@ -26,7 +26,8 @@ LIBGTK3_CONF_OPTS = \ LIBGTK3_MAKE_OPTS = \ WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols -LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy +LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk at-spi2-atk libglib2 \ + cairo pango gdk-pixbuf libepoxy ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi
Signature · 1 line
2.17.1
RFC PATCH v3 5/9 llvm: add config to build backend for host arch
In reply to Joseph Kogut--- package/llvm/Config.in | 9 +++++++++ package/llvm/llvm.mk | 5 +++++ 2 files changed, 14 insertions(+)
package/llvm/Config.in +9 -0
@@ -11,6 +11,15 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH default "ARM" if BR2_arm || BR2_armeb default "X86" if BR2_i386 || BR2_x86_64 +config BR2_PACKAGE_LLVM_HOST_ARCH + string + default "AArch64" if BR2_HOSTARCH="aarch64" + default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64" + default "ARM" if BR2_HOSTARCH = "arm" + +config BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH + bool + config BR2_PACKAGE_LLVM bool "llvm" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/llvm/llvm.mk +5 -0
@@ -59,6 +59,11 @@ ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) LLVM_TARGETS_TO_BUILD += AMDGPU endif +# Build backend for host architecture +ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y) +LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH)) +endif + # Use native llvm-tblgen from host-llvm (needed for cross-compilation) LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
Signature · 1 line
2.17.1
RFC PATCH v3 5/9 llvm: add config to build backend for host arch
Hi Joseph,
Quoted 13 lines · Joseph Kogut
Signed-off-by Joseph Kogut <[email protected]>--- package/llvm/Config.in | 9 +++++++++ package/llvm/llvm.mk | 5 +++++ 2 files changed, 14 insertions(+)package/llvm/Config.in +0
-0@@ -11,6 +11,15 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH default "ARM" if BR2_arm || BR2_armeb default "X86" if BR2_i386 || BR2_x86_64
package/llvm/Config.in config BR2_PACKAGE_LLVM_TARGET_ARCH · line 22
Quoted 10 lines
package/llvm/Config.in +9
-0+config BR2_PACKAGE_LLVM_HOST_ARCH + string + default "AArch64" if BR2_HOSTARCH="aarch64" + default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64" + default "ARM" if BR2_HOSTARCH = "arm" + +config BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH + bool +
I think we could rename this option BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH and make it user-selectable:
config BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH
bool "Build backend for host architecture"
Quoted 8 lines
package/llvm/Config.in +0
-0config BR2_PACKAGE_LLVM bool "llvm" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTSpackage/llvm/llvm.mk +0
-0
package/llvm/llvm.mk ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) · line 66
Quoted 8 lines
package/llvm/llvm.mk +5
-0@@ -59,6 +59,11 @@ ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) LLVM_TARGETS_TO_BUILD += AMDGPU endif +# Build backend for host architecture +ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y) +LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH)) +endif +
The only problem I see here is that we are going to build the backend for the host architecture also for the target, which is not necessary. Maybe we can use another variable like HOST_LLVM_TARGETS_TO_BUILD. This will break the compatibility of llvm-config for host and target when passing --targets-built but I don't think this should be a problem.
package/llvm/llvm.mk ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) · line 69
Quoted 3 lines
package/llvm/llvm.mk +0
-0# Use native llvm-tblgen from host-llvm (needed for cross-compilation) LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
Best regards,
Valentin
RFC PATCH v3 5/9 llvm: add config to build backend for host arch
Hi Valentin,
Quoted 22 lines · Valentin Korenblit
Hi Joseph,
Quoted 19 lines · Joseph Kogut
Signed-off-by Joseph Kogut <[email protected]>--- package/llvm/Config.in | 9 +++++++++ package/llvm/llvm.mk | 5 +++++ 2 files changed, 14 insertions(+)package/llvm/Config.in +4
-0@@ -11,6 +11,15 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH default "ARM" if BR2_arm || BR2_armeb default "X86" if BR2_i386 || BR2_x86_64 +config BR2_PACKAGE_LLVM_HOST_ARCH + string + default "AArch64" if BR2_HOSTARCH="aarch64" + default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64" + default "ARM" if BR2_HOSTARCH = "arm"
Quoted 9 lines
package/llvm/Config.in config BR2_PACKAGE_LLVM_TARGET_ARCH · line 22
Quoted 4 lines
package/llvm/Config.in +4
-0+ +config BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH + bool +I think we could rename this option
BR2_PACKAGE_LLVM_ENABLE_HOST_ARCHand make it user-selectable:
I agree, I'll make these changes.
Quoted 17 lines
config
BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH
bool "Build backend for host architecture"Quoted 14 lines
package/llvm/Config.in +0
-0config BR2_PACKAGE_LLVM bool "llvm" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTSpackage/llvm/llvm.mk +3
-0@@ -59,6 +59,11 @@ ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) LLVM_TARGETS_TO_BUILD += AMDGPU endif +# Build backend for host architecture +ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y) +LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH)) +endif
Quoted 9 lines
package/llvm/llvm.mk ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) · line 65
Quoted 1 line
package/llvm/llvm.mk +1
-0+The only problem I see here is that we are going to build the backend for the host architecture also for the target, which is not necessary. Maybe we can use another variable like
HOST_LLVM_TARGETS_TO_BUILD. This will break the compatibility of llvm-config for host and target when passing --targets-built but I don't think this should be a problem.
I'll make these changes and give it a shot.
Quoted 9 lines
package/llvm/llvm.mk ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) · line 69
Quoted 3 lines
package/llvm/llvm.mk +0
-0# Use native llvm-tblgen from host-llvm (needed for cross-compilation) LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgenBest regards,
Valentin
Thanks for the feedback!
Joseph
RFC PATCH v3 5/9 llvm: add config to build backend for host arch
In reply to Valentin KorenblitHi Valentin,
Quoted 3 lines · Valentin Korenblit
Hi Joseph,
On 10/06/2018 22:54, Joseph Kogut wrote:
<snip>
Quoted 4 lines
Quoted 4 lines
+# Build backend for host architecture
package/llvm/llvm.mk +3
-0+ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y) +LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH)) +endif
Quoted 9 lines
Quoted 1 line
+
The only problem I see here is that we are going to build the backend for the host architecture also for the target, which is not necessary. Maybe we can use another variable like
HOST_LLVM_TARGETS_TO_BUILD. This will break the compatibility of llvm-config for host and target when passing --targets-built but I don't think this should be a problem.
Looking at the Makefile again, it seems to me that HOST_LLVM_TARGETS_TO_BUILD would always be a superset of LLVM_TARGETS_TO_BUILD. What do you think about naming it HOST_LLVM_ADDTL_TARGETS_TO_BUILD, appending only additional architecture backends to be built for host-llvm, and and appending it to LLVM_TARGETS_TO_BUILD in HOST_LLVM_CONF_OPTS?
That way, if a backend is enabled for the target, it's also always enabled for the host, but the host package can enable additional backends that the target package will not build.
Quoted 9 lines
Quoted 3 lines
# Use native llvm-tblgen from host-llvm (needed for cross-compilation) LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgenBest regards,
Valentin
RFC PATCH v3 5/9 llvm: add config to build backend for host arch
Hi Joseph,
Quoted 28 lines · Joseph Kogut
Hi Valentin,
Quoted 3 lines · Valentin Korenblit
Hi Joseph,
On 10/06/2018 22:54, Joseph Kogut wrote:
<snip>
Quoted 12 lines
package/llvm/llvm.mk ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) · line 66
Quoted 5 lines
+# Build backend for host architecture
package/llvm/llvm.mk +4
-0+ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y) +LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH)) +endif +The only problem I see here is that we are going to build the backend for the host architecture also for the target, which is not necessary. Maybe we can use another variable like
HOST_LLVM_TARGETS_TO_BUILD. This will break the compatibility of llvm-config for host and target when passing --targets-built but I don't think this should be a problem.Looking at the
Makefileagain, it seems to me thatHOST_LLVM_TARGETS_TO_BUILDwould always be a superset ofLLVM_TARGETS_TO_BUILD. What do you think about naming itHOST_LLVM_ADDTL_TARGETS_TO_BUILD, appending only additional architecture backends to be built for host-llvm, and and appending it toLLVM_TARGETS_TO_BUILDinHOST_LLVM_CONF_OPTS?
Quoted 3 lines
That way, if a backend is enabled for the target, it's also always enabled for the host, but the host package can enable additional backends that the target package will not build.
Yes, actually I meant that. I would do something like this:
LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH)HOST_LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH)
ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y)LLVM_TARGETS_TO_BUILD += AMDGPUHOST_LLVM_TARGETS_TO_BUILD += AMDGPU
endif
# Build backend for host architecture
ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y) HOST_LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH)) endif
and finally:
HOST_LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(HOST_LLVM_TARGETS_TO_BUILD))"
And in Config.in:
config BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH
bool "Build backend for host architecture" help
Build code generator for host machine.
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
# Use native llvm-tblgen from host-llvm (needed for cross-compilation) LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
Best regards,
Valentin
RFC PATCH v3 6/9 llvm: bump to version 6.0.0
In reply to Joseph Kogut--- ...type-in-ORC-readMem-client-interface.patch | 37 ------------------- package/llvm/llvm.hash | 2 +- package/llvm/llvm.mk | 2 +- 3 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch deleted +0 -37
@@ -1,37 +0,0 @@ -From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001 -From: Tilmann Scheller <[email protected]> -Date: Thu, 1 Feb 2018 11:40:01 -0600 -Subject: [PATCH] Fix return type in ORC readMem() client interface. - -GCC 8.0.1 detects the type mismatch and causes the compilation to fail. Clang -and earlier versions of GCC don't detect the issue. - -Fixes rhbz#1540620. - -This patch was taken from llvm5.0-5.0.1-7.fc28.src.rpm - -Link to bug: https://bugzilla.redhat.com/show_bug.cgi?id=1540620 - -Signed-off-by: Valentin Korenblit <[email protected]> ---- - include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -index da02250ba16..bed472e2e0e 100644 ---- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -@@ -713,8 +713,8 @@ private: - - uint32_t getTrampolineSize() const { return RemoteTrampolineSize; } - -- Expected<std::vector<char>> readMem(char *Dst, JITTargetAddress Src, -- uint64_t Size) { -+ Expected<std::vector<uint8_t>> readMem(char *Dst, JITTargetAddress Src, -+ uint64_t Size) { - // Check for an 'out-of-band' error, e.g. from an MM destructor. - if (ExistingError) - return std::move(ExistingError); --- -2.14.3 -
package/llvm/llvm.hash +1 -1
@@ -1,3 +1,3 @@ # locally calculated -sha256 d522eda97835a9c75f0b88ddc81437e5edbb87dc2740686cb8647763855c2b3c llvm-5.0.2.src.tar.xz +sha256 1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408 llvm-6.0.0.src.tar.xz sha256 abd4d8794808bacb1eb6924d49efafd9ab6eef88faaaeb5d3cfa13ee3670d672 LICENSE.TXT
package/llvm/llvm.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -LLVM_VERSION = 5.0.2 +LLVM_VERSION = 6.0.0 LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION) LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz LLVM_LICENSE = NCSA
Signature · 1 line
2.17.1
RFC PATCH v3 7/9 clang: bump to version 6.0.0
In reply to Joseph Kogut--- package/clang/clang.hash | 2 +- package/clang/clang.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
package/clang/clang.hash +1 -1
@@ -1,3 +1,3 @@ # locally calculated -sha256 fa9ce9724abdb68f166deea0af1f71ca0dfa9af8f7e1261f2cae63c280282800 cfe-5.0.2.src.tar.xz +sha256 e07d6dd8d9ef196cfc8e8bb131cbd6a2ed0b1caf1715f9d05b0f0eeaddb6df32 cfe-6.0.0.src.tar.xz sha256 de4c79665f0f5688b0ace17cba6f8e0343925bb95e0949d66d47bbd4527310d6 LICENSE.TXT
package/clang/clang.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -CLANG_VERSION = 5.0.2 +CLANG_VERSION = 6.0.0 CLANG_SITE = http://llvm.org/releases/$(CLANG_VERSION) CLANG_SOURCE = cfe-$(CLANG_VERSION).src.tar.xz CLANG_LICENSE = NCSA
Signature · 1 line
2.17.1
RFC PATCH v3 8/9 lld: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/lld/Config.in | 3 +++ package/lld/lld.hash | 3 +++ package/lld/lld.mk | 19 +++++++++++++++++++ 5 files changed, 27 insertions(+) create mode 100644 package/lld/Config.in create mode 100644 package/lld/lld.hash create mode 100644 package/lld/lld.mk
DEVELOPERS +1 -0
@@ -959,6 +959,7 @@ F: package/at-spi2-atk/ F: package/at-spi2-core/ F: package/gconf/ F: package/libnss/ +F: package/lld/ F: package/python-cython/ F: package/python-raven/ F: package/python-schedule/
package/Config.in +1 -0
@@ -1565,6 +1565,7 @@ menu "Other" source "package/libuv/Config.in" source "package/lightning/Config.in" source "package/linux-pam/Config.in" + source "package/lld/Config.in" source "package/llvm/Config.in" if BR2_PACKAGE_LINUX_PAM comment "linux-pam plugins"
package/lld/Config.in new file +3 -0
@@ -0,0 +1,3 @@ +config BR2_PACKAGE_LLD + bool "lld" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/lld/lld.hash new file +3 -0
@@ -0,0 +1,3 @@ +# locally calculated +sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b lld-6.0.0.src.tar.xz +sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b LICENSE.TXT
package/lld/lld.mk new file +19 -0
@@ -0,0 +1,19 @@ +############################################################################### +# +# lld +# +############################################################################### + +LLD_VERSION = 6.0.0 +LLD_SITE = https://llvm.org/releases/$(LLD_VERSION) +LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz +LLD_LICENSE = NCSA +LLD_LICENSE_FILES = LICENSE.TXT +LLD_SUPPORTS_IN_SOURCE_BUILD = NO + +HOST_LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release +LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) +
Signature · 1 line
2.17.1
RFC PATCH v3 9/9 chromium: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + ...iler_cpu_abi-for-buildroot-toolchain.patch | 102 +++++++++++++ package/chromium/Config.in | 44 ++++++ package/chromium/chromium.hash | 4 + package/chromium/chromium.mk | 137 ++++++++++++++++++ package/chromium/toolchain/BUILD.gn | 71 +++++++++ 7 files changed, 360 insertions(+) create mode 100644 package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch create mode 100644 package/chromium/Config.in create mode 100644 package/chromium/chromium.hash create mode 100644 package/chromium/chromium.mk create mode 100644 package/chromium/toolchain/BUILD.gn
DEVELOPERS +1 -0
@@ -957,6 +957,7 @@ F: configs/qemu_ppc64le_pseries_defconfig N: Joseph Kogut <[email protected]> F: package/at-spi2-atk/ F: package/at-spi2-core/ +F: package/chromium/ F: package/gconf/ F: package/libnss/ F: package/lld/
package/Config.in +1 -0
@@ -14,6 +14,7 @@ menu "Audio and video applications" source "package/aumix/Config.in" source "package/bellagio/Config.in" source "package/bluez-alsa/Config.in" + source "package/chromium/Config.in" source "package/dvblast/Config.in" source "package/dvdauthor/Config.in" source "package/dvdrw-tools/Config.in"
package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch new file +102 -0
102 lines not on this page · raw message
package/chromium/Config.in new file +44 -0
44 lines not on this page · raw message
package/chromium/chromium.hash new file +4 -0
@@ -0,0 +1,4 @@ +# locally calculated +sha256 f8b1e5319163e378027826b12cf256b97423bb90e10e2013469d96e03bc9db8a chromium-67.0.3396.79.tar.xz +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 LICENSE +
package/chromium/chromium.mk new file +137 -0
137 lines not on this page · raw message
package/chromium/toolchain/BUILD.gn new file +71 -0
71 lines not on this page · raw message
Signature · 1 line
2.17.1
v4 cover chromium: new package
In reply to Joseph KogutChanges since v3:
- llvm: add separate TARGETS_TO_BUILD for host only
- chromium: add upstream patch to fix ARM build w/ glibc 2.27
- chromium: disabled v8 snapshotting until the toolchain can be figured out
- chromium: add missing dependencies when use_gtk3=false
- chromium: check-package fixes
Changes since v2:
- patch chromium toolchain config for buildroot
Changes since v1:
- fix some cross compilation issues
- chromium: bump version to 67.0.3396.79
- atk: bump version to 2.28.1
- lld: new package
- chromium: use lld for linking
- minor tweaks to variable naming and quotes
Joseph Kogut (9):
atk: bump to version 2.28.1
at-spi2-core: new package
at-spi2-atk: new package
libgtk3: remove patch to disable atk-bridge support
llvm: add config to build backend for host arch
llvm: bump to version 6.0.0
clang: bump to version 6.0.0
lld: new package
chromium: new package
DEVELOPERS | 4 + package/Config.in | 4 + package/at-spi2-atk/Config.in | 5 + package/at-spi2-atk/at-spi2-atk.hash | 4 + package/at-spi2-atk/at-spi2-atk.mk | 17 +++ package/at-spi2-core/Config.in | 9 ++ package/at-spi2-core/at-spi2-core.hash | 4 + package/at-spi2-core/at-spi2-core.mk | 46 +++++++ package/atk/atk.hash | 4 +- package/atk/atk.mk | 4 +- ...iler_cpu_abi-for-buildroot-toolchain.patch | 102 ++++++++++++++ .../0002-Fix-arm-build-with-glibc-2.27.patch | 28 ++++ package/chromium/Config.in | 46 +++++++ package/chromium/chromium.hash | 3 + package/chromium/chromium.mk | 127 ++++++++++++++++++ package/chromium/toolchain/BUILD.gn | 71 ++++++++++ package/clang/clang.hash | 2 +- package/clang/clang.mk | 2 +- package/libgtk3/0003-disable-atk-bridge.patch | 45 ------- package/libgtk3/Config.in | 1 + package/libgtk3/libgtk3.mk | 3 +- package/lld/Config.in | 3 + package/lld/lld.hash | 3 + package/lld/lld.mk | 19 +++ ...type-in-ORC-readMem-client-interface.patch | 37 ----- package/llvm/Config.in | 11 ++ package/llvm/llvm.hash | 2 +- package/llvm/llvm.mk | 11 +- 28 files changed, 525 insertions(+), 92 deletions(-) create mode 100644 package/at-spi2-atk/Config.in create mode 100644 package/at-spi2-atk/at-spi2-atk.hash create mode 100644 package/at-spi2-atk/at-spi2-atk.mk create mode 100644 package/at-spi2-core/Config.in create mode 100644 package/at-spi2-core/at-spi2-core.hash create mode 100644 package/at-spi2-core/at-spi2-core.mk create mode 100644 package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch create mode 100644 package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch create mode 100644 package/chromium/Config.in create mode 100644 package/chromium/chromium.hash create mode 100644 package/chromium/chromium.mk create mode 100644 package/chromium/toolchain/BUILD.gn delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch create mode 100644 package/lld/Config.in create mode 100644 package/lld/lld.hash create mode 100644 package/lld/lld.mk delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
Signature · 1 line
2.17.1
RFC PATCH v4 1/9 atk: bump to version 2.28.1
--- package/atk/atk.hash | 4 ++-- package/atk/atk.mk | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
package/atk/atk.hash +2 -2
@@ -1,2 +1,2 @@ -# From http://ftp.gnome.org/pub/gnome/sources/atk/2.22/atk-2.22.0.sha256sum -sha256 d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6 atk-2.22.0.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/atk/2.28/atk-2.28.1.sha256sum +sha256 cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc atk-2.28.1.tar.xz
package/atk/atk.mk +2 -2
@@ -4,8 +4,8 @@ # ################################################################################ -ATK_VERSION_MAJOR = 2.22 -ATK_VERSION = $(ATK_VERSION_MAJOR).0 +ATK_VERSION_MAJOR = 2.28 +ATK_VERSION = $(ATK_VERSION_MAJOR).1 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR) ATK_LICENSE = LGPL-2.0+
Signature · 1 line
2.17.1
Thomas Petazzoni
AppliedRFC PATCH v4 1/9 atk: bump to version 2.28.1
Hello,
Quoted 5 lines · Joseph Kogut
Signed-off-by Joseph Kogut <[email protected]>--- package/atk/atk.hash | 4 ++-- package/atk/atk.mk | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
RFC PATCH v4 2/9 at-spi2-core: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/at-spi2-core/Config.in | 9 +++++ package/at-spi2-core/at-spi2-core.hash | 4 +++ package/at-spi2-core/at-spi2-core.mk | 46 ++++++++++++++++++++++++++ 5 files changed, 61 insertions(+) create mode 100644 package/at-spi2-core/Config.in create mode 100644 package/at-spi2-core/at-spi2-core.hash create mode 100644 package/at-spi2-core/at-spi2-core.mk
DEVELOPERS +1 -0
@@ -955,6 +955,7 @@ F: board/qemu/ppc64le-pseries/ F: configs/qemu_ppc64le_pseries_defconfig N: Joseph Kogut <[email protected]> +F: package/at-spi2-core/ F: package/gconf/ F: package/libnss/ F: package/python-cython/
package/Config.in +1 -0
@@ -1128,6 +1128,7 @@ endmenu menu "Graphics" source "package/assimp/Config.in" + source "package/at-spi2-core/Config.in" source "package/atk/Config.in" source "package/atkmm/Config.in" source "package/bullet/Config.in"
package/at-spi2-core/Config.in new file +9 -0
@@ -0,0 +1,9 @@ +config BR2_PACKAGE_AT_SPI2_CORE + bool "at-spi2-core" + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_XLIB_LIBXTST + help + The At-Spi2 Core package is a part of the GNOME Accessibility Project. + It provides a Service Provider Interface for the Assistive Technologies + available on the GNOME platform and a library against which + applications can be linked.
package/at-spi2-core/at-spi2-core.hash new file +4 -0
@@ -0,0 +1,4 @@ +# locally calculated +sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87 at-spi2-core-2.28.0.tar.xz +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b COPYING +
package/at-spi2-core/at-spi2-core.mk new file +46 -0
46 lines not on this page · raw message
Signature · 1 line
2.17.1
RFC PATCH v4 2/9 at-spi2-core: new package
Hello,
package/at-spi2-core/Config.in line 4
Quoted 10 lines · Joseph Kogut
package/at-spi2-core/Config.in new file +4
-0@@ -0,0 +1,9 @@ +config BR2_PACKAGE_AT_SPI2_CORE + bool "at-spi2-core" + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_XLIB_LIBXTST
Your package also uses libglib2 in its DEPENDENCIES, so you should have a "select BR2_PACKAGE_LIBGLIB2" here.
In addition, you should replicate the dependencies of the options you're selecting. So, something like:
depends on BR2_PACKAGE_XORG7 # xlib-libxtst depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_USE_MMU # dbus, libglib2 depends on BR2_USE_WCHAR # libglib2
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_XLIB_LIBXTST
package/at-spi2-core/Config.in line 9
Quoted 5 lines
package/at-spi2-core/Config.in new file +5
-0+ help + The At-Spi2 Core package is a part of the GNOME Accessibility Project. + It provides a Service Provider Interface for the Assistive Technologies + available on the GNOME platform and a library against which + applications can be linked.
Wrap to 72 characters please, and add the upstream URL of the project. Essentially, please run your new packages through ./utils/check-package to spot such coding style issues.
You'll also need to add Config.in comments to help the user with the dependencies. See all other packages in Buildroot.
package/at-spi2-core/at-spi2-core.hash line 4
Quoted 10 lines
package/at-spi2-core/at-spi2-core.hash new file +4
-0@@ -0,0 +1,4 @@ +# locally calculated +sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87 at-spi2-core-2.28.0.tar.xz +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b COPYING +
Unneeded empty line.
Quoted 41 lines
package/at-spi2-core/at-spi2-core.mk new file +35
-0@@ -0,0 +1,46 @@ +################################################################################ +# +# at-spi2-core +# +################################################################################ + +AT_SPI2_CORE_VERSION_MAJOR = 2.28 +AT_SPI2_CORE_VERSION = $(AT_SPI2_CORE_VERSION_MAJOR).0 +AT_SPI2_CORE_SOURCE = at-spi2-core-$(AT_SPI2_CORE_VERSION).tar.xz +AT_SPI2_CORE_SITE = http://ftp.gnome.org/pub/gnome/sources/at-spi2-core/$(AT_SPI2_CORE_VERSION_MAJOR) +AT_SPI2_CORE_LICENSE = LGPL-2.0+ +AT_SPI2_CORE_LICENSE_FILES = COPYING +AT_SPI2_CORE_INSTALL_STAGING = YES +AT_SPI2_CORE_DEPENDENCIES = host-meson host-pkgconf dbus libglib2 xlib_libXtst + +AT_SPI2_CORE_MESON_OPTS += \ + --prefix=/usr \ + --libdir=/usr/lib \ + --sysconfdir=/etc \ + --buildtype=$(if $(BR2_ENABLE_DEBUG),debug,release) \ + --cross-file=$(HOST_DIR)/etc/meson/cross-compilation.conf + +AT_SPI2_CORE_NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS) + +define AT_SPI2_CORE_CONFIGURE_CMDS + rm -rf $(@D)/build + mkdir -p $(@D)/build + $(TARGET_MAKE_ENV) meson $(AT_SPI2_CORE_MESON_OPTS) $(@D) $(@D)/build +endef + +define AT_SPI2_CORE_BUILD_CMDS + $(TARGET_MAKE_ENV) ninja $(AT_SPI2_CORE_NINJA_OPTS) -C $(@D)/build +endef + +define AT_SPI2_CORE_INSTALL_STAGING_CMDS
package/at-spi2-core/at-spi2-core.mk line 45
Quoted 10 lines
package/at-spi2-core/at-spi2-core.mk new file +10
-0+ $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) \ + ninja $(AT_SPI2_CORE_NINJA_OPTS) -C $(@D)/build install +endef + +define AT_SPI2_CORE_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) \ + ninja $(AT_SPI2_CORE_NINJA_OPTS) -C $(@D)/build install +endef + +$(eval $(generic-package))
Please use meson-package instead, this will greatly simplify this package. See
http://nightly.buildroot.org/#_infrastructure_for_meson_based_packages
for details.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
RFC PATCH v4 3/9 at-spi2-atk: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/at-spi2-atk/Config.in | 5 +++++ package/at-spi2-atk/at-spi2-atk.hash | 4 ++++ package/at-spi2-atk/at-spi2-atk.mk | 17 +++++++++++++++++ 5 files changed, 28 insertions(+) create mode 100644 package/at-spi2-atk/Config.in create mode 100644 package/at-spi2-atk/at-spi2-atk.hash create mode 100644 package/at-spi2-atk/at-spi2-atk.mk
DEVELOPERS +1 -0
@@ -955,6 +955,7 @@ F: board/qemu/ppc64le-pseries/ F: configs/qemu_ppc64le_pseries_defconfig N: Joseph Kogut <[email protected]> +F: package/at-spi2-atk/ F: package/at-spi2-core/ F: package/gconf/ F: package/libnss/
package/Config.in +1 -0
@@ -1128,6 +1128,7 @@ endmenu menu "Graphics" source "package/assimp/Config.in" + source "package/at-spi2-atk/Config.in" source "package/at-spi2-core/Config.in" source "package/atk/Config.in" source "package/atkmm/Config.in"
package/at-spi2-atk/Config.in new file +5 -0
@@ -0,0 +1,5 @@ +config BR2_PACKAGE_AT_SPI2_ATK + bool "at-spi2-atk" + select BR2_PACKAGE_AT_SPI2_CORE + help + The At-Spi2 Atk package contains a library that bridges ATK to At-Spi2 D-Bus service.
package/at-spi2-atk/at-spi2-atk.hash new file +4 -0
@@ -0,0 +1,4 @@ +# locally calculated +sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e at-spi2-atk-2.26.2.tar.xz +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b COPYING +
package/at-spi2-atk/at-spi2-atk.mk new file +17 -0
@@ -0,0 +1,17 @@ +############################################################################### +# +# at-spi2-atk +# +############################################################################### + +AT_SPI2_ATK_VERSION_MAJOR = 2.26 +AT_SPI2_ATK_VERSION = $(AT_SPI2_ATK_VERSION_MAJOR).2 +AT_SPI2_ATK_SOURCE = at-spi2-atk-$(AT_SPI2_ATK_VERSION).tar.xz +AT_SPI2_ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/$(AT_SPI2_ATK_VERSION_MAJOR) +ATK_LICENSE = LGPL-2.0+ +ATK_LICENSE_FILES = COPYING +AT_SPI2_ATK_INSTALL_STAGING = YES +AT_SPI2_ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install +AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf + +$(eval $(autotools-package))
Signature · 1 line
2.17.1
RFC PATCH v4 3/9 at-spi2-atk: new package
Hello Joseph,
Pretty much the same comments as for the at-spi2-core package. See below.
package/at-spi2-atk/Config.in line 3
Quoted 9 lines · Joseph Kogut
package/at-spi2-atk/Config.in new file +3
-0@@ -0,0 +1,5 @@ +config BR2_PACKAGE_AT_SPI2_ATK + bool "at-spi2-atk" + select BR2_PACKAGE_AT_SPI2_CORE
You also need to select BR2_PACKAGE_ATK and BR2_PACKAGE_LIBGLIB2 to be consistent with the dependencies variable in your .mk file. And of course, propagate the "depends on".
package/at-spi2-atk/Config.in line 5
Quoted 2 lines
package/at-spi2-atk/Config.in new file +2
-0+ help + The At-Spi2 Atk package contains a library that bridges ATK to At-Spi2 D-Bus service.
Line too long, missing upstream URL. Please run ./utils/check-package
package/at-spi2-atk/at-spi2-atk.hash line 4
Quoted 10 lines
package/at-spi2-atk/at-spi2-atk.hash new file +4
-0@@ -0,0 +1,4 @@ +# locally calculated +sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e at-spi2-atk-2.26.2.tar.xz +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b COPYING +
Line not needed.
Quoted 10 lines
package/at-spi2-atk/at-spi2-atk.mk new file +4
-0@@ -0,0 +1,17 @@ +############################################################################### +# +# at-spi2-atk +#
package/at-spi2-atk/at-spi2-atk.mk line 14
Quoted 10 lines
package/at-spi2-atk/at-spi2-atk.mk new file +10
-0+############################################################################### + +AT_SPI2_ATK_VERSION_MAJOR = 2.26 +AT_SPI2_ATK_VERSION = $(AT_SPI2_ATK_VERSION_MAJOR).2 +AT_SPI2_ATK_SOURCE = at-spi2-atk-$(AT_SPI2_ATK_VERSION).tar.xz +AT_SPI2_ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/$(AT_SPI2_ATK_VERSION_MAJOR) +ATK_LICENSE = LGPL-2.0+ +ATK_LICENSE_FILES = COPYING +AT_SPI2_ATK_INSTALL_STAGING = YES +AT_SPI2_ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install
Those LDFLAGS should not be needed, they are the default.
package/at-spi2-atk/at-spi2-atk.mk line 17
Quoted 3 lines
package/at-spi2-atk/at-spi2-atk.mk new file +3
-0+AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf + +$(eval $(autotools-package))
Thanks!
Thomas Petazzoni
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
RFC PATCH v4 4/9 libgtk3: remove patch to disable atk-bridge support
In reply to Joseph Kogut--- package/libgtk3/0003-disable-atk-bridge.patch | 45 ------------------- package/libgtk3/Config.in | 1 + package/libgtk3/libgtk3.mk | 3 +- 3 files changed, 3 insertions(+), 46 deletions(-) delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patch
package/libgtk3/0003-disable-atk-bridge.patch deleted +0 -45
@@ -1,45 +0,0 @@ -Remove atk-bridge support. - -atk-bridge doesn't seem useful for now in Buildroot and requires to -add two new packages just for it: at-spi2-core and at-spi2-atk. - -Signed-off-by: Hadrien Boutteville <[email protected]> - ---- a/configure.ac -+++ b/configure.ac -@@ -1349,11 +1349,7 @@ - # Check for Accessibility Toolkit flags - ######################################## - --if test x$enable_x11_backend = xyes; then -- ATK_PACKAGES="atk atk-bridge-2.0" --else -- ATK_PACKAGES="atk" --fi -+ATK_PACKAGES="atk" - - PKG_CHECK_MODULES(ATK, $ATK_PACKAGES) - ---- a/gtk/a11y/gtkaccessibility.c -+++ b/gtk/a11y/gtkaccessibility.c -@@ -37,10 +37,6 @@ - #include <gtk/gtkcombobox.h> - #include <gtk/gtkaccessible.h> - --#ifdef GDK_WINDOWING_X11 --#include <atk-bridge.h> --#endif -- - static gboolean gail_focus_watcher (GSignalInvocationHint *ihint, - guint n_param_values, - const GValue *param_values, -@@ -987,9 +983,5 @@ - _gtk_accessibility_override_atk_util (); - do_window_event_initialization (); - --#ifdef GDK_WINDOWING_X11 -- atk_bridge_adaptor_init (NULL, NULL); --#endif -- - atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL); - }
package/libgtk3/Config.in +1 -0
@@ -20,6 +20,7 @@ config BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_ATK + select BR2_PACKAGE_AT_SPI2_ATK select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PS select BR2_PACKAGE_CAIRO_PDF
package/libgtk3/libgtk3.mk +2 -1
@@ -26,7 +26,8 @@ LIBGTK3_CONF_OPTS = \ LIBGTK3_MAKE_OPTS = \ WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols -LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy +LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk at-spi2-atk libglib2 \ + cairo pango gdk-pixbuf libepoxy ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi
Signature · 1 line
2.17.1
RFC PATCH v4 4/9 libgtk3: remove patch to disable atk-bridge support
Hello,
Quoted 14 lines · Joseph Kogut
Signed-off-by Joseph Kogut <[email protected]>--- package/libgtk3/0003-disable-atk-bridge.patch | 45 ------------------- package/libgtk3/Config.in | 1 + package/libgtk3/libgtk3.mk | 3 +- 3 files changed, 3 insertions(+), 46 deletions(-) delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patchpackage/libgtk3/0003-disable-atk-bridge.patch deleted +0
-0
package/libgtk3/0003-disable-atk-bridge.patch line 6
Quoted 6 lines
package/libgtk3/0003-disable-atk-bridge.patch deleted +0
-6@@ -1,45 +0,0 @@ -Remove atk-bridge support. - -atk-bridge doesn't seem useful for now in Buildroot and requires to -add two new packages just for it: at-spi2-core and at-spi2-atk. - -Signed-off-by: Hadrien Boutteville <[email protected]>
Could we instead keep them optional, by improving this patch ? We really try to keep dependencies to a reasonable level in Buildroot, so it would be nice if we could avoid making those mandatory dependencies of libgtk3.
Quoted 44 lines
package/libgtk3/0003-disable-atk-bridge.patch deleted +0
-39- ---- a/configure.ac -+++ b/configure.ac -@@ -1349,11 +1349,7 @@ - # Check for Accessibility Toolkit flags - ######################################## - --if test x$enable_x11_backend = xyes; then -- ATK_PACKAGES="atk atk-bridge-2.0" --else -- ATK_PACKAGES="atk" --fi -+ATK_PACKAGES="atk" - - PKG_CHECK_MODULES(ATK, $ATK_PACKAGES) - ---- a/gtk/a11y/gtkaccessibility.c -+++ b/gtk/a11y/gtkaccessibility.c -@@ -37,10 +37,6 @@ - #include <gtk/gtkcombobox.h> - #include <gtk/gtkaccessible.h> - --#ifdef GDK_WINDOWING_X11 --#include <atk-bridge.h> --#endif -- - static gboolean gail_focus_watcher (GSignalInvocationHint *ihint, - guint n_param_values, - const GValue *param_values, -@@ -987,9 +983,5 @@ - _gtk_accessibility_override_atk_util (); - do_window_event_initialization (); - --#ifdef GDK_WINDOWING_X11 -- atk_bridge_adaptor_init (NULL, NULL); --#endif -- - atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL); - }package/libgtk3/Config.in +0
-0
package/libgtk3/Config.in config BR2_PACKAGE_LIBGTK3 · line 23
Quoted 4 lines
package/libgtk3/Config.in +1
-0@@ -20,6 +20,7 @@ config BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_ATK + select BR2_PACKAGE_AT_SPI2_ATK
Be careful here: AT_SPI2_ATK is only available with X11, so you can't just select it like this.
Quoted 8 lines
package/libgtk3/Config.in +0
-0select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PS select BR2_PACKAGE_CAIRO_PDFpackage/libgtk3/libgtk3.mk +0
-0
package/libgtk3/libgtk3.mk LIBGTK3_CONF_OPTS = \ · line 30
Quoted 6 lines
package/libgtk3/libgtk3.mk +2
-1@@ -26,7 +26,8 @@ LIBGTK3_CONF_OPTS = \ LIBGTK3_MAKE_OPTS = \ WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols -LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy +LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk at-spi2-atk libglib2 \ + cairo pango gdk-pixbuf libepoxy
And its dependency should only be added..
package/libgtk3/libgtk3.mk LIBGTK3_CONF_OPTS = \ · line 33
Quoted 3 lines
package/libgtk3/libgtk3.mk +0
-0ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi
... when the X11 backend is used.
But again, it would be nicer if the dependency was kept optional.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
RFC PATCH v4 4/9 libgtk3: remove patch to disable atk-bridge support
Quoted 21 lines · Thomas Petazzoni
Hello,
Quoted 17 lines · Joseph Kogut
Signed-off-by Joseph Kogut <[email protected]>--- package/libgtk3/0003-disable-atk-bridge.patch | 45 ------------------- package/libgtk3/Config.in | 1 + package/libgtk3/libgtk3.mk | 3 +- 3 files changed, 3 insertions(+), 46 deletions(-) delete mode 100644 package/libgtk3/0003-disable-atk-bridge.patchpackage/libgtk3/0003-disable-atk-bridge.patch deleted +0
-3@@ -1,45 +0,0 @@ -Remove atk-bridge support. - -atk-bridge doesn't seem useful for now in Buildroot and requires to
Quoted 9 lines
package/libgtk3/0003-disable-atk-bridge.patch line 6
Quoted 3 lines
package/libgtk3/0003-disable-atk-bridge.patch deleted +0
-3-add two new packages just for it: at-spi2-core and at-spi2-atk. - -Signed-off-by: Hadrien Boutteville <[email protected]>Could we instead keep them optional, by improving this patch ? We really try to keep dependencies to a reasonable level in Buildroot, so it would be nice if we could avoid making those mandatory dependencies of libgtk3.
That's a great point, and it's something I hadn't thought of. Would you recommend selectively applying the patch to disable the dependency on atk-bridge, or some other approach?
Are there any examples of selectively applying patches that I can use as a reference?
Quoted 77 lines
Quoted 44 lines
package/libgtk3/0003-disable-atk-bridge.patch deleted +0
-39- ---- a/configure.ac -+++ b/configure.ac -@@ -1349,11 +1349,7 @@ - # Check for Accessibility Toolkit flags - ######################################## - --if test x$enable_x11_backend = xyes; then -- ATK_PACKAGES="atk atk-bridge-2.0" --else -- ATK_PACKAGES="atk" --fi -+ATK_PACKAGES="atk" - - PKG_CHECK_MODULES(ATK, $ATK_PACKAGES) - ---- a/gtk/a11y/gtkaccessibility.c -+++ b/gtk/a11y/gtkaccessibility.c -@@ -37,10 +37,6 @@ - #include <gtk/gtkcombobox.h> - #include <gtk/gtkaccessible.h> - --#ifdef GDK_WINDOWING_X11 --#include <atk-bridge.h> --#endif -- - static gboolean gail_focus_watcher (GSignalInvocationHint *ihint, - guint n_param_values, - const GValue *param_values, -@@ -987,9 +983,5 @@ - _gtk_accessibility_override_atk_util (); - do_window_event_initialization (); - --#ifdef GDK_WINDOWING_X11 -- atk_bridge_adaptor_init (NULL, NULL); --#endif -- - atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL); - }package/libgtk3/Config.in +0
-0package/libgtk3/Config.in config BR2_PACKAGE_LIBGTK3 · line 23
Quoted 4 lines
package/libgtk3/Config.in +1
-0@@ -20,6 +20,7 @@ config BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_ATK + select BR2_PACKAGE_AT_SPI2_ATKBe careful here:
AT_SPI2_ATKis only available with X11, so you can't just select it like this.Quoted 8 lines
package/libgtk3/Config.in +0
-0select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PS select BR2_PACKAGE_CAIRO_PDFpackage/libgtk3/libgtk3.mk +0
-0package/libgtk3/libgtk3.mk LIBGTK3_CONF_OPTS = \ · line 30
Quoted 6 lines
package/libgtk3/libgtk3.mk +2
-1@@ -26,7 +26,8 @@ LIBGTK3_CONF_OPTS = \ LIBGTK3_MAKE_OPTS = \ WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols -LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy +LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk at-spi2-atk libglib2 \ + cairo pango gdk-pixbuf libepoxyAnd its dependency should only be added..
package/libgtk3/libgtk3.mk LIBGTK3_CONF_OPTS = \ · line 33
Quoted 3 lines
package/libgtk3/libgtk3.mk +0
-0ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi... when the X11 backend is used.
But again, it would be nicer if the dependency was kept optional.
Quoted 7 lines
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering
https://bootlin.com
Best,
Joseph
RFC PATCH v4 4/9 libgtk3: remove patch to disable atk-bridge support
Hello,
Quoted 6 lines · Joseph Kogut
Quoted 5 lines
Could we instead keep them optional, by improving this patch ? We really try to keep dependencies to a reasonable level in Buildroot, so it would be nice if we could avoid making those mandatory dependencies of libgtk3.
Quoted 6 lines
That's a great point, and it's something I hadn't thought of. Would you recommend selectively applying the patch to disable the dependency on atk-bridge, or some other approach?
Are there any examples of selectively applying patches that I can use as a reference?
We don't want to apply patches conditionally. Instead the patch *itself* should be smarter, and only use atk if available.
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
---- a/configure.ac
-+++ b/configure.ac
-@@ -1349,11 +1349,7 @@
- # Check for Accessibility Toolkit flags
- ########################################
-
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
--if test x$enable_x11_backend = xyes; then
-- ATK_PACKAGES="atk atk-bridge-2.0"
--else
-- ATK_PACKAGES="atk"
--fi
-+ATK_PACKAGES="atk"
-
-PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
A rough idea is something like this:
PKG_CHECK_MODULES(ATK, atk)
if test x$enable_x11_backend = xyes; then
PKG_CHECK_MODULES(ATK_BRIDGE, atk-bridge-2.0, AC_DEFINE([HAVE_ATK_BRIDGE], [1]); ATK_BRIDGE_PACKAGE=atk-bridge-2.0)
fi
In configure.ac, add $ATK_BRIDGE_PACKAGE in:
GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES epoxy >= epoxy_required_version"
And in gtkaccessibility.c, use #ifdef HAVE_ATK_BRIDGE instead of #ifdef GDK_WINDOWING_X11 to guard the include of <atk-bridge.h> and the call to atk_bridge_adaptor_init().
Of course, those are rough guidelines, you will probably need to adjust stuff to actually make it work :-)
Best regards,
Thomas Petazzoni
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
RFC PATCH v4 5/9 llvm: add config to build backend for host arch
In reply to Joseph Kogut--- package/llvm/Config.in | 11 +++++++++++ package/llvm/llvm.mk | 9 ++++++++- 2 files changed, 19 insertions(+), 1 deletion(-)
package/llvm/Config.in +11 -0
@@ -11,6 +11,12 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH default "ARM" if BR2_arm || BR2_armeb default "X86" if BR2_i386 || BR2_x86_64 +config BR2_PACKAGE_LLVM_HOST_ARCH + string + default "AArch64" if BR2_HOSTARCH="aarch64" + default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64" + default "ARM" if BR2_HOSTARCH = "arm" + config BR2_PACKAGE_LLVM bool "llvm" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
@@ -27,6 +33,11 @@ config BR2_PACKAGE_LLVM http://llvm.org +config BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH + bool "Build backend for host architecture" + help + Build code generator for host machine. + if BR2_PACKAGE_LLVM config BR2_PACKAGE_LLVM_AMDGPU
package/llvm/llvm.mk +8 -1
@@ -39,8 +39,9 @@ LLVM_CONF_OPTS += -DLLVM_BUILD_GLOBAL_ISEL=OFF LLVM_TARGET_ARCH = $(call qstrip,$(BR2_PACKAGE_LLVM_TARGET_ARCH)) # Build backend for target architecture. This include backends like AMDGPU. +HOST_LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH) LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH) -HOST_LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_TARGETS_TO_BUILD))" +HOST_LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(HOST_LLVM_TARGETS_TO_BUILD))" LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_TARGETS_TO_BUILD))" # LLVM target to use for native code generation. This is required for JIT generation.
@@ -56,9 +57,15 @@ LLVM_CONF_OPTS += -DLLVM_TARGET_ARCH=$(LLVM_TARGET_ARCH) # output only $(LLVM_TARGET_ARCH) if not, and mesa3d won't build as # it thinks AMDGPU backend is not installed on the target. ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) +HOST_LLVM_TARGETS_TO_BUILD += AMDGPU LLVM_TARGETS_TO_BUILD += AMDGPU endif +# Build backend for host architecture +ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y) +HOST_LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH)) +endif + # Use native llvm-tblgen from host-llvm (needed for cross-compilation) LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen
Signature · 1 line
2.17.1
RFC PATCH v4 5/9 llvm: add config to build backend for host arch
Hello,
Quoted 24 lines · Joseph Kogut
Signed-off-by Joseph Kogut <[email protected]>--- package/llvm/Config.in | 11 +++++++++++ package/llvm/llvm.mk | 9 ++++++++- 2 files changed, 19 insertions(+), 1 deletion(-)package/llvm/Config.in +6
-0@@ -11,6 +11,12 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH default "ARM" if BR2_arm || BR2_armeb default "X86" if BR2_i386 || BR2_x86_64 +config BR2_PACKAGE_LLVM_HOST_ARCH + string + default "AArch64" if BR2_HOSTARCH="aarch64" + default "X86" if BR2_HOSTARCH = "x86" || BR2_HOSTARCH = "x86_64" + default "ARM" if BR2_HOSTARCH = "arm" + config BR2_PACKAGE_LLVM bool "llvm" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/llvm/Config.in config BR2_PACKAGE_LLVM · line 39
Quoted 7 lines
package/llvm/Config.in +4
-0@@ -27,6 +33,11 @@ config BR2_PACKAGE_LLVM http://llvm.org +config BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH + bool "Build backend for host architecture" + help + Build code generator for host machine.
So I'm going to disagree a bit with Valentin on this one. If I understand correctly, this option is going to change what host-llvm builds, not what the target llvm package builds. So it is a host package option, and as such is more logically named BR2_PACKAGE_HOST_LLVM_<something>.
*But* they should be moved to a new package/llvm/Config.in.host file, and BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH should be made a blind option (i.e without prompt). This blind option will be selected by whichever package needs host architecture support in host-llvm.
Quoted 17 lines
package/llvm/llvm.mk +2
-1@@ -39,8 +39,9 @@ LLVM_CONF_OPTS += -DLLVM_BUILD_GLOBAL_ISEL=OFF LLVM_TARGET_ARCH = $(call qstrip,$(BR2_PACKAGE_LLVM_TARGET_ARCH)) # Build backend for target architecture. This include backends like AMDGPU. +HOST_LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH) LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH) -HOST_LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_TARGETS_TO_BUILD))" +HOST_LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(HOST_LLVM_TARGETS_TO_BUILD))" LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_TARGETS_TO_BUILD))" # LLVM target to use for native code generation. This is required for JIT generation.@@ -56,9 +57,15 @@ LLVM_CONF_OPTS += -DLLVM_TARGET_ARCH=$(LLVM_TARGET_ARCH) # output only $(LLVM_TARGET_ARCH) if not, and mesa3d won't build as
package/llvm/llvm.mk LLVM_CONF_OPTS += -DLLVM_TARGET_ARCH=$(LLVM_TARGET_ARCH) · line 67
Quoted 10 lines
package/llvm/llvm.mk +5
-0# it thinks AMDGPU backend is not installed on the target. ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y) +HOST_LLVM_TARGETS_TO_BUILD += AMDGPU LLVM_TARGETS_TO_BUILD += AMDGPU endif +# Build backend for host architecture +ifeq ($(BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH),y) +HOST_LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH)) +endif
I think this could be improved. Something like this:
LLVM_TARGETS_TO_BUILD = $(LLVM_TARGET_ARCH)
ifeq ($(BR2_PACKAGE_LLVM_AMDGPU),y)LLVM_TARGETS_TO_BUILD += AMDGPU
endif
... potentially more additions to LLVM_TARGETS_TO_BUILD here ...
LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_TARGETS_TO_BUILD))"
# host-llvm at least needs to build the same targets as the ones needed # by the target llvm HOST_LLVM_TARGETS_TO_BUILD = $(LLVM_TARGETS_TO_BUILD)
ifeq ($(BR2_PACKAGE_HOST_LLVM_ENABLE_HOST_ARCH),y) HOST_LLVM_TARGETS_TO_BUILD += $(call qstrip,$(BR2_PACKAGE_LLVM_HOST_ARCH)) endif
HOST_LLVM_CONF_OPTS += -DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(HOST_LLVM_TARGETS_TO_BUILD))"
And there you go.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
RFC PATCH v4 6/9 llvm: bump to version 6.0.0
In reply to Joseph Kogut--- ...type-in-ORC-readMem-client-interface.patch | 37 ------------------- package/llvm/llvm.hash | 2 +- package/llvm/llvm.mk | 2 +- 3 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch deleted +0 -37
@@ -1,37 +0,0 @@ -From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001 -From: Tilmann Scheller <[email protected]> -Date: Thu, 1 Feb 2018 11:40:01 -0600 -Subject: [PATCH] Fix return type in ORC readMem() client interface. - -GCC 8.0.1 detects the type mismatch and causes the compilation to fail. Clang -and earlier versions of GCC don't detect the issue. - -Fixes rhbz#1540620. - -This patch was taken from llvm5.0-5.0.1-7.fc28.src.rpm - -Link to bug: https://bugzilla.redhat.com/show_bug.cgi?id=1540620 - -Signed-off-by: Valentin Korenblit <[email protected]> ---- - include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -index da02250ba16..bed472e2e0e 100644 ---- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -@@ -713,8 +713,8 @@ private: - - uint32_t getTrampolineSize() const { return RemoteTrampolineSize; } - -- Expected<std::vector<char>> readMem(char *Dst, JITTargetAddress Src, -- uint64_t Size) { -+ Expected<std::vector<uint8_t>> readMem(char *Dst, JITTargetAddress Src, -+ uint64_t Size) { - // Check for an 'out-of-band' error, e.g. from an MM destructor. - if (ExistingError) - return std::move(ExistingError); --- -2.14.3 -
package/llvm/llvm.hash +1 -1
@@ -1,3 +1,3 @@ # locally calculated -sha256 d522eda97835a9c75f0b88ddc81437e5edbb87dc2740686cb8647763855c2b3c llvm-5.0.2.src.tar.xz +sha256 1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408 llvm-6.0.0.src.tar.xz sha256 abd4d8794808bacb1eb6924d49efafd9ab6eef88faaaeb5d3cfa13ee3670d672 LICENSE.TXT
package/llvm/llvm.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -LLVM_VERSION = 5.0.2 +LLVM_VERSION = 6.0.0 LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION) LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz LLVM_LICENSE = NCSA
Signature · 1 line
2.17.1
RFC PATCH v4 6/9 llvm: bump to version 6.0.0
Hello,
Quoted 1 line · Joseph Kogut
Signed-off-by Joseph Kogut <[email protected]>
You had a Tested-by from Valentin on this patch, which he gave on your first iteration. Otherwise, since the first iteration is no longer in patchwork, I don't know which patches already received Acked-by/Tested-by/Reviewed-by by other developers.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
RFC PATCH v4 6/9 llvm: bump to version 6.0.0
Hi Thomas,
Quoted 10 lines · Thomas Petazzoni
Hello,
Quoted 1 line · Joseph Kogut
Signed-off-by Joseph Kogut <[email protected]>You had a Tested-by from Valentin on this patch, which he gave on your first iteration. Otherwise, since the first iteration is no longer in patchwork, I don't know which patches already received Acked-by/Tested-by/Reviewed-by by other developers.
Ah, I could see how that would cause problems. Thanks for all your feedback!
Quoted 8 lines
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering
https://bootlin.com
RFC PATCH v4 6/9 llvm: bump to version 6.0.0
In reply to Joseph KogutHello,
Quoted 7 lines · Joseph Kogut
Signed-off-by Joseph Kogut <[email protected]>--- ...type-in-ORC-readMem-client-interface.patch | 37 ------------------- package/llvm/llvm.hash | 2 +- package/llvm/llvm.mk | 2 +- 3 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
Applied to master, with the Tested-by from Valentin. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
RFC PATCH v4 7/9 clang: bump to version 6.0.0
In reply to Joseph Kogut--- package/clang/clang.hash | 2 +- package/clang/clang.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
package/clang/clang.hash +1 -1
@@ -1,3 +1,3 @@ # locally calculated -sha256 fa9ce9724abdb68f166deea0af1f71ca0dfa9af8f7e1261f2cae63c280282800 cfe-5.0.2.src.tar.xz +sha256 e07d6dd8d9ef196cfc8e8bb131cbd6a2ed0b1caf1715f9d05b0f0eeaddb6df32 cfe-6.0.0.src.tar.xz sha256 de4c79665f0f5688b0ace17cba6f8e0343925bb95e0949d66d47bbd4527310d6 LICENSE.TXT
package/clang/clang.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -CLANG_VERSION = 5.0.2 +CLANG_VERSION = 6.0.0 CLANG_SITE = http://llvm.org/releases/$(CLANG_VERSION) CLANG_SOURCE = cfe-$(CLANG_VERSION).src.tar.xz CLANG_LICENSE = NCSA
Signature · 1 line
2.17.1
Thomas Petazzoni
AppliedRFC PATCH v4 7/9 clang: bump to version 6.0.0
Hello,
Quoted 5 lines · Joseph Kogut
Signed-off-by Joseph Kogut <[email protected]>--- package/clang/clang.hash | 2 +- package/clang/clang.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
RFC PATCH v4 8/9 lld: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + package/lld/Config.in | 3 +++ package/lld/lld.hash | 3 +++ package/lld/lld.mk | 19 +++++++++++++++++++ 5 files changed, 27 insertions(+) create mode 100644 package/lld/Config.in create mode 100644 package/lld/lld.hash create mode 100644 package/lld/lld.mk
DEVELOPERS +1 -0
@@ -959,6 +959,7 @@ F: package/at-spi2-atk/ F: package/at-spi2-core/ F: package/gconf/ F: package/libnss/ +F: package/lld/ F: package/python-cython/ F: package/python-raven/ F: package/python-schedule/
package/Config.in +1 -0
@@ -1565,6 +1565,7 @@ menu "Other" source "package/libuv/Config.in" source "package/lightning/Config.in" source "package/linux-pam/Config.in" + source "package/lld/Config.in" source "package/llvm/Config.in" if BR2_PACKAGE_LINUX_PAM comment "linux-pam plugins"
package/lld/Config.in new file +3 -0
@@ -0,0 +1,3 @@ +config BR2_PACKAGE_LLD + bool "lld" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
package/lld/lld.hash new file +3 -0
@@ -0,0 +1,3 @@ +# locally calculated +sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b lld-6.0.0.src.tar.xz +sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b LICENSE.TXT
package/lld/lld.mk new file +19 -0
@@ -0,0 +1,19 @@ +############################################################################### +# +# lld +# +############################################################################### + +LLD_VERSION = 6.0.0 +LLD_SITE = https://llvm.org/releases/$(LLD_VERSION) +LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz +LLD_LICENSE = NCSA +LLD_LICENSE_FILES = LICENSE.TXT +LLD_SUPPORTS_IN_SOURCE_BUILD = NO + +HOST_LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release +LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) +
Signature · 1 line
2.17.1
RFC PATCH v4 8/9 lld: new package
Hello,
package/lld/Config.in line 3
Quoted 9 lines · Joseph Kogut
package/lld/Config.in new file +3
-0@@ -0,0 +1,3 @@ +config BR2_PACKAGE_LLD + bool "lld" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
This is a bit short. No help text, no upstream URL.
Quoted 17 lines
package/lld/lld.hash new file +3
-0@@ -0,0 +1,3 @@ +# locally calculated +sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b lld-6.0.0.src.tar.xz +sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b LICENSE.TXTpackage/lld/lld.mk new file +2
-0@@ -0,0 +1,19 @@ +############################################################################### +#
package/lld/lld.mk line 12
Quoted 10 lines
package/lld/lld.mk new file +10
-0+# lld +# +############################################################################### + +LLD_VERSION = 6.0.0 +LLD_SITE = https://llvm.org/releases/$(LLD_VERSION) +LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz +LLD_LICENSE = NCSA +LLD_LICENSE_FILES = LICENSE.TXT +LLD_SUPPORTS_IN_SOURCE_BUILD = NO
No dependencies really ? Have you tried a configuration with *just* lld enabled ?
If I build just the lld package, I get:
CMake Error at CMakeLists.txt:11 (message):
llvm-config not found: specify LLVM_CONFIG_PATH
When you submit new packages, please make sure that they build in a configuration that has *just* this new package enabled and nothing else.
package/lld/lld.mk line 15
Quoted 2 lines
package/lld/lld.mk new file +2
-0+HOST_LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release +LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release
For target packages, CMAKE_BUILD_TYPE is already passed by the cmake-package infrastructure.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
RFC PATCH v4 8/9 lld: new package
Hi Thomas,
Quoted 48 lines · Thomas Petazzoni
Hello,
package/lld/Config.in line 3
Quoted 9 lines · Joseph Kogut
package/lld/Config.in new file +3
-0@@ -0,0 +1,3 @@ +config BR2_PACKAGE_LLD + bool "lld" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTSThis is a bit short. No help text, no upstream URL.
Quoted 17 lines
package/lld/lld.hash new file +3
-0@@ -0,0 +1,3 @@ +# locally calculated +sha256 6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b lld-6.0.0.src.tar.xz +sha256 f0502d2d0e19748c534ee95ea486c092273303dbef76404c8b17dc8bf6ca441b LICENSE.TXTpackage/lld/lld.mk new file +2
-0@@ -0,0 +1,19 @@ +############################################################################### +#package/lld/lld.mk line 12
Quoted 10 lines
package/lld/lld.mk new file +10
-0+# lld +# +############################################################################### + +LLD_VERSION = 6.0.0 +LLD_SITE = https://llvm.org/releases/$(LLD_VERSION) +LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz +LLD_LICENSE = NCSA +LLD_LICENSE_FILES = LICENSE.TXT +LLD_SUPPORTS_IN_SOURCE_BUILD = NONo dependencies really ? Have you tried a configuration with *just* lld enabled ?
Quoted 8 lines
If I build just the lld package, I get:
CMake Error at CMakeLists.txt:11 (message):
llvm-config not found: specifyLLVM_CONFIG_PATHWhen you submit new packages, please make sure that they build in a configuration that has *just* this new package enabled and nothing else.
My mistake, this one wasn't tested enough.
Quoted 6 lines
package/lld/lld.mk line 15
Quoted 2 lines
package/lld/lld.mk new file +2
-0+HOST_LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release +LLD_CONF_OPTS += -DCMAKE_BUILD_TYPE=ReleaseFor target packages,
CMAKE_BUILD_TYPEis already passed by the cmake-package infrastructure.
Thanks for the tip.
Quoted 7 lines
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering
https://bootlin.com
After looking over this package again, I'm thinking it should be host only. Without a compiler on the target, a linker really doesn't have any utility.
Also, the LLVM project claims drop-in compatibility and much better performance with LLD compared to GNU ld/gold, so I'm curious how using LLD as the default linker would affect build times. I'll do some experiments.
Best,
Joseph
RFC PATCH v4 8/9 lld: new package
Hello,
Quoted 3 lines · Joseph Kogut
After looking over this package again, I'm thinking it should be host only. Without a compiler on the target, a linker really doesn't have any utility.
Indeed, I missed this obvious aspect when reviewing the package.
Quoted 4 lines
Also, the LLVM project claims drop-in compatibility and much better performance with LLD compared to GNU ld/gold, so I'm curious how using LLD as the default linker would affect build times. I'll do some experiments.
Having support for using llvm/clang/lld as a toolchain replacement was discussed, and it was on Valentin's radar. It would definitely be interesting to see some progress in this area, even though I believe it will be tricky as I'm sure a large number of packages will not build nicely with clang, the Linux kernel being an important package falling into this category.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
RFC PATCH v4 8/9 lld: new package
On Thu, Jun 21, 2018 at 5:45 AM Thomas Petazzoni
<[email protected]> wrote:
<snip>
Quoted 7 lines
Having support for using llvm/clang/lld as a toolchain replacement was discussed, and it was on Valentin's radar. It would definitely be interesting to see some progress in this area, even though I believe it will be tricky as I'm sure a large number of packages will not build nicely with clang, the Linux kernel being an important package falling into this category.
I'm sure integrating Clang will be tricky. Even worse, GCC and Clang are very competitive nowadays, so the utility is dubious. Furthermore, packages such as Chromium that don't build with GCC can depend on Clang and setup their build process accordingly, without replacing the entire toolchain.
Even without substituting Clang for GCC, using LLVM's linker is still interesting. The LLVM guys claim drop-in GNU compatibility and 10-20x faster linking just by substituting LLD for GNU ld. Additionally, LLD supports identical code folding, which can generate smaller binaries.
However, I finished testing a few builds today with LLD and a config that includes LLVM, Qemu, libgtk3, X.org, and several other large packages (total build time was ~45 minutes) and the difference between GNU ld and LLD was ~6 seconds. There was no difference in generated binary size. Maybe my build wasn't actually using LLD, I'll have to do some more testing.
RFC PATCH v4 9/9 chromium: new package
In reply to Joseph Kogut--- DEVELOPERS | 1 + package/Config.in | 1 + ...iler_cpu_abi-for-buildroot-toolchain.patch | 102 ++++++++++++++ .../0002-Fix-arm-build-with-glibc-2.27.patch | 28 ++++ package/chromium/Config.in | 46 +++++++ package/chromium/chromium.hash | 3 + package/chromium/chromium.mk | 127 ++++++++++++++++++ package/chromium/toolchain/BUILD.gn | 71 ++++++++++ 8 files changed, 379 insertions(+) create mode 100644 package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch create mode 100644 package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch create mode 100644 package/chromium/Config.in create mode 100644 package/chromium/chromium.hash create mode 100644 package/chromium/chromium.mk create mode 100644 package/chromium/toolchain/BUILD.gn
DEVELOPERS +1 -0
@@ -957,6 +957,7 @@ F: configs/qemu_ppc64le_pseries_defconfig N: Joseph Kogut <[email protected]> F: package/at-spi2-atk/ F: package/at-spi2-core/ +F: package/chromium/ F: package/gconf/ F: package/libnss/ F: package/lld/
package/Config.in +1 -0
@@ -14,6 +14,7 @@ menu "Audio and video applications" source "package/aumix/Config.in" source "package/bellagio/Config.in" source "package/bluez-alsa/Config.in" + source "package/chromium/Config.in" source "package/dvblast/Config.in" source "package/dvdauthor/Config.in" source "package/dvdrw-tools/Config.in"
package/chromium/0001-modify-compiler_cpu_abi-for-buildroot-toolchain.patch new file +102 -0
102 lines not on this page · raw message
package/chromium/0002-Fix-arm-build-with-glibc-2.27.patch new file +28 -0
@@ -0,0 +1,28 @@ +From aed4599c18586dfac46139a3c32011f804fdaef6 Mon Sep 17 00:00:00 2001 +From: Joseph Kogut <[email protected]> +Date: Wed, 13 Jun 2018 13:59:24 -0700 +Subject: [PATCH] Fix arm build with glibc 2.27 + +Upstream patch from: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1060155 + +Signed-off-by: Joseph Kogut <[email protected]> +--- + third_party/crashpad/crashpad/compat/linux/sys/ptrace.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h b/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h +index 73861576d..e5c95c7cc 100644 +--- a/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h ++++ b/third_party/crashpad/crashpad/compat/linux/sys/ptrace.h +@@ -34,7 +34,7 @@ static constexpr __ptrace_request PTRACE_GET_THREAD_AREA = + #endif // !PTRACE_GET_THREAD_AREA && !PT_GET_THREAD_AREA && defined(__GLIBC__) + + // https://sourceware.org/bugzilla/show_bug.cgi?id=22433 +-#if !defined(PTRACE_GETVFPREGS) && \ ++#if !defined(PTRACE_GETVFPREGS) && !defined(PT_GETVFPREGS) && \ + defined(__GLIBC__) && (defined(__arm__) || defined(__arm64__)) + static constexpr __ptrace_request PTRACE_GETVFPREGS = + static_cast<__ptrace_request>(27); +-- +2.17.1 +
package/chromium/Config.in new file +46 -0
46 lines not on this page · raw message
package/chromium/chromium.hash new file +3 -0
@@ -0,0 +1,3 @@ +# locally calculated +sha256 f8b1e5319163e378027826b12cf256b97423bb90e10e2013469d96e03bc9db8a chromium-67.0.3396.79.tar.xz +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 LICENSE
package/chromium/chromium.mk new file +127 -0
127 lines not on this page · raw message
package/chromium/toolchain/BUILD.gn new file +71 -0
71 lines not on this page · raw message
Signature · 1 line
2.17.1
RFC PATCH v4 9/9 chromium: new package
Joseph,
Quoted 1 line · Joseph Kogut
[snip]
Quoted 42 lines
package/chromium/Config.in new file +36
-0@@ -0,0 +1,46 @@ +config BR2_PACKAGE_CHROMIUM + bool "chromium" + depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_XORG7 + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_CUPS + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_HARFBUZZ + select BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH + select BR2_PACKAGE_HOST_CLANG + select BR2_PACKAGE_HOST_LLD + select BR2_PACKAGE_HOST_NINJA + select BR2_PACKAGE_HOST_NODEJS + select BR2_PACKAGE_HOST_PYTHON + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_LIBERATION # runtime + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11 + select BR2_PACKAGE_LIBKRB5 + select BR2_PACKAGE_LIBNSS + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_PCIUTILS + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE + select BR2_PACKAGE_XLIB_LIBXCURSOR + select BR2_PACKAGE_XLIB_LIBXI if !BR2_PACKAGE_LIBGTK3_X11 + select BR2_PACKAGE_XLIB_LIBXRANDR + select BR2_PACKAGE_XLIB_LIBXSCRNSAVER + select BR2_PACKAGE_XLIB_LIBXTST if !BR2_PACKAGE_LIBGTK3_X11 + +config BR2_PACKAGE_CHROMIUM_TARGET_ARCH + string + default "arm" if BR2_arm
package/chromium/Config.in line 46
Quoted 10 lines
package/chromium/Config.in new file +10
-0+ default "arm64" if BR2_aarch64 + default "x86" if BR2_i386 + default "x64" if BR2_x86_64 + default "mips" if BR2_mips + +comment "chromium needs toolchain w/ Glibc" + depends on !BR2_TOOLCHAIN_USES_GLIBC + +comment "chromium depends on X.org and needs an OpenGL backend" + depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL
I have not checked through all the threads to see if this already is reported.
Using master as of today and the v4 patchset adjusted for merges/bumps, I got the following failure. Is there a minimum GCC version that should be a dependency?
https://paste.ubuntu.com/p/dKsNXBms5x/
Matt
RFC PATCH v4 9/9 chromium: new package
Matt,
Quoted 62 lines · Matthew Weber
Joseph,
Quoted 1 line · Joseph Kogut
[snip]
Quoted 42 lines
package/chromium/Config.in new file +36
-0@@ -0,0 +1,46 @@ +config BR2_PACKAGE_CHROMIUM + bool "chromium" + depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_XORG7 + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_CUPS + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_HARFBUZZ + select BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH + select BR2_PACKAGE_HOST_CLANG + select BR2_PACKAGE_HOST_LLD + select BR2_PACKAGE_HOST_NINJA + select BR2_PACKAGE_HOST_NODEJS + select BR2_PACKAGE_HOST_PYTHON + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_LIBERATION # runtime + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11 + select BR2_PACKAGE_LIBKRB5 + select BR2_PACKAGE_LIBNSS + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_PCIUTILS + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE + select BR2_PACKAGE_XLIB_LIBXCURSOR + select BR2_PACKAGE_XLIB_LIBXI if !BR2_PACKAGE_LIBGTK3_X11 + select BR2_PACKAGE_XLIB_LIBXRANDR + select BR2_PACKAGE_XLIB_LIBXSCRNSAVER + select BR2_PACKAGE_XLIB_LIBXTST if !BR2_PACKAGE_LIBGTK3_X11 + +config BR2_PACKAGE_CHROMIUM_TARGET_ARCH + string + default "arm" if BR2_armpackage/chromium/Config.in line 46
Quoted 10 lines
package/chromium/Config.in new file +10
-0+ default "arm64" if BR2_aarch64 + default "x86" if BR2_i386 + default "x64" if BR2_x86_64 + default "mips" if BR2_mips + +comment "chromium needs toolchain w/ Glibc" + depends on !BR2_TOOLCHAIN_USES_GLIBC + +comment "chromium depends on X.org and needs an OpenGL backend" + depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGLI have not checked through all the threads to see if this already is reported.
Quoted 6 lines
Using master as of today and the v4 patchset adjusted for merges/bumps, I got the following failure. Is there a minimum GCC version that should be a dependency?
https://paste.ubuntu.com/p/dKsNXBms5x/Matt
Doing some cursory searching, it seems the c++14 standard is supported in GCC 4.9.0 and later. Before that, it was called c++1y.
More information here:
https://stackoverflow.com/questions/31965413/compile-c14-code-with-g
I'll go ahead and add that as a dependency for the next version.
Thanks for testing!
Joseph
RFC PATCH v4 9/9 chromium: new package
Joseph,
Quoted 73 lines · Joseph Kogut
Matt,
Quoted 62 lines · Matthew Weber
Joseph,
Quoted 1 line · Joseph Kogut
[snip]
Quoted 42 lines
package/chromium/Config.in new file +36
-0@@ -0,0 +1,46 @@ +config BR2_PACKAGE_CHROMIUM + bool "chromium" + depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_XORG7 + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_CUPS + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_HARFBUZZ + select BR2_PACKAGE_LLVM_ENABLE_HOST_ARCH + select BR2_PACKAGE_HOST_CLANG + select BR2_PACKAGE_HOST_LLD + select BR2_PACKAGE_HOST_NINJA + select BR2_PACKAGE_HOST_NODEJS + select BR2_PACKAGE_HOST_PYTHON + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_LIBERATION # runtime + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBGTK2 if !BR2_PACKAGE_LIBGTK3_X11 + select BR2_PACKAGE_LIBKRB5 + select BR2_PACKAGE_LIBNSS + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_PCIUTILS + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE + select BR2_PACKAGE_XLIB_LIBXCURSOR + select BR2_PACKAGE_XLIB_LIBXI if !BR2_PACKAGE_LIBGTK3_X11 + select BR2_PACKAGE_XLIB_LIBXRANDR + select BR2_PACKAGE_XLIB_LIBXSCRNSAVER + select BR2_PACKAGE_XLIB_LIBXTST if !BR2_PACKAGE_LIBGTK3_X11 + +config BR2_PACKAGE_CHROMIUM_TARGET_ARCH + string + default "arm" if BR2_armpackage/chromium/Config.in line 46
Quoted 10 lines
package/chromium/Config.in new file +10
-0+ default "arm64" if BR2_aarch64 + default "x86" if BR2_i386 + default "x64" if BR2_x86_64 + default "mips" if BR2_mips + +comment "chromium needs toolchain w/ Glibc" + depends on !BR2_TOOLCHAIN_USES_GLIBC + +comment "chromium depends on X.org and needs an OpenGL backend" + depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGLI have not checked through all the threads to see if this already is reported.
Quoted 6 lines
Using master as of today and the v4 patchset adjusted for merges/bumps, I got the following failure. Is there a minimum GCC version that should be a dependency?
https://paste.ubuntu.com/p/dKsNXBms5x/Matt
Quoted 8 lines
Doing some cursory searching, it seems the c++14 standard is supported in GCC 4.9.0 and later. Before that, it was called c++1y.
More information here:
https://stackoverflow.com/questions/31965413/compile-c14-code-with-gI'll go ahead and add that as a dependency for the next version.
Ah, ic my RHEL7.4 is GCC4.8.5 and this must have been a host tool being built.
Matt