compile_win.pl script. Finally

This commit is contained in:
kleuter 2017-10-19 21:50:14 +02:00
parent 32c2bfffbf
commit 997488bb3e
6 changed files with 81 additions and 52 deletions

View File

@ -1,4 +0,0 @@
del *.obj /s /f
del *.ilk /s /f
del *.pch /s /f
del Makefile* /s /f

View File

@ -6,11 +6,11 @@ cd qtbase
if [[ $1 == openssl ]]; then
# download openssl
curl -O https://www.openssl.org/source/old/1.0.2/openssl-1.0.2l.tar.gz
tar -xvzf openssl-1.0.2l.tar.gz
# download openssl
curl -O https://www.openssl.org/source/old/1.0.2/openssl-1.0.2l.tar.gz
tar -xvzf openssl-1.0.2l.tar.gz
# compile openssl
# compile openssl
cd openssl-1.0.2l
./Configure darwin64-x86_64-cc --prefix=$PWD/dist
make

77
5.6.2/compile_win.pl Normal file
View File

@ -0,0 +1,77 @@
use strict;
my $arch = $ARGV[0];
my $openssl_v_major = "1.0.2"; # The 1.0.2 series is Long Term Support (LTS) release, supported until 31st December 2019
my $openssl_v_minor = "l";
my $openssl_version = "$openssl_v_major$openssl_v_minor";
my $openssl_dir = "openssl-$openssl_version";
my $openssl_download = "https://www.openssl.org/source/old/$openssl_v_major/openssl-$openssl_version.tar.gz";
my $openssl_arch = $arch eq "amd64" ? "WIN64A" : "WIN32";
my $openssl_do_ms = $arch eq "amd64" ? "do_win64a" : "do_ms";
die "Please specify architecture (x86 or amd64)" if ($arch ne "x86" && $arch ne "amd64");
# will create a batch file
my $batfile = 'compile_win.bat';
open BAT, '>', $batfile;
printLineToBat ("CALL \"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\vcvarsall.bat\" $arch");
printLineToBat ("cd qtbase");
printLineToBat ("wget $openssl_download");
printLineToBat ("tar -xvzf openssl-$openssl_version.tar.gz");
printLineToBat ("rm openssl-$openssl_version.tar.gz");
printLineToBat ("cd $openssl_dir");
# build debug
printLineToBat ("perl Configure no-asm no-shared --prefix=%cd%\\Debug --openssldir=%cd%\\Debug debug-VC-$openssl_arch");
printLineToBat ("call ms\\$openssl_do_ms");
printLineToBat ("nmake -f ms\\nt.mak");
printLineToBat ("nmake -f ms\\nt.mak install");
printLineToBat ("xcopy tmp32.dbg\\lib.pdb Debug\\lib\\"); # Telegram does it.
printLineToBat ("nmake -f ms\\nt.mak clean");
# now release
printLineToBat ("perl Configure no-asm no-shared --prefix=%cd%\\Release --openssldir=%cd%\\Release VC-$openssl_arch");
printLineToBat ("call ms\\$openssl_do_ms");
printLineToBat ("nmake -f ms\\nt.mak");
printLineToBat ("nmake -f ms\\nt.mak install");
printLineToBat ("xcopy tmp32\\lib.pdb Release\\lib\\"); # Telegram does it.
printLineToBat ("nmake -f ms\\nt.mak clean");
# go back to qtbase
printLineToBat ("cd ..");
printLineToBat ("SET _ROOT=%cd%");
printLineToBat ("SET PATH=%_ROOT%\\qtbase\\bin;%_ROOT%\\gnuwin32\\bin;%PATH%"); # http://doc.qt.io/qt-5/windows-building.html
printLineToBat ("configure -opensource -confirm-license -opengl desktop -mp -nomake tests -nomake examples -target xp -I \"%cd%\\$openssl_dir\\Release\\include\" -openssl-linked OPENSSL_LIBS_DEBUG=\"%cd%\\$openssl_dir\\Debug\\lib\\ssleay32.lib %cd%\\$openssl_dir\\Debug\\lib\\libeay32.lib\" OPENSSL_LIBS_RELEASE=\"%cd%\\$openssl_dir\\Release\\lib\\ssleay32.lib %cd%\\$openssl_dir\\Release\\lib\\libeay32.lib\"");
printLineToBat ("nmake");
printLineToBat ("cd ..\\qttools");
printLineToBat ("qmake");
printLineToBat ("nmake");
printLineToBat ("cd ..\\qtwinextras");
printLineToBat ("qmake");
printLineToBat ("nmake");
printLineToBat ("cd ..\\qtbase");
printLineToBat ("nmake docs");
printLineToBat ("cd .."); # go up to qt dir
# openssl clean up
printLineToBat ("cd qtbase");
printLineToBat ("cd $openssl_dir");
printLineToBat ("del /s /f /q out32");
printLineToBat ("del /s /f /q out32.dbg");
printLineToBat ("cd ..");
printLineToBat ("cd ..");
# the rest
printLineToBat ("del *.obj /s /f");
printLineToBat ("del *.ilk /s /f");
printLineToBat ("del *.pch /s /f");
printLineToBat ("del Makefile* /s /f");
close BAT;
system ($batfile);
#system ("del $batfile");
system ("pause");
sub printLineToBat
{
print BAT "$_[0]\n";
}

View File

@ -1,38 +0,0 @@
x86:
1. Запускаем qt5vars.cmd
2. cd qtbase
configure -opensource -opengl desktop -mp -nomake tests -nomake examples -target xp -I "%cd%\openssl" -openssl-linked OPENSSL_LIBS_DEBUG="%cd%\openssl\debug\ssleay32.lib %cd%\openssl\debug\libeay32.lib" OPENSSL_LIBS_RELEASE="%cd%\openssl\release\ssleay32.lib %cd%\openssl\release\libeay32.lib"
nmake
3. cd ..\qttools
qmake
nmake
XXX. cd ..\qtwinextras
qmake
nmake
4. cd ..\qtbase
nmake docs
cd ..\qttools
nmake docs
5. cd ..
cleanup.bat
x64:
1. Запускаем qt5vars_x64.cmd
2. cd qtbase
configure -opensource -opengl desktop -mp -nomake tests -nomake examples -target xp -I "%cd%\openssl_x64" -openssl-linked OPENSSL_LIBS_DEBUG="%cd%\openssl_x64\debug\ssleay32.lib %cd%\openssl_x64\debug\libeay32.lib" OPENSSL_LIBS_RELEASE="%cd%\openssl_x64\release\ssleay32.lib %cd%\openssl_x64\release\libeay32.lib"
nmake
3. cd ..\qttools
qmake
nmake
4. cd ..
cleanup.bat

View File

@ -1,3 +0,0 @@
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"" x86
set PATH=c:\qt\qtbase\bin;c:\qt\gnuwin32\bin;%PATH%
set QMAKESPEC=win32-msvc2013

View File

@ -1,3 +0,0 @@
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"" amd64
set PATH=c:\qt_x64\qtbase\bin;c:\qt_x64\gnuwin32\bin;%PATH%
set QMAKESPEC=win32-msvc2013