qt5-webengine: fix armv[67]* build

Still requires host == target word size, i.e. i686 build environment for arm*.
This commit is contained in:
Jürgen Buchmüller 2020-10-06 21:20:27 +02:00
parent dbe95972e1
commit 26723c4236
5 changed files with 69 additions and 7 deletions

View file

@ -0,0 +1,16 @@
--- a/src/3rdparty/chromium/third_party/angle/include/platform/Platform.h 2020-05-06 16:21:29.000000000 +0200
+++ b/src/3rdparty/chromium/third_party/angle/include/platform/Platform.h 2020-09-04 00:31:10.504555635 +0200
@@ -236,11 +236,11 @@
using ProgramKeyType = std::array<uint8_t, 20>;
using CacheProgramFunc = void (*)(PlatformMethods *platform,
const ProgramKeyType &key,
- size_t programSize,
+ std::size_t programSize,
const uint8_t *programBytes);
inline void DefaultCacheProgram(PlatformMethods *platform,
const ProgramKeyType &key,
- size_t programSize,
+ std::size_t programSize,
const uint8_t *programBytes)
{}

View file

@ -0,0 +1,10 @@
--- a/src/3rdparty/chromium/skia/BUILD.gn 2020-09-01 13:02:34.000000000 +0200
+++ b/src/3rdparty/chromium/skia/BUILD.gn 2020-10-06 20:51:48.834970455 +0200
@@ -772,7 +772,6 @@
# Root build config sets -mfpu=$arm_fpu, which we expect to be neon
# when running this.
if (!arm_use_neon) {
- configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
cflags += [ "-mfpu=neon" ]
}
}

View file

@ -0,0 +1,20 @@
--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h
+++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h
@@ -17,6 +17,17 @@
#include <stdint.h>
#include <sys/user.h>
+#if !defined(__GLIBC__)
+struct user_vfp {
+ unsigned long long fpregs[32];
+ unsigned long fpscr;
+};
+struct user_vfp_exc {
+ unsigned long fpexc;
+ unsigned long fpinst;
+ unsigned long fpinst2;
+};
+#endif /* !defined(__GLIBC__) */
#include <type_traits>

View file

@ -0,0 +1,18 @@
--- a/src/3rdparty/chromium/v8/src/base/cpu.cc 2020-09-01 13:02:34.000000000 +0200
+++ b/src/3rdparty/chromium/v8/src/base/cpu.cc 2020-10-06 21:28:45.124882085 +0200
@@ -109,6 +109,15 @@
#define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT)
#define HWCAP_LPAE (1 << 20)
+#ifndef __GLIBC__
+#include <elf.h>
+#ifdef __LP64__
+typedef Elf64_auxv_t elf_auxv_t;
+#else
+typedef Elf32_auxv_t elf_auxv_t;
+#endif
+#endif
+
static uint32_t ReadELFHWCaps() {
#if V8_GLIBC_PREREQ(2, 16)
return static_cast<uint32_t>(getauxval(AT_HWCAP));

View file

@ -67,19 +67,17 @@ esac
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
makedepends+=" libatomic-devel"
LDFLAGS+=" -latomic"
fi
case "$XBPS_TARGET_MACHINE" in
ppc64*) makedepends+=" libatomic-devel"
esac
case "$XBPS_TARGET_MACHINE" in
armv7l*) broken="ERROR at //skia/BUILD.gn:707:11: Undefined identifier.";;
# configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
armv6l*) broken="ERROR at //build/toolchain/gcc_toolchain.gni:102:3: Duplicate definition.";;
LDFLAGS+=" -latomic"
;;
esac
_bootstrap_gn() {
local opts
# Bootstrap gn (generate ninja)
echo "Bootstrapping 'gn'"
cd ${wrksrc}/src/3rdparty/gn
@ -87,7 +85,7 @@ _bootstrap_gn() {
PKGCONFIG=/usr/bin/pkgconfig PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig" \
python2 build/gen.py --no-last-commit-position --out-path \
${wrksrc}/src/3rdparty/gn/out/Release --cc "$CC_host" \
--cxx "$CXX_host" --ld "$CXX_host" --ar "$AR_host"
--cxx "$CXX_host" --ld "$CXX_host" --ar "$AR_host" $opts
ninja -C out/Release gn
cd ${wrksrc}
}