From 3ffe138ff93e1eb8775558e32bd6adebc6ce7672 Mon Sep 17 00:00:00 2001 From: Mike DePaulo Date: Mon, 1 Sep 2014 11:10:55 -0400 Subject: Initial work to get VcXsrv 1.15.2.0 to compile under the MSVC2013 XP target --- buildall.sh | 2 +- building.txt | 25 +++++++++++++++---------- freetype/freetype.vcxproj | 16 ++++++++-------- freetype/freetypevc10.sln | 6 ++++-- setvcenv.sh | 33 ++++++++++++++++++++++++--------- tools/mhmake/mhmake.vcxproj | 12 ++++++------ tools/mhmake/mhmakevc10.sln | 6 ++++-- 7 files changed, 62 insertions(+), 38 deletions(-) diff --git a/buildall.sh b/buildall.sh index fd7976383..3fc77651e 100755 --- a/buildall.sh +++ b/buildall.sh @@ -65,7 +65,7 @@ check-error 'Error compiling mhmake for release' MSBuild.exe tools/mhmake/mhmakevc10.sln /t:Build /p:Configuration=Debug /p:Platform=Win32 check-error 'Error compiling mhmake for debug' -export MHMAKECONF=`cygpath -da .` +export MHMAKECONF=`cygpath -wa .` tools/mhmake/release/mhmake $PARBUILD -C xorg-server MAKESERVER=1 DEBUG=1 check-error 'Error compiling vcxsrv for debug' diff --git a/building.txt b/building.txt index 43f043916..6ce7aa407 100644 --- a/building.txt +++ b/building.txt @@ -1,18 +1,23 @@ -Prerequisits: -- Visual C++ 2010 - Visual C++ 2010 Express Edition is probably also ok (not tested) -- Perl (cygwin perl (http://www.cygwin.com/), strawberry perl (http://strawberryperl.com) or activestate perl (http://www.activestate.com/activeperl/) ) +Prerequisites: +- Windows Vista or later (The built code can run on XP, but your build machine must be Vista or later. This is a limitation of Visual Studio 2013.) +- Visual C++ 2013 Express Edition (Update 3 is currently used) + Visual C++ 2013 is probably also ok (not tested) +- Cygwin. I am not sure of the exact packages, but perl and git are 2 of them. Only 32-bit Cygwin has been tested. - Python (2.7 used: http://www.python.org/) + libxml2 python bindings - Gnuwin32 gperf, gawk, gzip, flex, bison (and it's dependancies), sed (and it's dependancies (http://gnuwin32.sourceforge.net/), gperf - nasm (http://nasm.sourceforge.net). Make sure the nasm directory is in your path - Make sure that the gnuwin32 binaries are in a directory path with no spaces, like 'C:\gnuwin32\bin' - Make sure the environment PATH includes the directory where the gnuwin32 binaries are -- Make sure python, perl are in the environment PATH -- make sure the command prompt is set for compiling with the visual studio compiler (vcvars32.bat) -- To build the installer: nsis +- Make sure python is in the environment PATH +- To build the installer: NSIS Unicode +- To build the installer, make sure NSIS Unicode is in the path (e.g. C:\Program Files (x86)\NSIS\Unicode) +- If you are on 32-bit Windows instead of 64-bit like I am, edit setvcenv.sh for the 32-bit folder path differences -Run the command buildall.bat. This will build everything including the installer. +Open up cygwin's bash shell and cd to the top directory +Run the command `source setvcenv.sh` +Run the command `buildall.bat`. This will build everything including the installer. +The 64-bit version will not be built and the 64-bit installer will fail. This is a limitation this XP compatible branch. Patches are welcome. -To clean the project tree (uses git) go to the top directory at a command prompt -and type in 'git clean -dfx' +To clean the project tree (uses git) go to the top directory at a cygwin bash shell +and type in `git clean -dfx` diff --git a/freetype/freetype.vcxproj b/freetype/freetype.vcxproj index dfb5e1473..20aa3142d 100755 --- a/freetype/freetype.vcxproj +++ b/freetype/freetype.vcxproj @@ -43,49 +43,49 @@ StaticLibrary false MultiByte - v120 + v120_xp StaticLibrary false MultiByte - v120 + v120_xp StaticLibrary false MultiByte - v120 + v120_xp StaticLibrary false MultiByte - v120 + v120_xp StaticLibrary false MultiByte - v120 + v120_xp StaticLibrary false MultiByte - v120 + v120_xp StaticLibrary false MultiByte - v120 + v120_xp StaticLibrary false MultiByte - v120 + v120_xp diff --git a/freetype/freetypevc10.sln b/freetype/freetypevc10.sln index 3cfe3a53d..58390c98f 100644 --- a/freetype/freetypevc10.sln +++ b/freetype/freetypevc10.sln @@ -1,6 +1,8 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Express 2013 for Windows Desktop +VisualStudioVersion = 12.0.30723.0 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcxproj", "{C44F329B-3594-400B-8AE1-5E7BAB098B1D}" EndProject Global diff --git a/setvcenv.sh b/setvcenv.sh index a016d89c5..1922df205 100644 --- a/setvcenv.sh +++ b/setvcenv.sh @@ -1,9 +1,24 @@ -export MHMAKECONF=`cygpath -da .` - -export VCINSTALLDIR="c:\Program Files\Microsoft Visual Studio 10.0\VC\\" -export VS100COMNTOOLS="C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\\" -export VSINSTALLDIR="C:\Program Files\Microsoft Visual Studio 10.0\\" -export WindowsSdkDir="C:\Program Files\Microsoft SDKs\Windows\v7.0A\\" -export LIB="c:\Program Files\Microsoft Visual Studio 10.0\VC\lib;c:\Program Files\Microsoft SDKs\Windows\v7.0A\lib" -export INCLUDE="c:\Program Files\Microsoft Visual Studio 10.0\VC\include;c:\Program Files\Microsoft SDKs\Windows\v7.0A\Include" -export PATH="/vcxsrv:/cygdrive/c/Program Files/Microsoft Visual Studio 10.0/VC/bin:/cygdrive/c/Program Files/Microsoft Visual Studio 10.0/Common7/IDE:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.0A/bin:$PATH" +# Reference for MSVC 2012 with XP Compatibility: +# http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx?PageIndex=2 +# Note that LINK is specified in various makefiles and scripts + +export MHMAKECONF=`cygpath -wa .` + +export VisualStudioVersion="12.0" + +export CL="/D_USING_V110_SDK71_" + +export VCINSTALLDIR="c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\\" +export VS100COMNTOOLS="C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\\" +export VS110COMNTOOLS="C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\\" +export VS120COMNTOOLS="C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\\" +export VSINSTALLDIR="C:\Program Files (x86)\Microsoft Visual Studio 12.0\\" +export WindowsSdkDir="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\\" +export WindowsSdkDir_35="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\\" +export WindowsSdkDir_old="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1\bin\\" +export WindowsSdkDir_71A="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\bin\\" +export WindowsSdkDir_80="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0\bin\\" +export LIB="c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\lib;c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib" +export INCLUDE="c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include" + +export PATH="/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.1A/Bin:/vcxsrv:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE:/cygdrive/c/Windows/Microsoft.NET/Framework/v4.0.30319:/cygdrive/c/Program Files (x86)/Windows Kits/8.1/bin/x86/:$PATH" diff --git a/tools/mhmake/mhmake.vcxproj b/tools/mhmake/mhmake.vcxproj index be7544606..1e10d0c3e 100644 --- a/tools/mhmake/mhmake.vcxproj +++ b/tools/mhmake/mhmake.vcxproj @@ -36,40 +36,40 @@ false MultiByte true - v120 + v120_xp Application false MultiByte - v120 + v120_xp Application false MultiByte true - v120 + v120_xp Application false MultiByte true - v120 + v120_xp Application false MultiByte - v120 + v120_xp Application false MultiByte true - v120 + v120_xp diff --git a/tools/mhmake/mhmakevc10.sln b/tools/mhmake/mhmakevc10.sln index aa927ed5f..d51ede279 100644 --- a/tools/mhmake/mhmakevc10.sln +++ b/tools/mhmake/mhmakevc10.sln @@ -1,5 +1,7 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Express 2013 for Windows Desktop +VisualStudioVersion = 12.0.30723.0 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mhmake", "mhmake.vcxproj", "{7F1669C8-7974-45DF-9B71-0E2A8DC44C06}" EndProject Global -- cgit v1.2.3