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-as-is set QT_MSYS=msys-2015-0114 set QT_ARCH=qt-everywhere-opensource-src-5.4.0-wo-qtwebengine set QT_NAME=qt-msvc-G-2015-0126 REM set QT_PYTHON=ActivePython-2.7.8.10-win32-x86 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-msvc2013 set COMPILER_HOME=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC set COMPILER_MAKE=nmake.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%;%QT_ROOT%%QT_MINGW%\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 set INCLUDE= set LIB= set LIBPATH= call "%COMPILER_HOME%\\vcvarsall.bat" x86 echo on 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 if not exist %QT_MINGW% goto exit REM [refresh %QT_MSYS%] cd /d %QT_ROOT% rmdir /s /q %QT_MSYS% 7z.exe x %QT_MSYS%.7z if not exist %QT_MSYS% goto exit REM [refresh %QT_PERL%] cd /d %QT_ROOT% rmdir /s /q %QT_PERL% 7z.exe x -o"%QT_PERL%" %QT_PERL%.zip if not exist %QT_PERL% goto exit REM [refresh %QT_RUBY%] cd /d %QT_ROOT% rmdir /s /q %QT_RUBY% 7z.exe x %QT_RUBY%.7z if not exist %QT_RUBY% goto exit :temp-skip REM [extract qt to %QT_NAME%] cd /d %QT_ROOT% if not exist %QT_ARCH%.7z goto exit rmdir /s /q %QT_NAME% rmdir /s /q %QT_NAME%-temp REM 7z.exe x -o"%QT_NAME%-temp" %QT_ARCH%.7z 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 QTDIR=%QT_ROOT%%QT_NAME%>>%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 if "%%1"=="use_msys" set PATH=%%PATH%%;%QT_ROOT%%QT_MSYS%\bin>>%QTENV_BAT% echo set PATH=%%PATH%%;%SystemRoot%\System32>>%QTENV_BAT% echo set INCLUDE=>>%QTENV_BAT% echo set LIB=>>%QTENV_BAT% echo set LIBPATH=>>%QTENV_BAT% echo call "%COMPILER_HOME%\vcvarsall.bat" x86>>%QTENV_BAT% type %QTENV_BAT% REM [patch qmake.conf] cd /d %QT_ROOT%%QT_NAME% set PATCH_SRC=qtbase\mkspecs\%COMPILER_ARCH%\qmake.conf if not exist %PATCH_SRC%.orig %MSYS_CP% -p %PATCH_SRC% %PATCH_SRC%.orig %MSYS_SED% "s/UNICODE WIN32/UNICODE WIN32 QT_STATIC_BUILD/;s/-MD/-MT/" < %PATCH_SRC%.orig > %PATCH_SRC% 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% REM [configure %QT_NAME%] cd /d %QT_ROOT% echo START(2) %date%-%time% >> %QT_ROOT%%QT_NAME%.log cd /d %QT_ROOT%%QT_NAME% call configure.bat -help > configure-help.txt set CONFIG_COMMON=-opensource -confirm-license -platform %COMPILER_ARCH% -target xp -qmake set CONFIG_OSSL=-openssl-linked OPENSSL_LIBS="libeay32.lib ssleay32.lib gdi32.lib ws2_32.lib" 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% %COMPILER_MAKE% :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 %COMPILER_MAKE% :exit cd /d %QT_ROOT% echo END %date%-%time% >> %QT_ROOT%%QT_NAME%.log