@@ -2260,6 +2260,21 @@ function Build-Sanitizers([Hashtable] $Platform) {
2260
2260
}
2261
2261
}
2262
2262
2263
+ function Build-Brotli ([Hashtable ] $Platform ) {
2264
+ Build-CMakeProject `
2265
+ - Src $SourceCache \brotli `
2266
+ - Bin " $BinaryCache \$ ( $Platform.Triple ) \brotli" `
2267
+ - InstallTo " $BinaryCache \$ ( $Platform.Triple ) \usr" `
2268
+ - Platform $Platform `
2269
+ - UseMSVCCompilers C `
2270
+ - Defines @ {
2271
+ BUILD_SHARED_LIBS = " NO" ;
2272
+ CMAKE_POSITION_INDEPENDENT_CODE = " YES" ;
2273
+ CMAKE_SYSTEM_NAME = $Platform.OS.ToString ();
2274
+ }
2275
+ }
2276
+
2277
+
2263
2278
function Build-ZLib ([Hashtable ] $Platform ) {
2264
2279
Build-CMakeProject `
2265
2280
- Src $SourceCache \zlib `
@@ -2344,7 +2359,7 @@ function Build-CURL([Hashtable] $Platform) {
2344
2359
CURL_CA_BUNDLE = " none" ;
2345
2360
CURL_CA_FALLBACK = " NO" ;
2346
2361
CURL_CA_PATH = " none" ;
2347
- CURL_BROTLI = " NO " ;
2362
+ CURL_BROTLI = " YES " ;
2348
2363
CURL_DISABLE_ALTSVC = " NO" ;
2349
2364
CURL_DISABLE_AWS = " YES" ;
2350
2365
CURL_DISABLE_BASIC_AUTH = " NO" ;
@@ -2422,6 +2437,8 @@ function Build-CURL([Hashtable] $Platform) {
2422
2437
USE_WIN32_LDAP = " NO" ;
2423
2438
ZLIB_ROOT = " $BinaryCache \$ ( $Platform.Triple ) \usr" ;
2424
2439
ZLIB_LIBRARY = " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\zlibstatic.lib" ;
2440
+ BROTLIDEC_LIBRARY = " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\brotlidec.lib"
2441
+ BROTLICOMMON_LIBRARY = " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\brotlicommon.lib"
2425
2442
})
2426
2443
}
2427
2444
@@ -2835,6 +2852,17 @@ function Build-Foundation {
2835
2852
" $BinaryCache \$ ( $Platform.Triple ) \usr\lib\libz.a"
2836
2853
};
2837
2854
ZLIB_INCLUDE_DIR = " $BinaryCache \$ ( $Platform.Triple ) \usr\include" ;
2855
+ BROTLIDEC_LIBRARY = if ($Platform.OS -eq [OS ]::Windows) {
2856
+ " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\brotlidec.lib"
2857
+ } else {
2858
+ " $BinaryCache \$ ( $Platform.Triple ) \usr\lib64\brotlidec.a"
2859
+ }
2860
+ BROTLICOMMON_LIBRARY = if ($Platform.OS -eq [OS ]::Windows) {
2861
+ " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\brotlicommon.lib"
2862
+ }else {
2863
+ " $BinaryCache \$ ( $Platform.Triple ) \usr\lib64\brotlicommon.a"
2864
+ }
2865
+ DBROTLI_INCLUDE_DIR = " $BinaryCache \$ ( $Platform.Triple ) \usr\include" ;
2838
2866
dispatch_DIR = $DispatchCMakeModules ;
2839
2867
SwiftSyntax_DIR = (Get-ProjectBinaryCache $HostPlatform Compilers);
2840
2868
_SwiftFoundation_SourceDIR = " $SourceCache \swift-foundation" ;
@@ -2857,6 +2885,7 @@ function Test-Foundation {
2857
2885
$env: LIBXML_LIBRARY_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/lib"
2858
2886
$env: LIBXML_INCLUDE_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/include/libxml2"
2859
2887
$env: ZLIB_LIBRARY_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/lib"
2888
+ $env: BROTLI_LIBRARY_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/lib"
2860
2889
$env: CURL_LIBRARY_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/lib"
2861
2890
$env: CURL_INCLUDE_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/include"
2862
2891
Build-SPMProject `
@@ -3004,6 +3033,7 @@ function Build-SDK([Hashtable] $Platform, [switch] $IncludeMacros = $false) {
3004
3033
3005
3034
# Third Party Dependencies
3006
3035
Invoke-BuildStep Build-ZLib $Platform
3036
+ Invoke-BuildStep Build-Brotli $Platform
3007
3037
Invoke-BuildStep Build-XML2 $Platform
3008
3038
Invoke-BuildStep Build-CURL $Platform
3009
3039
Invoke-BuildStep Build-LLVM $Platform
0 commit comments