mirror of
https://github.com/Tencent/flare.git
synced 2026-10-18 13:40:45 +08:00
ed29968f5a
* thirdparty: migrate openssl/nghttp2/curl to vcpkg (#179 curl cluster) vcpkg has no openssl 1.1.1, so this upgrades the cluster to 3.x and migrates all three off foreign builds. Consumers' //thirdparty/{openssl,nghttp2,curl} targets are unchanged (thin vcpkg wrappers). - openssl -> vcpkg 3.x. flare's crypto/init code adapted for 3.x: - flare/io/util/openssl.cc: gut the obsolete OpenSSL-1.0.x ceremony (SSL_library_init, ERR_load_*, ENGINE_*, CRYPTO_set_locking_callback / CRYPTO_num_locks). OpenSSL 1.1+ auto-initializes and is internally thread-safe, so both entry points are now empty no-ops. - flare/base/crypto/{md5,sha}: -Wno-deprecated-declarations -- the low-level MD5/SHA/HMAC APIs are deprecated in 3.x (provider/EVP migration) but still valid until 4.0, so suppress rather than rewrite to EVP. - nghttp2, curl -> vcpkg (API-stable version bumps). curl built with the openssl + http2 features; its macOS frameworks (SystemConfiguration/Security/ CoreFoundation/CoreServices) link via blade's new pkg-config -framework support. Wrapper declares the sibling vcpkg deps (openssl/nghttp2/zlib). - thirdparty/blade/blade.zip: rebuilt with that -framework support. - Drop the vendored tarballs and patches (openssl/curl/nghttp2, curl dyld patch). Verified: full `blade test flare/...` green on macOS (crypto/ssl/curl/cos all pass). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * thirdparty/openssl: drop redundant #dl/#pthread blade now auto-propagates libcrypto's pkg-config system libs (Libs.private: -ldl) via the #1322 mechanism, and flare links pthread globally on Linux (cc_config). So the wrapper's explicit #dl/#pthread are redundant. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * ci: checkout the pinned vcpkg baseline (not just fetch) Fetching only the baseline commit let 'git show <baseline>:versions/baseline.json' resolve the baseline version, but vcpkg reads the per-port versions/*.json from the working tree -- still the runner's stale HEAD. For ports whose baseline version is newer than that HEAD (openssl 3.6.3, nghttp2 1.69, curl 8.20) vcpkg errors 'no version database entry'. Checkout the baseline so the whole version DB / ports tree is consistent (matching local dev). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>