Skip to content

Commit 2e7fd31

Browse files
authored
[ms-quic] Remove from ci.baseline.txt and fix UWP builds. (#39498)
Also fix uwp builds so that all ci.baseline.txt entries can be removed, submitted upstream as microsoft/msquic#4373 Also fix x86-windows builds which incorrectly compared SYSTEM_PROCESSOR with 'win32' rather than 'x86'. Submitted upstream as microsoft/msquic#4374 . This patch originally authored by @LillyWangLL Originally started from #39475 Co-authored by: Lily Wang <v-lilywang@microsoft.com>
1 parent 1cdb5e0 commit 2e7fd31

File tree

7 files changed

+76
-28
lines changed

7 files changed

+76
-28
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
diff --git a/submodules/CMakeLists.txt b/submodules/CMakeLists.txt
2+
index a6c592951..0a0ddf0f8 100644
3+
--- a/submodules/CMakeLists.txt
4+
+++ b/submodules/CMakeLists.txt
5+
@@ -62,7 +62,7 @@ if (WIN32)
6+
set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM")
7+
elseif (${SYSTEM_PROCESSOR} STREQUAL "arm")
8+
set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ARM")
9+
- elseif (${SYSTEM_PROCESSOR} STREQUAL "win32")
10+
+ elseif (${SYSTEM_PROCESSOR} STREQUAL "x86")
11+
set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ONECORE")
12+
elseif (${SYSTEM_PROCESSOR} STREQUAL "x64" OR ${SYSTEM_PROCESSOR} STREQUAL "amd64")
13+
set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A-ONECORE")
14+
@@ -75,7 +75,7 @@ if (WIN32)
15+
set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM")
16+
elseif (${SYSTEM_PROCESSOR} STREQUAL "arm")
17+
set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ARM")
18+
- elseif (${SYSTEM_PROCESSOR} STREQUAL "win32")
19+
+ elseif (${SYSTEM_PROCESSOR} STREQUAL "x86")
20+
set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32")
21+
elseif (${SYSTEM_PROCESSOR} STREQUAL "x64" OR ${SYSTEM_PROCESSOR} STREQUAL "amd64")
22+
set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A")

ports/ms-quic/fix-uwp-crt.patch

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
diff --git a/CMakeLists.txt b/CMakeLists.txt
2+
index 3f8f4d58f..df689627c 100644
3+
--- a/CMakeLists.txt
4+
+++ b/CMakeLists.txt
5+
@@ -598,9 +598,9 @@ if(WIN32)
6+
endif()
7+
8+
if (NOT QUIC_STATIC_LINK_CRT AND NOT QUIC_STATIC_LINK_PARTIAL_CRT)
9+
- # We are using dynamic linking. Ensure that only the release version of CRT is used.
10+
- message(STATUS "Configuring for release version of dynamically linked CRT")
11+
- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDLL")
12+
+ # We are using dynamic linking. Ensure that only the dynamic CRT is used.
13+
+ message(STATUS "Configuring for dynamically linked CRT")
14+
+ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
15+
endif()
16+
17+
else() #!WIN32

ports/ms-quic/portfile.cmake

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,42 +7,51 @@ vcpkg_from_github(
77
SHA512 5937fbc2f287567d590fc0afc947459359e5413fa25f2f193434ad6d7016f7cb0dede4e2ef5e1e4e8b21b556c5ad8ce4cb612514403bb593a49af0fb42d1cb15
88
HEAD_REF master
99
PATCHES
10-
fix-install.patch # Adjust install path of build outputs
10+
fix-install.patch # Adjust install path of build outputs
11+
fix-uwp-crt.patch # https://github.com/microsoft/msquic/pull/4373
12+
fix-comparing-system-processor-with-win32.patch # https://github.com/microsoft/msquic/pull/4374
1113
)
1214

15+
# This avoids a link error on x86-windows:
16+
# LINK : fatal error LNK1268: inconsistent option 'NODEFAULTLIB:libucrt.lib' specified with /USEPROFILE but not with /GENPROFILE
17+
file(REMOVE "${QUIC_SOURCE_PATH}/src/bin/winuser/pgo_x86/msquic.pgd")
18+
1319
vcpkg_from_github(
1420
OUT_SOURCE_PATH OPENSSL_SOURCE_PATH
1521
REPO quictls/openssl
1622
REF 612d8e44d687e4b71c4724319d7aa27a733bcbca
1723
SHA512 ff487d882c2b70ed8915a88ecf0a64724435a96187a7bb3bf401f4a2c4dc572a93f7e788040ccbd29da8bc6ac49ee11550c9d56153262c05fae173ac1d242baa
1824
HEAD_REF openssl-3.1.5+quic
1925
)
20-
file(REMOVE_RECURSE ${QUIC_SOURCE_PATH}/submodules/openssl)
21-
file(RENAME ${OPENSSL_SOURCE_PATH} ${QUIC_SOURCE_PATH}/submodules/openssl)
26+
27+
file(REMOVE_RECURSE "${QUIC_SOURCE_PATH}/submodules/openssl")
28+
file(RENAME "${OPENSSL_SOURCE_PATH}" "${QUIC_SOURCE_PATH}/submodules/openssl")
29+
2230
vcpkg_from_github(
2331
OUT_SOURCE_PATH XDP_WINDOWS
2432
REPO microsoft/xdp-for-windows
2533
REF ce228a986fd30049ed58f569d2bf20efffc250f3
2634
SHA512 4a26c5defe422ef42308d72cf8d1cab1c172ce5a10d8d830c446cb7dd93f0c41f35f3cbbfeceb687d5135272006dd1b1bc4c2089ace4866cede81d5c76206af7
27-
HEAD_REF mian
35+
HEAD_REF main
2836
)
29-
file(REMOVE_RECURSE ${QUIC_SOURCE_PATH}/submodules/xdp-for-windows)
30-
file(RENAME ${XDP_WINDOWS} ${QUIC_SOURCE_PATH}/submodules/xdp-for-windows)
37+
38+
file(REMOVE_RECURSE "${QUIC_SOURCE_PATH}/submodules/xdp-for-windows")
39+
file(RENAME "${XDP_WINDOWS}" "${QUIC_SOURCE_PATH}/submodules/xdp-for-windows")
3140

3241
vcpkg_find_acquire_program(PERL)
33-
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
34-
vcpkg_add_to_path(${PERL_EXE_PATH})
42+
get_filename_component(PERL_EXE_PATH "${PERL}" DIRECTORY)
43+
vcpkg_add_to_path("${PERL_EXE_PATH}")
3544

3645
if(NOT VCPKG_HOST_IS_WINDOWS)
3746
find_program(MAKE make)
38-
get_filename_component(MAKE_EXE_PATH ${MAKE} DIRECTORY)
39-
vcpkg_add_to_path(PREPEND ${MAKE_EXE_PATH})
47+
get_filename_component(MAKE_EXE_PATH "${MAKE}" DIRECTORY)
48+
vcpkg_add_to_path(PREPEND "${MAKE_EXE_PATH}")
4049
endif()
4150

4251
if(VCPKG_TARGET_IS_WINDOWS)
4352
vcpkg_find_acquire_program(NASM)
44-
get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
45-
vcpkg_add_to_path(PREPEND ${NASM_EXE_PATH})
53+
get_filename_component(NASM_EXE_PATH "${NASM}" DIRECTORY)
54+
vcpkg_add_to_path(PREPEND "${NASM_EXE_PATH}")
4655
endif()
4756

4857
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
@@ -53,30 +62,29 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
5362
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT)
5463

