From 06220d584746c577782a45b2f2c911b50f8eeb63 Mon Sep 17 00:00:00 2001 From: luncliff Date: Sat, 15 May 2021 17:43:26 +0900 Subject: [PATCH 01/15] [quictls] create a new port --- ports/quictls/detect_platform.cmake | 92 +++++++++++++ ports/quictls/fix-http.patch | 12 ++ ports/quictls/portfile.cmake | 193 ++++++++++++++++++++++++++++ ports/quictls/vcpkg.json | 8 ++ 4 files changed, 305 insertions(+) create mode 100644 ports/quictls/detect_platform.cmake create mode 100644 ports/quictls/fix-http.patch create mode 100644 ports/quictls/portfile.cmake create mode 100644 ports/quictls/vcpkg.json diff --git a/ports/quictls/detect_platform.cmake b/ports/quictls/detect_platform.cmake new file mode 100644 index 00000000000000..d5b7b48c8c5356 --- /dev/null +++ b/ports/quictls/detect_platform.cmake @@ -0,0 +1,92 @@ +# +# References +# - ${VCPKG_ROOT}/scripts/cmake/vcpkg_common_definitions.cmake +# - ${SOURCE_PATH}/Configuration/README-design.md +# - ${SOURCE_PATH}/Configuration/10-main.conf +# +if(VCPKG_TARGET_IS_ANDROID) + # ${SOURCE_PATH}/Configuration/15-android.conf + if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") + set(PLATFORM "android-arm64") + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + set(PLATFORM "android-arm") + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64") + set(PLATFORM "android-x86_64") + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86") + set(PLATFORM "android-x86") + endif() + +elseif(VCPKG_TARGET_IS_LINUX) + if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + set(PLATFORM "linux-armv4") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(PLATFORM "linux-x86_64") + else() + set(PLATFORM "linux-generic32") + endif() + +elseif(VCPKG_TARGET_IS_IOS) + # ${SOURCE_PATH}/Configuration/15-ios.conf + if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") + set(PLATFORM "ios64-xcrun") + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + set(PLATFORM "ios-xcrun") + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" OR + VCPKG_TARGET_ARCHITECTURE MATCHES "x64") + set(PLATFORM "iossimulator-xcrun") + else() + message(FATAL_ERROR "Unknown iOS target architecture: ${VCPKG_TARGET_ARCHITECTURE}") + endif() + +elseif(VCPKG_TARGET_IS_OSX) + if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") + set(PLATFORM "darwin64-arm64-cc") + else() + set(PLATFORM "darwin64-x86_64-cc") + endif() + +elseif(VCPKG_TARGET_IS_FREEBSD OR VCPKG_TARGET_IS_OPENBSD) + set(PLATFORM "BSD-generic64") + +elseif(VCPKG_TARGET_IS_MINGW) + if(VCPKG_TARGET_ARCHITECTURE MATCHES "64") + set(PLATFORM "mingw64") + else() + set(PLATFORM "mingw") + endif() + +elseif(VCPKG_TARGET_IS_UWP) + # ${SOURCE_PATH}/Configuration/50-win-onecore.conf + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(PLATFORM VC-WIN32-UWP) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(PLATFORM VC-WIN64A-UWP) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(PLATFORM VC-WIN32-ARM-UWP) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(PLATFORM VC-WIN64-ARM-UWP) + else() + message(FATAL_ERROR "Unknown UWP target architecture: ${VCPKG_TARGET_ARCHITECTURE}") + endif() + +elseif(VCPKG_TARGET_IS_WINDOWS) + # ${SOURCE_PATH}/Configuration/50-win-onecore.conf + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(PLATFORM "VC-WIN32") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(PLATFORM "VC-WIN64A") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(PLATFORM "VC-WIN32-ARM") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(PLATFORM "VC-WIN64-ARM") + else() + message(FATAL_ERROR "Unknown Windows target architecture: ${VCPKG_TARGET_ARCHITECTURE}") + endif() + +else() + message(FATAL_ERROR "Unknown platform") +endif() + +if(NOT DEFINED PLATFORM) + message(FATAL_ERROR "Failed to detect target platform/architecture") +endif() diff --git a/ports/quictls/fix-http.patch b/ports/quictls/fix-http.patch new file mode 100644 index 00000000000000..e4c2e2c3aae64c --- /dev/null +++ b/ports/quictls/fix-http.patch @@ -0,0 +1,12 @@ +diff --git a/crypto/http/http_lib.c b/crypto/http/http_lib.c +index f0fc770..a73ecf6 100644 +--- a/crypto/http/http_lib.c ++++ b/crypto/http/http_lib.c +@@ -12,6 +12,7 @@ + #include /* for BIO_snprintf() */ + #include + #include ++#include + #include "internal/cryptlib.h" /* for ossl_assert() */ + + #include "http_local.h" diff --git a/ports/quictls/portfile.cmake b/ports/quictls/portfile.cmake new file mode 100644 index 00000000000000..0eee46d2d79d20 --- /dev/null +++ b/ports/quictls/portfile.cmake @@ -0,0 +1,193 @@ +if(EXISTS ${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h) + message(FATAL_ERROR "Can't build '${PORT}' if another SSL library is installed. Please remove existing one and try install '${PORT}' again if you need it.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO quictls/openssl + REF 77248f1c1c8ea8dc57d624050b78eab0b3a10a04 # 2021-05-03 + SHA512 881639f0bfd83858ce5d28aaf013dc34105cbc9c2fcc040c873c41ca45a0ea3dcb9dfd8e81821b21e92d4b9577f86d11ac010bb1f3746713892969c62d46fda6 + HEAD_REF openssl-3.0.0-alpha15+quic + PATCHES + fix-http.patch +) + +# Option: shared/static +set(OPENSSL_SHARED no-shared) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(OPENSSL_SHARED shared) +endif() + +# Option: feature / algorithms +list(APPEND CONFIGURE_OPTIONS + # from existing 'openssl' port + enable-static-engine enable-capieng + # from 'microsoft/msquic' + enable-tls1_3 no-makedepend no-dgram no-ssl3 no-psk no-srp + no-zlib no-egd no-idea no-rc5 no-rc4 no-afalgeng + no-comp no-cms no-ct no-srp no-srtp no-ts no-gost no-dso no-ec2m + no-tls1 no-tls1_1 no-tls1_2 no-dtls no-dtls1 no-dtls1_2 no-ssl + no-ssl3-method no-tls1-method no-tls1_1-method no-tls1_2-method no-dtls1-method no-dtls1_2-method + no-siphash no-whirlpool no-aria no-bf no-blake2 no-sm2 no-sm3 no-sm4 no-camellia no-cast no-md4 no-mdc2 no-ocb no-rc2 no-rmd160 no-scrypt + no-weak-ssl-ciphers no-tests +) +if(VCPKG_TARGET_IS_WINDOWS) + # jom will build in parallel mode, so we need /FS + list(APPEND CONFIGURE_OPTIONS -utf-8 -FS) + +elseif(VCPKG_TARGET_IS_IOS) + # see https://github.com/microsoft/vcpkg PR 12527 + # disable that makes linkage error (e.g. require stderr usage) + list(APPEND CONFIGURE_OPTIONS no-stdio no-ui no-asm) + +endif() + +# Option: platform/architecture +include(${CMAKE_CURRENT_LIST_DIR}/detect_platform.cmake) +message(STATUS "Targeting: ${PLATFORM}") + +# Clean & copy source files for working directories +file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel +) +get_filename_component(SOURCE_DIR_NAME ${SOURCE_PATH} NAME) +file(COPY ${SOURCE_PATH} + DESTINATION ${CURRENT_BUILDTREES_DIR}) +file(RENAME ${CURRENT_BUILDTREES_DIR}/${SOURCE_DIR_NAME} + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) +file(COPY ${SOURCE_PATH} + DESTINATION ${CURRENT_BUILDTREES_DIR}) +file(RENAME ${CURRENT_BUILDTREES_DIR}/${SOURCE_DIR_NAME} + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + +# see ${SOURCE_PATH}/NOTES-PERL.md +vcpkg_find_acquire_program(PERL) +get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) +vcpkg_add_to_path(${PERL_EXE_PATH}) + +if(NOT VCPKG_HOST_IS_WINDOWS) + # see ${SOURCE_PATH}/NOTES-UNIX.md + find_program(MAKE make) + get_filename_component(MAKE_EXE_PATH ${MAKE} DIRECTORY) +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + # see ${SOURCE_PATH}/NOTES-WINDOWS.md + vcpkg_find_acquire_program(NASM) + get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) + vcpkg_add_to_path(PREPEND ${NASM_EXE_PATH}) + # note: jom is not for `vcpkg_add_to_path` + vcpkg_find_acquire_program(JOM) + +elseif(VCPKG_TARGET_IS_ANDROID) + # see ${SOURCE_PATH}/NOTES-ANDROID.md + if(NOT DEFINED ENV{ANDROID_NDK_ROOT} AND DEFINED ENV{ANDROID_NDK_HOME}) + message(STATUS "ENV{ANDROID_NDK_ROOT} will be set to $ENV{ANDROID_NDK_HOME}") + set(ENV{ANDROID_NDK_ROOT} $ENV{ANDROID_NDK_HOME}) + endif() + if(NOT DEFINED ENV{ANDROID_NDK_ROOT}) + message(FATAL_ERROR "ENV{ANDROID_NDK_ROOT} is required by ${SOURCE_PATH}/Configurations/15-android.conf") + endif() + if(VCPKG_HOST_IS_LINUX) + set(NDK_HOST_TAG "linux-x86_64") + elseif(VCPKG_HOST_IS_OSX) + set(NDK_HOST_TAG "darwin-x86_64") + elseif(VCPKG_HOST_IS_WINDOWS) + set(NDK_HOST_TAG "windows-x86_64") + else() + message(FATAL_ERROR "Unknown NDK host platform") + endif() + get_filename_component(NDK_TOOL_PATH $ENV{ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${NDK_HOST_TAG}/bin ABSOLUTE) + message(STATUS "Using NDK: ${NDK_TOOL_PATH}") + vcpkg_add_to_path(PREPEND ${NDK_TOOL_PATH}) + +endif() + +# Configure / Install +# We need a PERL so can't use `vcpkg_configure_make` directly... +message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") +vcpkg_execute_required_process( + COMMAND ${PERL} Configure ${OPENSSL_SHARED} ${CONFIGURE_OPTIONS} + ${PLATFORM} + "--prefix=${CURRENT_PACKAGES_DIR}/debug" + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg + LOGNAME configure-perl-${TARGET_TRIPLET}-dbg +) +message(STATUS "Configuring ${TARGET_TRIPLET}-rel") +vcpkg_execute_required_process( + COMMAND ${PERL} Configure ${OPENSSL_SHARED} ${CONFIGURE_OPTIONS} + ${PLATFORM} + "--prefix=${CURRENT_PACKAGES_DIR}" + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + LOGNAME configure-perl-${TARGET_TRIPLET}-rel +) + +if(VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${JOM} /K /J ${VCPKG_CONCURRENCY} /F makefile install_dev + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg + LOGNAME install-${TARGET_TRIPLET}-dbg + ) + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND ${JOM} /K /J ${VCPKG_CONCURRENCY} /F makefile install_dev + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + LOGNAME install-${TARGET_TRIPLET}-rel + ) + vcpkg_copy_pdbs() + +else() + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${MAKE} -j ${VCPKG_CONCURRENCY} install_dev + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg + LOGNAME install-${TARGET_TRIPLET}-dbg + ) + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND ${MAKE} -j ${VCPKG_CONCURRENCY} install_dev + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + LOGNAME install-${TARGET_TRIPLET}-rel + ) + if(VCPKG_TARGET_IS_ANDROID) + # install_dev copies symbolic link. overwrite them with the actual shared objects + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcrypto.so + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libssl.so + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + ) + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libcrypto.so + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libssl.so + DESTINATION ${CURRENT_PACKAGES_DIR}/lib + ) + endif() + vcpkg_fixup_pkgconfig() + +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libcrypto.a + ${CURRENT_PACKAGES_DIR}/debug/lib/libssl.a + ${CURRENT_PACKAGES_DIR}/lib/libcrypto.a + ${CURRENT_PACKAGES_DIR}/lib/libssl.a + ) +else() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin + ${CURRENT_PACKAGES_DIR}/bin + ) + if(VCPKG_TARGET_IS_WINDOWS) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/ossl_static.pdb + ${CURRENT_PACKAGES_DIR}/lib/ossl_static.pdb + ) + endif() +endif() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/engines-81.3 + ${CURRENT_PACKAGES_DIR}/engines-81.3 + ${CURRENT_PACKAGES_DIR}/debug/ossl-modules + ${CURRENT_PACKAGES_DIR}/ossl-modules +) + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright +) diff --git a/ports/quictls/vcpkg.json b/ports/quictls/vcpkg.json new file mode 100644 index 00000000000000..b08483bfa639e9 --- /dev/null +++ b/ports/quictls/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "quictls", + "version-date": "2021-05-03", + "description": "TLS/SSL and crypto library with QUIC APIs", + "homepage": "https://github.com/quictls/openssl", + "license": "Apache-2.0", + "supports": "windows" +} From 8e86e4a839581112f95126ab358d90ddd4c285b8 Mon Sep 17 00:00:00 2001 From: luncliff Date: Sat, 15 May 2021 17:43:52 +0900 Subject: [PATCH 02/15] [quictls] update baseline and port SHA --- versions/baseline.json | 4 ++++ versions/q-/quictls.json | 9 +++++++++ 2 files changed, 13 insertions(+) create mode 100644 versions/q-/quictls.json diff --git a/versions/baseline.json b/versions/baseline.json index 729cc1c7efa2ff..364f679d447fb0 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5208,6 +5208,10 @@ "baseline": "1.15.1-4", "port-version": 0 }, + "quictls": { + "baseline": "2021-05-03", + "port-version": 0 + }, "quill": { "baseline": "1.6.2", "port-version": 0 diff --git a/versions/q-/quictls.json b/versions/q-/quictls.json new file mode 100644 index 00000000000000..d9df8b17c0a284 --- /dev/null +++ b/versions/q-/quictls.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "2f0880b15a58f53ccc50746ebace1ba33e7bf11e", + "version-date": "2021-05-03", + "port-version": 0 + } + ] +} From 352eae16caa498689c7e4caaf77f4b39e43b8b82 Mon Sep 17 00:00:00 2001 From: luncliff Date: Sat, 15 May 2021 17:57:37 +0900 Subject: [PATCH 03/15] [quictls] remove support constraint --- ports/quictls/vcpkg.json | 3 +-- versions/q-/quictls.json | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/ports/quictls/vcpkg.json b/ports/quictls/vcpkg.json index b08483bfa639e9..92c72294d10ea2 100644 --- a/ports/quictls/vcpkg.json +++ b/ports/quictls/vcpkg.json @@ -3,6 +3,5 @@ "version-date": "2021-05-03", "description": "TLS/SSL and crypto library with QUIC APIs", "homepage": "https://github.com/quictls/openssl", - "license": "Apache-2.0", - "supports": "windows" + "license": "Apache-2.0" } diff --git a/versions/q-/quictls.json b/versions/q-/quictls.json index d9df8b17c0a284..04c645cbaac92a 100644 --- a/versions/q-/quictls.json +++ b/versions/q-/quictls.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "2f0880b15a58f53ccc50746ebace1ba33e7bf11e", + "git-tree": "48ee3bc3a3fa058a8c2ad179fa0c3a1ba0e00221", "version-date": "2021-05-03", "port-version": 0 } From 1220cd57abdff6875c9b55ba2edfcde84d90359c Mon Sep 17 00:00:00 2001 From: luncliff Date: Mon, 17 May 2021 12:01:03 +0900 Subject: [PATCH 04/15] [quictls] change code branch * remove unused options --- ports/quictls/portfile.cmake | 14 +++++--------- ports/quictls/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/q-/quictls.json | 4 ++-- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/ports/quictls/portfile.cmake b/ports/quictls/portfile.cmake index 0eee46d2d79d20..c69389d6317dad 100644 --- a/ports/quictls/portfile.cmake +++ b/ports/quictls/portfile.cmake @@ -5,11 +5,9 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO quictls/openssl - REF 77248f1c1c8ea8dc57d624050b78eab0b3a10a04 # 2021-05-03 - SHA512 881639f0bfd83858ce5d28aaf013dc34105cbc9c2fcc040c873c41ca45a0ea3dcb9dfd8e81821b21e92d4b9577f86d11ac010bb1f3746713892969c62d46fda6 - HEAD_REF openssl-3.0.0-alpha15+quic - PATCHES - fix-http.patch + REF a6e9d76db343605dae9b59d71d2811b195ae7434 # 2021-05-17 + SHA512 23510a11203b96476c194a1987c7d4e758375adef0f6dfe319cd8ec4b8dd9b12ea64c4099cf3ba35722b992dad75afb1cfc5126489a5fa59f5ee4d46bdfbeaf6 + HEAD_REF OpenSSL_1_1_1k+quic ) # Option: shared/static @@ -20,8 +18,6 @@ endif() # Option: feature / algorithms list(APPEND CONFIGURE_OPTIONS - # from existing 'openssl' port - enable-static-engine enable-capieng # from 'microsoft/msquic' enable-tls1_3 no-makedepend no-dgram no-ssl3 no-psk no-srp no-zlib no-egd no-idea no-rc5 no-rc4 no-afalgeng @@ -32,7 +28,7 @@ list(APPEND CONFIGURE_OPTIONS no-weak-ssl-ciphers no-tests ) if(VCPKG_TARGET_IS_WINDOWS) - # jom will build in parallel mode, so we need /FS + # jom will build in parallel mode, we need /FS for PDB access list(APPEND CONFIGURE_OPTIONS -utf-8 -FS) elseif(VCPKG_TARGET_IS_IOS) @@ -188,6 +184,6 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/ossl-modules ) -file(INSTALL ${SOURCE_PATH}/LICENSE.txt +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright ) diff --git a/ports/quictls/vcpkg.json b/ports/quictls/vcpkg.json index 92c72294d10ea2..f7c4980d225289 100644 --- a/ports/quictls/vcpkg.json +++ b/ports/quictls/vcpkg.json @@ -1,6 +1,6 @@ { "name": "quictls", - "version-date": "2021-05-03", + "version-date": "2021-05-17", "description": "TLS/SSL and crypto library with QUIC APIs", "homepage": "https://github.com/quictls/openssl", "license": "Apache-2.0" diff --git a/versions/baseline.json b/versions/baseline.json index 364f679d447fb0..573db1d6a8a20c 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5209,7 +5209,7 @@ "port-version": 0 }, "quictls": { - "baseline": "2021-05-03", + "baseline": "2021-05-17", "port-version": 0 }, "quill": { diff --git a/versions/q-/quictls.json b/versions/q-/quictls.json index 04c645cbaac92a..705ccb25a5a9b9 100644 --- a/versions/q-/quictls.json +++ b/versions/q-/quictls.json @@ -1,8 +1,8 @@ { "versions": [ { - "git-tree": "48ee3bc3a3fa058a8c2ad179fa0c3a1ba0e00221", - "version-date": "2021-05-03", + "git-tree": "9848a527f6b11125a9415477edc97b9e1f83cc9c", + "version-date": "2021-05-17", "port-version": 0 } ] From c8299025abb588ca72a6380b843a737dffb1446d Mon Sep 17 00:00:00 2001 From: Park DongHa Date: Sun, 23 May 2021 19:09:30 +0900 Subject: [PATCH 05/15] [quictls] disable UWP build * the branch doesn't provide conf file for UWP * remove unused patch file --- ports/quictls/detect_platform.cmake | 5 +++-- ports/quictls/fix-http.patch | 12 ------------ ports/quictls/portfile.cmake | 3 +-- ports/quictls/vcpkg.json | 3 ++- versions/q-/quictls.json | 2 +- 5 files changed, 7 insertions(+), 18 deletions(-) delete mode 100644 ports/quictls/fix-http.patch diff --git a/ports/quictls/detect_platform.cmake b/ports/quictls/detect_platform.cmake index d5b7b48c8c5356..526e522f77e45a 100644 --- a/ports/quictls/detect_platform.cmake +++ b/ports/quictls/detect_platform.cmake @@ -1,8 +1,9 @@ # # References # - ${VCPKG_ROOT}/scripts/cmake/vcpkg_common_definitions.cmake -# - ${SOURCE_PATH}/Configuration/README-design.md -# - ${SOURCE_PATH}/Configuration/10-main.conf +# - https://github.com/quictls/openssl/tree/openssl-3.0.0-alpha16+quic +# - ${SOURCE_PATH}/Configuration/README-design.md +# - ${SOURCE_PATH}/Configuration/10-main.conf # if(VCPKG_TARGET_IS_ANDROID) # ${SOURCE_PATH}/Configuration/15-android.conf diff --git a/ports/quictls/fix-http.patch b/ports/quictls/fix-http.patch deleted file mode 100644 index e4c2e2c3aae64c..00000000000000 --- a/ports/quictls/fix-http.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/crypto/http/http_lib.c b/crypto/http/http_lib.c -index f0fc770..a73ecf6 100644 ---- a/crypto/http/http_lib.c -+++ b/crypto/http/http_lib.c -@@ -12,6 +12,7 @@ - #include /* for BIO_snprintf() */ - #include - #include -+#include - #include "internal/cryptlib.h" /* for ossl_assert() */ - - #include "http_local.h" diff --git a/ports/quictls/portfile.cmake b/ports/quictls/portfile.cmake index c69389d6317dad..20d097fae40e16 100644 --- a/ports/quictls/portfile.cmake +++ b/ports/quictls/portfile.cmake @@ -16,9 +16,8 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(OPENSSL_SHARED shared) endif() -# Option: feature / algorithms +# Option: feature / algorithms from https://github.com/microsoft/msquic list(APPEND CONFIGURE_OPTIONS - # from 'microsoft/msquic' enable-tls1_3 no-makedepend no-dgram no-ssl3 no-psk no-srp no-zlib no-egd no-idea no-rc5 no-rc4 no-afalgeng no-comp no-cms no-ct no-srp no-srtp no-ts no-gost no-dso no-ec2m diff --git a/ports/quictls/vcpkg.json b/ports/quictls/vcpkg.json index f7c4980d225289..c86b741791533b 100644 --- a/ports/quictls/vcpkg.json +++ b/ports/quictls/vcpkg.json @@ -3,5 +3,6 @@ "version-date": "2021-05-17", "description": "TLS/SSL and crypto library with QUIC APIs", "homepage": "https://github.com/quictls/openssl", - "license": "Apache-2.0" + "license": "Apache-2.0", + "supports": "!uwp" } diff --git a/versions/q-/quictls.json b/versions/q-/quictls.json index 705ccb25a5a9b9..12dbac5fefaa20 100644 --- a/versions/q-/quictls.json +++ b/versions/q-/quictls.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "9848a527f6b11125a9415477edc97b9e1f83cc9c", + "git-tree": "a39d46ee1a56c279d0300e1b73885c7f66912a84", "version-date": "2021-05-17", "port-version": 0 } From 30ffc9d7172dd6a46af5a4297337ff1c5485d176 Mon Sep 17 00:00:00 2001 From: Park DongHa Date: Sun, 23 May 2021 19:10:22 +0900 Subject: [PATCH 06/15] [quictls] update ci.baseline.txt --- scripts/ci.baseline.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 9e547a3b3032e0..534bc6b1e0f154 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1334,6 +1334,13 @@ qt5-x11extras:x86-windows=fail qt5-x11extras:x64-windows=fail qt5-x11extras:x64-windows-static=fail qt5-x11extras:x64-windows-static-md=fail +# Conflicts with openssl +quictls:arm64-windows=skip +quictls:x64-linux=skip +quictls:x64-osx=skip +quictls:x64-windows-static=skip +quictls:x64-windows=skip +quictls:x86-windows=skip quickfix:arm-uwp=fail quickfix:arm64-windows=fail quickfix:x64-uwp=fail From 99e85ce49b6cff52a7814efdab46dc32b43b085e Mon Sep 17 00:00:00 2001 From: luncliff Date: Tue, 1 Jun 2021 23:22:05 +0900 Subject: [PATCH 07/15] [quictls] fix android build for static linkage --- ports/quictls/portfile.cmake | 3 +-- versions/q-/quictls.json | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/ports/quictls/portfile.cmake b/ports/quictls/portfile.cmake index 20d097fae40e16..ab86ed58dc6a08 100644 --- a/ports/quictls/portfile.cmake +++ b/ports/quictls/portfile.cmake @@ -39,7 +39,6 @@ endif() # Option: platform/architecture include(${CMAKE_CURRENT_LIST_DIR}/detect_platform.cmake) -message(STATUS "Targeting: ${PLATFORM}") # Clean & copy source files for working directories file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg @@ -145,7 +144,7 @@ else() WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel LOGNAME install-${TARGET_TRIPLET}-rel ) - if(VCPKG_TARGET_IS_ANDROID) + if(VCPKG_TARGET_IS_ANDROID AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") # install_dev copies symbolic link. overwrite them with the actual shared objects file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libcrypto.so ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libssl.so diff --git a/versions/q-/quictls.json b/versions/q-/quictls.json index 12dbac5fefaa20..380842751b9d24 100644 --- a/versions/q-/quictls.json +++ b/versions/q-/quictls.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "a39d46ee1a56c279d0300e1b73885c7f66912a84", + "git-tree": "4dc0011d4deea9788d519beabcebeccc7a3c267c", "version-date": "2021-05-17", "port-version": 0 } From c6a995cd63e164fc1dfaa0a99db2155cc6387ac0 Mon Sep 17 00:00:00 2001 From: luncliff Date: Wed, 2 Jun 2021 00:41:46 +0900 Subject: [PATCH 08/15] [quictls] fix URL in detect_platform script * comment referenced branch for UWP --- ports/quictls/detect_platform.cmake | 14 +++++++------- versions/q-/quictls.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ports/quictls/detect_platform.cmake b/ports/quictls/detect_platform.cmake index 526e522f77e45a..ec08836e471b11 100644 --- a/ports/quictls/detect_platform.cmake +++ b/ports/quictls/detect_platform.cmake @@ -1,8 +1,8 @@ # # References # - ${VCPKG_ROOT}/scripts/cmake/vcpkg_common_definitions.cmake -# - https://github.com/quictls/openssl/tree/openssl-3.0.0-alpha16+quic -# - ${SOURCE_PATH}/Configuration/README-design.md +# - https://github.com/quictls/openssl/tree/OpenSSL_1_1_1k+quic +# - ${SOURCE_PATH}/Configuration/README.design # - ${SOURCE_PATH}/Configuration/10-main.conf # if(VCPKG_TARGET_IS_ANDROID) @@ -57,15 +57,15 @@ elseif(VCPKG_TARGET_IS_MINGW) endif() elseif(VCPKG_TARGET_IS_UWP) - # ${SOURCE_PATH}/Configuration/50-win-onecore.conf + # ${SOURCE_PATH}/Configuration/50-win-onecore.conf of 'openssl-3.0.0-alpha16+quic' branch if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(PLATFORM VC-WIN32-UWP) + set(PLATFORM "VC-WIN32-UWP") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(PLATFORM VC-WIN64A-UWP) + set(PLATFORM "VC-WIN64A-UWP") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(PLATFORM VC-WIN32-ARM-UWP) + set(PLATFORM "VC-WIN32-ARM-UWP") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(PLATFORM VC-WIN64-ARM-UWP) + set(PLATFORM "VC-WIN64-ARM-UWP") else() message(FATAL_ERROR "Unknown UWP target architecture: ${VCPKG_TARGET_ARCHITECTURE}") endif() diff --git a/versions/q-/quictls.json b/versions/q-/quictls.json index 380842751b9d24..3f0574f0c9a42f 100644 --- a/versions/q-/quictls.json +++ b/versions/q-/quictls.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "4dc0011d4deea9788d519beabcebeccc7a3c267c", + "git-tree": "7635f3e05398992c0f6dbdca28f93039e21206dc", "version-date": "2021-05-17", "port-version": 0 } From 45e9561dd69194f43e7e041250dabb5dc8e82598 Mon Sep 17 00:00:00 2001 From: luncliff Date: Sat, 5 Jun 2021 02:14:17 +0900 Subject: [PATCH 09/15] [quictls] fix PLATFORM name for UWP build --- ports/quictls/detect_platform.cmake | 10 +++++----- ports/quictls/portfile.cmake | 4 +++- versions/q-/quictls.json | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ports/quictls/detect_platform.cmake b/ports/quictls/detect_platform.cmake index ec08836e471b11..a7c942f2f42eb4 100644 --- a/ports/quictls/detect_platform.cmake +++ b/ports/quictls/detect_platform.cmake @@ -57,15 +57,15 @@ elseif(VCPKG_TARGET_IS_MINGW) endif() elseif(VCPKG_TARGET_IS_UWP) - # ${SOURCE_PATH}/Configuration/50-win-onecore.conf of 'openssl-3.0.0-alpha16+quic' branch + # https://github.com/microsoft/msquic/blob/main/submodules/CMakeLists.txt#L26 if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(PLATFORM "VC-WIN32-UWP") + set(PLATFORM "VC-WIN32-ONECORE") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(PLATFORM "VC-WIN64A-UWP") + set(PLATFORM "VC-WIN64A-ONECORE") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(PLATFORM "VC-WIN32-ARM-UWP") + set(PLATFORM "VC-WIN32-ARM") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(PLATFORM "VC-WIN64-ARM-UWP") + set(PLATFORM "VC-WIN64-ARM") else() message(FATAL_ERROR "Unknown UWP target architecture: ${VCPKG_TARGET_ARCHITECTURE}") endif() diff --git a/ports/quictls/portfile.cmake b/ports/quictls/portfile.cmake index ab86ed58dc6a08..05e54bedec37b0 100644 --- a/ports/quictls/portfile.cmake +++ b/ports/quictls/portfile.cmake @@ -26,6 +26,9 @@ list(APPEND CONFIGURE_OPTIONS no-siphash no-whirlpool no-aria no-bf no-blake2 no-sm2 no-sm3 no-sm4 no-camellia no-cast no-md4 no-mdc2 no-ocb no-rc2 no-rmd160 no-scrypt no-weak-ssl-ciphers no-tests ) +if(VCPKG_TARGET_IS_UWP) + list(APPEND CONFIGURE_OPTIONS no-async) +endif() if(VCPKG_TARGET_IS_WINDOWS) # jom will build in parallel mode, we need /FS for PDB access list(APPEND CONFIGURE_OPTIONS -utf-8 -FS) @@ -92,7 +95,6 @@ elseif(VCPKG_TARGET_IS_ANDROID) message(FATAL_ERROR "Unknown NDK host platform") endif() get_filename_component(NDK_TOOL_PATH $ENV{ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${NDK_HOST_TAG}/bin ABSOLUTE) - message(STATUS "Using NDK: ${NDK_TOOL_PATH}") vcpkg_add_to_path(PREPEND ${NDK_TOOL_PATH}) endif() diff --git a/versions/q-/quictls.json b/versions/q-/quictls.json index 3f0574f0c9a42f..bd4cae63c33ff9 100644 --- a/versions/q-/quictls.json +++ b/versions/q-/quictls.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "7635f3e05398992c0f6dbdca28f93039e21206dc", + "git-tree": "97fed19db2719643fcdc6baea56d3dc0da7b4bd8", "version-date": "2021-05-17", "port-version": 0 } From 0b35717376f41d70c08dee692fd464e80fa2b130 Mon Sep 17 00:00:00 2001 From: luncliff Date: Sat, 5 Jun 2021 02:22:13 +0900 Subject: [PATCH 10/15] [quictls] make windows build static-only --- ports/quictls/portfile.cmake | 3 +++ versions/q-/quictls.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ports/quictls/portfile.cmake b/ports/quictls/portfile.cmake index 05e54bedec37b0..64ac7fecaefe48 100644 --- a/ports/quictls/portfile.cmake +++ b/ports/quictls/portfile.cmake @@ -1,6 +1,9 @@ if(EXISTS ${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h) message(FATAL_ERROR "Can't build '${PORT}' if another SSL library is installed. Please remove existing one and try install '${PORT}' again if you need it.") endif() +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/versions/q-/quictls.json b/versions/q-/quictls.json index bd4cae63c33ff9..15252347e3e7bb 100644 --- a/versions/q-/quictls.json +++ b/versions/q-/quictls.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "97fed19db2719643fcdc6baea56d3dc0da7b4bd8", + "git-tree": "e517a8ca1a7dc160e4ca50e3b02487258496f3fa", "version-date": "2021-05-17", "port-version": 0 } From d8a260c0a519e19bb0f4effe5edaba92c5989cb3 Mon Sep 17 00:00:00 2001 From: luncliff Date: Sat, 5 Jun 2021 02:32:24 +0900 Subject: [PATCH 11/15] [quictls] misc fix --- ports/quictls/portfile.cmake | 8 ++++---- versions/q-/quictls.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ports/quictls/portfile.cmake b/ports/quictls/portfile.cmake index 64ac7fecaefe48..0d0df469f84f44 100644 --- a/ports/quictls/portfile.cmake +++ b/ports/quictls/portfile.cmake @@ -1,19 +1,19 @@ if(EXISTS ${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h) message(FATAL_ERROR "Can't build '${PORT}' if another SSL library is installed. Please remove existing one and try install '${PORT}' again if you need it.") endif() -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO quictls/openssl - REF a6e9d76db343605dae9b59d71d2811b195ae7434 # 2021-05-17 + REF a6e9d76db343605dae9b59d71d2811b195ae7434 SHA512 23510a11203b96476c194a1987c7d4e758375adef0f6dfe319cd8ec4b8dd9b12ea64c4099cf3ba35722b992dad75afb1cfc5126489a5fa59f5ee4d46bdfbeaf6 HEAD_REF OpenSSL_1_1_1k+quic ) # Option: shared/static +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() set(OPENSSL_SHARED no-shared) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(OPENSSL_SHARED shared) diff --git a/versions/q-/quictls.json b/versions/q-/quictls.json index 15252347e3e7bb..c0f8a2f4da1a12 100644 --- a/versions/q-/quictls.json +++ b/versions/q-/quictls.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "e517a8ca1a7dc160e4ca50e3b02487258496f3fa", + "git-tree": "9992209a7ccfcf5b1afe23d2d2e746a92085fd05", "version-date": "2021-05-17", "port-version": 0 } From 9387eca2f43537c523669ad642b1c7e57791f016 Mon Sep 17 00:00:00 2001 From: luncliff Date: Sun, 6 Jun 2021 01:01:26 +0900 Subject: [PATCH 12/15] [quictls] remove supports limit * update baseline --- ports/quictls/vcpkg.json | 3 +-- versions/q-/quictls.json | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/ports/quictls/vcpkg.json b/ports/quictls/vcpkg.json index c86b741791533b..f7c4980d225289 100644 --- a/ports/quictls/vcpkg.json +++ b/ports/quictls/vcpkg.json @@ -3,6 +3,5 @@ "version-date": "2021-05-17", "description": "TLS/SSL and crypto library with QUIC APIs", "homepage": "https://github.com/quictls/openssl", - "license": "Apache-2.0", - "supports": "!uwp" + "license": "Apache-2.0" } diff --git a/versions/q-/quictls.json b/versions/q-/quictls.json index c0f8a2f4da1a12..a3a16043c6f2c9 100644 --- a/versions/q-/quictls.json +++ b/versions/q-/quictls.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "9992209a7ccfcf5b1afe23d2d2e746a92085fd05", + "git-tree": "5bee5351b192f11c5da9fe04eb35f88b1b0adf7e", "version-date": "2021-05-17", "port-version": 0 } From a9f6cc62554c6997d994d0898d12fb28f3a56aeb Mon Sep 17 00:00:00 2001 From: Park DongHa Date: Mon, 7 Jun 2021 20:09:08 +0900 Subject: [PATCH 13/15] Update scripts/ci.baseline.txt Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> --- scripts/ci.baseline.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 6051312cf877a2..9d7602846086cd 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1336,6 +1336,9 @@ quictls:x64-osx=skip quictls:x64-windows-static=skip quictls:x64-windows=skip quictls:x86-windows=skip +quictls:x64-windows-static-md=skip +quictls:x64-uwp=skip +quictls:arm-uwp=skip quickfix:arm-uwp=fail quickfix:arm64-windows=fail quickfix:x64-uwp=fail From cdd1597538362272f569cc4553113c7eb096b453 Mon Sep 17 00:00:00 2001 From: luncliff Date: Mon, 7 Jun 2021 20:11:16 +0900 Subject: [PATCH 14/15] [quictls] remove comments in cmake script * update git-tree SHA --- ports/quictls/detect_platform.cmake | 7 ------- versions/q-/quictls.json | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/ports/quictls/detect_platform.cmake b/ports/quictls/detect_platform.cmake index a7c942f2f42eb4..d5e5abfe0e41cb 100644 --- a/ports/quictls/detect_platform.cmake +++ b/ports/quictls/detect_platform.cmake @@ -1,10 +1,3 @@ -# -# References -# - ${VCPKG_ROOT}/scripts/cmake/vcpkg_common_definitions.cmake -# - https://github.com/quictls/openssl/tree/OpenSSL_1_1_1k+quic -# - ${SOURCE_PATH}/Configuration/README.design -# - ${SOURCE_PATH}/Configuration/10-main.conf -# if(VCPKG_TARGET_IS_ANDROID) # ${SOURCE_PATH}/Configuration/15-android.conf if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") diff --git a/versions/q-/quictls.json b/versions/q-/quictls.json index a3a16043c6f2c9..ce539c52c1d0e6 100644 --- a/versions/q-/quictls.json +++ b/versions/q-/quictls.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "5bee5351b192f11c5da9fe04eb35f88b1b0adf7e", + "git-tree": "75e8d9deff16206701edaa53ece0cf8ba67e1d0e", "version-date": "2021-05-17", "port-version": 0 } From e7e09019b24a04ac698a531205164f08ed579610 Mon Sep 17 00:00:00 2001 From: luncliff Date: Sat, 12 Jun 2021 15:29:40 +0900 Subject: [PATCH 15/15] [quictls] update detect_platform script * Use STREQUAL instead of MATCHES * Add some dropped PLATFORM cases * Always check VCPKG_TARGET_ARCHITECTURE instead of `else()` * update git-tree SHA --- ports/quictls/detect_platform.cmake | 50 ++++++++++++++--------------- versions/q-/quictls.json | 2 +- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/ports/quictls/detect_platform.cmake b/ports/quictls/detect_platform.cmake index d5e5abfe0e41cb..6eb4c8335af6d8 100644 --- a/ports/quictls/detect_platform.cmake +++ b/ports/quictls/detect_platform.cmake @@ -1,51 +1,57 @@ if(VCPKG_TARGET_IS_ANDROID) # ${SOURCE_PATH}/Configuration/15-android.conf - if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") set(PLATFORM "android-arm64") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") set(PLATFORM "android-arm") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(PLATFORM "android-x86_64") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(PLATFORM "android-x86") endif() elseif(VCPKG_TARGET_IS_LINUX) - if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(PLATFORM "linux-aarch64") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") set(PLATFORM "linux-armv4") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(PLATFORM "linux-x86_64") - else() - set(PLATFORM "linux-generic32") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(PLATFORM "linux-x86") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "ppc64le") + set(PLATFORM "linux-ppc64le") endif() elseif(VCPKG_TARGET_IS_IOS) # ${SOURCE_PATH}/Configuration/15-ios.conf - if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") set(PLATFORM "ios64-xcrun") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") set(PLATFORM "ios-xcrun") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" OR - VCPKG_TARGET_ARCHITECTURE MATCHES "x64") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR + VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(PLATFORM "iossimulator-xcrun") - else() - message(FATAL_ERROR "Unknown iOS target architecture: ${VCPKG_TARGET_ARCHITECTURE}") endif() elseif(VCPKG_TARGET_IS_OSX) - if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") set(PLATFORM "darwin64-arm64-cc") - else() + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(PLATFORM "darwin64-x86_64-cc") endif() elseif(VCPKG_TARGET_IS_FREEBSD OR VCPKG_TARGET_IS_OPENBSD) - set(PLATFORM "BSD-generic64") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(PLATFORM "BSD-x86_64") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(PLATFORM "BSD-x86") + endif() elseif(VCPKG_TARGET_IS_MINGW) - if(VCPKG_TARGET_ARCHITECTURE MATCHES "64") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(PLATFORM "mingw64") - else() + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(PLATFORM "mingw") endif() @@ -59,8 +65,6 @@ elseif(VCPKG_TARGET_IS_UWP) set(PLATFORM "VC-WIN32-ARM") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") set(PLATFORM "VC-WIN64-ARM") - else() - message(FATAL_ERROR "Unknown UWP target architecture: ${VCPKG_TARGET_ARCHITECTURE}") endif() elseif(VCPKG_TARGET_IS_WINDOWS) @@ -73,14 +77,10 @@ elseif(VCPKG_TARGET_IS_WINDOWS) set(PLATFORM "VC-WIN32-ARM") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") set(PLATFORM "VC-WIN64-ARM") - else() - message(FATAL_ERROR "Unknown Windows target architecture: ${VCPKG_TARGET_ARCHITECTURE}") endif() -else() - message(FATAL_ERROR "Unknown platform") endif() if(NOT DEFINED PLATFORM) - message(FATAL_ERROR "Failed to detect target platform/architecture") + message(FATAL_ERROR "PLATFORM is unknown for the target platform/architecture") endif() diff --git a/versions/q-/quictls.json b/versions/q-/quictls.json index ce539c52c1d0e6..9831eaba4007ff 100644 --- a/versions/q-/quictls.json +++ b/versions/q-/quictls.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "75e8d9deff16206701edaa53ece0cf8ba67e1d0e", + "git-tree": "4855c29b197d234199fd8324817e165049a57e29", "version-date": "2021-05-17", "port-version": 0 }