diff options
author | Sean Gillespie <segilles@microsoft.com> | 2017-08-22 10:20:36 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-22 10:20:36 -0700 |
commit | 8acf6c9f7e33b1bfe77205cd2e61f2c60e8c00ce (patch) | |
tree | 5f7e55f04b5182a6ef1bd537ef76accd5a494782 /clrfeatures.cmake | |
parent | 2766385624a9c5b73d32bed85519c044447701ff (diff) | |
download | coreclr-8acf6c9f7e33b1bfe77205cd2e61f2c60e8c00ce.tar.gz coreclr-8acf6c9f7e33b1bfe77205cd2e61f2c60e8c00ce.tar.bz2 coreclr-8acf6c9f7e33b1bfe77205cd2e61f2c60e8c00ce.zip |
[Local GC] Enable building the GC as a shared library (#13137)
* [Local GC] Build the GC using system headers
* Disable features to get the GC to build
* Get rid of the separate 'GC PAL' build
* Remove unused stuff
* Don't build gcenv.os.cpp when linking in a standalone gc
* Stub out CPUGroupInfo and NumaNodeInfo
* Stub out IsGCThread and friends
* Build the GC as a shared library :tada:
* Build, link, and run! :tada:
* Fix standalone GC build break
* Fixes where the GC's MethodTable and VM's MethodTable classes disagree
* Integrate a standalone GC into the CoreCLR build system (so it gets copied to the output folder). Re-enable some ifdef-ed out includes that are required for a non-standalone build of the GC.
* Bring changes to Unix and fix the Unix build. Implement some compiler intrinsic wrappers and alignment functions expected by the GC.
* Fix the Windows build
* 1. Code review feedback: use standard types for BitScanForward and
BitScanForward64
2. Delete FEATURE_COM stuff from the build system, not needed for this
PR
3. Fix the Unix build
* Fix the Windows x86 build - the _BitScanForward64 intrinsic is not available when targeting 32-bit platforms
* Remove a number of things from gcenv.base.h that are not used
* Remove a linker workaround now that we are not linking a standalone GC into the runtime
* Remove dead code, make the lack of GC_PROFILING for standalone gc not break profiling on the non-standalone build
* Code review feedback - use add_library_clr and other cmake-related fixes
* Fix include indentation
* Remove some extraneous parameters to cmake functions (cmake is remarkably lenient...)
Diffstat (limited to 'clrfeatures.cmake')
-rw-r--r-- | clrfeatures.cmake | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/clrfeatures.cmake b/clrfeatures.cmake index f047c91f7a..fde04d2af2 100644 --- a/clrfeatures.cmake +++ b/clrfeatures.cmake @@ -2,6 +2,11 @@ if(CLR_CMAKE_TARGET_TIZEN_LINUX) set(FEATURE_EVENT_TRACE 0) endif() +if(FEATURE_STANDALONE_GC_ONLY) + set(FEATURE_EVENT_TRACE 0) + set(FEATURE_APPDOMAIN_RESOURCE_MONITORING 0) +endif() + if(NOT DEFINED FEATURE_EVENT_TRACE) if (WIN32) set(FEATURE_EVENT_TRACE 1) @@ -25,7 +30,6 @@ endif(NOT DEFINED FEATURE_DBGIPC) if(NOT DEFINED FEATURE_INTERPRETER) set(FEATURE_INTERPRETER 0) endif(NOT DEFINED FEATURE_INTERPRETER) - if(NOT WIN32) if(NOT DEFINED FEATURE_NI_BIND_FALLBACK) if(NOT CLR_CMAKE_TARGET_ARCH_AMD64 AND NOT CLR_CMAKE_TARGET_ARCH_ARM64) @@ -33,3 +37,8 @@ if(NOT WIN32) endif() endif(NOT DEFINED FEATURE_NI_BIND_FALLBACK) endif(NOT WIN32) + +if(NOT DEFINED FEATURE_APPDOMAIN_RESOURCE_MONITORING) + set(FEATURE_APPDOMAIN_RESOURCE_MONITORING 1) +endif(NOT DEFINED FEATURE_APPDOMAIN_RESOURCE_MONITORING) + |