1#!/bin/bash 2# Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved. 3# Description: This script is used to generate .S files. 4# Create: 2020-05-30 5 6set -e 7 8error() 9{ 10 echo =========================================== 11 echo Create asm file FAIL! 12 echo =========================================== 13 exit 1 14} 15 16success() 17{ 18 echo =========================================== 19 echo Create asm file Sucess! 20 echo =========================================== 21 exit 0 22} 23 24rm -rf crypto/aes/asm/arm32 25rm -rf crypto/modes/asm/arm32 26mkdir crypto/aes/asm/arm32 27mkdir crypto/modes/asm/arm32 28# for arm32: 29perl crypto/aes/asm/aes-armv4.pl void crypto/aes/asm/arm32/aes-armv4.S 30perl crypto/aes/asm/aesv8-armx.pl void crypto/aes/asm/arm32/aesv8-armx.S 31perl crypto/aes/asm/bsaes-armv7.pl void crypto/aes/asm/arm32/bsaes-armv7.S 32perl crypto/armv4cpuid.pl void crypto/armv4cpuid.S 33perl crypto/bn/asm/armv4-gf2m.pl void crypto/bn/armv4-gf2m.S 34perl crypto/bn/asm/armv4-mont.pl void crypto/bn/armv4-mont.S 35perl crypto/chacha/asm/chacha-armv4.pl void crypto/chacha/chacha-armv4.S 36perl crypto/ec/asm/ecp_nistz256-armv4.pl void crypto/ec/ecp_nistz256-armv4.S 37perl crypto/modes/asm/ghash-armv4.pl void crypto/modes/asm/arm32/ghash-armv4.S 38perl crypto/modes/asm/ghashv8-armx.pl void crypto/modes/asm/arm32/ghashv8-armx.S 39perl crypto/poly1305/asm/poly1305-armv4.pl void crypto/poly1305/poly1305-armv4.S 40perl crypto/sha/asm/keccak1600-armv4.pl void crypto/sha/keccak1600-armv4.S 41perl crypto/sha/asm/sha1-armv4-large.pl void crypto/sha/sha1-armv4-large.S 42perl crypto/sha/asm/sha256-armv4.pl void crypto/sha/sha256-armv4.S 43perl crypto/sha/asm/sha512-armv4.pl void crypto/sha/sha512-armv4.S 44 45rm -rf crypto/aes/asm/arm64 46rm -rf crypto/modes/asm/arm64 47mkdir crypto/aes/asm/arm64 48mkdir crypto/modes/asm/arm64 49# for arm64: 50perl crypto/aes/asm/aesv8-armx.pl linux64 crypto/aes/asm/arm64/aesv8-armx.S 51perl crypto/aes/asm/vpaes-armv8.pl linux64 crypto/aes/asm/arm64/vpaes-armv8.S 52perl crypto/arm64cpuid.pl linux64 crypto/arm64cpuid.S 53perl crypto/bn/asm/armv8-mont.pl linux64 crypto/bn/armv8-mont.S 54perl crypto/chacha/asm/chacha-armv8.pl linux64 crypto/chacha/chacha-armv8.S 55perl crypto/ec/asm/ecp_nistz256-armv8.pl linux64 crypto/ec/ecp_nistz256-armv8.S 56perl crypto/modes/asm/ghashv8-armx.pl linux64 crypto/modes/asm/arm64/ghashv8-armx.S 57perl crypto/poly1305/asm/poly1305-armv8.pl linux64 crypto/poly1305/poly1305-armv8.S 58perl crypto/sha/asm/keccak1600-armv8.pl linux64 crypto/sha/keccak1600-armv8.S 59perl crypto/sha/asm/sha1-armv8.pl linux64 crypto/sha/sha1-armv8.S 60perl crypto/sha/asm/sha512-armv8.pl linux64 crypto/sha/sha256-armv8.S 61perl crypto/sha/asm/sha512-armv8.pl linux64 crypto/sha/sha512-armv8.S 62if [ $? -ne 0 ]; then 63 error 64else 65 success 66fi