aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike DePaulo <mikedep333@gmail.com>2014-09-01 11:10:55 -0400
committerMike DePaulo <mikedep333@gmail.com>2015-05-09 17:22:26 -0400
commitca57abfde2229c887cbc2214cac2dc4978db0ad8 (patch)
tree905249e648c2cf5f30f4d4373f102f1c2d593a52
parent2e00f3764228cfc91180bbe9375a8d85e0e65a5b (diff)
downloadvcxsrv-ca57abfde2229c887cbc2214cac2dc4978db0ad8.tar.gz
vcxsrv-ca57abfde2229c887cbc2214cac2dc4978db0ad8.tar.bz2
vcxsrv-ca57abfde2229c887cbc2214cac2dc4978db0ad8.zip
Initial work to get VcXsrv 1.15.2.0 to compile under the MSVC2013 XP target
-rwxr-xr-xbuildall.sh2
-rw-r--r--building.txt25
-rwxr-xr-xfreetype/freetype.vcxproj16
-rw-r--r--freetype/freetypevc10.sln6
-rw-r--r--setvcenv.sh33
-rw-r--r--tools/mhmake/mhmake.vcxproj12
-rw-r--r--tools/mhmake/mhmakevc10.sln6
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 677b2679c..35a8a6c07 100755
--- a/freetype/freetype.vcxproj
+++ b/freetype/freetype.vcxproj
@@ -43,49 +43,49 @@
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
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 @@
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
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