mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-20 06:19:59 +00:00
rewrote win build script and moved it to build folder
This commit is contained in:
parent
199c2cdb66
commit
1b1cfe1b92
62
build/build_mingw.cmd
Normal file
62
build/build_mingw.cmd
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal enableextensions enabledelayedexpansion
|
||||||
|
title Building i2pd
|
||||||
|
|
||||||
|
REM Copyright (c) 2013-2017, The PurpleI2P Project
|
||||||
|
REM This file is part of Purple i2pd project and licensed under BSD3
|
||||||
|
REM See full license text in LICENSE file at top of project tree
|
||||||
|
|
||||||
|
REM To use that script, you must have installed in your MSYS installation theese packages:
|
||||||
|
REM Base: git make zip
|
||||||
|
REM x86_64: mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-gcc
|
||||||
|
REM i686: mingw-w64-i686-boost mingw-w64-i686-openssl mingw-w64-i686-gcc
|
||||||
|
|
||||||
|
REM setting up variables for MSYS
|
||||||
|
REM Note: if you installed MSYS64 to different path, edit WD variable (only C:\msys64 needed to edit)!
|
||||||
|
set "WD=C:\msys64\usr\bin\"
|
||||||
|
set MSYS2_PATH_TYPE=inherit
|
||||||
|
set CHERE_INVOKING=enabled_from_arguments
|
||||||
|
set MSYSTEM=MSYS
|
||||||
|
|
||||||
|
REM detecting number of processors and subtract 1.
|
||||||
|
set /a threads=%NUMBER_OF_PROCESSORS%-1
|
||||||
|
|
||||||
|
REM we must work in root of repo
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
echo Receiving latest commit and cleaning up...
|
||||||
|
"%WD%bash" -lc "git pull && make clean" > build/build_git.log 2>&1
|
||||||
|
echo.
|
||||||
|
|
||||||
|
REM set to variable current commit hash
|
||||||
|
FOR /F "usebackq" %%a IN (`%WD%bash -lc 'git describe --tags'`) DO (
|
||||||
|
set tag=%%a
|
||||||
|
)
|
||||||
|
|
||||||
|
REM starting building
|
||||||
|
set MSYSTEM=MINGW32
|
||||||
|
set bitness=32
|
||||||
|
call :BUILDING
|
||||||
|
echo.
|
||||||
|
|
||||||
|
set MSYSTEM=MINGW64
|
||||||
|
set bitness=64
|
||||||
|
call :BUILDING
|
||||||
|
echo.
|
||||||
|
|
||||||
|
echo Build complete...
|
||||||
|
pause
|
||||||
|
exit /b 0
|
||||||
|
|
||||||
|
:BUILDING
|
||||||
|
echo Building i2pd %tag% for win%bitness%:
|
||||||
|
echo Build AVX+AESNI...
|
||||||
|
"%WD%bash" -lc "make USE_UPNP=yes USE_AVX=1 USE_AESNI=1 -j%threads% && zip -9 build/i2pd_%tag%_win%bitness%_mingw_avx_aesni.zip i2pd.exe && make clean" > build/build_win%bitness%_avx_aesni.log 2>&1
|
||||||
|
echo Build AVX...
|
||||||
|
"%WD%bash" -lc "make USE_UPNP=yes USE_AVX=1 -j%threads% && zip -9 build/i2pd_%tag%_win%bitness%_mingw_avx.zip i2pd.exe && make clean" > build/build_win%bitness%_avx.log 2>&1
|
||||||
|
echo Build AESNI...
|
||||||
|
"%WD%bash" -lc "make USE_UPNP=yes USE_AESNI=1 -j%threads% && zip -9 build/i2pd_%tag%_win%bitness%_mingw_aesni.zip i2pd.exe && make clean" > build/build_win%bitness%_aesni.log 2>&1
|
||||||
|
echo Build without extensions...
|
||||||
|
"%WD%bash" -lc "make USE_UPNP=yes -j%threads% && zip -9 build/i2pd_%tag%_win%bitness%_mingw.zip i2pd.exe && make clean" > build/build_win%bitness%.log 2>&1
|
||||||
|
|
||||||
|
:EOF
|
@ -1,25 +0,0 @@
|
|||||||
@echo off
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
title Building i2pd
|
|
||||||
|
|
||||||
set "WD=C:\msys64\usr\bin\"
|
|
||||||
set MSYS2_PATH_TYPE=inherit
|
|
||||||
set CHERE_INVOKING=enabled_from_arguments
|
|
||||||
set MSYSCON=
|
|
||||||
|
|
||||||
echo Building i2pd for win32. Press Enter after the end of compilation...
|
|
||||||
set MSYSTEM=MINGW32
|
|
||||||
set CONTITLE=MinGW x32
|
|
||||||
start "%CONTITLE%" /WAIT "%WD%bash" --login build_mingw.sh
|
|
||||||
pause > nul
|
|
||||||
|
|
||||||
echo Building i2pd for win64. Press Enter after the end of compilation...
|
|
||||||
set MSYSTEM=MINGW64
|
|
||||||
set CONTITLE=MinGW x64
|
|
||||||
start "%CONTITLE%" /WAIT "%WD%bash" --login build_mingw.sh
|
|
||||||
pause > nul
|
|
||||||
|
|
||||||
echo Build complete...
|
|
||||||
pause
|
|
||||||
exit /b 0
|
|
@ -1,88 +0,0 @@
|
|||||||
#!/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)
|
|
||||||
|
|
||||||
# Получаем количество ядер, и уменьшаем количество потоков на 1 от количества ядер (если их больше чем 1).
|
|
||||||
if [ $NUMBER_OF_PROCESSORS -ge 2 ]; then
|
|
||||||
export threads=$(( $NUMBER_OF_PROCESSORS - 1 ))
|
|
||||||
else
|
|
||||||
export threads=$NUMBER_OF_PROCESSORS
|
|
||||||
fi;
|
|
||||||
|
|
||||||
echo "Собираем i2pd ${version} (коммит ${commit}) для ${arch}.";
|
|
||||||
|
|
||||||
# Собираем приложение с разными параметрами, и архивируем в zip архивы.
|
|
||||||
echo "Сборка AVX+AESNI";
|
|
||||||
make USE_UPNP=yes USE_AVX=1 USE_AESNI=1 -j ${threads} > ${contrib}/build_${arch}_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 >> /dev/null
|
|
||||||
make clean >> /dev/null
|
|
||||||
|
|
||||||
echo "Сборка AVX";
|
|
||||||
make USE_UPNP=yes USE_AVX=1 -j ${threads} > ${contrib}/build_${arch}_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 >> /dev/null
|
|
||||||
make clean >> /dev/null
|
|
||||||
|
|
||||||
echo "Сборка AESNI";
|
|
||||||
make USE_UPNP=yes USE_AESNI=1 -j ${threads} > ${contrib}/build_${arch}_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 >> /dev/null
|
|
||||||
make clean >> /dev/null
|
|
||||||
|
|
||||||
echo "Сборка без дополнительных инструкций";
|
|
||||||
make USE_UPNP=yes -j ${threads} > ${contrib}/build_${arch}.log 2>&1
|
|
||||||
if [ "$?" != 0 ]; then
|
|
||||||
echo "Сборка не удалась. Смотрите в build.log";
|
|
||||||
exit 1;
|
|
||||||
fi;
|
|
||||||
zip -9 ${contrib}/i2pd_${version}_${commit}_${arch}_mingw.zip i2pd.exe >> /dev/null
|
|
||||||
make clean >> /dev/null
|
|
||||||
|
|
||||||
echo "Сборка i2pd ${version} для ${arch} завершена.";
|
|
||||||
exit 0;
|
|
Loading…
x
Reference in New Issue
Block a user