1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <Project DefaultTargets=
"Build" ToolsVersion=
"4.0" xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003">
3 <PropertyGroup Label=
"UserMacros">
4 <!-- Change this to custom build tree location to enable out of source tree builds, example c:/mono-build/ -->
5 <MONO_BUILD_DIR_PREFIX>$(MSBuildProjectDirectory)/./build/
</MONO_BUILD_DIR_PREFIX>
6 <!-- Change this to custom distribution tree location to enable out of source tree distribution, example c:/mono-dist/ -->
7 <MONO_INSTALL_DIR_PREFIX>$(MSBuildProjectDirectory)/./dist/
</MONO_INSTALL_DIR_PREFIX>
8 <!-- GC in use, sgen or boehm, default is sgen. -->
9 <MONO_TARGET_GC>sgen
</MONO_TARGET_GC>
10 <!-- When true, build targets will get a suffix based on used GC. Makes it possible to have builds using different GC's in same build folders, sharing common targets. -->
11 <MONO_USE_TARGET_SUFFIX>true
</MONO_USE_TARGET_SUFFIX>
12 <!-- When true, build will get a separate build folder based on used GC. Makes it possible separate builds into different output folders under the same build prefix. -->
13 <MONO_USE_SEPARATE_BUILD_DIR>true
</MONO_USE_SEPARATE_BUILD_DIR>
14 <!-- When true, all binaries and libraries will link using static c-runtime. When false, all binaries and libraries will link using dynamic c-runtime. -->
15 <MONO_USE_STATIC_C_RUNTIME>false
</MONO_USE_STATIC_C_RUNTIME>
16 <!-- When true, mono binaries will link using static libmono. When false, mono binaries will link using dynamic libmono. -->
17 <MONO_USE_STATIC_LIBMONO>false
</MONO_USE_STATIC_LIBMONO>
19 <PropertyGroup Label=
"MonoDirectories">
20 <MonoSourceLocation Condition=
"'$(MonoSourceLocation)' == '' ">..
</MonoSourceLocation>
21 <top_srcdir>$(MSBuildProjectDirectory)/$(MonoSourceLocation)
</top_srcdir>
22 <MONO_DIR>$(top_srcdir)
</MONO_DIR>
23 <MONO_INCLUDE_DIR>$(MONO_DIR)/mono
</MONO_INCLUDE_DIR>
24 <MONO_EGLIB_INCLUDE_DIR>$(MONO_DIR)/mono/eglib
</MONO_EGLIB_INCLUDE_DIR>
25 <MONO_EGLIB_SOURCE_DIR>$(MONO_DIR)/mono/eglib
</MONO_EGLIB_SOURCE_DIR>
26 <MONO_LIBGC_INCLUDE_DIR>$(MONO_DIR)/libgc/include
</MONO_LIBGC_INCLUDE_DIR>
27 <MONO_LIBGC_SOURCE_DIR>$(MONO_DIR)/libgc/src
</MONO_LIBGC_SOURCE_DIR>
28 <MONO_JIT_INCLUDE_DIR>$(MONO_INCLUDE_DIR)/jit
</MONO_JIT_INCLUDE_DIR>
29 <MONO_JIT_SOURCE_DIR>$(MONO_INCLUDE_DIR)/jit
</MONO_JIT_SOURCE_DIR>
30 <LIBGC_CPPFLAGS_INCLUDE>$(MONO_LIBGC_INCLUDE_DIR)
</LIBGC_CPPFLAGS_INCLUDE>
31 <GLIB_CFLAGS_INCLUDE>$(MONO_EGLIB_SOURCE_DIR)
</GLIB_CFLAGS_INCLUDE>
33 <PropertyGroup Label=
"Static-C-Runtime" Condition=
"$(MONO_USE_STATIC_C_RUNTIME)=='true'">
34 <MONO_C_RUNTIME Condition=
"'$(Configuration)'=='Debug'">MultiThreadedDebug
</MONO_C_RUNTIME>
35 <MONO_C_RUNTIME Condition=
"'$(Configuration)'!='Debug'">MultiThreaded
</MONO_C_RUNTIME>
37 <PropertyGroup Label=
"Dynamic-C-Runtime" Condition=
"$(MONO_USE_STATIC_C_RUNTIME)!='true'">
38 <MONO_C_RUNTIME Condition=
"'$(Configuration)'=='Debug'">MultiThreadedDebugDLL
</MONO_C_RUNTIME>
39 <MONO_C_RUNTIME Condition=
"'$(Configuration)'!='Debug'">MultiThreadedDLL
</MONO_C_RUNTIME>
41 <PropertyGroup Label=
"MonoSGEN" Condition=
"$(MONO_TARGET_GC)=='sgen' Or $(MONO_TARGET_GC)!='boehm'">
42 <SGEN_DEFINES>HAVE_SGEN_GC;HAVE_MOVING_COLLECTOR;HAVE_WRITE_BARRIERS
</SGEN_DEFINES>
43 <GC_DEFINES>$(SGEN_DEFINES)
</GC_DEFINES>
44 <GC_LIB>libgcmonosgen.lib
</GC_LIB>
45 <MONO_DEF>monosgen.def
</MONO_DEF>
46 <MONO_TARGET_SUFFIX Condition=
"'$(MONO_USE_TARGET_SUFFIX)'=='true'">-sgen
</MONO_TARGET_SUFFIX>
47 <MONO_BUILD_DIR_PREFIX Condition=
"'$(MONO_USE_SEPARATE_BUILD_DIR)'=='true'">$(MONO_BUILD_DIR_PREFIX)sgen/
</MONO_BUILD_DIR_PREFIX>
49 <PropertyGroup Label=
"MonoBOEHM" Condition=
"$(MONO_TARGET_GC)=='boehm'">
50 <BOEHM_DEFINES>HAVE_BOEHM_GC
</BOEHM_DEFINES>
51 <GC_DEFINES>$(BOEHM_DEFINES)
</GC_DEFINES>
52 <GC_LIB>libgc.lib
</GC_LIB>
53 <MONO_DEF>mono.def
</MONO_DEF>
54 <MONO_TARGET_SUFFIX Condition=
"'$(MONO_USE_TARGET_SUFFIX)'=='true'">-boehm
</MONO_TARGET_SUFFIX>
55 <MONO_BUILD_DIR_PREFIX Condition=
"'$(MONO_USE_SEPARATE_BUILD_DIR)'=='true'">$(MONO_BUILD_DIR_PREFIX)boehm/
</MONO_BUILD_DIR_PREFIX>
57 <PropertyGroup Label=
"Static-Mono-Libraries">
58 <MONO_RUNTIME_LIBS>libmonoutils.lib;libmonoruntime$(MONO_TARGET_SUFFIX).lib;$(GC_LIB)
</MONO_RUNTIME_LIBS>
59 <MONO_STATIC_LIBMONO_LIB>libmono-static$(MONO_TARGET_SUFFIX).lib;$(MONO_RUNTIME_LIBS)
</MONO_STATIC_LIBMONO_LIB>
60 <MONO_DYNAMIC_LIBMONO_LIB>mono-
2.0$(MONO_TARGET_SUFFIX).lib
</MONO_DYNAMIC_LIBMONO_LIB>
62 <PropertyGroup Label=
"Static-libmono-Library" Condition=
"$(MONO_USE_STATIC_LIBMONO)=='true'">
63 <MONO_LIBMONO_LIB>$(MONO_STATIC_LIBMONO_LIB)
</MONO_LIBMONO_LIB>
65 <PropertyGroup Label=
"Dynamic-libmono-Library" Condition=
"$(MONO_USE_STATIC_LIBMONO)!='true'">
66 <MONO_LIBMONO_LIB>$(MONO_DYNAMIC_LIBMONO_LIB)
</MONO_LIBMONO_LIB>
68 <PropertyGroup Label=
"MonoProfiler">
69 <VTUNE_INCLUDE_DIR>$(ProgramFiles)/Intel/VTune Amplifier XE
2013/include
</VTUNE_INCLUDE_DIR>
72 <BuildMacro Include=
"MONO_BUILD_DIR_PREFIX">
73 <Value>$(MONO_BUILD_DIR_PREFIX)
</Value>
75 <BuildMacro Include=
"MONO_INSTALL_DIR_PREFIX">
76 <Value>$(MONO_INSTALL_DIR_PREFIX)
</Value>
78 <BuildMacro Include=
"MONO_TARGET_GC">
79 <Value>$(MONO_TARGET_GC)
</Value>
81 <BuildMacro Include=
"MONO_USE_TARGET_SUFFIX">
82 <Value>$(MONO_USE_TARGET_SUFFIX)
</Value>
84 <BuildMacro Include=
"MONO_USE_SEPARATE_BUILD_DIR">
85 <Value>$(MONO_USE_SEPARATE_BUILD_DIR)
</Value>
87 <BuildMacro Include=
"MONO_USE_STATIC_C_RUNTIME">
88 <Value>$(MONO_USE_STATIC_C_RUNTIME)
</Value>
90 <BuildMacro Include=
"MONO_USE_STATIC_LIBMONO">
91 <Value>$(MONO_USE_STATIC_LIBMONO)
</Value>
96 <DllExportPreprocessorDefinitions>MONO_DLL_EXPORT
</DllExportPreprocessorDefinitions>
97 <DllImportPreprocessorDefinitions>MONO_DLL_IMPORT
</DllImportPreprocessorDefinitions>
98 <PreprocessorDefinitions>__default_codegen__;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H;GC_NOT_DLL;WIN32_THREADS;WINVER=
0x0600;_WIN32_WINNT=
0x0600;_WIN32_IE=
0x0501;_UNICODE;UNICODE;FD_SETSIZE=
1024;%(PreprocessorDefinitions);
</PreprocessorDefinitions>
99 <DisableSpecificWarnings>4273;
4005</DisableSpecificWarnings>
100 <RuntimeLibrary>$(MONO_C_RUNTIME)
</RuntimeLibrary>
103 <AdditionalDependencies>Mswsock.lib;ws2_32.lib;ole32.lib;oleaut32.lib;psapi.lib;version.lib;advapi32.lib;winmm.lib;kernel32.lib;%(AdditionalDependencies)
</AdditionalDependencies>
104 <AdditionalLibraryDirectories>$(MONO_BUILD_DIR_PREFIX)$(Platform)/lib/$(Configuration)
</AdditionalLibraryDirectories>
106 </ItemDefinitionGroup>