@@ -151,6 +151,10 @@ jobs:
151
151
- true
152
152
- false
153
153
library :
154
+ - name : aws-lc
155
+ version : v1.48.2
156
+ - name : aws-lc
157
+ version : vendored
154
158
- name : boringssl
155
159
version : e23fe9b6eecc10e4f9ea1f0027fea5eaee7bd6b6
156
160
- name : openssl
@@ -276,18 +280,25 @@ jobs:
276
280
url="https://boringssl.googlesource.com/boringssl/+archive/${{ matrix.library.version }}.tar.gz"
277
281
tar_flags=""
278
282
;;
283
+ "aws-lc")
284
+ url="https://github.com/aws/aws-lc/archive/refs/tags/${{ matrix.library.version }}.tar.gz"
285
+ tar_flags="--strip-components=1"
286
+ ;;
279
287
esac
280
288
281
289
case "${{ matrix.target}}" in
282
290
"x86_64-unknown-linux-gnu")
291
+ CPU=x86_64
283
292
OS_COMPILER=linux-x86_64
284
293
OS_FLAGS=""
285
294
;;
286
295
"i686-unknown-linux-gnu")
296
+ CPU=i686
287
297
OS_COMPILER=linux-elf
288
298
OS_FLAGS="-m32 -msse2"
289
299
;;
290
300
"arm-unknown-linux-gnueabihf")
301
+ CPU=armv4
291
302
OS_COMPILER=linux-armv4
292
303
OS_FLAGS=""
293
304
export AR=arm-linux-gnueabihf-ar
@@ -317,7 +328,7 @@ jobs:
317
328
cd build
318
329
319
330
echo "set(CMAKE_SYSTEM_NAME Linux)" > toolchain.cmake
320
- echo "set(CMAKE_SYSTEM_PROCESSOR $cpu )" >> toolchain.cmake
331
+ echo "set(CMAKE_SYSTEM_PROCESSOR $CPU )" >> toolchain.cmake
321
332
echo "set(triple ${{ matrix.target }})" >> toolchain.cmake
322
333
echo 'set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} '$OS_FLAGS '" CACHE STRING "c++ flags")' >> toolchain.cmake
323
334
echo 'set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} '$OS_FLAGS '" CACHE STRING "c flags")' >> toolchain.cmake
@@ -330,6 +341,22 @@ jobs:
330
341
# Copy stuff around so it's all as the build system expects.
331
342
cp -r ../rust/ "$OPENSSL_DIR/rust"
332
343
cp -r ./ "$OPENSSL_DIR/build"
344
+ ;;
345
+ "aws-lc")
346
+ mkdir build
347
+ cd build
348
+
349
+ echo "set(CMAKE_SYSTEM_NAME Linux)" > toolchain.cmake
350
+ echo "set(CMAKE_SYSTEM_PROCESSOR $CPU)" >> toolchain.cmake
351
+ echo "set(triple ${{ matrix.target }})" >> toolchain.cmake
352
+ echo 'set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} '$OS_FLAGS '" CACHE STRING "c++ flags")' >> toolchain.cmake
353
+ echo 'set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} '$OS_FLAGS '" CACHE STRING "c flags")' >> toolchain.cmake
354
+ echo 'set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} '$OS_FLAGS '" CACHE STRING "asm flags")' >> toolchain.cmake
355
+
356
+ cmake .. -DCMAKE_INSTALL_PREFIX="${OPENSSL_DIR}" -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake
357
+ make -j "$(nproc)"
358
+ make install
359
+ ;;
333
360
esac
334
361
335
362
if : matrix.library.version != 'vendored' && !steps.openssl-cache.outputs.cache-hit
@@ -359,19 +386,23 @@ jobs:
359
386
if [[ "${{ matrix.library.version }}" == "vendored" ]]; then
360
387
features="--features vendored"
361
388
fi
362
- if [[ "${{ matrix.bindgen }}" == "true" && "${{ matrix.library.name }}" != "boringssl" ]]; then
389
+ if [[ "${{ matrix.bindgen }}" == "true" ]]; then
363
390
features="$features --features bindgen"
364
391
fi
365
392
cargo run --manifest-path=systest/Cargo.toml --target ${{ matrix.target }} $features
366
- if : matrix.library.name != 'boringssl'
393
+ if : ${{ !( matrix.library.name == 'boringssl' || matrix.library.name == 'aws-lc') }}
367
394
- name : Test openssl
368
395
run : |
369
396
if [[ "${{ matrix.library.name }}" == "boringssl" && "${{ matrix.bindgen }}" != "true" ]]; then
370
397
features="--features unstable_boringssl"
371
398
BORINGSSL_BUILD_DIR="$OPENSSL_DIR/build/"
372
399
fi
373
400
if [[ "${{ matrix.library.version }}" == "vendored" ]]; then
374
- features="--features vendored"
401
+ if [[ "${{ matrix.library.name }}" == "aws-lc" ]]; then
402
+ features="--features aws-lc"
403
+ else
404
+ features="--features vendored"
405
+ fi
375
406
fi
376
407
if [[ "${{ matrix.bindgen }}" == "true" ]]; then
377
408
features="$features --features bindgen"
@@ -386,4 +417,4 @@ jobs:
386
417
features="$features --features openssl-sys/bindgen"
387
418
fi
388
419
cargo test --manifest-path=openssl-errors/Cargo.toml --target ${{ matrix.target }} $features
389
- if : matrix.library.name != 'boringssl'
420
+ if : ${{ !( matrix.library.name == 'boringssl' || matrix.library.name == 'aws-lc') }}
0 commit comments