134 lines
2.8 KiB
Plaintext
Raw Normal View History

#!/bin/sh
set -e
unset CC
if type apt-get >/dev/null
then
sudo apt-get update
sudo apt-get install -y cmake ninja-build
fi
./autogen.sh
if [ "x$ARCH" = "xnative" ]; then
2015-09-11 08:03:56 -05:00
# test autotools
./configure
make -j 4 distcheck
2015-09-11 08:03:56 -05:00
# make distribution
make dist
tar zxvf libressl-*.tar.gz
cd libressl-*
mkdir build-static
mkdir build-shared
cd build-static
2015-09-11 08:03:56 -05:00
# test cmake and ninja
if [ `uname` = "Darwin" ]; then
2015-09-11 08:03:56 -05:00
cmake ..
2022-04-29 18:55:44 +09:00
make -j 4
2015-09-17 05:48:09 -05:00
make test
cd ../build-shared
cmake -DBUILD_SHARED_LIBS=ON ..
2022-04-29 18:55:44 +09:00
make -j 4
make test
else
2015-09-11 08:03:56 -05:00
cmake -GNinja ..
2022-04-29 18:55:44 +09:00
ninja -j 4
ninja test
cd ../build-shared
cmake -GNinja -DBUILD_SHARED_LIBS=ON ..
2022-04-29 18:55:44 +09:00
ninja -j 4
ninja test
fi
2019-01-04 01:32:22 +09:00
elif [ "x$ARCH" = "xmingw32" -o "x$ARCH" = "xmingw64" ]; then
CPU=i686
if [ "x$ARCH" = "xmingw64" ]; then
CPU=x86_64
fi
sudo apt-get install -y mingw-w64
./configure --host=$CPU-w64-mingw32
2022-04-29 18:55:44 +09:00
make -j 4
2019-01-02 05:37:08 -06:00
(
rm -fr build-static
mkdir build-static
cd build-static
cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=../scripts/$CPU-w64-mingw32.cmake ..
2022-04-29 18:55:44 +09:00
ninja -j 4
2019-01-02 05:37:08 -06:00
)
(
rm -fr build-shared
mkdir build-shared
cd build-shared
cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=../scripts/$CPU-w64-mingw32.cmake -DBUILD_SHARED_LIBS=ON ..
2022-04-29 18:55:44 +09:00
ninja -j 4
2019-01-02 05:37:08 -06:00
)
2019-01-04 01:32:22 +09:00
elif [ "x$ARCH" = "xarm32" -o "x$ARCH" = "xarm64" ]; then
sudo apt-get install -y qemu-user-static binfmt-support
2019-01-04 01:32:22 +09:00
if [ "x$ARCH" = "xarm32" ]; then
sudo apt-get install -y g++-arm-linux-gnueabihf
sudo ln -sf /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3 /lib/
./configure --host=arm-linux-gnueabihf
LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib make -j 4 check
2019-01-04 01:32:22 +09:00
else
sudo apt-get install -y g++-aarch64-linux-gnu
sudo ln -sf /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 /lib/
./configure --host=aarch64-linux-gnu
LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib make -j 4 check
2019-01-04 01:32:22 +09:00
fi
file apps/openssl/.libs/openssl
2019-01-05 16:22:24 +09:00
elif [ "x$ARCH" = "xandroid" ]; then
export TC_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake
# set target API level and architecture
2019-01-05 16:22:24 +09:00
level_arch=""
level=$MIN_NAL
while [ $level -le $MAX_NAL ]
do
level_arch="$level_arch $level;x86_64"
level_arch="$level_arch $level;x86"
level_arch="$level_arch $level;arm64-v8a"
2019-01-05 16:22:24 +09:00
level=`expr $level + 1`
done
echo "##### level_arch = $level_arch"
2019-01-05 16:22:24 +09:00
# build each API level and architecture
for la in $level_arch
do
NAL=`echo $la | cut -d ';' -f 1`
ABI=`echo $la | cut -d ';' -f 2`
echo ""
echo "##### Date: `date`, Native API level: $NAL, ABI: $ABI"
(
build_dir=build_$NAL_$ABI
2023-02-27 06:27:01 -06:00
rm -fr $build_dir include/openssl/opensslconf.h
2019-01-05 16:22:24 +09:00
mkdir $build_dir
cd $build_dir
2021-05-21 21:02:17 +09:00
cmake -GNinja -DCMAKE_MAKE_PROGRAM=ninja \
2019-01-05 16:22:24 +09:00
-DANDROID_NDK=$ANDROID_NDK_HOME \
-DCMAKE_TOOLCHAIN_FILE=$TC_FILE \
2019-01-08 00:00:31 +09:00
-DANDROID_ABI=$ABI -DANDROID_NATIVE_API_LEVEL=$NAL ..
2019-01-05 16:22:24 +09:00
2021-05-21 21:02:17 +09:00
ninja -j 4
2019-01-05 16:22:24 +09:00
echo ""
file apps/openssl/openssl
)
done
fi