Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/msvc
diff options
context:
space:
mode:
authorJohan Lorensson <lateralusx.github@gmail.com>2019-01-15 15:38:20 +0300
committerGitHub <noreply@github.com>2019-01-15 15:38:20 +0300
commitf4c43729019c6c8ce6dbd8ec05a7178c664f249f (patch)
tree0a31fee43f50b9aec65948b1a38c7e22b6a3fb1c /msvc
parent39c8e693f8a26e17eeb5ff1f0af268f213904c0f (diff)
parent4e3ec6540db4e90fc46a76faa982ec40f205bb84 (diff)
Merge pull request #12317 from lateralusX/lateralusX/fix-warning-errors-win64-platform
Fix warning and build errors triggered in win64 platform that doesn't define HAVE_CLASSIC_WINAPI_SUPPORT.
Diffstat (limited to 'msvc')
-rw-r--r--msvc/build-external-btls.bat39
-rw-r--r--msvc/build-external-btls.vcxproj9
-rw-r--r--msvc/build-external-llvm.bat42
-rw-r--r--msvc/build-external-llvm.vcxproj18
-rw-r--r--msvc/build-init.vcxproj2
-rw-r--r--msvc/libgc.vcxproj5
-rw-r--r--msvc/libgcmonosgen.vcxproj5
-rw-r--r--msvc/mono.external.targets2
-rwxr-xr-xmsvc/winsetup.bat4
9 files changed, 98 insertions, 28 deletions
diff --git a/msvc/build-external-btls.bat b/msvc/build-external-btls.bat
index 8b16219faec..d4de955a5a0 100644
--- a/msvc/build-external-btls.bat
+++ b/msvc/build-external-btls.bat
@@ -13,6 +13,7 @@
:: %7 VS configuration (Debug/Release)
:: %8 VS target
:: %9 MsBuild bin path, if used.
+:: %10 Force MSBuild (true/false), if used.
:: --------------------------------------------------
@echo off
@@ -30,14 +31,24 @@ set PERL_BIN_NAME=perl.exe
set YASM_BIN_NAME=yasm.exe
set MONO_BTLS_DIR=%~1
-set BTLS_DIR=%~2
-set BTLS_BUILD_DIR=%~3
-set MONO_DIST_DIR=%~4
-set VS_CFLAGS=%~5
-set VS_PLATFORM=%~6
-set VS_CONFIGURATION=%~7
-set VS_TARGET=%~8
-set MSBUILD_BIN_PATH=%~9
+shift
+set BTLS_DIR=%~1
+shift
+set BTLS_BUILD_DIR=%~1
+shift
+set MONO_DIST_DIR=%~1
+shift
+set VS_CFLAGS=%~1
+shift
+set VS_PLATFORM=%~1
+shift
+set VS_CONFIGURATION=%~1
+shift
+set VS_TARGET=%~1
+shift
+set MSBUILD_BIN_PATH=%~1
+shift
+set FORCE_MSBUILD=%~1
:: Setup toolchain.
:: set GIT=
@@ -82,6 +93,10 @@ if "%VS_TARGET%" == "" (
set VS_TARGET=Build
)
+if "%FORCE_MSBUILD%" == "" (
+ set FORCE_MSBUILD=false
+)
+
if not exist "%MONO_BTLS_DIR%" (
echo Could not find "%MONO_BTLS_DIR%".
goto ON_ERROR
@@ -326,7 +341,11 @@ if "%CMAKE%" == "" (
)
if /i "%VS_TARGET%" == "build" (
- echo Found CMake: %CMAKE%
+ echo Found CMake: "%CMAKE%"
+)
+
+if /i "%FORCE_MSBUILD%" == "true" (
+ goto _SETUP_CMAKE_ENVIRONMENT_VS_GENERATOR
)
:: Check for optional cmake generate and build tools for full BTLS assembler supported build. NOTE, currently BTLS assembler build
@@ -362,7 +381,7 @@ goto _SETUP_CMAKE_ENVIRONMENT_EXIT
:_SETUP_CMAKE_ENVIRONMENT_NINJA_GENERATOR
if /i "%VS_TARGET%" == "build" (
- echo Found Ninja: %NINJA%
+ echo Found Ninja: "%NINJA%"
echo Using Ninja build generator, enabling full assembler build.
)
diff --git a/msvc/build-external-btls.vcxproj b/msvc/build-external-btls.vcxproj
index b3eddb01ed3..a07b4bb6d60 100644
--- a/msvc/build-external-btls.vcxproj
+++ b/msvc/build-external-btls.vcxproj
@@ -18,6 +18,11 @@
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="build-init.vcxproj">
+ <Project>{92ae7622-5f58-4234-9a26-9ec71876b3f4}</Project>
+ </ProjectReference>
+ </ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E41DDF41-0916-454B-A7C2-6E410E45CAFD}</ProjectGuid>
<RootNamespace>buildexternalbtls</RootNamespace>
@@ -155,12 +160,12 @@
<_BtlsBuildCommand>build-external-btls.bat &quot;$(_MonoBtlsSourceDir)&quot; &quot;$(_BtlsSourceDir)&quot; &quot;$(_BtlsBuildDir)&quot; &quot;$(_MonoOutputDir)&quot; &quot;$(_BtlsCFlags)&quot; &quot;$(Platform)&quot; &quot;$(Configuration)&quot;</_BtlsBuildCommand>
</PropertyGroup>
<Target Name="_AfterBuildExternalBtls" Condition="'$(MONO_ENABLE_BTLS)' == 'true'">
- <Exec Command="$(_BtlsBuildCommand) &quot;Build&quot; &quot;$(MSBuildBinPath)\&quot;">
+ <Exec Command="$(_BtlsBuildCommand) &quot;Build&quot; &quot;$(MSBuildBinPath)\&quot; &quot;$(_MonoExternalBuildForceMSBuild)&quot;">
<Output TaskParameter="ExitCode" PropertyName="_BuildExternalBtlsExitCode" />
</Exec>
</Target>
<Target Name="_AfterCleanExternalBtls" Condition="'$(MONO_ENABLE_BTLS)' == 'true'">
- <Exec Command="$(_BtlsBuildCommand) &quot;Clean&quot; &quot;$(MSBuildBinPath)\&quot;">
+ <Exec Command="$(_BtlsBuildCommand) &quot;Clean&quot; &quot;$(MSBuildBinPath)\&quot; &quot;$(_MonoExternalBuildForceMSBuild)&quot;">
<Output TaskParameter="ExitCode" PropertyName="_CleanExternalBtlsExitCode" />
</Exec>
</Target>
diff --git a/msvc/build-external-llvm.bat b/msvc/build-external-llvm.bat
index 4982a64c42d..22a0ad50938 100644
--- a/msvc/build-external-llvm.bat
+++ b/msvc/build-external-llvm.bat
@@ -14,6 +14,7 @@
:: %8 VS configuration (Debug/Release).
:: %9 VS target.
:: %10 MsBuild bin path, if used.
+:: %11 Force MSBuild (true/false), if used.
:: --------------------------------------------------
@echo off
@@ -30,15 +31,26 @@ set NINJA_BIN_NAME=ninja.exe
set PYTHON_BIN_NAME=python.exe
set LLVM_DIR=%~1
-set LLVM_BUILD_DIR=%~2
-set LLVM_INSTALL_DIR=%~3
-set MONO_DIST_DIR=%~4
-set VS_CFLAGS=%~5
-set LLVM_ADDITIONAL_CMAKE_ARGS=%~6
-set VS_PLATFORM=%~7
-set VS_CONFIGURATION=%~8
-set VS_TARGET=%~9
-set MSBUILD_BIN_PATH=%~10
+shift
+set LLVM_BUILD_DIR=%~1
+shift
+set LLVM_INSTALL_DIR=%~1
+shift
+set MONO_DIST_DIR=%~1
+shift
+set VS_CFLAGS=%~1
+shift
+set LLVM_ADDITIONAL_CMAKE_ARGS=%~1
+shift
+set VS_PLATFORM=%~1
+shift
+set VS_CONFIGURATION=%~1
+shift
+set VS_TARGET=%~1
+shift
+set MSBUILD_BIN_PATH=%~1
+shift
+set FORCE_MSBUILD=%~1
:: Setup toolchain.
:: set GIT=
@@ -83,6 +95,10 @@ if "%VS_TARGET%" == "" (
set VS_TARGET=Build
)
+if "%FORCE_MSBUILD%" == "" (
+ set FORCE_MSBUILD=false
+)
+
if not exist "%LLVM_DIR%" (
echo Could not find "%LLVM_DIR%".
goto ON_ERROR
@@ -362,7 +378,11 @@ if "%CMAKE%" == "" (
)
if /i "%VS_TARGET%" == "build" (
- echo Found CMake: %CMAKE%
+ echo Found CMake: "%CMAKE%"
+)
+
+if /i "%FORCE_MSBUILD%" == "true" (
+ goto _SETUP_CMAKE_ENVIRONMENT_VS_GENERATOR
)
:: Check for optional cmake generate and build tools.
@@ -395,7 +415,7 @@ goto _SETUP_CMAKE_ENVIRONMENT_EXIT
:_SETUP_CMAKE_ENVIRONMENT_NINJA_GENERATOR
if /i "%VS_TARGET%" == "build" (
- echo Found Ninja: %NINJA%
+ echo Found Ninja: "%NINJA%"
echo Using Ninja build generator.
)
diff --git a/msvc/build-external-llvm.vcxproj b/msvc/build-external-llvm.vcxproj
index e74168261aa..92ccd49fe19 100644
--- a/msvc/build-external-llvm.vcxproj
+++ b/msvc/build-external-llvm.vcxproj
@@ -18,6 +18,11 @@
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="build-init.vcxproj">
+ <Project>{92ae7622-5f58-4234-9a26-9ec71876b3f4}</Project>
+ </ProjectReference>
+ </ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C3D4C623-55F8-4653-980D-61AA629B4E1D}</ProjectGuid>
<RootNamespace>buildexternalllvm</RootNamespace>
@@ -153,20 +158,27 @@
<_LLVMCFlags>$(_LLVMCFlags.Trim())</_LLVMCFlags>
<_LLVMCFlags Condition="'$(_LLVMCFlags)' != ''">-D$(_LLVMCFlags.Replace(" "," -D"))</_LLVMCFlags>
<_LLVMEnableAsserts>-DLLVM_ENABLE_ASSERTIONS=Off</_LLVMEnableAsserts>
- <_LLVMEnableAsserts Condition="'$(MONO_ENABLE_LLVM_ASSERTS)' == 'true'" >-DLLVM_ENABLE_ASSERTIONS=On</_LLVMEnableAsserts>
+ <_LLVMEnableAsserts Condition="'$(MONO_ENABLE_LLVM_ASSERTS)' == 'true'">-DLLVM_ENABLE_ASSERTIONS=On</_LLVMEnableAsserts>
<_LLVMAdditionalCMakeArgs>$(_LLVMEnableAsserts)</_LLVMAdditionalCMakeArgs>
<_LLVMBuildCommand>build-external-llvm.bat &quot;$(_LLVMSourceDir)&quot; &quot;$(_LLVMBuildDir)&quot; &quot;$(_LLVMInstallDir)&quot; &quot;$(_MonoOutputDir)&quot; &quot;$(_LLVMCFlags)&quot; &quot;$(_LLVMAdditionalCMakeArgs)&quot; &quot;$(Platform)&quot; &quot;$(Configuration)&quot;</_LLVMBuildCommand>
</PropertyGroup>
<Target Name="_AfterBuildExternalLLVM" Condition="'$(MONO_ENABLE_LLVM)' == 'true' and '$(_MonoEnableInternalLLVM)' == 'true'">
- <Exec Command="$(_LLVMBuildCommand) &quot;Build&quot; &quot;$(MSBuildBinPath)\&quot;">
+ <Exec Command="$(_LLVMBuildCommand) &quot;Build&quot; &quot;$(MSBuildBinPath)\&quot; &quot;$(_MonoExternalBuildForceMSBuild)&quot;">
<Output TaskParameter="ExitCode" PropertyName="_BuildExternalLLVMExitCode" />
</Exec>
</Target>
<Target Name="_AfterCleanExternalLLVM" Condition="'$(MONO_ENABLE_LLVM)' == 'true' and '$(_MonoEnableInternalLLVM)' == 'true'">
- <Exec Command="$(_LLVMBuildCommand) &quot;Clean&quot; &quot;$(MSBuildBinPath)\&quot;">
+ <Exec Command="$(_LLVMBuildCommand) &quot;Clean&quot; &quot;$(MSBuildBinPath)\&quot; &quot;$(_MonoExternalBuildForceMSBuild)&quot;">
<Output TaskParameter="ExitCode" PropertyName="_CleanExternalLLVMExitCode" />
</Exec>
</Target>
<Target Name="AfterBuild" DependsOnTargets="_ConfigureExternalMonoLLVMBuildEnvironment;_AfterBuildExternalLLVM" />
<Target Name="AfterClean" DependsOnTargets="_ConfigureExternalMonoLLVMBuildEnvironment;_AfterCleanExternalLLVM" />
+
+ <Target Name="_GetLLVMConfig" DependsOnTargets="_ConfigureExternalMonoLLVMBuildEnvironment" Returns="@(_GetLLVMConfigOutputItems)">
+ <ItemGroup>
+ <_GetLLVMConfigOutputItems Include="$(_MonoLLVMConfig)" />
+ </ItemGroup>
+ </Target>
+
</Project> \ No newline at end of file
diff --git a/msvc/build-init.vcxproj b/msvc/build-init.vcxproj
index 2a6ba7c6df2..2b6f883483c 100644
--- a/msvc/build-init.vcxproj
+++ b/msvc/build-init.vcxproj
@@ -167,7 +167,7 @@
<Target Name="AfterBuild" DependsOnTargets="AfterBuildWinSetup" />
- <Target Name="_BackupConfigFile" Condition="'$(_MonoConfigFileBackupExists)' != 'true'">
+ <Target Name="_BackupConfigFile" Condition="'$(_MonoConfigFileBackupExists)' != 'true' and Exists('$(MONO_DIR)/config.h')">
<Copy SourceFiles="$(MONO_DIR)/config.h" DestinationFiles="$(MONO_DIR)/cygconfig.h" />
</Target>
diff --git a/msvc/libgc.vcxproj b/msvc/libgc.vcxproj
index 9d4116721e9..abfef90a3a1 100644
--- a/msvc/libgc.vcxproj
+++ b/msvc/libgc.vcxproj
@@ -18,6 +18,11 @@
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="build-init.vcxproj">
+ <Project>{92ae7622-5f58-4234-9a26-9ec71876b3f4}</Project>
+ </ProjectReference>
+ </ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{EB56000B-C80B-4E8B-908D-D84D31B517D3}</ProjectGuid>
<RootNamespace>libgc</RootNamespace>
diff --git a/msvc/libgcmonosgen.vcxproj b/msvc/libgcmonosgen.vcxproj
index 3db4e154d23..0266b75c656 100644
--- a/msvc/libgcmonosgen.vcxproj
+++ b/msvc/libgcmonosgen.vcxproj
@@ -18,6 +18,11 @@
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="build-init.vcxproj">
+ <Project>{92ae7622-5f58-4234-9a26-9ec71876b3f4}</Project>
+ </ProjectReference>
+ </ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C36612BD-22D3-4B95-85E2-7FDC4FC5D740}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
diff --git a/msvc/mono.external.targets b/msvc/mono.external.targets
index e6c998118a4..022246be92d 100644
--- a/msvc/mono.external.targets
+++ b/msvc/mono.external.targets
@@ -106,6 +106,8 @@
<PropertyGroup>
<_MonoSourceDir>$([System.IO.Path]::GetFullPath('$(MONO_DIR)').TrimEnd('\'))</_MonoSourceDir>
<_MonoOutputDir>$([System.IO.Path]::GetFullPath('$(OutDir)'))</_MonoOutputDir>
+ <_MonoExternalBuildForceMSBuild Condition="'$(MONO_EXTERNAL_BUILD_FORCE_MSBUILD)' == 'true'">true</_MonoExternalBuildForceMSBuild>
+ <_MonoExternalBuildForceMSBuild Condition="'$(MONO_EXTERNAL_BUILD_FORCE_MSBUILD)' != 'true'">false</_MonoExternalBuildForceMSBuild>
</PropertyGroup>
<PropertyGroup>
diff --git a/msvc/winsetup.bat b/msvc/winsetup.bat
index a7b1c6290a7..44442f06d8c 100755
--- a/msvc/winsetup.bat
+++ b/msvc/winsetup.bat
@@ -32,7 +32,9 @@ mkdir "%CONFIG_H_TEMP%\.." 2>nul
set CONFIG_H_TEMP="%CONFIG_H_TEMP%"
REM Backup existing config.h into cygconfig.h if its not already replaced.
-findstr /i /r /c:"#include *\"cygconfig.h\"" %CONFIG_H% >nul || copy /y %CONFIG_h% %CYG_CONFIG_H%
+if exist %CONFIG_H% (
+ findstr /i /r /c:"#include *\"cygconfig.h\"" %CONFIG_H% >nul || copy /y %CONFIG_h% %CYG_CONFIG_H%
+)
:: Extract MONO_VERSION from configure.ac.
for /f "delims=[] tokens=2" %%a in ('findstr /b /c:"AC_INIT(mono, [" %CONFIGURE_AC%') do (