Skip to content

Commit 1b66587

Browse files
committed
Enable ILDASM for Windows
This enables building ILDASM with Cmake for Windows. This ILDASM now depends on CoreCLR targeting cross-platform and thus I dropped some features like GUI/PDB -- default output is console. Metadata related APIs in CoreCLR are directly exported, and used in ILDASM: MetaDataGetDispenser GetMetaDataInternalInterface GetMetaDataInternalInterfaceFromPublic GetMetaDataPublicInterfaceFromInternal The code path is diverged by a definition FEATURE_CORECLR. There are still Window specific components. Among others, resource file/dll generation is the one that should be ported.
1 parent 6936820 commit 1b66587

File tree

15 files changed

+248
-69
lines changed

15 files changed

+248
-69
lines changed

src/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ add_subdirectory(dlls)
5151
add_subdirectory(ToolBox)
5252
add_subdirectory(tools)
5353
add_subdirectory(unwinder)
54+
add_subdirectory(ildasm)
5455

5556
if(WIN32)
5657
add_subdirectory(ipcman)

src/dlls/mscoree/mscorwks_ntdef.src

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,11 @@ EXPORTS
2424
coreclr_initialize
2525
coreclr_shutdown
2626

27-
#ifdef FEATURE_PREJIT
28-
; MetaDataGetDispenser is needed for nidump. We want nidump to work on non-debug
29-
; builds, but we don't want the API to be public, so export it by ordinal.
30-
; This ordinal is hard-coded in tools\nidump\nidump.cpp.
31-
MetaDataGetDispenser @3 noname private
32-
#endif // FEATURE_PREJIT
27+
; il{d}asm
28+
MetaDataGetDispenser
29+
GetMetaDataInternalInterface
30+
GetMetaDataInternalInterfaceFromPublic
31+
GetMetaDataPublicInterfaceFromInternal
3332

3433
#else //FEATURE_CORECLR
3534

src/ildasm/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
if (WIN32)
2+
add_subdirectory(exe)
3+
add_subdirectory(rcdll)
4+
endif()

0 commit comments

Comments
 (0)