Age | Commit message (Collapse) | Author |
|
Changes will default Windows SDK version as well as Platform Toolset to
the default versions used in the targeted VS version. If the projects are
opened up in VS2015, it should default to Windows SDK 8.1 and v140, but if
the same projects are opened in VS2019, it will default to latest Windows SDK 10
and v142. This way the project files should adapt to used VS version, meaning
that we could still build them using VS2015 (what's currently used on CI) but also
using VS2017 and VS2019. There should not be a need to install any previous versions
of build tools, unless an older version is targeted. It is also possible to set
PlatformToolset when calling msbuild and that should adapt to corresponding default
Windows SDK version for targeted toolset version.
Commit makes many changes and adjustments, aligning all vcxproj files but changes
should not affect build output.
|
|
They can be used with native line endings.
We now have a shared folder with the dotnet repos and they have CRLF normalization enabled.
This difference leads to conflicts while applying changes from the dotnet repos to mono.
|
|
By default, all projects are build using "default" compiler based on source
file extension. There is a property in mono.props, MONO_COMPILE_AS_CPP
that could change this and build selected projects (eglib, libgcmonosgen,
libmini, libmono-dynamic, libmono-static, libmonodac, libmonoruntime,
libmonoutils, mono, monodis, monograph and pedump) using C++ compiler.
MONO_COMPILE_AS_CPP property could be set when calling msbuild
or through VS property manager IDE. Default value is false building using
"default" compiler (current behavior). When setting MONO_COMPILE_AS_CPP=true
the build prefix will be altered to make sure the C++ build gets its own build
folder, parallel to default build folders.
Example of building using C++ compiler from msbuild:
msbuild /p:PlatformToolset=v140 /p:Platform=x64 /p:Configuration=Release /p:MONO_TARGET_GC=sgen /p:MONO_COMPILE_AS_CPP=true msvc/mono.sln
|
|
library support.
|
|
Make libmono-static lib file include all needed runtime libs making it easier to
link and distribute as part of Mono SDK.
Commit also updates linking of vcxprojs in mono.sln to use merged static lib.
|
|
* [file] Remove dead field
* [process] Remove wapi_getpid
* [process] Remove CloseHandle
* [io-layer] Remove dead MONO_TRACE
* [io-layer] Extract error
* [io-layer] Extract wapi.h
* [io-layer] Remove the io-layer
|
|
* [io-layer] Merge io related headers
* [io-layer] Remove global variable _wapi_had_shut_down
* [io-layer] Inline io-portability.c file into io.c
* [io-layer] Inline locking.c file into io.c
* [io-layer] Inline posix.c file into io.c
* [file] Move metadata/file-io* files to metadata/w32file*
* [io-layer] Extract file functions
* [file] Remove overlapped parameter which is always NULL
* [file] Remove SECURITY_ATTRIBUTES parameter which is always NULL
* [file] Remove GET_FILEEX_INFO_LEVELS parameter which is always GetFileExInfoStandard
* [file] Replace ULARGE_INTEGER parameter type with guint64
* [file] Replace WIN32_FILE_ATTRIBUTE_DATA parameter type with MonoIOStat
* [file] Remove mono_w32file_create unused parameter tmplate
* [file] Fix win32 build
|
|
* [socket] Extract win32 and unix specific code from w32socket.c
* [socket] Extract WSAGetLastError and WSASetLastError
* [socket] Extract closesocket
* [socket] Extract iocltsocket
* [socket] Extract socket-wrappers.h functions
* [socket] Extract w32handle operations
* [socket] Extract WSAIoctl
* [socket] Do not use mono_w32socket_ioctl for disconnect
* [socket] Extract errno_to_WSA
* [socket] Remove redundant mono_w32handle_get_type/mono_w32handle_lookup
* [socket] Inline _wapi_* functions
* [socket] Make disconnect not rely on mono_w32socket_ioctl
* [socket] Remove unused parameters to mono_w32socket_transmit_file
* [socket] Refactor calls to mono_w32socket_convert_error
* [socket] Remove dead code
|
|
* [process] Separate code for unix and win32
* [process] Extract OpenProcess
* [process] Extract GetCurrentProcess
* [process] Extract GetModuleFileNameEx
* [process] Extract GetModuleBaseName
* [process] Extract EnumProcessModules
* [process] Extract GetModuleInformation
* [process] Extract CloseProcess
* [process] Extract ShellExecuteEx
* [process] Extract CreateProcessWithLogonW
* [process] Extract GetProcessId
* [process] Extract GetExitCodeProcess
* [process] Extract GetProcessWorkingSetSize and SetProcessWorkingSetSize
* [process] Extract GetPriorityClass and SetPriorityClass
* [process] Extract TerminateProcess
* [process] Extract GetProcessTimes
* [process] Extract CreateProcess
* [process] Extract wapi_process_set_cli_launcher
* [process] Extract wapi_process_get_path
* [process] Remove unused #define in processes.h
* [process] Extract _wapi_process_duplicate
* [process] Extract MonoW32HandleOps
* [process] Move the process related icalls to w32process
* [Process] Move platform specific code to dedicated files
* [process] Cleanup function names
* [io-layer] Remove dead code
* [process] Factor common unix and win32 code
* [process] Fix windows compilation
|
|
Initial work to build libmonoruntime under none desktop Windows API families.
|
|
Changes done in commit 2f6e404ed1a274e942ba0325b55ce610c25a23f2 moving
pedump.c to different location cause build errors of pedump on Windows.
|
|
naming for intermediate pdb files for exe/dll's.
All artifacts will now have the same name of their final pdb file as
the library/dll/exe target file name.
The problem with the naming turns out to be a problem in Visual Studio
when a exe/dll use the same name of its intermediate pdb files and final
pdb file. In that case the final pdb file produced by the linker will be
incorrect and not usable by the debugger. This was the reason for the initial
change, giving intermediate pdb files a different name. Moving back to the
default naming for intermediate pdb files for exe/dll's will give the same
effect (a different name) and since libraries are not affected by this
problem, libraries can use the target name for their pdb files as well.
|
|
All projects will inherit the RuntimeLibrary from mono.props where it now
can be controlled using a user property, MONO_USE_STATIC_C_RUNTIME.
|
|
naming conflicts when linking.
|
|
* Enabled build target suffix in order to lable a build (primarly for sgen).
* Enabled separate build tree.
* Dropped all sgen configurations, replaced by properties and target suffix.
* Fixed pdb naming of intermediate pdb files.
|
|
* Added package/install targets.
* Moved sgen into separate library.
* SGEN set as default GC for build (used GC controlled through mono.props).
|
|
|
|
* Upgraded all projects to new vs2015 tool chain.
* Used mono.props through property manager instead of import.
* Fixed dependencies to be more explicitly in additional dependecies.
* Fixed error in mono.props, switched $ to % when referencing internal variables.
* Added property variables for includes and libraries, defined in mono.props.
|
|
|
|
This reverts commit 577482e3361159e0c4c4b0232a07195ba91335dd.
We dropped XP support (see https://github.com/mono/mono/pull/1723),
so this is no longer necessary.
|
|
They're basically the same thing, but v120 has DX10+ capabilities and v120_xp
is DX9 only. Since we're not building against DirectX, the difference is
purely academic - but changing the value to v120_xp means MSVC binaries run
on XP+, not Vista+
|
|
|
|
|
|
|
|
From:
https://github.com/mono/mono/pull/724
|
|
|