Enable ildasm for *nix
authorKyungwoo Lee <kyulee@microsoft.com>
Tue, 1 Dec 2015 18:16:08 +0000 (10:16 -0800)
committerKyungwoo Lee <kyulee@microsoft.com>
Mon, 7 Dec 2015 14:54:12 +0000 (06:54 -0800)
commit823b4b7d602c2298e32f2b7961bbc739cdf5b4cd
tree4aff7653d7caf70d7e23a8ec07e9245db8d7bc9c
parentb313fde80475f234f4746ea2e17d269bbfe00aba
Enable ildasm for *nix

This enables ildasm for cross-platforms.
Unlike Window (where initialization is done when DLL attach), CoreCLR is explciltly hosted/initialized to get the Metadata related APIs.
This also eliminates the need of setting dynamic library path.
Currently, ildasm binary is assumed to be located same as CoreCLR binary.
I added a simple CoreCLRLoader (not meant to run an assembly file) for just direct uses of APIs. Since I expect this library to be used for ilasm work.
Resource string is also handled using a static string table  based on my prior check-in.
Other changes are mostly mechanic with regard to wide constant string.
19 files changed:
CMakeLists.txt
src/coreclr/hosts/unixcoreruncommon/CMakeLists.txt
src/dlls/mscoree/mscorwks_unixexports.src
src/ildasm/CMakeLists.txt
src/ildasm/dasm.cpp
src/ildasm/dasm_formattype.cpp
src/ildasm/dis.cpp
src/ildasm/dis.h
src/ildasm/dman.cpp
src/ildasm/dres.cpp
src/ildasm/dynamicarray.h [moved from src/ildasm/DynamicArray.h with 100% similarity]
src/ildasm/exe/CMakeLists.txt
src/ildasm/unixcoreclrloader/CMakeLists.txt [new file with mode: 0644]
src/ildasm/unixcoreclrloader/coreclrloader.cpp [new file with mode: 0644]
src/ildasm/unixcoreclrloader/coreclrloader.h [new file with mode: 0644]
src/ildasm/windasm.cpp
src/tools/metainfo/mdinfo.cpp
src/tools/metainfo/mdinfo.h
src/tools/metainfo/mdobj.cpp