diff --git a/utils/build.ps1 b/utils/build.ps1 index f3de13e0056df..dab148235b103 100644 --- a/utils/build.ps1 +++ b/utils/build.ps1 @@ -720,6 +720,7 @@ enum Project { SourceKitLSP SymbolKit DocC + brotli LLVM Runtime @@ -2260,6 +2261,21 @@ function Build-Sanitizers([Hashtable] $Platform) { } } +function Build-Brotli([Hashtable] $Platform) { + Build-CMakeProject ` + -Src $SourceCache\brotli ` + -Bin "$(Get-ProjectBinaryCache $Platform brotli)" ` + -InstallTo "$BinaryCache\$($Platform.Triple)\usr" ` + -Platform $Platform ` + -UseMSVCCompilers C ` + -Defines @{ + BUILD_SHARED_LIBS = "NO"; + CMAKE_POSITION_INDEPENDENT_CODE = "YES"; + CMAKE_SYSTEM_NAME = $Platform.OS.ToString(); + } +} + + function Build-ZLib([Hashtable] $Platform) { Build-CMakeProject ` -Src $SourceCache\zlib ` @@ -2344,7 +2360,7 @@ function Build-CURL([Hashtable] $Platform) { CURL_CA_BUNDLE = "none"; CURL_CA_FALLBACK = "NO"; CURL_CA_PATH = "none"; - CURL_BROTLI = "NO"; + CURL_BROTLI = "YES"; CURL_DISABLE_ALTSVC = "NO"; CURL_DISABLE_AWS = "YES"; CURL_DISABLE_BASIC_AUTH = "NO"; @@ -2422,6 +2438,7 @@ function Build-CURL([Hashtable] $Platform) { USE_WIN32_LDAP = "NO"; ZLIB_ROOT = "$BinaryCache\$($Platform.Triple)\usr"; ZLIB_LIBRARY = "$BinaryCache\$($Platform.Triple)\usr\lib\zlibstatic.lib"; + BROTLI_DIR = "$BinaryCache\$($Platform.Triple)\usr"; }) } @@ -2835,6 +2852,7 @@ function Build-Foundation { "$BinaryCache\$($Platform.Triple)\usr\lib\libz.a" }; ZLIB_INCLUDE_DIR = "$BinaryCache\$($Platform.Triple)\usr\include"; + BROTLI_DIR = "$BinaryCache\$($Platform.Triple)\usr"; dispatch_DIR = $DispatchCMakeModules; SwiftSyntax_DIR = (Get-ProjectBinaryCache $HostPlatform Compilers); _SwiftFoundation_SourceDIR = "$SourceCache\swift-foundation"; @@ -2857,6 +2875,7 @@ function Test-Foundation { $env:LIBXML_LIBRARY_PATH="$BinaryCache/$($Platform.Triple)/usr/lib" $env:LIBXML_INCLUDE_PATH="$BinaryCache/$($Platform.Triple)/usr/include/libxml2" $env:ZLIB_LIBRARY_PATH="$BinaryCache/$($Platform.Triple)/usr/lib" + $env:BROTLI_LIBRARY_PATH="$BinaryCache/$($Platform.Triple)/usr/lib" $env:CURL_LIBRARY_PATH="$BinaryCache/$($Platform.Triple)/usr/lib" $env:CURL_INCLUDE_PATH="$BinaryCache/$($Platform.Triple)/usr/include" Build-SPMProject ` @@ -3004,6 +3023,7 @@ function Build-SDK([Hashtable] $Platform, [switch] $IncludeMacros = $false) { # Third Party Dependencies Invoke-BuildStep Build-ZLib $Platform + Invoke-BuildStep Build-Brotli $Platform Invoke-BuildStep Build-XML2 $Platform Invoke-BuildStep Build-CURL $Platform Invoke-BuildStep Build-LLVM $Platform diff --git a/utils/update_checkout/update-checkout-config.json b/utils/update_checkout/update-checkout-config.json index 10c40e34198d9..3333be21dfe92 100644 --- a/utils/update_checkout/update-checkout-config.json +++ b/utils/update_checkout/update-checkout-config.json @@ -118,6 +118,9 @@ "zlib": { "remote": { "id": "madler/zlib" } }, + "brotli": { + "remote": { "id": "google/brotli" } + }, "mimalloc": { "remote": { "id": "microsoft/mimalloc" }, "platforms": [ "Windows" ] @@ -180,6 +183,7 @@ "curl": "curl-8_9_1", "libxml2": "v2.11.5", "zlib": "v1.3.1", + "brotli": "v1.1.0", "mimalloc": "v3.0.3", "swift-subprocess": "development-snapshot-2025-07-21" } @@ -236,6 +240,7 @@ "curl": "curl-8_9_1", "libxml2": "v2.11.5", "zlib": "v1.3.1", + "brotli": "v1.1.0", "mimalloc": "v3.0.1" } }, @@ -498,6 +503,7 @@ "curl": "curl-8_9_1", "libxml2": "v2.11.5", "zlib": "v1.3.1", + "brotli": "v1.1.0", "mimalloc": "v3.0.3", "swift-subprocess": "development-snapshot-2025-07-21" } @@ -556,6 +562,7 @@ "curl": "curl-8_9_1", "libxml2": "v2.11.5", "zlib": "v1.3.1", + "brotli": "v1.1.0", "mimalloc": "v3.0.3", "swift-subprocess": "development-snapshot-2025-07-21" }