@@ -2172,6 +2172,21 @@ function Build-Sanitizers([Hashtable] $Platform) {
2172
2172
}
2173
2173
}
2174
2174
2175
+ function Build-Brotli ([Hashtable ] $Platform ) {
2176
+ Build-CMakeProject `
2177
+ - Src $SourceCache \brotli `
2178
+ - Bin " $BinaryCache \$ ( $Platform.Triple ) \brotli" `
2179
+ - InstallTo " $BinaryCache \$ ( $Platform.Triple ) \usr" `
2180
+ - Platform $Platform `
2181
+ - UseMSVCCompilers C `
2182
+ - Defines @ {
2183
+ BUILD_SHARED_LIBS = " NO" ;
2184
+ CMAKE_POSITION_INDEPENDENT_CODE = " YES" ;
2185
+ CMAKE_SYSTEM_NAME = $Platform.OS.ToString ();
2186
+ }
2187
+ }
2188
+
2189
+
2175
2190
function Build-ZLib ([Hashtable ] $Platform ) {
2176
2191
Build-CMakeProject `
2177
2192
- Src $SourceCache \zlib `
@@ -2256,7 +2271,7 @@ function Build-CURL([Hashtable] $Platform) {
2256
2271
CURL_CA_BUNDLE = " none" ;
2257
2272
CURL_CA_FALLBACK = " NO" ;
2258
2273
CURL_CA_PATH = " none" ;
2259
- CURL_BROTLI = " NO " ;
2274
+ CURL_BROTLI = " YES " ;
2260
2275
CURL_DISABLE_ALTSVC = " NO" ;
2261
2276
CURL_DISABLE_AWS = " YES" ;
2262
2277
CURL_DISABLE_BASIC_AUTH = " NO" ;
@@ -2334,6 +2349,8 @@ function Build-CURL([Hashtable] $Platform) {
2334
2349
USE_WIN32_LDAP = " NO" ;
2335
2350
ZLIB_ROOT = " $BinaryCache \$ ( $Platform.Triple ) \usr" ;
2336
2351
ZLIB_LIBRARY = " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\zlibstatic.lib" ;
2352
+ BROTLIDEC_LIBRARY = " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\brotlidec.lib"
2353
+ BROTLICOMMON_LIBRARY = " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\brotlicommon.lib"
2337
2354
})
2338
2355
}
2339
2356
@@ -2723,6 +2740,17 @@ function Build-Foundation {
2723
2740
" $BinaryCache \$ ( $Platform.Triple ) \usr\lib\libz.a"
2724
2741
};
2725
2742
ZLIB_INCLUDE_DIR = " $BinaryCache \$ ( $Platform.Triple ) \usr\include" ;
2743
+ BROTLIDEC_LIBRARY = if ($Platform.OS -eq [OS ]::Windows) {
2744
+ " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\brotlidec.lib"
2745
+ } else {
2746
+ " $BinaryCache \$ ( $Platform.Triple ) \usr\lib64\brotlidec.a"
2747
+ }
2748
+ BROTLICOMMON_LIBRARY = if ($Platform.OS -eq [OS ]::Windows) {
2749
+ " $BinaryCache \$ ( $Platform.Triple ) \usr\lib\brotlicommon.lib"
2750
+ }else {
2751
+ " $BinaryCache \$ ( $Platform.Triple ) \usr\lib64\brotlicommon.a"
2752
+ }
2753
+ DBROTLI_INCLUDE_DIR = " $BinaryCache \$ ( $Platform.Triple ) \usr\include" ;
2726
2754
dispatch_DIR = $DispatchCMakeModules ;
2727
2755
SwiftSyntax_DIR = (Get-ProjectBinaryCache $HostPlatform Compilers);
2728
2756
_SwiftFoundation_SourceDIR = " $SourceCache \swift-foundation" ;
@@ -2745,6 +2773,7 @@ function Test-Foundation {
2745
2773
$env: LIBXML_LIBRARY_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/lib"
2746
2774
$env: LIBXML_INCLUDE_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/include/libxml2"
2747
2775
$env: ZLIB_LIBRARY_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/lib"
2776
+ $env: BROTLI_LIBRARY_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/lib"
2748
2777
$env: CURL_LIBRARY_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/lib"
2749
2778
$env: CURL_INCLUDE_PATH = " $BinaryCache /$ ( $Platform.Triple ) /usr/include"
2750
2779
Build-SPMProject `
@@ -2895,6 +2924,7 @@ function Build-SDK([Hashtable] $Platform, [switch] $IncludeMacros = $false) {
2895
2924
2896
2925
# Third Party Dependencies
2897
2926
Invoke-BuildStep Build-ZLib $Platform
2927
+ Invoke-BuildStep Build-Brotli $Platform
2898
2928
Invoke-BuildStep Build-XML2 $Platform
2899
2929
Invoke-BuildStep Build-CURL $Platform
2900
2930
Invoke-BuildStep Build-LLVM $Platform
0 commit comments