xref: /OK3568_Linux_fs/external/security/librkcrypto/build.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#/bin/bash
2
3set -e
4
5collect_bin()
6{
7	cp $BUILD_DIR/librkcrypto.so $TARGET_LIB_DIR
8	cp $BUILD_DIR/librkcrypto.a $TARGET_LIB_DIR
9	cp $BUILD_DIR/test/librkcrypto_test $TARGET_BIN_DIR
10	echo "copy target files to $TARGET_LIB_DIR success"
11
12	# export head files
13	cp $SCRIPT_DIR/include/rkcrypto_otp_key.h $TARGET_INCLUDE_DIR
14	cp $SCRIPT_DIR/include/rkcrypto_common.h $TARGET_INCLUDE_DIR
15	cp $SCRIPT_DIR/include/rkcrypto_core.h $TARGET_INCLUDE_DIR
16	cp $SCRIPT_DIR/include/rkcrypto_mem.h $TARGET_INCLUDE_DIR
17	echo "copy head files to $TARGET_INCLUDE_DIR success"
18}
19
20build()
21{
22	echo "build $ARM_BIT libraries and binaries"
23	TARGET_LIB_DIR=$SCRIPT_DIR/out/target/lib/$ARM_BIT/
24	TARGET_BIN_DIR=$SCRIPT_DIR/out/target/bin/$ARM_BIT/
25	TARGET_INCLUDE_DIR=$SCRIPT_DIR/out/target/include/
26	BUILD_DIR=$SCRIPT_DIR/out/build/$ARM_BIT/
27	mkdir -p $TARGET_LIB_DIR
28	mkdir -p $TARGET_BIN_DIR
29	mkdir -p $TARGET_INCLUDE_DIR
30	mkdir -p $BUILD_DIR
31	cd $BUILD_DIR
32	cmake $SCRIPT_DIR $DBUILD
33	make -j12
34}
35
36BUILD_PARA="$1"
37SCRIPT_DIR=$(pwd)
38
39TOOLCHAIN_PREBUILTS=$SCRIPT_DIR/../../../prebuilts
40TOOLCHAIN_PATH_ARM32=gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin
41TOOLCHAIN_PATH_AARCH64=gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin
42CROSS_COMPILE32=$TOOLCHAIN_PREBUILTS/$TOOLCHAIN_PATH_ARM32/arm-none-linux-gnueabihf-gcc
43CROSS_COMPILE64=$TOOLCHAIN_PREBUILTS/$TOOLCHAIN_PATH_AARCH64/aarch64-none-linux-gnu-gcc
44CROSS_COMPILE32_GXX=$TOOLCHAIN_PREBUILTS/$TOOLCHAIN_PATH_ARM32/arm-none-linux-gnueabihf-g++
45CROSS_COMPILE64_GXX=$TOOLCHAIN_PREBUILTS/$TOOLCHAIN_PATH_AARCH64/aarch64-none-linux-gnu-g++
46
47if [ $# -eq 0 ]; then
48	# build both 32-bit and 64-bit
49	DBUILD="-DCMAKE_C_COMPILER=$CROSS_COMPILE32 \
50		-DCMAKE_CXX_COMPILER=$CROSS_COMPILE32_GXX"
51	ARM_BIT="arm"
52	build
53	collect_bin
54
55	DBUILD="-DCMAKE_C_COMPILER=$CROSS_COMPILE64 \
56		-DCMAKE_CXX_COMPILER=$CROSS_COMPILE64_GXX"
57	ARM_BIT="arm64"
58	build
59	collect_bin
60else
61	if [ $BUILD_PARA == "32" ]; then
62		DBUILD="-DCMAKE_C_COMPILER=$CROSS_COMPILE32 \
63			-DCMAKE_CXX_COMPILER=$CROSS_COMPILE32_GXX"
64		ARM_BIT="arm"
65	else
66		DBUILD="-DCMAKE_C_COMPILER=$CROSS_COMPILE64 \
67			-DCMAKE_CXX_COMPILER=$CROSS_COMPILE64_GXX"
68		ARM_BIT="arm64"
69	fi
70
71	build
72	collect_bin
73fi
74