From 8acf6c9f7e33b1bfe77205cd2e61f2c60e8c00ce Mon Sep 17 00:00:00 2001 From: Sean Gillespie Date: Tue, 22 Aug 2017 10:20:36 -0700 Subject: [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...) --- clrdefinitions.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'clrdefinitions.cmake') diff --git a/clrdefinitions.cmake b/clrdefinitions.cmake index 1848e3b550..4f6b0414bb 100644 --- a/clrdefinitions.cmake +++ b/clrdefinitions.cmake @@ -78,8 +78,10 @@ if(WIN32) endif(WIN32) # Features - please keep them alphabetically sorted +if (FEATURE_APPDOMAIN_RESOURCE_MONITORING) + add_definitions(-DFEATURE_APPDOMAIN_RESOURCE_MONITORING) +endif(FEATURE_APPDOMAIN_RESOURCE_MONITORING) -add_definitions(-DFEATURE_APPDOMAIN_RESOURCE_MONITORING) if(WIN32) add_definitions(-DFEATURE_APPX) if(NOT CLR_CMAKE_TARGET_ARCH_I386) -- cgit v1.2.3