@@ -2199,6 +2199,21 @@ function Build-Sanitizers([Hashtable] $Platform) {
2199
2199
})
2200
2200
}
2201
2201
2202
+ function Build-Brotli ([Hashtable ] $Platform ) {
2203
+ Build-CMakeProject `
2204
+ - Src $SourceCache \brotli `
2205
+ - Bin " $BinaryCache \$ ( $Platform.Triple ) \brotli" `
2206
+ - InstallTo " $BinaryCache \$ ( $Platform.Triple ) \usr" `
2207
+ - Platform $Platform `
2208
+ - UseMSVCCompilers C `
2209
+ - Defines @ {
2210
+ BUILD_SHARED_LIBS = " NO" ;
2211
+ CMAKE_POSITION_INDEPENDENT_CODE = " YES" ;
2212
+ CMAKE_SYSTEM_NAME = $Platform.OS.ToString ();
2213
+ }
2214
+ }
2215
+
2216
+
2202
2217
function Build-ZLib ([Hashtable ] $Platform ) {
2203
2218
Build-CMakeProject `
2204
2219
- Src $SourceCache \zlib `
@@ -2287,7 +2302,7 @@ function Build-CURL([Hashtable] $Platform) {
2287
2302
CURL_CA_BUNDLE = " none" ;
2288
2303
CURL_CA_FALLBACK = " NO" ;
2289
2304
CURL_CA_PATH = " none" ;
2290
- CURL_BROTLI = " NO " ;
2305
+ CURL_BROTLI = " YES " ;
2291
2306
CURL_DISABLE_ALTSVC = " NO" ;
2292
2307
CURL_DISABLE_AWS = " YES" ;
2293
2308
CURL_DISABLE_BASIC_AUTH = " NO" ;
@@ -2365,6 +2380,8 @@ function Build-CURL([Hashtable] $Platform) {
2365
2380
USE_WIN32_LDAP = " NO" ;
2366
2381
ZLIB_ROOT = " $BinaryCache \$ ( $Platform.Triple ) \usr" ;
2367
2382
ZLIB_LIBRARY = " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\zlibstatic.lib" ;
2383
+ BROTLIDEC_LIBRARY = " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\brotlidec.lib"
2384
+ BROTLICOMMON_LIBRARY = " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\brotlicommon.lib"
2368
2385
})
2369
2386
}
2370
2387
@@ -2776,6 +2793,17 @@ function Build-Foundation {
2776
2793
" $BinaryCache \$ ( $Platform.Triple ) \usr\lib\libz.a"
2777
2794
};
2778
2795
ZLIB_INCLUDE_DIR = " $BinaryCache \$ ( $Platform.Triple ) \usr\include" ;
2796
+ BROTLIDEC_LIBRARY = if ($Platform.OS -eq [OS ]::Windows) {
2797
+ " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\brotlidec.lib"
2798
+ } else {
2799
+ " $BinaryCache \$ ( $Platform.Triple ) \usr\lib64\brotlidec.a"
2800
+ }
2801
+ BROTLICOMMON_LIBRARY = if ($Platform.OS -eq [OS ]::Windows) {
2802
+ " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\brotlicommon.lib"
2803
+ }else {
2804
+ " $BinaryCache \$ ( $Platform.Triple ) \usr\lib64\brotlicommon.a"
2805
+ }
2806
+ DBROTLI_INCLUDE_DIR = " $BinaryCache \$ ( $Platform.Triple ) \usr\include" ;
2779
2807
dispatch_DIR = $DispatchCMakeModules ;
2780
2808
SwiftSyntax_DIR = (Get-ProjectBinaryCache $HostPlatform Compilers);
2781
2809
_SwiftFoundation_SourceDIR = " $SourceCache \swift-foundation" ;
@@ -2798,6 +2826,7 @@ function Test-Foundation {
2798
2826
$env: LIBXML_LIBRARY_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/lib"
2799
2827
$env: LIBXML_INCLUDE_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/include/libxml2"
2800
2828
$env: ZLIB_LIBRARY_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/lib"
2829
+ $env: BROTLI_LIBRARY_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/lib"
2801
2830
$env: CURL_LIBRARY_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/lib"
2802
2831
$env: CURL_INCLUDE_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/include"
2803
2832
Build-SPMProject `
@@ -2943,6 +2972,7 @@ function Build-SDK([Hashtable] $Platform, [switch] $IncludeMacros = $false) {
2943
2972
2944
2973
# Third Party Dependencies
2945
2974
Invoke-BuildStep Build-ZLib $Platform
2975
+ Invoke-BuildStep Build-Brotli $Platform
2946
2976
Invoke-BuildStep Build-XML2 $Platform
2947
2977
Invoke-BuildStep Build-CURL $Platform
2948
2978
Invoke-BuildStep Build-LLVM $Platform
0 commit comments