1 <?xml version="1.0" encoding="utf-8"?>
2 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Release|Win32">
9 <Configuration>Release</Configuration>
10 <Platform>Win32</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Debug|x64">
13 <Configuration>Debug</Configuration>
14 <Platform>x64</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
22 <ProjectReference Include="build-init.vcxproj">
23 <Project>{92ae7622-5f58-4234-9a26-9ec71876b3f4}</Project>
26 <PropertyGroup Label="Globals">
27 <ProjectGuid>{C3D4C623-55F8-4653-980D-61AA629B4E1D}</ProjectGuid>
28 <RootNamespace>buildexternalllvm</RootNamespace>
29 <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
31 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
32 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
33 <ConfigurationType>Utility</ConfigurationType>
34 <UseDebugLibraries>true</UseDebugLibraries>
35 <PlatformToolset>v140</PlatformToolset>
36 <CharacterSet>MultiByte</CharacterSet>
38 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
39 <ConfigurationType>Utility</ConfigurationType>
40 <UseDebugLibraries>false</UseDebugLibraries>
41 <PlatformToolset>v140</PlatformToolset>
42 <WholeProgramOptimization>true</WholeProgramOptimization>
43 <CharacterSet>MultiByte</CharacterSet>
45 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
46 <ConfigurationType>Utility</ConfigurationType>
47 <UseDebugLibraries>true</UseDebugLibraries>
48 <PlatformToolset>v140</PlatformToolset>
49 <CharacterSet>MultiByte</CharacterSet>
51 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
52 <ConfigurationType>Utility</ConfigurationType>
53 <UseDebugLibraries>false</UseDebugLibraries>
54 <PlatformToolset>v140</PlatformToolset>
55 <WholeProgramOptimization>true</WholeProgramOptimization>
56 <CharacterSet>MultiByte</CharacterSet>
58 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
59 <ImportGroup Label="ExtensionSettings">
61 <ImportGroup Label="Shared">
63 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
64 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
65 <Import Project="mono.props" />
67 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
68 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
69 <Import Project="mono.props" />
71 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
72 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
73 <Import Project="mono.props" />
75 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
76 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
77 <Import Project="mono.props" />
79 <PropertyGroup Label="UserMacros" />
80 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
81 <OutDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\bin\$(Configuration)\</OutDir>
82 <IntDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\obj\$(ProjectName)$(MONO_TARGET_SUFFIX)\$(Configuration)\</IntDir>
84 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
85 <OutDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\bin\$(Configuration)\</OutDir>
86 <IntDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\obj\$(ProjectName)$(MONO_TARGET_SUFFIX)\$(Configuration)\</IntDir>
88 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
89 <OutDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\bin\$(Configuration)\</OutDir>
90 <IntDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\obj\$(ProjectName)$(MONO_TARGET_SUFFIX)\$(Configuration)\</IntDir>
92 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
93 <OutDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\bin\$(Configuration)\</OutDir>
94 <IntDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\obj\$(ProjectName)$(MONO_TARGET_SUFFIX)\$(Configuration)\</IntDir>
96 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
98 <WarningLevel>Level3</WarningLevel>
99 <Optimization>Disabled</Optimization>
100 <SDLCheck>true</SDLCheck>
106 </ItemDefinitionGroup>
107 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
109 <WarningLevel>Level3</WarningLevel>
110 <Optimization>Disabled</Optimization>
111 <SDLCheck>true</SDLCheck>
117 </ItemDefinitionGroup>
118 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
120 <WarningLevel>Level3</WarningLevel>
121 <Optimization>MaxSpeed</Optimization>
122 <FunctionLevelLinking>true</FunctionLevelLinking>
123 <IntrinsicFunctions>true</IntrinsicFunctions>
124 <SDLCheck>true</SDLCheck>
127 <EnableCOMDATFolding>true</EnableCOMDATFolding>
128 <OptimizeReferences>true</OptimizeReferences>
134 </ItemDefinitionGroup>
135 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
137 <WarningLevel>Level3</WarningLevel>
138 <Optimization>MaxSpeed</Optimization>
139 <FunctionLevelLinking>true</FunctionLevelLinking>
140 <IntrinsicFunctions>true</IntrinsicFunctions>
141 <SDLCheck>true</SDLCheck>
144 <EnableCOMDATFolding>true</EnableCOMDATFolding>
145 <OptimizeReferences>true</OptimizeReferences>
151 </ItemDefinitionGroup>
152 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
153 <Import Project="mono.external.targets" />
154 <ImportGroup Label="ExtensionTargets">
157 <_LLVMCFlags Condition="'$(MONO_PREPROCESSOR_DEFINITIONS)' != ''">$(MONO_PREPROCESSOR_DEFINITIONS.Replace(";"," "))</_LLVMCFlags>
158 <_LLVMCFlags>$(_LLVMCFlags.Trim())</_LLVMCFlags>
159 <_LLVMCFlags Condition="'$(_LLVMCFlags)' != ''">-D$(_LLVMCFlags.Replace(" "," -D"))</_LLVMCFlags>
160 <_LLVMEnableAsserts>-DLLVM_ENABLE_ASSERTIONS=Off</_LLVMEnableAsserts>
161 <_LLVMEnableAsserts Condition="'$(MONO_ENABLE_LLVM_ASSERTS)' == 'true'">-DLLVM_ENABLE_ASSERTIONS=On</_LLVMEnableAsserts>
162 <_LLVMAdditionalCMakeArgs>$(_LLVMEnableAsserts)</_LLVMAdditionalCMakeArgs>
163 <_LLVMBuildCommand>build-external-llvm.bat "$(_LLVMSourceDir)" "$(_LLVMBuildDir)" "$(_LLVMInstallDir)" "$(_MonoOutputDir)" "$(_LLVMCFlags)" "$(_LLVMAdditionalCMakeArgs)" "$(Platform)" "$(Configuration)"</_LLVMBuildCommand>
165 <Target Name="_LLVMBuild" Condition="'$(MONO_ENABLE_LLVM)' == 'true' and '$(_MonoEnableInternalLLVM)' == 'true'">
166 <Exec Command="$(_LLVMBuildCommand) "Build" "$(MSBuildBinPath)\" "$(_MonoExternalBuildForceMSBuild)"" Condition="'$(_MonoEnableInternalLLVM)' == 'true'">
167 <Output TaskParameter="ExitCode" PropertyName="_BuildExternalLLVMExitCode" />
170 <Target Name="_LLVMInstallBuild" Condition="'$(MONO_ENABLE_LLVM)' == 'true' and '$(_MonoEnableExternalLLVM)' == 'true'" DependsOnTargets="_SetupMonoLLVMBuildProperties">
171 <Exec Command="install-llvm-mono-build.bat "$(MONO_LLVM_BIN_DIR)\.." "$(_MonoOutputDir)"">
172 <Output TaskParameter="ExitCode" PropertyName="_BuildExternalLLVMExitCode" />
175 <Target Name="_LLVMCleanBuild" Condition="'$(MONO_ENABLE_LLVM)' == 'true' and '$(_MonoEnableInternalLLVM)' == 'true'">
176 <Exec Command="$(_LLVMBuildCommand) "Clean" "$(MSBuildBinPath)\" "$(_MonoExternalBuildForceMSBuild)"">
177 <Output TaskParameter="ExitCode" PropertyName="_CleanExternalLLVMExitCode" />
180 <Target Name="_AfterBuildExternalLLVM" Condition="'$(MONO_ENABLE_LLVM)' == 'true'" DependsOnTargets="_LLVMBuild;_LLVMInstallBuild" />
181 <Target Name="_AfterCleanExternalLLVM" Condition="'$(MONO_ENABLE_LLVM)' == 'true'" DependsOnTargets="_LLVMCleanBuild" />
182 <Target Name="AfterBuild" DependsOnTargets="_ConfigureExternalMonoLLVMBuildEnvironment;_AfterBuildExternalLLVM" />
183 <Target Name="AfterClean" DependsOnTargets="_ConfigureExternalMonoLLVMBuildEnvironment;_AfterCleanExternalLLVM" />
185 <Target Name="_GetLLVMConfig" DependsOnTargets="_ConfigureExternalMonoLLVMBuildEnvironment" Returns="@(_GetLLVMConfigOutputItems)">
187 <_GetLLVMConfigOutputItems Include="$(_MonoLLVMConfig)" />