Add back whitespace at end of sre-save.c
[mono-project.git] / msvc / mono.props
blobdbfed0b19f4a298060046326953ee0fbed0c63ea
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 various configuration parameters. 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>
18     <!-- When true, mono binaries will link and include llvm. When false, mono binaries will not link and include llvm.  -->
19     <MONO_ENABLE_LLVM>false</MONO_ENABLE_LLVM>
20     <!-- When true, enable LLVM asserts for internal LLVM build. When false, disable LLVM asserts for internal LLVM build.  -->
21     <MONO_ENABLE_LLVM_ASSERTS>false</MONO_ENABLE_LLVM_ASSERTS>
22     <!-- When set, use an alternative LLVM source location for internal LLVM build.  -->
23     <MONO_INTERNAL_LLVM_SOURCE_DIR></MONO_INTERNAL_LLVM_SOURCE_DIR>
24     <!-- When set, use an external pre-build LLVM library instead of internal one.  -->
25     <MONO_EXTERNAL_LLVM_CONFIG></MONO_EXTERNAL_LLVM_CONFIG>
26     <!-- When true, ported mono projects will build using C++ instead of C compiler. When false, all project will be build using the default compiler.  -->
27     <MONO_COMPILE_AS_CPP>false</MONO_COMPILE_AS_CPP>
28     <!-- When true, mono binaries will link and include BTLS. When false, mono binaries will not link and include BTLS.  -->
29     <MONO_ENABLE_BTLS>false</MONO_ENABLE_BTLS>
30     <!-- When true, mono binaries will be compiled for use as a .NET Core runtime.  -->
31     <MONO_ENABLE_NETCORE>false</MONO_ENABLE_NETCORE>
32     <MONO_ENABLE_NETCORE Condition="Exists('..\mono.proj')">true</MONO_ENABLE_NETCORE>
33     <!-- When true, mono runtime supports eventpipe library.  -->
34     <MONO_ENABLE_PERFTRACING>false</MONO_ENABLE_PERFTRACING>
35     <MONO_ENABLE_PERFTRACING Condition="Exists('..\mono\eventpipe\ep.h')">true</MONO_ENABLE_PERFTRACING>
36   </PropertyGroup>
37   <PropertyGroup Label="MonoDirectories">
38     <MonoSourceLocation Condition="'$(MonoSourceLocation)' == '' ">..</MonoSourceLocation>
39     <top_srcdir>$(MSBuildProjectDirectory)/$(MonoSourceLocation)</top_srcdir>
40     <MONO_DIR>$(top_srcdir)</MONO_DIR>
41     <MONO_INCLUDE_DIR>$(MONO_DIR)/mono</MONO_INCLUDE_DIR>
42     <MONO_EGLIB_INCLUDE_DIR>$(MONO_DIR)/mono/eglib</MONO_EGLIB_INCLUDE_DIR>
43     <MONO_EGLIB_SOURCE_DIR>$(MONO_DIR)/mono/eglib</MONO_EGLIB_SOURCE_DIR>
44     <MONO_LIBGC_INCLUDE_DIR>$(MONO_DIR)/external/bdwgc/include;$(MONO_DIR)/external/bdwgc/libatomic_ops/src</MONO_LIBGC_INCLUDE_DIR>
45     <MONO_LIBGC_SOURCE_DIR>$(MONO_DIR)/external/bdwgc</MONO_LIBGC_SOURCE_DIR>
46     <MONO_JIT_INCLUDE_DIR>$(MONO_INCLUDE_DIR)/jit</MONO_JIT_INCLUDE_DIR>
47     <MONO_JIT_SOURCE_DIR>$(MONO_INCLUDE_DIR)/jit</MONO_JIT_SOURCE_DIR>
48     <LIBGC_CPPFLAGS_INCLUDE>$(MONO_LIBGC_INCLUDE_DIR)</LIBGC_CPPFLAGS_INCLUDE>
49     <GLIB_CFLAGS_INCLUDE>$(MONO_EGLIB_SOURCE_DIR)</GLIB_CFLAGS_INCLUDE>
50     <MONO_LLVM_DEFAULT_API_VERSION>610</MONO_LLVM_DEFAULT_API_VERSION>
51     <SHIM_GLOBALIZATION Condition="'$(MONO_ENABLE_NETCORE)'=='true'">$(top_srcdir)/../libraries/Native/Unix/System.Globalization.Native</SHIM_GLOBALIZATION>
52     <SHIM_GLOBALIZATION_COMMON Condition="'$(MONO_ENABLE_NETCORE)'=='true'">$(top_srcdir)/../libraries/Native/Unix/Common</SHIM_GLOBALIZATION_COMMON>
53     <SHIM_GLOBALIZATION_INCLUDE_DIR Condition="'$(MONO_ENABLE_NETCORE)'=='true'">$(SHIM_GLOBALIZATION_COMMON);$(SHIM_GLOBALIZATION)</SHIM_GLOBALIZATION_INCLUDE_DIR>
54     <MONO_LLVM_DEFAULT_INCLUDE_DIR>$(MONO_DIR)/external/llvm-project/llvm/include</MONO_LLVM_DEFAULT_INCLUDE_DIR>
55   </PropertyGroup>
56   <PropertyGroup Label="Static-C-Runtime" Condition="'$(MONO_USE_STATIC_C_RUNTIME)'=='true'">
57     <MONO_C_RUNTIME Condition="'$(Configuration)'=='Debug'">MultiThreadedDebug</MONO_C_RUNTIME>
58     <MONO_C_RUNTIME Condition="'$(Configuration)'!='Debug'">MultiThreaded</MONO_C_RUNTIME>
59   </PropertyGroup>
60   <PropertyGroup Label="Dynamic-C-Runtime" Condition="'$(MONO_USE_STATIC_C_RUNTIME)'!='true'">
61     <MONO_C_RUNTIME Condition="'$(Configuration)'=='Debug'">MultiThreadedDebugDLL</MONO_C_RUNTIME>
62     <MONO_C_RUNTIME Condition="'$(Configuration)'!='Debug'">MultiThreadedDLL</MONO_C_RUNTIME>
63   </PropertyGroup>
64   <PropertyGroup Label="MonoSGEN" Condition="'$(MONO_TARGET_GC)'=='sgen' Or '$(MONO_TARGET_GC)'!='boehm'">
65     <SGEN_DEFINES>HAVE_SGEN_GC;HAVE_MOVING_COLLECTOR;HAVE_WRITE_BARRIERS;HAVE_CONC_GC_AS_DEFAULT</SGEN_DEFINES>
66     <GC_DEFINES>$(SGEN_DEFINES)</GC_DEFINES>
67     <SHIM_GLOBALIZATION_DEFINES Condition="'$(MONO_ENABLE_NETCORE)'=='true'">TARGET_WINDOWS;PALEXPORT=extern "C" __declspec(dllexport)</SHIM_GLOBALIZATION_DEFINES>
68     <GC_LIB>libgcmonosgen.lib</GC_LIB>
69     <MONO_TARGET_SUFFIX Condition="'$(MONO_USE_TARGET_SUFFIX)'=='true'">-sgen</MONO_TARGET_SUFFIX>
70     <MONO_BUILD_DIR_PREFIX Condition="'$(MONO_USE_SEPARATE_BUILD_DIR)'=='true'">$(MONO_BUILD_DIR_PREFIX)sgen/</MONO_BUILD_DIR_PREFIX>
71   </PropertyGroup>
72   <PropertyGroup Label="MonoBOEHM" Condition="'$(MONO_TARGET_GC)'=='boehm'">
73     <BOEHM_DEFINES>HAVE_BOEHM_GC</BOEHM_DEFINES>
74     <GC_DEFINES>$(BOEHM_DEFINES)</GC_DEFINES>
75     <GC_LIB>libgc.lib</GC_LIB>
76     <MONO_TARGET_SUFFIX Condition="'$(MONO_USE_TARGET_SUFFIX)'=='true'">-boehm</MONO_TARGET_SUFFIX>
77     <MONO_BUILD_DIR_PREFIX Condition="'$(MONO_USE_SEPARATE_BUILD_DIR)'=='true'">$(MONO_BUILD_DIR_PREFIX)boehm/</MONO_BUILD_DIR_PREFIX>
78   </PropertyGroup>
79   <PropertyGroup Label="Static-Mono-Libraries">
80     <MONO_RUNTIME_LIBS>libmonoutils.lib;libmonoruntime$(MONO_TARGET_SUFFIX).lib;libmini$(MONO_TARGET_SUFFIX).lib;$(GC_LIB)</MONO_RUNTIME_LIBS>
81     <MONO_STATIC_LIBMONO_LIB>libmono-static$(MONO_TARGET_SUFFIX).lib</MONO_STATIC_LIBMONO_LIB>
82     <MONO_DYNAMIC_LIBMONO_LIB>mono-2.0$(MONO_TARGET_SUFFIX).lib</MONO_DYNAMIC_LIBMONO_LIB>
83   </PropertyGroup>
84   <PropertyGroup Label="Static-libmono-Library" Condition="'$(MONO_USE_STATIC_LIBMONO)'=='true'">
85     <MONO_LIBMONO_LIB>$(MONO_STATIC_LIBMONO_LIB)</MONO_LIBMONO_LIB>
86   </PropertyGroup>
87   <PropertyGroup Label="Dynamic-libmono-Library" Condition="'$(MONO_USE_STATIC_LIBMONO)'!='true'">
88     <MONO_LIBMONO_LIB>eglib.lib;$(MONO_DYNAMIC_LIBMONO_LIB)</MONO_LIBMONO_LIB>
89   </PropertyGroup>
90   <PropertyGroup Label="MonoProfiler">
91     <VTUNE_INCLUDE_DIR>$(ProgramFiles)/Intel/VTune Amplifier XE 2013/include</VTUNE_INCLUDE_DIR>
92   </PropertyGroup>
93   <ItemGroup>
94     <BuildMacro Include="MONO_BUILD_DIR_PREFIX">
95       <Value>$(MONO_BUILD_DIR_PREFIX)</Value>
96     </BuildMacro>
97     <BuildMacro Include="MONO_INSTALL_DIR_PREFIX">
98       <Value>$(MONO_INSTALL_DIR_PREFIX)</Value>
99     </BuildMacro>
100     <BuildMacro Include="MONO_TARGET_GC">
101       <Value>$(MONO_TARGET_GC)</Value>
102     </BuildMacro>
103     <BuildMacro Include="MONO_USE_TARGET_SUFFIX">
104       <Value>$(MONO_USE_TARGET_SUFFIX)</Value>
105     </BuildMacro>
106     <BuildMacro Include="MONO_USE_SEPARATE_BUILD_DIR">
107       <Value>$(MONO_USE_SEPARATE_BUILD_DIR)</Value>
108     </BuildMacro>
109     <BuildMacro Include="MONO_USE_STATIC_C_RUNTIME">
110       <Value>$(MONO_USE_STATIC_C_RUNTIME)</Value>
111     </BuildMacro>
112     <BuildMacro Include="MONO_USE_STATIC_LIBMONO">
113       <Value>$(MONO_USE_STATIC_LIBMONO)</Value>
114     </BuildMacro>
115     <BuildMacro Include="MONO_ENABLE_LLVM">
116       <Value>$(MONO_ENABLE_LLVM)</Value>
117     </BuildMacro>
118     <BuildMacro Include="MONO_EXTERNAL_LLVM_CONFIG">
119       <Value>$(MONO_EXTERNAL_LLVM_CONFIG)</Value>
120     </BuildMacro>
121     <BuildMacro Include="MONO_COMPILE_AS_CPP">
122       <Value>$(MONO_COMPILE_AS_CPP)</Value>
123     </BuildMacro>
124     <BuildMacro Include="MONO_ENABLE_BTLS">
125       <Value>$(MONO_ENABLE_BTLS)</Value>
126     </BuildMacro>
127     <BuildMacro Include="MONO_ENABLE_NETCORE">
128       <Value>$(MONO_ENABLE_NETCORE)</Value>
129     </BuildMacro>
130     <BuildMacro Include="MONO_ENABLE_PERFTRACING">
131       <Value>$(MONO_ENABLE_PERFTRACING)</Value>
132     </BuildMacro>
133   </ItemGroup>
134   <PropertyGroup Label="MonoDefaultPreprocessorDefinitions">
135     <HAVE_CONFIG_H_DEFINE Condition="'$(MonoDisableHaveConfigH)'!='true'">HAVE_CONFIG_H</HAVE_CONFIG_H_DEFINE>
136     <MONO_PREPROCESSOR_DEFINITIONS>__default_codegen__;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(HAVE_CONFIG_H_DEFINE);GC_NOT_DLL;WIN32_THREADS;WINVER=0x0601;_WIN32_WINNT=0x0601;_WIN32_IE=0x0501;_UNICODE;UNICODE;FD_SETSIZE=1024;NVALGRIND;$(MONO_ADDITIONAL_PREPROCESSOR_DEFINITIONS)</MONO_PREPROCESSOR_DEFINITIONS>
137   </PropertyGroup>
138   <ItemDefinitionGroup>
139     <ClCompile>
140       <DllExportPreprocessorDefinitions>MONO_DLL_EXPORT</DllExportPreprocessorDefinitions>
141       <DllImportPreprocessorDefinitions>MONO_DLL_IMPORT</DllImportPreprocessorDefinitions>
142       <PreprocessorDefinitions>$(MONO_PREPROCESSOR_DEFINITIONS);%(PreprocessorDefinitions)</PreprocessorDefinitions>
143       <DisableSpecificWarnings>4273;4005;4152;4221;4214;4204;4201</DisableSpecificWarnings>
144       <RuntimeLibrary>$(MONO_C_RUNTIME)</RuntimeLibrary>
145     </ClCompile>
146     <Link>
147       <AdditionalDependencies>bcrypt.lib;Mswsock.lib;ws2_32.lib;ole32.lib;oleaut32.lib;psapi.lib;version.lib;advapi32.lib;winmm.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
148       <AdditionalLibraryDirectories>$(MONO_BUILD_DIR_PREFIX)$(Platform)/lib/$(Configuration)</AdditionalLibraryDirectories>
149       <!-- Matching CoreCLR Release build configuration, https://github.com/dotnet/runtime/blob/ef718368e970fe05b2f0e121a066aef56fed6bad/src/coreclr/configurecompiler.cmake#L487 -->
150       <AdditionalOptions Condition="'$(MONO_ENABLE_NETCORE)'=='true' and '$(MONO_USE_STATIC_C_RUNTIME)'=='true' and '$(Configuration)'=='Release'">/NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)</AdditionalOptions>
151     </Link>
152     <Lib>
153       <AdditionalLibraryDirectories>$(MONO_BUILD_DIR_PREFIX)$(Platform)/lib/$(Configuration)</AdditionalLibraryDirectories>
154     </Lib>
155   </ItemDefinitionGroup>
156 </Project>