5564
vcpkg_cmake_configure(
56-
SOURCE_PATH ${QUIC_SOURCE_PATH}
65+
SOURCE_PATH "${QUIC_SOURCE_PATH}"
5766
OPTIONS
5867
${FEATURE_OPTIONS}
5968
-DQUIC_SOURCE_LINK=OFF
6069
-DQUIC_TLS=openssl
61-
-DQUIC_TLS_SECRETS_SUPPORT=ON
6270
-DQUIC_USE_SYSTEM_LIBCRYPTO=OFF
6371
-DQUIC_BUILD_PERF=OFF
6472
-DQUIC_BUILD_TEST=OFF
65-
-DQUIC_STATIC_LINK_CRT=${STATIC_CRT}
66-
-DQUIC_UWP_BUILD=${VCPKG_TARGET_IS_UWP}
73+
"-DQUIC_STATIC_LINK_CRT=${STATIC_CRT}"
74+
"-DQUIC_UWP_BUILD=${VCPKG_TARGET_IS_UWP}"
6775
)
6876

6977
vcpkg_cmake_install()
7078
vcpkg_copy_pdbs()
7179

72-
if("tools" IN_LIST FEATURES)
80+
if("tools" IN_LIST "FEATURES")
7381
vcpkg_copy_tools(TOOL_NAMES quicattack quicinterop quicinteropserver quicipclient quicipserver
7482
quicpcp quicpost quicsample spinquic
7583
AUTO_CLEAN
7684
)
7785
endif()
7886

