Configure Host OS APIs based on HOST macros (#31774)
authorSteve MacLean <Steve.MacLean@microsoft.com>
Thu, 6 Feb 2020 21:55:05 +0000 (16:55 -0500)
committerGitHub <noreply@github.com>
Thu, 6 Feb 2020 21:55:05 +0000 (16:55 -0500)
commit13b3c5bb387852ff005daa653c493ab452f59349
tree17b3d3b8044bb7552bf1d3ce51971abce067c09c
parent1a44a28b8cf0c319be542cb85913ddc8ecc51126
Configure Host OS APIs based on HOST macros (#31774)

* Use gcenv.windows.inl on Windows HOSTS

* Make two way pipe implementation depend on host

We have no ability to implement a cross OS pipe.  Allow the
two way pipe implentation depend on the host.

* Use empty debug macro implementation on Windows hosts.

* Make HMODULE type depend on host compiler

* Configure long file path wrappers based on host

* Configure memcpy based on host

* Configure FreeLibrary based on host

* Configure host utility funtion based on host

VirtualAlloc, CPU count, NUMA config make most sense as host
queries.  Configure based on host.

* Configure exceptiion holder based on host

* Prefer #if HOST_WINDOWS for longfilepathwrappers.cpp

* Prefer #if HOST_WINDOWS for src/coreclr/src/inc/holder.h

* Do not include GCToOSInterface::GetPageSize() in DAC

* Remove JIT64_BUILD

* !HOST_UNIX -> HOST_WINDOWS
13 files changed:
src/coreclr/src/debug/inc/twowaypipe.h
src/coreclr/src/gc/env/gcenv.unix.inl
src/coreclr/src/inc/debugmacros.h
src/coreclr/src/inc/ex.h
src/coreclr/src/inc/holder.h
src/coreclr/src/inc/palclr.h
src/coreclr/src/inc/palclr_win.h
src/coreclr/src/inc/utilcode.h
src/coreclr/src/utilcode/ccomprc.cpp
src/coreclr/src/utilcode/longfilepathwrappers.cpp
src/coreclr/src/utilcode/util.cpp
src/coreclr/src/vm/common.h
src/coreclr/src/vm/util.hpp