43
43
required : true
44
44
type : string
45
45
46
+ libxml2_version :
47
+ required : true
48
+ type : string
49
+
46
50
llvm_project_revision :
47
51
required : true
48
52
type : string
@@ -1215,69 +1219,11 @@ jobs:
1215
1219
path : ${{ github.workspace }}/BuildRoot/Library/curl-${{ inputs.curl_version }}/usr
1216
1220
1217
1221
libxml2 :
1218
- # TODO: Build this on macOS or make an equivalent Mac-only job
1219
- if : inputs.build_os == 'Windows'
1220
1222
runs-on : ${{ inputs.default_build_runner }}
1221
1223
1222
1224
strategy :
1223
1225
fail-fast : false
1224
- matrix :
1225
- include :
1226
- - arch : amd64
1227
- cc : cl
1228
- cflags : ${{ inputs.WINDOWS_CMAKE_C_FLAGS }}
1229
- cxx : cl
1230
- cxxflags : ${{ inputs.WINDOWS_CMAKE_CXX_FLAGS }}
1231
- os : Windows
1232
- extra_flags :
1233
-
1234
- - arch : arm64
1235
- cc : cl
1236
- cflags : ${{ inputs.WINDOWS_CMAKE_C_FLAGS }}
1237
- cxx : cl
1238
- cxxflags : ${{ inputs.WINDOWS_CMAKE_CXX_FLAGS }}
1239
- os : Windows
1240
- extra_flags :
1241
-
1242
- - arch : x86
1243
- cc : cl
1244
- cflags : ${{ inputs.WINDOWS_CMAKE_C_FLAGS }}
1245
- cxx : cl
1246
- cxxflags : ${{ inputs.WINDOWS_CMAKE_CXX_FLAGS }}
1247
- os : Windows
1248
- extra_flags :
1249
-
1250
- - arch : arm64
1251
- cc : clang
1252
- cflags : ${{ inputs.ANDROID_CMAKE_C_FLAGS }}
1253
- cxx : clang++
1254
- cxxflags : ${{ inputs.ANDROID_CMAKE_CXX_FLAGS }}
1255
- os : Android
1256
- extra_flags : -DCMAKE_ANDROID_API=${{ inputs.ANDROID_API_LEVEL }} -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a
1257
-
1258
- - arch : armv7
1259
- cc : clang
1260
- cflags : ${{ inputs.ANDROID_CMAKE_C_FLAGS }}
1261
- cxx : clang++
1262
- cxxflags : ${{ inputs.ANDROID_CMAKE_CXX_FLAGS }}
1263
- os : Android
1264
- extra_flags : -DCMAKE_ANDROID_API=${{ inputs.ANDROID_API_LEVEL }} -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a
1265
-
1266
- - arch : i686
1267
- cc : clang
1268
- cflags : ${{ inputs.ANDROID_CMAKE_C_FLAGS }}
1269
- cxx : clang++
1270
- cxxflags : ${{ inputs.ANDROID_CMAKE_CXX_FLAGS }}
1271
- os : Android
1272
- extra_flags : -DCMAKE_ANDROID_API=${{ inputs.ANDROID_API_LEVEL }} -DCMAKE_ANDROID_ARCH_ABI=x86
1273
-
1274
- - arch : x86_64
1275
- cc : clang
1276
- cflags : ${{ inputs.ANDROID_CMAKE_C_FLAGS }}
1277
- cxx : clang++
1278
- cxxflags : ${{ inputs.ANDROID_CMAKE_CXX_FLAGS }}
1279
- os : Android
1280
- extra_flags : -DCMAKE_ANDROID_API=${{ inputs.ANDROID_API_LEVEL }} -DCMAKE_ANDROID_ARCH_ABI=x86_64
1226
+ matrix : ${{ fromJSON(inputs.target_matrix) }}
1281
1227
1282
1228
name : ${{ matrix.os }} ${{ matrix.arch }} libxml2
1283
1229
@@ -1295,6 +1241,9 @@ jobs:
1295
1241
components : ' Microsoft.VisualStudio.Component.VC.Tools.x86.x64;Microsoft.VisualStudio.Component.VC.Tools.ARM64'
1296
1242
arch : ${{ matrix.arch }}
1297
1243
1244
+ - uses : seanmiddleditch/gha-setup-ninja@master
1245
+ if : inputs.build_os == 'Darwin'
1246
+
1298
1247
- name : Compute workspace hash
1299
1248
id : workspace_hash
1300
1249
shell : pwsh
@@ -1321,8 +1270,11 @@ jobs:
1321
1270
1322
1271
- name : Configure libxml2
1323
1272
run : |
1324
- $NDKPATH = cygpath -m ${{ steps.setup-ndk.outputs.ndk-path }}
1325
- cmake -B ${{ github.workspace }}/BinaryCache/libxml2-2.11.5 `
1273
+ $NDKPATH = "${{ steps.setup-ndk.outputs.ndk-path }}"
1274
+ if ( "${{ inputs.build_os }}" -eq "Windows" ) {
1275
+ $NDKPATH = cygpath -m $NDKPATH
1276
+ }
1277
+ cmake -B ${{ github.workspace }}/BinaryCache/libxml2-${{ inputs.libxml2_version }} `
1326
1278
-D BUILD_SHARED_LIBS=NO `
1327
1279
-D CMAKE_BUILD_TYPE=Release `
1328
1280
-D CMAKE_C_COMPILER=${{ matrix.cc }} `
@@ -1332,7 +1284,7 @@ jobs:
1332
1284
-D CMAKE_CXX_COMPILER_LAUNCHER=sccache `
1333
1285
-D CMAKE_CXX_FLAGS="${{ matrix.cxxflags }}" `
1334
1286
-D CMAKE_MT=mt `
1335
- -D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/BuildRoot/Library/libxml2-2.11.5 /usr `
1287
+ -D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/BuildRoot/Library/libxml2-${{ inputs.libxml2_version }} /usr `
1336
1288
-D CMAKE_SYSTEM_NAME=${{ matrix.os }} `
1337
1289
${{ matrix.extra_flags }} `
1338
1290
-G Ninja `
@@ -1347,14 +1299,14 @@ jobs:
1347
1299
-D CMAKE_POSITION_INDEPENDENT_CODE=YES `
1348
1300
-D CMAKE_ANDROID_NDK=$NDKPATH
1349
1301
- name : Build libxml2
1350
- run : cmake --build ${{ github.workspace }}/BinaryCache/libxml2-2.11.5
1302
+ run : cmake --build ${{ github.workspace }}/BinaryCache/libxml2-${{ inputs.libxml2_version }}
1351
1303
- name : Install libxml2
1352
- run : cmake --build ${{ github.workspace }}/BinaryCache/libxml2-2.11.5 --target install
1304
+ run : cmake --build ${{ github.workspace }}/BinaryCache/libxml2-${{ inputs.libxml2_version }} --target install
1353
1305
1354
1306
- uses : actions/upload-artifact@v4
1355
1307
with :
1356
- name : libxml2-${{ matrix.os }}-${{ matrix.arch }}-2.11.5
1357
- path : ${{ github.workspace }}/BuildRoot/Library/libxml2-2.11.5 /usr
1308
+ name : libxml2-${{ matrix.os }}-${{ matrix.arch }}-${{ inputs.libxml2_version }}
1309
+ path : ${{ github.workspace }}/BuildRoot/Library/libxml2-${{ inputs.libxml2_version }} /usr
1358
1310
1359
1311
stdlib :
1360
1312
# TODO: Build this on macOS or make an equivalent Mac-only job
@@ -1906,8 +1858,8 @@ jobs:
1906
1858
steps :
1907
1859
- uses : actions/download-artifact@v4
1908
1860
with :
1909
- name : libxml2-${{ matrix.os }}-${{ matrix.arch }}-2.11.5
1910
- path : ${{ github.workspace }}/BuildRoot/Library/libxml2-2.11.5 /usr
1861
+ name : libxml2-${{ matrix.os }}-${{ matrix.arch }}-${{ inputs.libxml2_version }}
1862
+ path : ${{ github.workspace }}/BuildRoot/Library/libxml2-${{ inputs.libxml2_version }} /usr
1911
1863
- uses : actions/download-artifact@v4
1912
1864
with :
1913
1865
name : curl-${{ matrix.os }}-${{ matrix.arch }}-${{ inputs.curl_version }}
@@ -2135,8 +2087,8 @@ jobs:
2135
2087
-D _SwiftFoundationICU_SourceDIR=$SWIFT_FOUNDATION_ICU_SOURCE_DIR `
2136
2088
-D _SwiftCollections_SourceDIR=$SWIFT_COLLECTIONS_SOURCE_DIR `
2137
2089
-D LIBXML2_DEFINITIONS="${DEFINITION_FLAG}LIBXML_STATIC" `
2138
- -D LIBXML2_INCLUDE_DIR=${{ github.workspace }}/BuildRoot/Library/libxml2-2.11.5 /usr/include/libxml2 `
2139
- -D LIBXML2_LIBRARY=${{ github.workspace }}/BuildRoot/Library/libxml2-2.11.5 /usr/lib/$LIBXML `
2090
+ -D LIBXML2_INCLUDE_DIR=${{ github.workspace }}/BuildRoot/Library/libxml2-${{ inputs.libxml2_version }} /usr/include/libxml2 `
2091
+ -D LIBXML2_LIBRARY=${{ github.workspace }}/BuildRoot/Library/libxml2-${{ inputs.libxml2_version }} /usr/lib/$LIBXML `
2140
2092
-D ZLIB_ROOT=${{ github.workspace }}/BuildRoot/Library/zlib-${{ inputs.zlib_version }}/usr `
2141
2093
-D ZLIB_LIBRARY=${{ github.workspace }}/BuildRoot/Library/zlib-${{ inputs.zlib_version }}/usr/lib/$LIBZ `
2142
2094
-D SwiftFoundation_MACRO=${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin
0 commit comments