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