set SCRIPT=%~0 for /f "delims=\ tokens=*" %%z in ("%SCRIPT%") do ( set SCRIPT_DRIVE=%%~dz set SCRIPT_PATH=%%~pz set SCRIPT_CURRENT_DIR=%%~dpz ) set QT_ROOT=%SCRIPT_CURRENT_DIR% set QT_MINGW=mingw-qt-5.4.0-D-2015-0125 set QT_MSYS=msys-2015-0114 set QT_ARCH=qt-everywhere-opensource-src-5.4.0-wo-qtwebengine set QT_NAME=qt-mingw-M-2015-0126 set QT_PERL=strawberry-perl-5.20.1.1-32bit-portable set QT_RUBY=ruby-1.9.3-p551-i386-mingw32 set COMPILER_ARCH=win32-g++ set COMPILER_HOME=%QT_ROOT%%QT_MINGW% REM set COMPILER_MAKE=mingw32-make.exe SHELL=CMD.EXE set COMPILER_MAKE=mingw32-make.exe set MSYS_PATCH=%QT_ROOT%%QT_MSYS%\bin\patch.exe set MSYS_SED=%QT_ROOT%%QT_MSYS%\bin\sed.exe set MSYS_CP=%QT_ROOT%%QT_MSYS%\bin\cp.exe set MSYS_RM=%QT_ROOT%%QT_MSYS%\bin\rm.exe set MSYS_TEE=%QT_ROOT%%QT_MSYS%\bin\tee.exe set PATH= set PATH=%PATH%;%COMPILER_HOME%\bin set PATH=%PATH%;%COMPILER_HOME%\opt\bin set PATH=%PATH%;%QT_ROOT%%QT_PERL%\perl\bin set PATH=%PATH%;%QT_ROOT%%QT_RUBY%\bin set PATH=%PATH%;%QT_ROOT%7-Zip set PATH=%PATH%;C:\Program Files\7-Zip set PATH=%PATH%;C:\Program Files (x86)\7-Zip set PATH=%PATH%;%SystemRoot%\System32 cd /d %QT_ROOT% echo START(1) %date%-%time% >> %QT_ROOT%%QT_NAME%.log cd /d %QT_ROOT% if exist %QT_NAME% goto skip goto temp-skip REM [refresh %QT_MINGW%] cd /d %QT_ROOT% rmdir /s /q %QT_MINGW% 7z.exe x %QT_MINGW%.7z REM [refresh %QT_MSYS%] cd /d %QT_ROOT% rmdir /s /q %QT_MSYS% 7z.exe x %QT_MSYS%.7z REM [refresh %QT_PERL%] cd /d %QT_ROOT% rmdir /s /q %QT_PERL% 7z.exe x -o"%QT_PERL%" %QT_PERL%.zip REM [refresh %QT_RUBY%] cd /d %QT_ROOT% rmdir /s /q %QT_RUBY% 7z.exe x %QT_RUBY%.7z :temp-skip REM [extract qt to %QT_NAME%] cd /d %QT_ROOT% rmdir /s /q %QT_NAME%-temp 7z.exe x -x!%QT_ARCH%/qtwebengine -o"%QT_NAME%-temp" %QT_ARCH%.7z move %QT_NAME%-temp\%QT_ARCH% %QT_NAME% rmdir /s /q %QT_NAME%-temp cd /d %QT_ROOT%%QT_NAME% set QTENV_BAT=%QT_ROOT%%QT_NAME%\qtenv.bat del %QTENV_BAT% echo @echo off>>%QTENV_BAT% echo echo Setting up Qt environment...>>%QTENV_BAT% echo set QMAKESPEC=%COMPILER_ARCH%>>%QTENV_BAT% echo set MAKE=%COMPILER_MAKE%>>%QTENV_BAT% echo set MSYS_BIN=%QT_ROOT%%QT_MSYS%\bin>>%QTENV_BAT% echo set PATH=%QT_ROOT%%QT_NAME%\qtbase\bin>>%QTENV_BAT% echo set PATH=%%PATH%%;%COMPILER_HOME%\bin>>%QTENV_BAT% echo if "%%1"=="use_msys" set PATH=%%PATH%%;%QT_ROOT%%QT_MSYS%\bin>>%QTENV_BAT% echo set PATH=%%PATH%%;%SystemRoot%\System32>>%QTENV_BAT% type %QTENV_BAT% REM [patch qmake.conf] cd /d %QT_ROOT%%QT_NAME% set QMAKE_CONF=qtbase\mkspecs\win32-g++\qmake.conf if not exist %QMAKE_CONF%.orig %MSYS_CP% -p %QMAKE_CONF% %QMAKE_CONF%.orig %MSYS_SED% "s/\(^DEFINES[[:blank:]]*[+]=.*$\)/\1 QT_STATIC_BUILD/;s/\(^QMAKE_LFLAGS[[:blank:]]*=.*$\)/\1 -static/" < %QMAKE_CONF%.orig > %QMAKE_CONF% REM [patch PlatformExportMacros.h] cd /d %QT_ROOT%%QT_NAME% set PATCH_SRC=qtwebkit\Source\WebCore\platform\PlatformExportMacros.h if not exist %PATCH_SRC%.orig %MSYS_CP% -p %PATCH_SRC% %PATCH_SRC%.orig %MSYS_SED% "s/\(^[#]define WEBKIT_EXPORTDATA[[:blank:]]*.*$\)/#define WEBKIT_EXPORTDATA/;s/\(^[#]define WEBCORE_TESTING[[:blank:]]*.*$\)/#define WEBCORE_TESTING/" < %PATCH_SRC%.orig > %PATCH_SRC% REM [patch icu.pro] cd /d %QT_ROOT%%QT_NAME% set PATCH_SRC=qtwebkit\Tools\qmake\config.tests\icu\icu.pro if not exist %PATCH_SRC%.orig %MSYS_CP% -p %PATCH_SRC% %PATCH_SRC%.orig %MSYS_SED% "s/LIBS [+]= -lsicuin -lsicuuc -lsicudt/LIBS += -lsicuin -lsicuuc -lsicudt -ladvapi32/" < %PATCH_SRC%.orig > %PATCH_SRC% REM [patch WTF.pri] cd /d %QT_ROOT%%QT_NAME% set PATCH_SRC=qtwebkit\Source\WTF\WTF.pri if not exist %PATCH_SRC%.orig %MSYS_CP% -p %PATCH_SRC% %PATCH_SRC%.orig %MSYS_SED% "s/win32[:] LIBS [+]= -licuin -licuuc -licudt/win32: LIBS += -lsicuin -lsicuuc -lsicudt -ladvapi32/" < %PATCH_SRC%.orig > %PATCH_SRC% cd /d %QT_ROOT% echo START(2) %date%-%time% >> %QT_ROOT%%QT_NAME%.log REM [configure %QT_NAME%] cd /d %QT_ROOT%%QT_NAME% call configure.bat -help > configure-help.txt set CONFIG_COMMON=-opensource -confirm-license -platform win32-g++ -qmake set CONFIG_OSSL=-openssl-linked OPENSSL_LIBS="-lssl -lcrypto -lgdi32 -lws2_32" set CONFIG_MODULE= set CONFIG_DB=-qt-sql-sqlite -qt-sql-odbc set CONFIG_EXTRA=-icu -no-angle -opengl desktop set CONFIG_PART=-nomake tests -nomake examples call configure.bat -static -release %CONFIG_COMMON% %CONFIG_OSSL% %CONFIG_MODULE% %CONFIG_DB% %CONFIG_EXTRA% %CONFIG_PART% | %MSYS_TEE% configure-log.txt :skip if exist %QT_ROOT%%QT_NAME%\qtbase\translations\assistant_ja.qm goto build-qtwebkit REM [build %QT_NAME%] cd /d %QT_ROOT% echo START(3) %date%-%time% >> %QT_ROOT%%QT_NAME%.log cd /d %QT_ROOT%%QT_NAME% mingw32-make.exe :build-qtwebkit REM [build qtwebkit] cd /d %QT_ROOT% echo START(4) %date%-%time% >> %QT_ROOT%%QT_NAME%.log cd /d %QT_ROOT%%QT_NAME%\qtwebkit %QT_ROOT%%QT_NAME%\qtbase\bin\qmake.exe -o Makefile WebKit.pro mingw32-make.exe :exit cd /d %QT_ROOT% echo END %date%-%time% >> %QT_ROOT%%QT_NAME%.log