[openssl] Fix x86 builds [vcpkg baseline][qtwebengine] Change include dir order (#47710)

This commit is contained in:
Kai Pastor 2025-10-15 00:25:47 +02:00 committed by GitHub
parent dfe6ce6605
commit df2a2af2ea
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 80 additions and 17 deletions

View File

@ -0,0 +1,20 @@
diff --git a/providers/implementations/ciphers/cipher_aes_cfb_hw_aesni.inc b/providers/implementations/ciphers/cipher_aes_cfb_hw_aesni.inc
index d5577d0..eb8e016 100644
--- a/providers/implementations/ciphers/cipher_aes_cfb_hw_aesni.inc
+++ b/providers/implementations/ciphers/cipher_aes_cfb_hw_aesni.inc
@@ -30,6 +30,7 @@
static int ossl_aes_cfb8_vaes_eligible(void) { return 0; }
static int ossl_aes_cfb1_vaes_eligible(void) { return 0; }
+#if (defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64))
/* active in 64-bit builds when AES-NI, AVX512F, and VAES are detected */
static int aes_cfb128_vaes_encdec_wrapper(
PROV_CIPHER_CTX* dat,
@@ -56,6 +57,7 @@ static int aes_cfb128_vaes_encdec_wrapper(
return 1;
}
+#endif
/* generates AES round keys for AES-NI and VAES implementations */
static int cipher_hw_aesni_initkey(PROV_CIPHER_CTX *dat,

View File

@ -16,6 +16,7 @@ vcpkg_from_github(
cmake-config.patch
command-line-length.patch
script-prefix.patch
aes_cfb128_vaes_encdec_wrapper.diff # https://github.com/openssl/openssl/issues/28745
windows/install-layout.patch
windows/install-pdbs.patch
windows/install-programs.diff # https://github.com/openssl/openssl/issues/28744

View File

@ -1,6 +1,7 @@
{
"name": "openssl",
"version": "3.6.0",
"port-version": 1,
"description": "OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.",
"homepage": "https://www.openssl.org",
"license": "Apache-2.0",

View File

@ -1,14 +1,45 @@
diff --git a/src/core/api/CMakeLists.txt b/src/core/api/CMakeLists.txt
index e2456a4..a9f8ec0 100644
--- a/src/core/api/CMakeLists.txt
+++ b/src/core/api/CMakeLists.txt
@@ -54,6 +54,9 @@ qt_internal_add_module(WebEngineCore
../../3rdparty/chromium/third_party/perfetto/include
../../3rdparty/chromium/third_party/boringssl/src/include
../../3rdparty/chromium/base/allocator/partition_allocator/src
+ # vendored protobuf must be listed here in order to appear
+ # before the vcpkg include dir coming with Qt targets.
+ ../../3rdparty/chromium/third_party/protobuf/src
LIBRARIES
Qt::CorePrivate
Qt::GuiPrivate
diff --git a/src/core/configure/BUILD.root.gn.in b/src/core/configure/BUILD.root.gn.in
index 214ef6e715..8b76e08309 100644
--- a/src/core/configure/BUILD.root.gn.in
+++ b/src/core/configure/BUILD.root.gn.in
@@ -74,11 +74,22 @@ config("QtWebEngineCore_config") {
defines = [
@GN_DEFINES@,
]
+ # Don't let <vcpkg-installed>/include appear in QtWebEngineCore_config:
+ # vendored dependencies (protobuf, dawn, skia, ...) have inter-dependencies
+ # which must not accidentally pick headers from installed ports.
+ # Instead, attach these includes to a source_set used as another dependency.
+}
+config("QtWebEngineCore_include_dirs_config") {
include_dirs = [
@GN_INCLUDE_DIRS@,
rebase_path("${target_gen_dir}/.moc/")
]
}
+source_set("QtWebEngineCore_include_dirs") {
+ public_configs = [
+ ":QtWebEngineCore_include_dirs_config"
+ ]
+}
declare_args() {
use_embedded_config = false
@@ -214,6 +225,8 @@ shared_library("QtWebEngineCore") {
"//tools/v8_context_snapshot:v8_context_snapshot"
]
}
+ # Complements QtWebEngineCore_config modifcation
+ deps += [ ":QtWebEngineCore_include_dirs" ]
}
source_set("qtwebengine_spellcheck_sources") {
@@ -571,6 +584,8 @@ if (is_win) {
"@GN_SOURCE_ROOT@/sandbox_win.cpp"
]
public_deps = [ "//sandbox/win:sandbox" ]
+ # Complements QtWebEngineCore_config modifcation
+ deps = [ ":QtWebEngineCore_include_dirs" ]
}
}

View File

@ -2,7 +2,7 @@
"$comment": "x86-windows is not within the upstream support matrix of Qt6",
"name": "qtwebengine",
"version": "6.9.1",
"port-version": 2,
"port-version": 3,
"description": "Qt modules for rendering web and PDF content.",
"homepage": "https://www.qt.io/",
"license": null,

View File

@ -7206,7 +7206,7 @@
},
"openssl": {
"baseline": "3.6.0",
"port-version": 0
"port-version": 1
},
"opensubdiv": {
"baseline": "3.5.0",
@ -8238,7 +8238,7 @@
},
"qtwebengine": {
"baseline": "6.9.1",
"port-version": 2
"port-version": 3
},
"qtwebsockets": {
"baseline": "6.9.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "17c8172a8f9aeef87a6aaa7ef07cd06289e88e57",
"version": "3.6.0",
"port-version": 1
},
{
"git-tree": "8d9898336b57c74a04ae8378e330ffd4dd88837c",
"version": "3.6.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "69734b6439d55e2eedff1640af7b0047aa25a07c",
"version": "6.9.1",
"port-version": 3
},
{
"git-tree": "0cf8cb5f057bcd20d831317cee64096954eba501",
"version": "6.9.1",