diff --git a/.azure-pipelines/build-template.yml b/.azure-pipelines/build-template.yml index 91fa098..3e6b62b 100644 --- a/.azure-pipelines/build-template.yml +++ b/.azure-pipelines/build-template.yml @@ -11,6 +11,9 @@ parameters: - name: arch type: string default: amd64 + - name: image + type: string + default: publicmirror.azurecr.io/debian:bullseye jobs: - job: @@ -18,7 +21,7 @@ jobs: timeoutInMinutes: 600 pool: ${{ parameters.pool }} container: - image: debian:bullseye + image: ${{ parameters.image }} options: "--name ci-container -v /usr/bin/docker:/tmp/docker:ro" steps: - script: | @@ -56,7 +59,7 @@ jobs: submodules: true - script: | cd src/SymCrypt - git submodule update --init -- jitterentropy-library + git submodule update --init -- 3rdparty/jitterentropy-library displayName: 'Checkout Symcrypt submodules' - script: | set -ex diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d7d8aa2..19fa8dc 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -23,3 +23,8 @@ jobs: parameters: pool: sonicbld-arm64 arch: arm64 +- template: .azure-pipelines/build-template.yml + parameters: + pool: sonicbld-armhf + arch: armhf + image: publicmirror.azurecr.io/azp-debian-armhf:bullseye diff --git a/rules/symcrypt-openssl.mk b/rules/symcrypt-openssl.mk index c10485b..42b44a0 100644 --- a/rules/symcrypt-openssl.mk +++ b/rules/symcrypt-openssl.mk @@ -1,6 +1,6 @@ # SYMCRYPT_OPENSSL -SYMCRYPT_OPENSSL_VERSION = 0.9 +SYMCRYPT_OPENSSL_VERSION = 0.10 SYMCRYPT_OPENSSL = symcrypt-openssl_$(SYMCRYPT_OPENSSL_VERSION)_$(ARCH).deb $(SYMCRYPT_OPENSSL)_SRC_PATH = $(SRC_PATH)/SymCrypt-OpenSSL-Debian $(SYMCRYPT_OPENSSL)_MAKEFILE = Makefile diff --git a/src/SymCrypt b/src/SymCrypt index 69dbff3..c55c670 160000 --- a/src/SymCrypt +++ b/src/SymCrypt @@ -1 +1 @@ -Subproject commit 69dbff3352f42bd6d47112a2223145a0e3021a9e +Subproject commit c55c670728e8e294765a593a8f8d3f3d297e8364 diff --git a/src/SymCrypt-OpenSSL b/src/SymCrypt-OpenSSL index 0d5c05d..f6ee55f 160000 --- a/src/SymCrypt-OpenSSL +++ b/src/SymCrypt-OpenSSL @@ -1 +1 @@ -Subproject commit 0d5c05dc9d15d9bf843a3b5492ec9075cef49c81 +Subproject commit f6ee55f08954ba5bd4ad0b2075daaf4f5da937d5 diff --git a/src/SymCrypt-OpenSSL-Debian/Makefile b/src/SymCrypt-OpenSSL-Debian/Makefile index 53ad625..f949326 100644 --- a/src/SymCrypt-OpenSSL-Debian/Makefile +++ b/src/SymCrypt-OpenSSL-Debian/Makefile @@ -11,15 +11,20 @@ SYMCRYPT_PACKAGE = $(BUILD_NAME)_$(SYMCRYPT_OPENSSL_VERSION)_$(ARCH).deb BUILD_ROOT_DIR = tmp/$(BUILD_NAME) CMAKE_ARCH = AMD64 +SYMCRYPT_USE_ASM = ON LIB_INSTALL_NAME = x86_64-linux-gnu ifeq ($(ARCH), arm64) CMAKE_ARCH = ARM64 LIB_INSTALL_NAME = aarch64-linux-gnu else ifeq ($(ARCH), armhf) -CMAKE_ARCH = ARMHF -LIB_INSTALL_NAME = arm-linux-gnueabihf +CMAKE_ARCH = ARM +LIB_INSTALL_NAME = arm-linux-gnueabihf +SYMCRYPT_USE_ASM = OFF +BUILD_JOBS = 1 endif +CMAKE_ARCH_LOWER = $(shell echo $(CMAKE_ARCH) | tr '[:upper:]' '[:lower:]') + INSTALL_PATH = $(BUILD_ROOT_DIR)/usr/lib/$(LIB_INSTALL_NAME) ENGINES_PATH = $(INSTALL_PATH)/engines-1.1 DEBIAN_DIR = $(BUILD_ROOT_DIR)/DEBIAN @@ -39,8 +44,12 @@ list: $(LIBSYMCRYPT): cd ../SymCrypt - cmake -S . -B bin -DSYMCRYPT_TARGET_ARCH=$(CMAKE_ARCH) -DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE) -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ - cmake --build bin -j$(BUILD_JOBS) + if [ "$(ARCH)" == "amd64" ] || [ "$(ARCH)" == "arm64" ]; then + cmake -S . -B bin -DSYMCRYPT_TARGET_ARCH=$(CMAKE_ARCH) -DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE) -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ + cmake --build bin -j$(BUILD_JOBS) + else + python3 scripts/build.py cmake --arch $(CMAKE_ARCH_LOWER) --config Release --toolchain cmake-configs/Toolchain-GCC-$(CMAKE_ARCH).cmake bin + fi mkdir -p $(DEST)/debug cp -a bin/module/generic/libsymcrypt.so* $(DEST)/ cp -a bin/module/generic/processing/libsymcrypt.so* $(DEST)/debug/