Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Sadov <vsadov@microsoft.com>2021-03-03 08:16:30 +0300
committerGitHub <noreply@github.com>2021-03-03 08:16:30 +0300
commit146c865f7472b569e7fa3354ab9f0cd08c9496dc (patch)
treef3d96b008b86d491c8c4d9058727f56bf3732f00 /src/coreclr/dlls
parent30560e25a4fa6e0e304bd698e69dbdbf99e02d41 (diff)
Embedding dac and other debugging resources into singlefilehost (#49033)
* Embedding dac and other debugging resources into singlefilehost * Embed DAC later, when it had a chance to be signed. * MINIDUMP_EMBEDDED_AUXILIARY_PROVIDER Co-authored-by: Juan Hoyos <juan.hoyos@microsoft.com> * fix for cross builds Co-authored-by: Juan Hoyos <juan.hoyos@microsoft.com>
Diffstat (limited to 'src/coreclr/dlls')
-rw-r--r--src/coreclr/dlls/mscoree/coreclr/CMakeLists.txt16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/coreclr/dlls/mscoree/coreclr/CMakeLists.txt b/src/coreclr/dlls/mscoree/coreclr/CMakeLists.txt
index 705caaedb51..b22ccf1a6bc 100644
--- a/src/coreclr/dlls/mscoree/coreclr/CMakeLists.txt
+++ b/src/coreclr/dlls/mscoree/coreclr/CMakeLists.txt
@@ -204,16 +204,28 @@ if(CLR_CMAKE_TARGET_WIN32)
endif()
add_custom_command(
- DEPENDS coreclr mscordaccore mscordbi ${CLR_DIR}/debug/daccess/daccess.cpp
+ DEPENDS coreclr singlefilehost mscordaccore mscordbi ${CLR_DIR}/debug/daccess/daccess.cpp
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/inject_debug_resources.timestamp
COMMAND ${CMAKE_CXX_COMPILER} /P /EP /TP ${PREPROCESS_DEFINITIONS} ${INC_DIR} /Fi${CMAKE_CURRENT_BINARY_DIR}/daccess.i ${CLR_DIR}/debug/daccess/daccess.cpp
+
+ # make and inject dactable for coreclr
COMMAND cmd /c ${CLR_REPO_ROOT_DIR}/dotnet.cmd exec ${CMAKE_INSTALL_PREFIX}/DacTableGen/DacTableGen.dll /dac:${CMAKE_CURRENT_BINARY_DIR}/daccess.i /pdb:$<TARGET_PDB_FILE:coreclr> /dll:$<TARGET_FILE:coreclr> /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin
COMMAND InjectResource /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin /dll:$<TARGET_FILE:coreclr>
+
+ # make and inject dactable for singlefilehost
+ COMMAND cmd /c ${CLR_REPO_ROOT_DIR}/dotnet.cmd exec ${CMAKE_INSTALL_PREFIX}/DacTableGen/DacTableGen.dll /dac:${CMAKE_CURRENT_BINARY_DIR}/daccess.i /pdb:$<TARGET_PDB_FILE:singlefilehost> /dll:$<TARGET_FILE:singlefilehost> /bin:${CMAKE_CURRENT_BINARY_DIR}/sfh.bin
+ COMMAND InjectResource /bin:${CMAKE_CURRENT_BINARY_DIR}/sfh.bin /dll:$<TARGET_FILE:singlefilehost>
+
+ # make CLRDEBUGINFO resource and inject into coreclr and singlefilehost
COMMAND GenClrDebugResource /dac:$<TARGET_FILE:mscordaccore> /dbi:$<TARGET_FILE:mscordbi> /sku:onecoreclr /out:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin
COMMAND InjectResource /bin:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin /dll:$<TARGET_FILE:coreclr> /name:CLRDEBUGINFO
+ COMMAND InjectResource /bin:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin /dll:$<TARGET_FILE:singlefilehost> /name:CLRDEBUGINFO
+
+ # inject MINIDUMP_AUXILIARY_PROVIDER into coreclr
COMMAND InjectResource /bin:${CMAKE_CURRENT_SOURCE_DIR}/dump_helper_resource.bin /dll:$<TARGET_FILE:coreclr> /name:MINIDUMP_AUXILIARY_PROVIDER
+
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/inject_debug_resources.timestamp
- COMMENT Add dactable, debug resources, and dump helper resources to coreclr
+ COMMENT Add dactable, debug resources, and dump helper resources to coreclr and singlefilehost
)
if(NOT DEFINED CLR_CROSS_COMPONENTS_BUILD)