diff options
author | Mike DePaulo <mikedep333@gmail.com> | 2014-09-01 11:10:55 -0400 |
---|---|---|
committer | Mike DePaulo <mikedep333@gmail.com> | 2014-09-01 11:10:55 -0400 |
commit | 3ffe138ff93e1eb8775558e32bd6adebc6ce7672 (patch) | |
tree | cf90339f5be4444e4fc031dadcc7b0400cfd005c | |
parent | 0fc6b05dc947d92381453fbe0ce690196719da86 (diff) | |
download | vcxsrv-3ffe138ff93e1eb8775558e32bd6adebc6ce7672.tar.gz vcxsrv-3ffe138ff93e1eb8775558e32bd6adebc6ce7672.tar.bz2 vcxsrv-3ffe138ff93e1eb8775558e32bd6adebc6ce7672.zip |
Initial work to get VcXsrv 1.15.2.0 to compile under the MSVC2013 XP target
-rwxr-xr-x | buildall.sh | 2 | ||||
-rw-r--r-- | building.txt | 25 | ||||
-rwxr-xr-x | freetype/freetype.vcxproj | 16 | ||||
-rw-r--r-- | freetype/freetypevc10.sln | 6 | ||||
-rw-r--r-- | setvcenv.sh | 33 | ||||
-rw-r--r-- | tools/mhmake/mhmake.vcxproj | 12 | ||||
-rw-r--r-- | 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 @@ <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
|