• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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