LuPPC/scripts/dependencies.sh

101 lines
2.0 KiB
Bash
Raw Normal View History

2016-02-13 03:28:47 +11:00
#!/bin/bash
#TOOL=arm-musl-linuxeabihf
2016-02-24 08:05:42 +11:00
TOOL=x86_64-linux-musl
OPENSSL_TARGET=linux-generic64
2016-02-13 03:28:47 +11:00
OUT=$TOOL
2016-02-24 08:05:42 +11:00
# TODO: more targets / host target
2016-02-13 03:28:47 +11:00
if [ $# -lt 1 ]
then
echo "Usage : $0 [all|arm32|x86_64|i486|x86_64-win|i686-win] <libevent|libressl>"
2016-02-13 03:28:47 +11:00
exit
fi
case "$1" in
2016-02-24 08:05:42 +11:00
all )
TARGETS=(arm32 i486 x86_64 x86_64-win i686-win)
2016-02-24 08:05:42 +11:00
for i in ${TARGETS[@]}; do
2016-02-27 05:13:43 +11:00
./$0 $i $2
2016-02-24 08:05:42 +11:00
done
;;
arm32 )
2016-02-13 03:28:47 +11:00
TOOL=arm-linux-musleabihf
OUT=$TOOL
;;
2016-02-24 08:05:42 +11:00
i486 )
TOOL=i486-linux-musl
2016-02-13 03:28:47 +11:00
OUT=$TOOL
;;
2016-02-24 08:05:42 +11:00
x86_64 )
TOOL=x86_64-linux-musl
OUT=$TOOL
2016-02-13 03:28:47 +11:00
;;
x86_64-win )
TOOL=x86_64-w64-mingw32
OUT=$TOOL
;;
i686-win )
TOOL=i686-w64-mingw32
OUT=$TOOL
;;
2016-02-13 03:28:47 +11:00
*) echo "Invalid target!" ; exit 1
;;
esac
mkdir -p dependencies
2016-02-13 07:06:56 +11:00
mkdir -p dependencies/include
mkdir -p dependencies/include-$OUT
2016-02-13 03:28:47 +11:00
rm -rf dependencies/lib-$OUT
mkdir -p dependencies/lib-$OUT
cd dependencies
2016-02-27 05:13:43 +11:00
#################
# LibreSSL
if [ $2 = "libressl" ] || [ $# -lt 2 ]; then
git clone https://github.com/libressl-portable/portable.git libressl
cd libressl
./autogen.sh
./configure --host=$TOOL
make clean
make -j8
mkdir -p ../include/openssl
mkdir -p ../include-$OUT/openssl
cp -rfv crypto/.libs/libcrypto.a ../lib-$OUT
cp -rfv ssl/.libs/libssl.a ../lib-$OUT
cp -rfv include/openssl/* ../include-$OUT/openssl
cd ..
fi
#################
# LibEvent
if [ $2 = "libevent" ] || [ $# -lt 2 ]; then
if [ ! -f "libevent-2.0.22-stable.tar.gz" ]; then
wget "https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz"
tar xzvf "libevent-2.0.22-stable.tar.gz"
fi
cd libevent-2.0.22-stable
./autogen.sh
./configure --host=$TOOL
make clean
make -j8
mkdir -p ../include/event2
mkdir -p ../include-$OUT/event2
cp -rfv include/event2/* ../include-$OUT/event2
cp -rfv .libs/libevent.a ../lib-$OUT
cp -rfv .libs/libevent_core.a ../lib-$OUT
cp -rfv .libs/libevent_extra.a ../lib-$OUT
cp -rfv .libs/libevent_pthreads.a ../lib-$OUT
fi