mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Add script to download/clone 3rd party libs
Using one script instead of having the downloads in all build.sh ensures consistency and lowers maintenance. Note: this script is not intented to be run directly, it is intented to be integrated in the various build.sh Signed-off-by: Jan Iversen <jani@apache.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
b39e7ac281
commit
2408134014
1 changed files with 196 additions and 0 deletions
196
scripts/get-dep-lib.sh
Executable file
196
scripts/get-dep-lib.sh
Executable file
|
@ -0,0 +1,196 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
|
||||
# set version of 3rd party libraries
|
||||
CURRENT_LIBZIP="1.2.0"
|
||||
CURRENT_LIBGIT2="v0.26.0"
|
||||
CURRENT_HIDAPI="hidapi-0.7.0"
|
||||
CURRENT_LIBCURL="curl-7_54_1"
|
||||
CURRENT_LIBUSB="v1.0.21"
|
||||
CURRENT_OPENSSL="OpenSSL_1_1_0f"
|
||||
CURRENT_LIBSSH2="libssh2-1.8.0"
|
||||
CURRENT_XSLT="v1.1.29"
|
||||
CURRENT_SQLITE="3190200"
|
||||
CURRENT_LIBXML2="v2.9.4"
|
||||
CURRENT_LIBFTDI="1.3"
|
||||
|
||||
|
||||
|
||||
# deal with all the command line arguments
|
||||
if [ $# -ne 2 ] ; then
|
||||
echo "wrong number of parameters, format:"
|
||||
echo "get-dep-lib <platform> <install dir>"
|
||||
echo "where platform is one of scripts, ios or android"
|
||||
echo "(the name of the directory where build.sh resides)"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
PLATFORM=$1
|
||||
INSTDIR=$2
|
||||
if [ ! -d ${INSTDIR} ] ; then
|
||||
echo "creating dir"
|
||||
mkdir -p ${INSTDIR}
|
||||
fi
|
||||
|
||||
case ${PLATFORM} in
|
||||
scripts)
|
||||
BUILD="libzip libgit2 googlemaps hidapi libcurl libusb openssl libssh2"
|
||||
;;
|
||||
ios)
|
||||
BUILD="libzip libgit2 googlemaps libxslt"
|
||||
;;
|
||||
android)
|
||||
BUILD="libzip libgit2 googlemaps libxslt sqlite libxml2 openssl libftdi libusb"
|
||||
;;
|
||||
*)
|
||||
echo "Unknown platform ${PLATFORM}, choose between native, ios or android"
|
||||
;;
|
||||
esac
|
||||
|
||||
# show what you are doing and stop when things break
|
||||
set -x
|
||||
set -e
|
||||
|
||||
# get ready to download needed sources
|
||||
cd ${INSTDIR}
|
||||
|
||||
if [[ $BUILD = *"libcurl"* ]]; then
|
||||
if [ ! -d libcurl ] ; then
|
||||
git clone https://github.com/curl/curl libcurl
|
||||
fi
|
||||
pushd libcurl
|
||||
git fetch origin
|
||||
if ! git checkout $CURRENT_LIBCURL ; then
|
||||
echo "Can't find the right tag in libcurl - giving up"
|
||||
exit -1
|
||||
fi
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ $BUILD = *"libftdi"* ]]; then
|
||||
if [ ! -d libftdi1 ] ; then
|
||||
curl -O https://www.intra2net.com/en/developer/libftdi/download/libftdi1-${CURRENT_LIBFTDI}.tar.bz2
|
||||
tar -jxf libftdi1-${CURRENT_LIBFTDI}.tar.bz2
|
||||
mv libftdi1-${CURRENT_LIBFTDI} libftdi1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $BUILD = *"libgit2"* ]]; then
|
||||
if [ ! -d libgit2 ] ; then
|
||||
git clone https://github.com/libgit2/libgit2.git
|
||||
fi
|
||||
pushd libgit2
|
||||
git fetch origin
|
||||
if ! git checkout ${CURRENT_LIBGIT2} ; then
|
||||
echo "Can't find the right tag in libgit2 - giving up"
|
||||
exit -1
|
||||
fi
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ $BUILD = *"libssh2"* ]]; then
|
||||
if [ ! -d libssh2 ] ; then
|
||||
git clone https://github.com/libssh2/libssh2
|
||||
fi
|
||||
pushd libssh2
|
||||
git fetch origin
|
||||
if ! git checkout $CURRENT_LIBSSH2 ; then
|
||||
echo "Can't find the right tag in libssh2 - giving up"
|
||||
exit -1
|
||||
fi
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ $BUILD = *"libusb"* ]]; then
|
||||
if [ ! -d libusb ] ; then
|
||||
git clone https://github.com/libusb/libusb
|
||||
fi
|
||||
pushd libusb
|
||||
git fetch origin
|
||||
if ! git checkout $CURRENT_LIBUSB ; then
|
||||
echo "Can't find the right tag in libusb - giving up"
|
||||
exit -1
|
||||
fi
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ $BUILD = *"libxml2"* ]]; then
|
||||
if [ ! -d libxml2 ] ; then
|
||||
git clone https://github.com/GNOME/libxml2.git
|
||||
fi
|
||||
pushd libxml2
|
||||
git fetch origin
|
||||
if ! git checkout $CURRENT_LIBXML2 ; then
|
||||
echo "Can't find the right tag in libxml2 - giving up"
|
||||
exit -1
|
||||
fi
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ $BUILD = *"libxslt"* ]]; then
|
||||
if [ ! -d libxslt ] ; then
|
||||
git clone https://github.com/GNOME/libxslt.git
|
||||
fi
|
||||
pushd libxslt
|
||||
git fetch origin
|
||||
if ! git checkout $CURRENT_LIBXSLT ; then
|
||||
echo "Can't find the right tag in libxslt - giving up"
|
||||
exit -1
|
||||
fi
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ $BUILD = *"libzip"* ]]; then
|
||||
if [ ! -d libzip ] ; then
|
||||
curl -O https://libzip.org/download/libzip-${CURRENT_LIBZIP}.tar.gz
|
||||
tar xzf libzip-${CURRENT_LIBZIP}.tar.gz
|
||||
mv libzip-${CURRENT_LIBZIP} libzip
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $BUILD = *"googlemaps"* ]]; then
|
||||
if [ ! -d googlemaps ] ; then
|
||||
git clone https://github.com/Subsurface-divelog/googlemaps.git
|
||||
fi
|
||||
pushd googlemaps
|
||||
git fetch origin
|
||||
git checkout master
|
||||
git pull --rebase
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ $BUILD = *"hidapi"* ]]; then
|
||||
if [ ! -d hidapi ] ; then
|
||||
git clone https://github.com/signal11/hidapi
|
||||
fi
|
||||
pushd hidapi
|
||||
git fetch origin
|
||||
if ! git checkout $CURRENT_HIDAPI ; then
|
||||
echo "Can't find the right tag in hidapi - giving up"
|
||||
exit -1
|
||||
fi
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ $BUILD = *"openssl"* ]]; then
|
||||
if [ ! -d openssl ] ; then
|
||||
git clone https://github.com/openssl/openssl
|
||||
fi
|
||||
pushd openssl
|
||||
git fetch origin
|
||||
if ! git checkout $CURRENT_OPENSSL ; then
|
||||
echo "Can't find the right tag in openssl - giving up"
|
||||
exit -1
|
||||
fi
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ $BUILD = *"sqlite"* ]]; then
|
||||
if [ ! -d sqlite ] ; then
|
||||
curl -O http://www.sqlite.org/2017/sqlite-autoconf-${CURRENT_SQLITE}.tar.gz
|
||||
tar -zxf sqlite-autoconf-${CURRENT_SQLITE}.tar.gz
|
||||
mv sqlite-autoconf-${CURRENT_SQLITE} sqlite
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 0
|
Loading…
Add table
Reference in a new issue