Files
fml13v01-buildroot/package/qt5/qt5webkit/0011-fix-the-compile-gobject-issue.patch
T
2023-11-28 15:43:17 +08:00

123 lines
4.4 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
From 9770a62d43bce6381fe9d047146eb271be3c5ce1 Mon Sep 17 00:00:00 2001
From: Andy Hu <andy.hu@starfivetech.com>
Date: Wed, 12 Jul 2023 12:31:50 +0800
Subject: [PATCH 2/2] fix the compile gobject issue
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
/space/code/visionfive_qtwebkit/work/buildroot_initramfs/host/riscv64-buildroot-linux-gnu/sysroot/usr/include/glib-2.0/glib/gmacros.h:247:24: error: expected unqualified-id before typename
247 | #define glib_typeof(t) typename std::remove_reference<decltype (t)>::type
| ^~~~~~~~
/space/code/visionfive_qtwebkit/work/buildroot_initramfs/host/riscv64-buildroot-linux-gnu/sysroot/usr/include/glib-2.0/gobject/gobject.h:524:34: note: in expansion of macro glib_typeof
524 | #define g_object_ref_sink(Obj) ((glib_typeof (Obj)) (g_object_ref_sink) (Obj))
| ^~~~~~~~~~~
../WTF/wtf/gobject/GRefPtr.h:32:21: note: in expansion of macro g_object_ref_sink
32 | extern C gpointer g_object_ref_sink(gpointer);
---
Source/WTF/wtf/dtoa/strtod.cc | 13 ++++++++++---
Source/WTF/wtf/gobject/GRefPtr.h | 6 ++++--
include/QtWebKit/QtWebKit | 1 +
3 files changed, 15 insertions(+), 5 deletions(-)
mode change 100644 => 100755 Source/WTF/wtf/dtoa/strtod.cc
diff --git a/Source/WTF/wtf/dtoa/strtod.cc b/Source/WTF/wtf/dtoa/strtod.cc
old mode 100644
new mode 100755
index 5f63b22a..5270c3e5
--- a/Source/WTF/wtf/dtoa/strtod.cc
+++ b/Source/WTF/wtf/dtoa/strtod.cc
@@ -38,11 +38,13 @@
namespace WTF {
namespace double_conversion {
-
+
+#if defined(DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS)
// 2^53 = 9007199254740992.
// Any integer with at most 15 decimal digits will hence fit into a double
// (which has a 53bit significand) without loss of precision.
static const int kMaxExactDoubleIntegerDecimalDigits = 15;
+#endif
// 2^64 = 18446744073709551616 > 10^19
static const int kMaxUint64DecimalDigits = 19;
@@ -58,7 +60,7 @@ namespace double_conversion {
// 2^64 = 18446744073709551616
static const uint64_t kMaxUint64 = UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF);
-
+#if defined(DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS)
static const double exact_powers_of_ten[] = {
1.0, // 10^0
10.0,
@@ -86,6 +88,7 @@ namespace double_conversion {
10000000000000000000000.0
};
static const int kExactPowersOfTenSize = ARRAY_SIZE(exact_powers_of_ten);
+#endif
// Maximum number of significant digits in the decimal representation.
// In fact the value is 772 (see conversions.cc), but to give us some margin
@@ -177,6 +180,9 @@ namespace double_conversion {
int exponent,
double* result) {
#if !defined(DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS)
+ UNUSED_PARAM(trimmed);
+ UNUSED_PARAM(exponent);
+ UNUSED_PARAM(result);
// On x86 the floating-point stack can be 64 or 80 bits wide. If it is
// 80 bits wide (as is the case on Linux) then double-rounding occurs and the
// result is not accurate.
@@ -184,7 +190,7 @@ namespace double_conversion {
// Note that the ARM simulator is compiled for 32bits. It therefore exhibits
// the same problem.
return false;
-#endif
+#else
if (trimmed.length() <= kMaxExactDoubleIntegerDecimalDigits) {
int read_digits;
// The trimmed input fits into a double.
@@ -222,6 +228,7 @@ namespace double_conversion {
}
}
return false;
+#endif
}
diff --git a/Source/WTF/wtf/gobject/GRefPtr.h b/Source/WTF/wtf/gobject/GRefPtr.h
index 6c50f4da..2715df86 100644
--- a/Source/WTF/wtf/gobject/GRefPtr.h
+++ b/Source/WTF/wtf/gobject/GRefPtr.h
@@ -25,11 +25,13 @@
#if USE(GLIB)
+#include <glib-object.h>
+
#include <wtf/RefPtr.h>
#include <algorithm>
-extern "C" void g_object_unref(gpointer);
-extern "C" gpointer g_object_ref_sink(gpointer);
+//extern "C" void g_object_unref(gpointer);
+//extern "C" gpointer g_object_ref_sink(gpointer);
namespace WTF {
diff --git a/include/QtWebKit/QtWebKit b/include/QtWebKit/QtWebKit
index 9bc17d32..8b162a5f 100644
--- a/include/QtWebKit/QtWebKit
+++ b/include/QtWebKit/QtWebKit
@@ -10,5 +10,6 @@
#include "qwebpluginfactory.h"
#include "qwebsecurityorigin.h"
#include "qwebsettings.h"
+#include "util.h"
#include "qtwebkitversion.h"
#endif
--
2.41.0