- @echo off
- :start
- cls
- echo ---------------- BUILD SCRIPT ----------------
- echo ADCH++ Batch Build Script Version 0.1.7
- echo ---------------- BUILD SCRIPT ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- echo 1 Get Source
- echo 2 Compile Source (default)
- echo 3 Run diagnostics
- echo 4 Revert to another revision
- choice /T 20 /C 1234 /CS /D 2
- if errorlevel 4 goto load_revert_settings
- if errorlevel 3 goto diagnostics
- if errorlevel 2 goto load_compile_settings
- if errorlevel 1 goto get_src
- :load_compile_settings
- echo Loading settings
- rem ---------------- CONFIGURATION ----------------
- set root=F:\dcdev_stuff\bzr\
- set zip=%PROGRAMFILES%\7-Zip\7z.exe
- set adchpp=F:\dcdev_stuff\bzr\adchpp\
- set nightly_builds=F:\dcdev_stuff\bzr\nightly_builder\
- set build=F:\dcdev_stuff\bzr\adchpp\build\
- set export_dir=F:\dcdev_stuff\shared\adchpp\nightly_builds\
- set clogs=F:\dcdev_stuff\compile_logs\adchpp\
- rem ---------------- CONFIGURATION ----------------
- goto compile_source
- :load_revert_settings
- echo Loading settings
- rem ---------------- CONFIGURATION ----------------
- set adchpp=F:\dcdev_stuff\bzr\adchpp\
- rem ---------------- CONFIGURATION ----------------
- goto revert_bzr
- :compile_source
- echo Checking for updates
- cd %adchpp%
- call bzr pull lp:adchpp
- call bzr revno > ..\bzr-revno.txt
- set /p adchpp-revno= < ..\bzr-revno.txt
- del %root%bzr-revno.txt
- cls
- echo reversion number: %adchpp-revno%
- echo Continue with compile ?
- echo 1 Yes (Default)
- echo 2 No
- choice /T 20 /C 12 /CS /D 1
- if errorlevel 2 goto end
- if errorlevel 1 goto continue
- :continue
- echo beginning compiling script
- :cdocs
- echo on
- call scons docs=1 > %clogs%docs_rev%adchpp-revno%.log
- if errorlevel 1 goto docs_fail
- del /Q %clogs%docs_rev%adchpp-revno%.log
- :cmingw_debug
- echo on
- call scons > %clogs%mingw_debug_log_rev%adchpp-revno%.log
- if errorlevel 1 goto mingw_default_fail
- del /Q %clogs%mingw_debug_log_rev%adchpp-revno%.log
- :cmingw_release
- echo on
- call scons mode=release > %clogs%mingw_release_log_rev%adchpp-revno%.log
- if errorlevel 1 goto mingw_release_fail
- del /Q %clogs%mingw_release_log_rev%adchpp-revno%.log
- :cmmsvc_86_debug
- echo on
- call scons tools=default> %clogs%msvc_debug_86_log_rev%adchpp-revno%.log
- if errorlevel 1 goto msvc_86_debug_fail
- del /Q %clogs%msvc_debug_86_log_rev%adchpp-revno%.log
- :cmmsvc_86_release
- echo on
- call scons tools=default mode=release> %clogs%msvc_release_86_log_rev%adchpp-revno%.log
- if errorlevel 1 goto msvc_86_release_fail
- del /Q %clogs%msvc_release_86_log_rev%adchpp-revno%.log
- :cmmsvc_64_debug
- echo on
- call scons tools=default arch=x64> %clogs%msvc_debug_64_log_rev%adchpp-revno%.log
- if errorlevel 1 goto msvc_64_debug_fail
- del /Q %clogs%msvc_debug_64_log_rev%adchpp-revno%.log
- :cmmsvc_64_release
- echo on
- call scons tools=default mode=release arch=x64> %clogs%msvc_release_64_log_rev%adchpp-revno%.log
- if errorlevel 1 goto msvc_64_release_fail
- del /Q %clogs%msvc_release_64_log_rev%adchpp-revno%.log
- :compile_done
- @echo off
- cls
- echo removing unnessary files and copying nessary files and stripping executables
- cd %build%debug-default\bin\
- del /S *.exp /Q
- del /S *.lib /Q
- cd %build%release-default\bin\
- del /S *.exp /Q
- del /S *.lib /Q
- cd %build%debug-default-x64\bin\
- del /S *.exp /Q
- del /S *.lib /Q
- cd %build%release-default-x64\bin\
- del /S *.exp /Q
- del /S *.lib /Q
- cd %adchpp%
- cls
- copy changelog.txt %build%debug-mingw\bin\
- copy changelog.txt %build%release-mingw\bin\
- copy changelog.txt %build%debug-default\bin\
- copy changelog.txt %build%release-default\bin\
- copy changelog.txt %build%debug-default-x64\bin\
- copy changelog.txt %build%release-default-x64\bin\
- copy License.txt %build%debug-mingw\bin\
- copy License.txt %build%release-mingw\bin\
- copy License.txt %build%debug-default\bin\
- copy License.txt %build%release-default\bin\
- copy License.txt %build%debug-default-x64\bin\
- copy License.txt %build%release-default-x64\bin\
- copy adchppboot.xml %build%debug-mingw\bin\
- copy adchppboot.xml %build%release-mingw\bin\
- copy adchppboot.xml %build%debug-default\bin\
- copy adchppboot.xml %build%release-default\bin\
- copy adchppboot.xml %build%debug-default-x64\bin\
- copy adchppboot.xml %build%release-default-x64\bin\
- copy LICENSE-GeoIP.txt %build%debug-mingw\bin\
- copy LICENSE-GeoIP.txt %build%release-mingw\bin\
- copy LICENSE-GeoIP.txt %build%debug-default\bin\
- copy LICENSE-GeoIP.txt %build%release-default\bin\
- copy LICENSE-GeoIP.txt %build%debug-default-x64\bin\
- copy LICENSE-GeoIP.txt %build%release-default-x64\bin\
- copy LICENSE-OpenSSL.txt %build%debug-mingw\bin\
- copy LICENSE-OpenSSL.txt %build%release-mingw\bin\
- copy LICENSE-OpenSSL.txt %build%debug-default\bin\
- copy LICENSE-OpenSSL.txt %build%release-default\bin\
- copy LICENSE-OpenSSL.txt %build%debug-default-x64\bin\
- copy LICENSE-OpenSSL.txt %build%release-default-x64\bin\
- copy mingwm10.dll %build%debug-mingw\bin\
- copy mingwm10.dll %build%release-mingw\bin\
- copy GeoIPCountryWhois.csv %build%debug-mingw\bin\
- copy GeoIPCountryWhois.csv %build%release-mingw\bin\
- copy GeoIPCountryWhois.csv %build%debug-default\bin\
- copy GeoIPCountryWhois.csv %build%release-default\bin\
- copy GeoIPCountryWhois.csv %build%debug-default-x64\bin\
- copy GeoIPCountryWhois.csv %build%release-default-x64\bin\
- cd %nightly_builds%
- copy *.url %build%debug-default\bin\
- copy *.url %build%release-default\bin\
- copy *.url %build%debug-default-x64\bin\
- copy *.url %build%release-default-x64\bin\
- if not exist "%zip%" (
- echo 7zip isnt found make sure path is correct, exiting...
- pause
- exit
- )
- echo 7zip is found going ahead with compression for the builds
- echo compressing adchpp into archives
- :zip_mingw_debug
- cd %build%debug-mingw\bin\
- call "%zip%" a adchpp_rev_%adchpp-revno%_mingw_debug_version.zip
- if errorlevel 1 goto zip_mingw_debug_fail
- cd %export_dir%mingw_builds\
- mkdir %adchpp-revno%
- cd %build%debug-mingw\bin\
- copy *.zip "%export_dir%mingw_builds\%adchpp-revno%"
- :zip_mingw_release
- cd %build%release-mingw\bin\
- call "%zip%" a adchpp_rev_%adchpp-revno%_mingw_release_version.zip
- if errorlevel 1 goto zip_mingw_release_fail
- cd %export_dir%mingw_builds\
- mkdir %adchpp-revno%
- cd %build%release-mingw\bin\
- copy *.zip "%export_dir%mingw_builds\%adchpp-revno%"
- :zip_msvc_86_debug
- cd %build%debug-default\bin\
- call "%zip%" a adchpp_rev_%adchpp-revno%_msvc_debug_x86_version.zip
- if errorlevel 1 goto zip_msvc_86_debug_fail
- cd %export_dir%msvc_builds\
- mkdir %adchpp-revno%
- cd %build%debug-default\bin\
- copy *.zip "%export_dir%msvc_builds\%adchpp-revno%"
- :zip_msvc_86_release
- cd %build%release-default\bin\
- call "%zip%" a adchpp_rev_%adchpp-revno%_msvc_release_x86_version.zip
- if errorlevel 1 goto zip_msvc_86_release_fail
- cd %export_dir%msvc_builds\
- mkdir %adchpp-revno%
- cd %build%release-default\bin\
- copy *.zip "%export_dir%msvc_builds\%adchpp-revno%"
- :zip_msvc_64_debug
- cd %build%debug-default-x64\bin\
- call "%zip%" a adchpp_rev_%adchpp-revno%_msvc_debug_x64_version.zip
- if errorlevel 1 goto zip_msvc_64_debug_fail
- cd %export_dir%msvc_builds\
- mkdir %adchpp-revno%
- cd %build%debug-default-x64\bin\
- copy *.zip "%export_dir%msvc_builds\%adchpp-revno%"
- :zip_msvc_64_release
- cd %build%release-default-x64\bin\
- call "%zip%" a adchpp_rev_%adchpp-revno%_msvc_release_x64_version.zip
- if errorlevel 1 goto zip_msvc_64_release_fail
- cd %export_dir%msvc_builds\
- mkdir %adchpp-revno%
- cd %build%release-default-x64\bin\
- copy *.zip "%export_dir%msvc_builds\%adchpp-revno%"
- :zip_source
- cd %adchpp%
- echo compressing source
- call bzr export adchpp_rev_%adchpp-revno%_source.tar.gz
- if errorlevel 1 goto zip_source_fail
- cd %export_dir%source\
- mkdir %adchpp-revno%
- cd %adchpp%
- copy adchpp_rev_%adchpp-revno%_source.tar.gz "%export_dir%source\%adchpp-revno%"
- :zip_done
- :ftp_again
- cls
- call ftp.exe -s:%root%adchpp_login.ftp
- if errorlevel 1 goto ftp_fail
- :ftp_skip
- echo removing builds builds for adchpp
- del /Q adchpp_rev_%adchpp-revno%_source.tar.gz
- del /Q .sconsign.dblite
- del /Q vc90.pdb
- cd %build%
- del /S *.* /Q
- goto end
- :get_src
- cls
- call bzr branch lp:adchpp
- echo ---------------- SOURCE FETCHED ----------------
- echo 1 Back to main meny (Default)
- echo 2 Quit
- echo ---------------- SOURCE FETCHED ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 1
- if errorlevel 2 goto end
- if errorlevel 1 goto start
- :revert_bzr
- cd %adchpp%
- echo Choose a reversion to revert to
- set /P adchpp-revno=
- echo Reverting to revision: %adchpp-revno%
- call bzr revert %adchpp-revno%
- if errorlevel 1 goto revert_fail
- echo ---------------- BZR REVERTED ----------------
- echo 1 Back to main meny (Default)
- echo 2 Quit
- echo ---------------- SOURCE FETCHED ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 1
- if errorlevel 2 goto end
- if errorlevel 1 goto start
- :revert_fail
- echo reverting failed
- pause
- goto start
- :diagnostics
- cls
- :call_scons
- call scons --version
- if errorlevel 1 goto scons_failed
- :call_bzr
- call bzr --version
- if errorlevel 1 goto bzr_failed
- :call_strip
- call strip --version
- if errorlevel 1 goto strip_failed
- :call_python
- call python --version
- if errorlevel 1 goto python_failed
- :call_gcc
- call gcc --version
- if errorlevel 1 goto strip_failed
- echo ---------------- DIAG TEST ----------------
- echo ALL DIAGNOSTIC TEST PASSED
- echo ---------------- DIAG TEST ----------------
- pause
- goto start
- rem ---------------- Error Messages ----------------
- :call gcc
- echo ---------------- GCC FAIL ----------------
- echo 1 Try again
- echo 2 Quit
- echo ---------------- GCC FAIL ----------------
- echo Choose an option
- choice /C 12
- if errorlevel 2 goto end
- if errorlevel 1 goto call_gcc
- :python_failed
- echo ---------------- PYTHON FAIL ----------------
- echo 1 Try again
- echo 2 Quit
- echo ---------------- PYTHON FAIL ----------------
- echo Choose an option
- choice /C 12
- if errorlevel 2 goto end
- if errorlevel 1 goto call_python
- :scons_failed
- echo ---------------- SCONS FAIL ----------------
- echo 1 Try again
- echo 2 Quit
- echo ---------------- SCONS FAIL ----------------
- echo Choose an option
- choice /C 12
- if errorlevel 2 goto end
- if errorlevel 1 goto call_scons
- :bzr_failed
- echo ---------------- BZR FAIL ----------------
- echo 1 Try again
- echo 2 Quit
- echo ---------------- BZR FAIL ----------------
- echo Choose an option
- choice /C 12
- if errorlevel 2 goto end
- if errorlevel 1 goto call_bzr
- :strip_failed
- echo ---------------- STRIP FAIL ----------------
- echo 1 Try again
- echo 2 Quit
- echo ---------------- STRIP FAIL ----------------
- echo Choose an option
- choice /C 12
- if errorlevel 2 goto end
- if errorlevel 1 goto call_strip
- :strip_mingw_default
- cls
- echo ---------------- STRIP ERROR ----------------
- echo 1 Try again
- echo 2 Move on to next file (Default)
- echo ---------------- STRIP ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto smingw_release
- if errorlevel 1 goto smingw_debug
- :strip_mingw_release
- cls
- echo ---------------- STRIP ERROR ----------------
- echo 1 Try again
- echo 2 Move on to next file (Default)
- echo ---------------- STRIP ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto strip_done
- if errorlevel 1 goto smingw_release
- :cdocs_fail
- cls
- echo making docs has failed a log has been saved in:
- echo %clogs%
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Move on to next compile (Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto cmingw_debug
- if errorlevel 1 goto cdocs
- :mingw_default_fail
- cls
- echo compiling mingw default version has failed a log has been saved in:
- echo %clogs%
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Move on to next compile (Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto cmingw_release
- if errorlevel 1 goto cmingw_debug
- :mingw_release_fail
- cls
- echo compiling mingw release version has failed a log has been saved in:
- echo %clogs%
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Move on to next compile (Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto cmmsvc_86_debug
- if errorlevel 1 goto cmingw_release
- :msvc_86_debug_fail
- cls
- echo compiling msvc x86 debug version has failed a log has been saved in:
- echo %clogs%
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Move on to next compile (Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto cmmsvc_86_release
- if errorlevel 1 goto cmmsvc_86_debug
- :msvc_86_release_fail
- cls
- echo compiling msvc x86 release version has failed a log has been saved in:
- echo %clogs%
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Move on to next compile (Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto cmmsvc_64_debug
- if errorlevel 1 goto cmmsvc_86_release
- :msvc_64_debug_fail
- cls
- echo compiling msvc x64 debug version has failed a log has been saved in:
- echo %clogs%
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Move on to next compile (Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto cmmsvc_64_release
- if errorlevel 1 goto cmmsvc_64_debug
- :msvc_64_release_fail
- cls
- echo compiling msvc x64 release version has failed a log has been saved in:
- echo %clogs%
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Finish up(Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto compile_done
- if errorlevel 1 goto cmmsvc_64_release
- :zip_mingw_debug_fail
- cls
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Next file(Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto zip_mingw_release
- if errorlevel 1 goto zip_mingw_debug
- :zip_mingw_release_fail
- cls
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Next file(Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto zip_msvc_86_debug
- if errorlevel 1 goto zip_mingw_release
- :zip_msvc_86_debug_fail
- cls
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Next file(Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto zip_msvc_86_release
- if errorlevel 1 goto zip_msvc_86_debug
- :zip_msvc_86_release_fail
- cls
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Next file(Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto zip_msvc_64_debug
- if errorlevel 1 goto zip_msvc_86_release
- :zip_msvc_64_debug_fail
- cls
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Next file(Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto zip_msvc_64_release
- if errorlevel 1 goto zip_msvc_64_debug
- :zip_msvc_64_debug_fail
- cls
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Continue(Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto zip_source
- if errorlevel 1 goto msvc_64_release
- :zip_source_fail
- cls
- echo ---------------- BUILD ERROR ----------------
- echo 1 Try again
- echo 2 Continue(Default)
- echo ---------------- BUILD ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto zip_done
- if errorlevel 1 goto zip_source
- :ftp_fail
- cls
- echo filetransfer failed
- echo ---------------- FTP ERROR ----------------
- echo 1 Try FTP Session again
- echo 2 Skip FTP Session (Default)
- echo ---------------- FTP ERROR ----------------
- echo Choose an option
- echo (default will load in 20 seconds)
- choice /T 20 /C 12 /CS /D 2
- if errorlevel 2 goto ftp_skip
- if errorlevel 1 goto ftp_again
- rem ---------------- Error Messages ----------------
- :End
- exit
