GcInfo: Add support for Standalone build
authorSwaroop Sridhar <Swaroop.Sridhar@microsoft.com>
Thu, 30 Apr 2015 03:17:48 +0000 (20:17 -0700)
committerSwaroop Sridhar <Swaroop.Sridhar@microsoft.com>
Tue, 5 May 2015 20:39:09 +0000 (13:39 -0700)
commitb503f15c45f9a7e6d0f90e5f4f9d3985f2060fe8
tree358b860c39546d3dac102b06fd4a0494f9543af0
parente79b36be0a49362908f5d191ca5b1f68eef8b39f
GcInfo: Add support for Standalone build

 The STANDALONE_BUILD switch can be used to build the GcInfoEncoder library
 independently by clients outside the CoreClr tree.

 The GcInfo library uses some custom data-structures (ex: ArrayList)
 and includes some utility libraries (ex: UtilCode) which pull in several other
 headers with considerable unrelated content. Rather than porting all the
 utility code to suite other clients, the  STANDALONE_BUILD switch can be used
 to include only the minimal set of headers specific to GcInfo encodings.

 Clients of STANDALONE_BUILD will likely use standard library
 implementations of data-structures like ArrayList, HashMap etc., in place
 of the custom implementation currently used by GcInfoEncoder.

 Rather than spew the GcInfoEnoder code with
 #ifdef STANDALONE_BUILD ... #else .. #endif blocks, we include a special
 header GcInfoUtil.h in STANDALONE_BUILD mode.  GcInfoUtil.h is expected to
 supply the interface/implementation for the data-structures and utilities
 used by GcInfoEncoder. This header should be provided by the clients doing
 the standalone build in their source tree.
src/.nuget/Microsoft.DotNet.CoreCLR.Debug.Development.nuspec
src/.nuget/Microsoft.DotNet.CoreCLR.Development.nuspec
src/gcinfo/CMakeLists.txt
src/gcinfo/gcinfoencoder.cpp
src/inc/CMakeLists.txt
src/inc/gcinfoencoder.h
src/inc/gcinfotypes.h