1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
qTox/windows/bootstrap.sh

114 lines
3.3 KiB
Bash
Raw Normal View History

#!/bin/sh
QTOX_DIR=`pwd`/..
if [ -d $QTOX_DIR/libs ]; then
echo "Remove ./libs and redownload/recompile dependencies?"
read -p "m/a/N (missing/all/no): " yn
yn=$(echo $yn | tr "[:upper:]" "[:lower:]")
if [ "$yn" == "a" ]; then
rm -rf $QTOX_DIR/libs
elif [ "$yn" == "n" ]; then
exit 1
elif [ "$yn" != "m" ]; then
exit 1
fi
fi
mkdir -p $QTOX_DIR/libs
cd $QTOX_DIR/libs
## toxcore
if [ ! -f "libtoxcore_build_windows_x86_shared_release.zip" ]; then
wget --no-check-certificate https://build.tox.chat/view/libtoxcore/job/libtoxcore_build_windows_x86_shared_release/lastSuccessfulBuild/artifact/libtoxcore_build_windows_x86_shared_release.zip
2015-06-26 01:55:10 +08:00
rm -rf include/tox
fi
if [ ! -d "include/tox" ]; then
unzip -o libtoxcore_build_windows_x86_shared_release.zip -d ./
fi
## qrencode
if [ ! -f "qrencode-3.4.4.tar.gz" ]; then
wget https://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz
fi
if [ ! -f "qrencode-3.4.4.tar.gz" ]; then
echo "Warning: Failed to download libqrencode."
echo "Warning: This is usually due to https certificate issues."
echo
echo "Would you like to continue without verifying the certificate?"
read -p "(yes/No) y/N: " input
input=$(echo $input | tr "[:upper:]" "[:lower:]")
if [ "${input%es}" == y ]; then
wget --no-check-certificate https://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz
else
echo "Error: Could not download libqrencode."
exit 1
fi
fi
if [ ! -d "$QTOX_DIR/libs/qrencode-3.4.4" ]; then
2015-06-26 01:55:10 +08:00
tar -xvf qrencode-3.4.4.tar.gz
rm -rf lib/qrcodelib.dll
fi
if [ ! -f "lib/libqrencode.a" ]; then
pushd $QTOX_DIR/libs/qrencode-3.4.4
2015-06-26 01:55:10 +08:00
./autogen.sh
./configure --prefix=$QTOX_DIR/libs --without-tests --without-libiconv-prefix --without-tools
make
make install
popd
fi
## OpenAL
if [ ! -f "openal-soft-1.16.0.tar.bz2" ]; then
2015-06-26 01:55:10 +08:00
wget http://kcat.strangesoft.net/openal-releases/openal-soft-1.16.0.tar.bz2
rm -rf openal-soft-1.16.0
fi
if [ ! -d "openal-soft-1.16.0" ]; then
2015-06-26 01:55:10 +08:00
tar -xvf openal-soft-1.16.0.tar.bz2
rm bin/OpenAL32.dll
fi
if [ ! -f "bin/OpenAL32.dll" ]; then
2015-06-26 01:55:10 +08:00
pushd openal-soft-1.16.0/build
CFLAGS="-D_TIMESPEC_DEFINED" cmake -G "MSYS Makefiles" -DQT_QMAKE_EXECUTABLE=NOTFOUND -DCMAKE_BUILD_TYPE=Release -DALSOFT_REQUIRE_DSOUND=NO -DCMAKE_INSTALL_PREFIX=$QTOX_DIR/libs ..
2015-06-26 01:55:10 +08:00
make
make install
popd
fi
## ffmpeg
if [ ! -f "ffmpeg-2.7.tar.bz2" ]; then
2015-06-26 01:55:10 +08:00
wget http://ffmpeg.org/releases/ffmpeg-2.7.tar.bz2 -O ffmpeg-2.7.tar.bz2
rm -rf ffmpeg-2.7
fi
if [ ! -d "ffmpeg-2.7" ]; then
2015-06-26 01:55:10 +08:00
tar -xvf ffmpeg-2.7.tar.bz2
rm bin/avcodec-56.dll
pushd ffmpeg-2.7
patch -p1 < $QTOX_DIR/windows/ffmpeg-2.7-mingw.diff
popd
fi
if [ ! -f "bin/avcodec-56.dll" ]; then
2015-06-26 01:55:10 +08:00
pushd ffmpeg-2.7
./configure --target-os=mingw32 --prefix=$QTOX_DIR/libs \
--enable-memalign-hack --disable-swscale-alpha --disable-programs --disable-doc --disable-postproc \
--disable-avfilter --disable-avresample --disable-swresample --disable-protocols --disable-filters \
--disable-network --disable-muxers --disable-sdl --disable-iconv --disable-bzlib --disable-lzma \
--disable-zlib --disable-xlib --disable-encoders --enable-shared --disable-static --disable-yasm
make
make install
popd
fi
echo **Done**