2017-03-21 12:03:31 +00:00
|
|
|
@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
|
|
|
|
|
2017-12-07 13:26:28 +00:00
|
|
|
REM To use that script, you must have installed in your MSYS installation these packages:
|
2017-03-21 12:03:31 +00:00
|
|
|
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
|
2018-06-16 07:53:25 +00:00
|
|
|
REM set MSYSTEM=MSYS
|
|
|
|
set MSYSTEM=MINGW32
|
2017-03-21 12:03:31 +00:00
|
|
|
|
2017-11-13 00:25:39 +00:00
|
|
|
set "xSH=%WD%bash -lc"
|
|
|
|
|
2018-11-06 17:04:26 +00:00
|
|
|
set "FILELIST=i2pd.exe README.txt contrib/i2pd.conf contrib/tunnels.conf contrib/certificates contrib/tunnels.d"
|
|
|
|
|
2017-03-21 12:03:31 +00:00
|
|
|
REM detecting number of processors and subtract 1.
|
|
|
|
set /a threads=%NUMBER_OF_PROCESSORS%-1
|
|
|
|
|
|
|
|
REM we must work in root of repo
|
|
|
|
cd ..
|
|
|
|
|
2017-11-13 00:25:39 +00:00
|
|
|
REM deleting old log files
|
|
|
|
del /S build_*.log >> nul
|
|
|
|
|
2017-03-21 12:03:31 +00:00
|
|
|
echo Receiving latest commit and cleaning up...
|
2017-11-13 00:25:39 +00:00
|
|
|
%xSH% "git pull && make clean" > build/build_git.log 2>&1
|
2017-03-21 12:03:31 +00:00
|
|
|
echo.
|
|
|
|
|
|
|
|
REM set to variable current commit hash
|
2017-11-13 00:25:39 +00:00
|
|
|
FOR /F "usebackq" %%a IN (`%xSH% 'git describe --tags'`) DO (
|
2017-03-21 12:03:31 +00:00
|
|
|
set tag=%%a
|
|
|
|
)
|
|
|
|
|
2017-11-13 00:25:39 +00:00
|
|
|
%xSH% "echo To use configs and certificates, move all files and certificates folder from contrib directory here. > README.txt" >> nul
|
2017-06-22 12:37:02 +00:00
|
|
|
|
2017-03-21 12:03:31 +00:00
|
|
|
REM starting building
|
|
|
|
set MSYSTEM=MINGW32
|
|
|
|
set bitness=32
|
|
|
|
call :BUILDING
|
|
|
|
echo.
|
|
|
|
|
|
|
|
set MSYSTEM=MINGW64
|
|
|
|
set bitness=64
|
|
|
|
call :BUILDING
|
|
|
|
echo.
|
|
|
|
|
2019-11-19 11:29:55 +00:00
|
|
|
REM building for WinXP
|
|
|
|
set "WD=C:\msys64-xp\usr\bin\"
|
|
|
|
set MSYSTEM=MINGW32
|
|
|
|
set bitness=32
|
|
|
|
set "xSH=%WD%bash -lc"
|
|
|
|
call :BUILDING_XP
|
|
|
|
echo.
|
|
|
|
|
2017-06-22 12:37:02 +00:00
|
|
|
del README.txt >> nul
|
|
|
|
|
2017-03-21 12:03:31 +00:00
|
|
|
echo Build complete...
|
|
|
|
pause
|
|
|
|
exit /b 0
|
|
|
|
|
|
|
|
:BUILDING
|
2018-01-30 15:09:26 +00:00
|
|
|
%xSH% "make clean" >> nul
|
2017-03-21 12:03:31 +00:00
|
|
|
echo Building i2pd %tag% for win%bitness%:
|
|
|
|
echo Build AVX+AESNI...
|
2018-11-06 17:04:26 +00:00
|
|
|
%xSH% "make DEBUG=no USE_UPNP=yes USE_AVX=1 USE_AESNI=1 -j%threads% && zip -r9 build/i2pd_%tag%_win%bitness%_mingw_avx_aesni.zip %FILELIST% && make clean" > build/build_win%bitness%_avx_aesni_%tag%.log 2>&1
|
2017-03-21 12:03:31 +00:00
|
|
|
echo Build AVX...
|
2018-11-06 17:04:26 +00:00
|
|
|
%xSH% "make DEBUG=no USE_UPNP=yes USE_AVX=1 -j%threads% && zip -r9 build/i2pd_%tag%_win%bitness%_mingw_avx.zip %FILELIST% && make clean" > build/build_win%bitness%_avx_%tag%.log 2>&1
|
2017-03-21 12:03:31 +00:00
|
|
|
echo Build AESNI...
|
2018-11-06 17:04:26 +00:00
|
|
|
%xSH% "make DEBUG=no USE_UPNP=yes USE_AESNI=1 -j%threads% && zip -r9 build/i2pd_%tag%_win%bitness%_mingw_aesni.zip %FILELIST% && make clean" > build/build_win%bitness%_aesni_%tag%.log 2>&1
|
2017-03-21 12:03:31 +00:00
|
|
|
echo Build without extensions...
|
2018-11-06 17:04:26 +00:00
|
|
|
%xSH% "make DEBUG=no USE_UPNP=yes -j%threads% && zip -r9 build/i2pd_%tag%_win%bitness%_mingw.zip %FILELIST% && make clean" > build/build_win%bitness%_%tag%.log 2>&1
|
2019-11-19 11:29:55 +00:00
|
|
|
goto EOF
|
|
|
|
|
|
|
|
:BUILDING_XP
|
|
|
|
%xSH% "make clean" >> nul
|
|
|
|
echo Building i2pd %tag% for winxp...
|
|
|
|
%xSH% "make DEBUG=no USE_UPNP=yes USE_WINXP_FLAGS=yes -j%threads% && zip -r9 build/i2pd_%tag%_winxp_mingw.zip %FILELIST% && make clean" > build/build_winxp_%tag%.log 2>&1
|
2017-03-21 12:03:31 +00:00
|
|
|
|
|
|
|
:EOF
|