7987
vcpkg_install_copyright(FILE_LIST "${QUIC_SOURCE_PATH}/LICENSE")
80-
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share
81-
${CURRENT_PACKAGES_DIR}/debug/include
88+
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share"
89+
"${CURRENT_PACKAGES_DIR}/debug/include"
8290
)

ports/ms-quic/vcpkg.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "ms-quic",
33
"version": "2.3.5",
4+
"port-version": 1,
45
"description": "Cross-platform, C implementation of the IETF QUIC protocol",
56
"homepage": "https://github.com/microsoft/msquic",
67
"license": "MIT",
@@ -17,7 +18,8 @@
1718
],
1819
"features": {
1920
"tools": {
20-
"description": "Install the tools after build"
21+
"description": "Install the tools after build",
22+
"supports": "!uwp"
2123
}
2224
}
2325
}

scripts/ci.baseline.txt

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -758,19 +758,13 @@ mozjpeg:arm-neon-android=fail
758758
mozjpeg:arm64-android=fail
759759
mozjpeg:x64-android=fail
760760
mpir:x64-android=fail
761-
# ms-gltf and ms-quic require the Microsoft GDK with Xbox Extensions which is not installed on the CI pipeline machines
761+
# ms-gltf require the Microsoft GDK with Xbox Extensions which is not installed on the CI pipeline machines
762762
ms-gdkx:x64-windows=fail
763763
ms-gdkx:x64-windows-static=fail
764764
ms-gdkx:x64-windows-static-md=fail
765765
ms-gltf:arm-neon-android=fail
766766
ms-gltf:arm64-android=fail
767767
ms-gltf:x64-android=fail
768-
ms-quic:arm64-uwp=fail
769-
ms-quic:arm64-windows=fail
770-
ms-quic:x64-uwp=fail
771-
ms-quic:x64-windows-static-md=fail
772-
ms-quic:x64-windows=fail
773-
ms-quic:x86-windows=fail
774768
monkeys-audio:arm64-windows=fail
775769
monkeys-audio:x64-windows-static=fail
776770
moos-core:x64-windows-static=fail

versions/baseline.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5958,7 +5958,7 @@
59585958
},
59595959
"ms-quic": {
59605960
"baseline": "2.3.5",
5961-
"port-version": 0
5961+
"port-version": 1
59625962
},
59635963
"msdfgen": {
59645964
"baseline": "1.12",

versions/m-/ms-quic.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"versions": [
3+
{
4+
"git-tree": "a43543429fb53d28aabfdccfefe70a93744d8971",
5+
"version": "2.3.5",
6+
"port-version": 1
7+
},
38
{
49
"git-tree": "5b057833638702cb3bbdb72a8cb131cce473c46e",
510
"version": "2.3.5",

0 commit comments

Comments
 (0)