mirror of
https://github.com/PurpleI2P/i2pd
synced 2024-11-10 16:10:33 +03:00
78 lines
3.1 KiB
Bash
78 lines
3.1 KiB
Bash
|
#!/bin/sh
|
|||
|
|
|||
|
# Определяем архитектуру.
|
|||
|
if [ $MSYSTEM == MINGW64 ]; then
|
|||
|
export arch="win64"
|
|||
|
elif [ $MSYSTEM == MINGW32 ]; then
|
|||
|
export arch="win32"
|
|||
|
else
|
|||
|
echo "Не могу понять, какая у вас архитектура, используемая для сборки.";
|
|||
|
echo "Вы точно запустили скрипт в оболочке MSYS2 MinGW [64/32]-bit ?";
|
|||
|
echo "Обычно его можно запустить выполнив c:\msys64\mingw64.exe или c:\msys64\mingw32.exe";
|
|||
|
exit 1;
|
|||
|
fi;
|
|||
|
|
|||
|
# Задаём переменной contrib текущий путь и переходим на уровень выше.
|
|||
|
export contrib=$PWD
|
|||
|
cd ..
|
|||
|
|
|||
|
# Очистка от предыдущей сборки (на всякий случай =) ).
|
|||
|
make clean >> /dev/null
|
|||
|
|
|||
|
# Обновляем репозиторий, и получаем хеш последнего коммита.
|
|||
|
echo "Получаем обновления из репозитория.";
|
|||
|
git pull
|
|||
|
if [ "$?" != 0 ]; then
|
|||
|
echo "Не удалось обновить локальный репозиторий.";
|
|||
|
echo "Вы точно запустили скрипт в папке репозитория?";
|
|||
|
exit 1;
|
|||
|
fi;
|
|||
|
|
|||
|
export commit=$(git rev-parse --verify HEAD | cut -c -7)
|
|||
|
if [ -z commit ]; then
|
|||
|
echo "Не удалось получить хеш последнего коммита.";
|
|||
|
echo "Вы точно запустили скрипт в папке репозитория?";
|
|||
|
exit 1;
|
|||
|
fi;
|
|||
|
|
|||
|
# Получаем версию приложения
|
|||
|
export version=$(grep -E "I2PD_VERSION_(MAJOR|MINOR|MICRO)\ " version.h | grep -oE '[^ ]+$' | tr '\n' '.'|head -c -1)
|
|||
|
|
|||
|
echo "Собираем i2pd ${version} (коммит ${commit}) для ${arch}.";
|
|||
|
|
|||
|
# Собираем приложение с разными параметрами, и архивируем в zip архивы.
|
|||
|
make USE_UPNP=yes USE_AVX=1 USE_AESNI=1 -j $NUMBER_OF_PROCESSORS > ${contrib}/build_avx_aesni.log 2>&1
|
|||
|
if [ "$?" != 0 ]; then
|
|||
|
echo "Сборка не удалась. Смотрите в build_avx_aesni.log";
|
|||
|
exit 1;
|
|||
|
fi;
|
|||
|
zip -9 ${contrib}/i2pd_${version}_${commit}_${arch}_mingw_avx_aesni.zip i2pd.exe
|
|||
|
make clean >> /dev/null
|
|||
|
|
|||
|
make USE_UPNP=yes USE_AVX=1 -j $NUMBER_OF_PROCESSORS > ${contrib}/build_avx.log 2>&1
|
|||
|
if [ "$?" != 0 ]; then
|
|||
|
echo "Сборка не удалась. Смотрите в build_avx.log.";
|
|||
|
exit 1;
|
|||
|
fi;
|
|||
|
zip -9 ${contrib}/i2pd_${version}_${commit}_${arch}_mingw_avx.zip i2pd.exe
|
|||
|
make clean >> /dev/null
|
|||
|
|
|||
|
make USE_UPNP=yes USE_AESNI=1 -j $NUMBER_OF_PROCESSORS > ${contrib}/build_aesni.log 2>&1
|
|||
|
if [ "$?" != 0 ]; then
|
|||
|
echo "Сборка не удалась. Смотрите в build_aesni.log";
|
|||
|
exit 1;
|
|||
|
fi;
|
|||
|
zip -9 ${contrib}/i2pd_${version}_${commit}_${arch}_mingw_aesni.zip i2pd.exe
|
|||
|
make clean >> /dev/null
|
|||
|
|
|||
|
make USE_UPNP=yes -j $NUMBER_OF_PROCESSORS > ${contrib}/build.log 2>&1
|
|||
|
if [ "$?" != 0 ]; then
|
|||
|
echo "Сборка не удалась. Смотрите в build.log";
|
|||
|
exit 1;
|
|||
|
fi;
|
|||
|
zip -9 ${contrib}/i2pd_${version}_${commit}_${arch}_mingw.zip i2pd.exe
|
|||
|
make clean >> /dev/null
|
|||
|
|
|||
|
echo "Сборка i2pd ${version} для ${arch} завершена.";
|
|||
|
exit 0;
|