From 0913ff21e904e29318242170863b6c28f0739e60 Mon Sep 17 00:00:00 2001 From: Adeel <3840695+am11@users.noreply.github.com> Date: Sun, 26 Mar 2023 08:48:38 +0300 Subject: [PATCH 01/10] Switch mono to use cmake-detected objcopy --- src/mono/CMakeLists.txt | 1 + src/mono/dlls/dbgshim/CMakeLists.txt | 2 +- src/mono/dlls/mscordbi/CMakeLists.txt | 2 +- src/mono/mono.proj | 89 ++++++--------------- src/mono/mono/component/CMakeLists.txt | 2 +- src/mono/mono/eventpipe/test/CMakeLists.txt | 2 +- src/mono/mono/metadata/CMakeLists.txt | 3 +- src/mono/mono/mini/CMakeLists.txt | 17 ++-- 8 files changed, 37 insertions(+), 81 deletions(-) diff --git a/src/mono/CMakeLists.txt b/src/mono/CMakeLists.txt index 7b57776aa007c7..8e9763dbb27e5f 100644 --- a/src/mono/CMakeLists.txt +++ b/src/mono/CMakeLists.txt @@ -8,6 +8,7 @@ project(mono) include(../../eng/native/configurepaths.cmake) include(${CLR_ENG_NATIVE_DIR}/functions.cmake) +include(${CLR_ENG_NATIVE_DIR}/configuretools.cmake) if (MSVC) # Also set by configurecompiler.cmake, which isn't used by mono yet diff --git a/src/mono/dlls/dbgshim/CMakeLists.txt b/src/mono/dlls/dbgshim/CMakeLists.txt index adb41b47612d8d..ffb57d5a5ed7a6 100644 --- a/src/mono/dlls/dbgshim/CMakeLists.txt +++ b/src/mono/dlls/dbgshim/CMakeLists.txt @@ -82,4 +82,4 @@ if(CLR_CMAKE_HOST_UNIX) endif() target_link_libraries(dbgshim PRIVATE ${DBGSHIM_LIBRARIES} monoapi) -install(TARGETS dbgshim DESTINATION lib) +install_with_stripped_symbols(dbgshim TARGETS lib) diff --git a/src/mono/dlls/mscordbi/CMakeLists.txt b/src/mono/dlls/mscordbi/CMakeLists.txt index c570777dca93a1..b9bbbefbe6b0b3 100644 --- a/src/mono/dlls/mscordbi/CMakeLists.txt +++ b/src/mono/dlls/mscordbi/CMakeLists.txt @@ -153,4 +153,4 @@ if(CLR_CMAKE_HOST_UNIX) endif() target_link_libraries(mscordbi PRIVATE ${COREDBI_LIBRARIES} monoapi) -install(TARGETS mscordbi DESTINATION lib) +install_with_stripped_symbols(mscordbi TARGETS lib) diff --git a/src/mono/mono.proj b/src/mono/mono.proj index 695064cc7663bf..9444815a8b5330 100644 --- a/src/mono/mono.proj +++ b/src/mono/mono.proj @@ -263,6 +263,7 @@ <_MonoCMakeArgs Include="-DCMAKE_INSTALL_PREFIX="$(MonoObjDir.Replace('\','/'))out""/> <_MonoCMakeArgs Include="-DCMAKE_INSTALL_LIBDIR=lib"/> <_MonoCMakeArgs Include="-DCMAKE_BUILD_TYPE=$(Configuration)"/> + <_MonoCMakeArgs Include="-DCLR_CMAKE_KEEP_NATIVE_SYMBOLS=true" Condition="'$(KeepNativeSymbols)' != 'true' or '$(BuildMonoAOTCrossCompilerOnly)' == 'true'" /> <_MonoCMakeArgs Condition="'$(CMakeArgs)' != ''" Include="$(CMakeArgs)"/> <_MonoCMakeArgs Condition="'$(MonoEnableLLVM)' == 'true'" Include="-DLLVM_PREFIX=$(MonoLLVMDir)\$(_MonoLLVMTargetArchitecture)" /> <_MonoCMakeArgs Condition="'$(BuildDarwinFrameworks)' == 'true'" Include="-DBUILD_DARWIN_FRAMEWORKS=1" /> @@ -461,20 +462,19 @@ <_IcuLibdir>$(PkgMicrosoft_NETCore_Runtime_ICU_Transport)/runtimes/$(TargetOS)-$(TargetArchitecture)/native/lib - - <_MonoCMakeArgs Include="-DCMAKE_OSX_ARCHITECTURES=arm64"/> - <_MonoCMakeArgs Include="-DCMAKE_SYSTEM_NAME=$(_MonoCMakeSystemName)"/> <_MonoCMakeArgs Include="-DCMAKE_OSX_DEPLOYMENT_TARGET=$(_MonoCMakeVersionMin)" /> <_MonoCMakeArgs Include="-DCMAKE_OSX_SYSROOT='$(_MonoCMakeSysroot)'" /> - <_MonoCMakeArgs Condition="'$(Platform)' == 'x64'" Include="-DCMAKE_OSX_ARCHITECTURES=x86_64"/> - <_MonoCMakeArgs Condition="'$(Platform)' == 'x86'" Include="-DCMAKE_OSX_ARCHITECTURES=i386"/> - <_MonoCMakeArgs Condition="'$(Platform)' == 'arm64'" Include="-DCMAKE_OSX_ARCHITECTURES=arm64"/> - <_MonoCMakeArgs Condition="'$(Platform)' == 'arm'" Include=""-DCMAKE_OSX_ARCHITECTURES=armv7%3Barmv7s""/> <_MonoCFLAGS Include="-Wl,-application_extension" /> <_MonoCXXFLAGS Include="-Wl,-application_extension" /> + + <_MonoCMakeArgs Condition="'$(Platform)' == 'x64'" Include="-DCMAKE_OSX_ARCHITECTURES=x86_64" /> + <_MonoCMakeArgs Condition="'$(Platform)' == 'x86'" Include="-DCMAKE_OSX_ARCHITECTURES=i386" /> + <_MonoCMakeArgs Condition="'$(Platform)' == 'arm64'" Include="-DCMAKE_OSX_ARCHITECTURES=arm64" /> + <_MonoCMakeArgs Condition="'$(Platform)' == 'arm'" Include=""-DCMAKE_OSX_ARCHITECTURES=armv7%3Barmv7s"" /> + <_MonoCMakeArgs Include="-DICU_LIBDIR=$(_IcuLibdir)"/> <_MonoCMakeArgs Include="-DENABLE_ICALL_EXPORT=1"/> @@ -581,6 +581,8 @@ <_MonoCMakeArgs Include="-DMONO_COMPONENTS_RID=$(TargetOS)-$(TargetArchitecture)" /> + <_MonoCMakeArgs Condition="'$(TargetArchitecture)' == 'wasm' or '$(TargetArchitecture)' == 'wasm32'" Include="-DCLR_CMAKE_HOST_ARCH=$(BuildArchitecture)" /> + <_MonoCMakeArgs Condition="'$(TargetArchitecture)' != 'wasm' and '$(TargetArchitecture)' != 'wasm32'" Include="-DCLR_CMAKE_HOST_ARCH=$(TargetArchitecture)" /> @@ -633,55 +635,6 @@ - - - - linux-x86_64 - darwin-x86_64 - windows-x86_64 - <_MonoRuntimeFilePath>$(MonoObjDir)out\lib\$(MonoFileName) - <_LinuxAbi Condition="'$(TargetsAndroid)' != 'true' and '$(TargetsLinuxBionic)' != 'true' and '$(TargetsLinuxMusl)' != 'true'">linux-gnu - <_LinuxAbi Condition="'$(TargetsAndroid)' != 'true' and '$(TargetsLinuxBionic)' != 'true' and '$(TargetsLinuxMusl)' == 'true'">alpine-linux-musl - <_LinuxAbi Condition="'$(TargetsAndroid)' == 'true' or '$(TargetsLinuxBionic)' == 'true'">linux-android - <_LinuxFloatAbi Condition="'$(TargetsAndroid)' != 'true' and '$(TargetsLinuxBionic)' != 'true'">hf - <_Objcopy>objcopy - <_Objcopy Condition="'$(Platform)' == 'arm'">arm-$(_LinuxAbi)eabi$(_LinuxFloatAbi)-$(_Objcopy) - <_Objcopy Condition="'$(Platform)' == 'armv6'">arm-$(_LinuxAbi)eabi$(_LinuxFloatAbi)-$(_Objcopy) - <_Objcopy Condition="'$(Platform)' == 'arm64'">aarch64-$(_LinuxAbi)-$(_Objcopy) - <_Objcopy Condition="'$(Platform)' == 'riscv64'">riscv64-$(_LinuxAbi)-$(_Objcopy) - <_Objcopy Condition="'$(Platform)' == 's390x'">s390x-$(_LinuxAbi)-$(_Objcopy) - <_Objcopy Condition="'$(Platform)' == 'ppc64le'">powerpc64le-$(_LinuxAbi)-$(_Objcopy) - <_Objcopy Condition="'$(Platform)' == 'x64'">x86_64-$(_LinuxAbi)-$(_Objcopy) - <_Objcopy Condition="'$(Platform)' == 'x86'">i686-$(_LinuxAbi)-$(_Objcopy) - <_Objcopy Condition="'$(TargetsAndroid)' == 'true' or '$(TargetsLinuxBionic)' == 'true'">$(ANDROID_NDK_ROOT)/toolchains/llvm/prebuilt/$(MonoToolchainPrebuiltOS)/bin/llvm-objcopy - <_Objcopy Condition="'$(TargetsLinuxMusl)' == 'true' and '$(CrossBuild)' != 'true'">objcopy - - <_ObjcopyPrefix Condition="'$(MonoCrossDir)' != '' and '$(Platform)' == 'riscv64'">llvm-objcopy- - - - - - - - - - - - - - <_Objcopy Condition="'$(_ObjcopyFound)' != '0'">objcopy - - - - - - - - - - - - @@ -712,6 +665,12 @@ x86_64-apple-maccatalyst + + linux-x86_64 + darwin-x86_64 + windows-x86_64 + + <_LibClang Include="$(ANDROID_NDK_ROOT)/toolchains/llvm/prebuilt/$(MonoToolchainPrebuiltOS)/lib64/libclang.so.*"/> @@ -724,9 +683,15 @@ $(MonoCrossDir)/usr/lib/gcc/aarch64-linux-gnu/5 + + <_MonoLLVMTargetArchitecture>$(BuildArchitecture) + <_MonoLLVMTargetArchitecture Condition="'$(RealTargetArchitecture)' != ''">$(RealTargetArchitecture) + + - + + <_MonoAOTCFLAGS Condition="'$(RealTargetArchitecture)' == 'arm64'" Include="-arch arm64" /> @@ -773,6 +738,8 @@ <_MonoAOTCPPFLAGS Include="-DNVALGRIND" /> + + @@ -784,9 +751,6 @@ <_MonoSkipInitCompiler>true - linux-x86_64 - darwin-x86_64 - windows-x86_64 true $(ANDROID_NDK_ROOT)/sysroot @@ -828,8 +792,6 @@ <_MonoAOTCFLAGSOption>-DCMAKE_C_FLAGS="@(_MonoAOTCPPFLAGS, ' ') @(_MonoAOTCFLAGS, ' ')" <_MonoAOTCXXFLAGSOption>-DCMAKE_CXX_FLAGS="@(_MonoAOTCPPFLAGS, ' ') @(_MonoAOTCXXFLAGS, ' ')" - <_MonoLLVMTargetArchitecture>$(BuildArchitecture) - <_MonoLLVMTargetArchitecture Condition="'$(RealTargetArchitecture)' != ''">$(RealTargetArchitecture) @@ -916,8 +878,7 @@ - <_MonoRuntimeFilePath Condition="'$(TargetsWindows)' == 'true'">$(MonoObjDir)out\bin\$(MonoFileName) - <_MonoRuntimeFilePath Condition="'$(_MonoRuntimeFilePath)' == ''">$(MonoObjDir)out\lib\$(MonoFileName) + <_MonoRuntimeFilePath>$(MonoObjDir)out\lib\$(MonoFileName) <_MonoRuntimeStaticFilePath Condition="'$(TargetsMacCatalyst)' == 'true' or '$(TargetsiOS)' == 'true' or '$(TargetstvOS)' == 'true' or '$(TargetsAndroid)' == 'true' or '$(TargetsLinuxBionic)' == 'true'">$(MonoObjDir)out\lib\$(MonoStaticLibFileName) <_MonoIncludeInterpStaticFiles Condition="'$(TargetsBrowser)' == 'true' or '$(TargetsWasi)' == 'true'">true <_MonoIncludeIcuFiles Condition="'$(TargetsiOS)' == 'true' or '$(TargetstvOS)' == 'true' or '$(TargetsMacCatalyst)' == 'true'">true diff --git a/src/mono/mono/component/CMakeLists.txt b/src/mono/mono/component/CMakeLists.txt index 8a8964efc087e5..967ea555f96901 100644 --- a/src/mono/mono/component/CMakeLists.txt +++ b/src/mono/mono/component/CMakeLists.txt @@ -192,7 +192,7 @@ if(NOT DISABLE_COMPONENTS AND NOT STATIC_COMPONENTS) target_link_libraries("mono-component-${component}" PRIVATE monosgen-shared) endif() target_link_libraries("mono-component-${component}" PRIVATE ${OS_LIBS}) - install(TARGETS "mono-component-${component}" LIBRARY) + install_with_stripped_symbols("mono-component-${component}" TARGETS lib) endforeach() #define a library for each component and component stub diff --git a/src/mono/mono/eventpipe/test/CMakeLists.txt b/src/mono/mono/eventpipe/test/CMakeLists.txt index 5662e9ca46a3db..34e84a77768e58 100644 --- a/src/mono/mono/eventpipe/test/CMakeLists.txt +++ b/src/mono/mono/eventpipe/test/CMakeLists.txt @@ -43,7 +43,7 @@ if(ENABLE_PERFTRACING) if(ICU_LDFLAGS) set_target_properties(ep-test PROPERTIES LINK_FLAGS ${ICU_LDFLAGS}) endif() - install(TARGETS ep-test RUNTIME) + install_with_stripped_symbols(ep-test TARGETS bin) else(ENABLE_EVENTPIPE_TEST AND STATIC_COMPONENTS AND (NOT DISABLE_COMPONENTS) AND (NOT DISABLE_LIBS) AND (NOT DISABLE_EXECUTABLES)) message(VERBOSE "Skip building native EventPipe library test runner.") endif(ENABLE_EVENTPIPE_TEST AND STATIC_COMPONENTS AND (NOT DISABLE_COMPONENTS) AND (NOT DISABLE_LIBS) AND (NOT DISABLE_EXECUTABLES)) diff --git a/src/mono/mono/metadata/CMakeLists.txt b/src/mono/mono/metadata/CMakeLists.txt index abddf1a58a5d92..a702c70ec285c0 100644 --- a/src/mono/mono/metadata/CMakeLists.txt +++ b/src/mono/mono/metadata/CMakeLists.txt @@ -9,7 +9,7 @@ target_link_libraries(mono-icall-table PRIVATE monoapi eglib_api) target_include_directories(mono-icall-table PRIVATE ${PROJECT_BINARY_DIR}/../.. ${PROJECT_SOURCE_DIR}/../.. ${PROJECT_SOURCE_DIR}/..) -install(TARGETS mono-icall-table LIBRARY) +install_with_stripped_symbols(mono-icall-table TARGETS lib) else() set(icall_table_sources "icall-table.c") endif() @@ -208,4 +208,3 @@ target_compile_definitions(metadata_objects PRIVATE -DMONO_DLL_EXPORT) target_include_directories(metadata_objects PRIVATE ${PROJECT_BINARY_DIR}/../.. ${PROJECT_SOURCE_DIR}/../.. ${PROJECT_SOURCE_DIR}/..) - diff --git a/src/mono/mono/mini/CMakeLists.txt b/src/mono/mono/mini/CMakeLists.txt index 8419317adc58c3..daf885ce3f19c0 100644 --- a/src/mono/mono/mini/CMakeLists.txt +++ b/src/mono/mono/mini/CMakeLists.txt @@ -300,7 +300,7 @@ target_link_libraries(mono-ee-interp PRIVATE monoapi eglib_api) target_include_directories(mono-ee-interp PRIVATE ${PROJECT_BINARY_DIR}/../.. ${PROJECT_SOURCE_DIR}/../.. ${PROJECT_SOURCE_DIR}/..) -install(TARGETS mono-ee-interp LIBRARY) +install_with_stripped_symbols(mono-ee-interp TARGETS lib) if(HOST_WASM AND CMAKE_BUILD_TYPE STREQUAL "Debug") # Always optimize the interpreter, even in Debug builds. Unoptimized interp_exec_method and # generate_code are so big that some browsers overflow the stack with even a few recursive @@ -410,7 +410,7 @@ if(NOT DISABLE_SHARED_LIBS) # if components are disabled, link the fallback stubs into the runtime target_sources(monosgen-shared PRIVATE "${mono-components-stub-objects}") endif() - install(TARGETS monosgen-shared LIBRARY) + install_with_stripped_symbols(monosgen-shared TARGETS lib) if(HOST_WIN32 AND TARGET_AMD64) add_library(monosgen-shared-dac SHARED "mini-windows-dlldac.c") target_link_libraries(monosgen-shared-dac PRIVATE monoapi eglib_api) @@ -452,9 +452,7 @@ if(NOT DISABLE_SHARED_LIBS) FRAMEWORK_VERSION C MACOSX_FRAMEWORK_IDENTIFIER net.dot.mono-framework ) - install(TARGETS ${frameworkconfig} - FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR} - ) + install_with_stripped_symbols(${frameworkconfig} TARGETS ${CMAKE_INSTALL_LIBDIR}) endforeach() endif() endif() @@ -465,11 +463,11 @@ if(HOST_BROWSER) # This is the only source file which contains a c++ throw or catch add_library(mono-wasm-eh-js STATIC llvm-runtime.cpp) target_link_libraries (mono-wasm-eh-js PRIVATE monoapi eglib_api) - install(TARGETS mono-wasm-eh-js LIBRARY) + install_with_stripped_symbols(mono-wasm-eh-js TARGETS lib) add_library(mono-wasm-eh-wasm STATIC llvm-runtime.cpp) target_link_libraries (mono-wasm-eh-wasm PRIVATE monoapi eglib_api) set_target_properties(mono-wasm-eh-wasm PROPERTIES COMPILE_FLAGS "-fwasm-exceptions") - install(TARGETS mono-wasm-eh-wasm LIBRARY) + install_with_stripped_symbols(mono-wasm-eh-wasm TARGETS lib) endif() find_package(Python3 COMPONENTS Interpreter) @@ -567,8 +565,5 @@ if(NOT DISABLE_EXECUTABLES) target_sources(mono-sgen PRIVATE ${mono_validate_apis_source}) endif() - install(TARGETS mono-sgen RUNTIME) - if(HOST_WIN32) - install(FILES $ DESTINATION bin OPTIONAL) - endif() + install_with_stripped_symbols(mono-sgen TARGETS bin) endif() From 2111ae1b207e7ac59a54b7fb663a6108b14c5311 Mon Sep 17 00:00:00 2001 From: Adeel Mujahid <3840695+am11@users.noreply.github.com> Date: Tue, 28 Mar 2023 00:11:04 +0300 Subject: [PATCH 02/10] Fix a condition --- src/mono/mono.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/mono.proj b/src/mono/mono.proj index 9444815a8b5330..44424e711b2696 100644 --- a/src/mono/mono.proj +++ b/src/mono/mono.proj @@ -263,7 +263,7 @@ <_MonoCMakeArgs Include="-DCMAKE_INSTALL_PREFIX="$(MonoObjDir.Replace('\','/'))out""/> <_MonoCMakeArgs Include="-DCMAKE_INSTALL_LIBDIR=lib"/> <_MonoCMakeArgs Include="-DCMAKE_BUILD_TYPE=$(Configuration)"/> - <_MonoCMakeArgs Include="-DCLR_CMAKE_KEEP_NATIVE_SYMBOLS=true" Condition="'$(KeepNativeSymbols)' != 'true' or '$(BuildMonoAOTCrossCompilerOnly)' == 'true'" /> + <_MonoCMakeArgs Include="-DCLR_CMAKE_KEEP_NATIVE_SYMBOLS=true" Condition="'$(KeepNativeSymbols)' == 'true' or '$(BuildMonoAOTCrossCompilerOnly)' == 'true'" /> <_MonoCMakeArgs Condition="'$(CMakeArgs)' != ''" Include="$(CMakeArgs)"/> <_MonoCMakeArgs Condition="'$(MonoEnableLLVM)' == 'true'" Include="-DLLVM_PREFIX=$(MonoLLVMDir)\$(_MonoLLVMTargetArchitecture)" /> <_MonoCMakeArgs Condition="'$(BuildDarwinFrameworks)' == 'true'" Include="-DBUILD_DARWIN_FRAMEWORKS=1" /> From 5d3fe81a483a3068e2bc1a16514193e9e7995132 Mon Sep 17 00:00:00 2001 From: Adeel <3840695+am11@users.noreply.github.com> Date: Tue, 28 Mar 2023 01:24:58 +0300 Subject: [PATCH 03/10] Handle wasi case --- eng/native/functions.cmake | 8 +++++--- src/mono/mono.proj | 2 -- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/eng/native/functions.cmake b/eng/native/functions.cmake index c926f7e6d9c977..e1db7dcb5e21c5 100644 --- a/eng/native/functions.cmake +++ b/eng/native/functions.cmake @@ -373,11 +373,11 @@ function (get_symbol_file_name targetName outputSymbolFilename) endif () set(${outputSymbolFilename} ${strip_destination_file} PARENT_SCOPE) - else(CLR_CMAKE_HOST_UNIX) + elseif(CLR_CMAKE_HOST_WIN32) # We can't use the $ generator expression here since # the generator expression isn't supported on resource DLLs. set(${outputSymbolFilename} $/$$.pdb PARENT_SCOPE) - endif(CLR_CMAKE_HOST_UNIX) + endif() endfunction() function(strip_symbols targetName outputFilename) @@ -443,7 +443,9 @@ endfunction() function(install_with_stripped_symbols targetName kind destination) if(NOT CLR_CMAKE_KEEP_NATIVE_SYMBOLS) strip_symbols(${targetName} symbol_file) - install_symbol_file(${symbol_file} ${destination} ${ARGN}) + if (NOT "${symbolFile}" STREQUAL "") + install_symbol_file(${symbol_file} ${destination} ${ARGN}) + endif() endif() if (CLR_CMAKE_TARGET_APPLE AND ("${kind}" STREQUAL "TARGETS")) diff --git a/src/mono/mono.proj b/src/mono/mono.proj index 44424e711b2696..5e24e7ff88bc95 100644 --- a/src/mono/mono.proj +++ b/src/mono/mono.proj @@ -1030,8 +1030,6 @@ DestinationFiles="@(_MonoRuntimeBuildArtifacts->'$(RuntimeBinDir)build\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" Condition="'$(BuildMonoAOTCrossCompilerOnly)' != 'true'" /> - - From e552b0f4834dd099938c0bc62e113bb05e063bbb Mon Sep 17 00:00:00 2001 From: Adeel <3840695+am11@users.noreply.github.com> Date: Tue, 28 Mar 2023 02:02:05 +0300 Subject: [PATCH 04/10] Revert static lib change --- src/mono/mono/mini/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/mono/mini/CMakeLists.txt b/src/mono/mono/mini/CMakeLists.txt index daf885ce3f19c0..7990a600420fe4 100644 --- a/src/mono/mono/mini/CMakeLists.txt +++ b/src/mono/mono/mini/CMakeLists.txt @@ -300,7 +300,7 @@ target_link_libraries(mono-ee-interp PRIVATE monoapi eglib_api) target_include_directories(mono-ee-interp PRIVATE ${PROJECT_BINARY_DIR}/../.. ${PROJECT_SOURCE_DIR}/../.. ${PROJECT_SOURCE_DIR}/..) -install_with_stripped_symbols(mono-ee-interp TARGETS lib) +install(TARGETS mono-ee-interp LIBRARY) if(HOST_WASM AND CMAKE_BUILD_TYPE STREQUAL "Debug") # Always optimize the interpreter, even in Debug builds. Unoptimized interp_exec_method and # generate_code are so big that some browsers overflow the stack with even a few recursive From bdf5d800132c678db15f51890fb4a1845b631166 Mon Sep 17 00:00:00 2001 From: Adeel <3840695+am11@users.noreply.github.com> Date: Tue, 28 Mar 2023 03:11:45 +0300 Subject: [PATCH 05/10] typo --- eng/native/functions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/native/functions.cmake b/eng/native/functions.cmake index e1db7dcb5e21c5..89ae649ebd9d58 100644 --- a/eng/native/functions.cmake +++ b/eng/native/functions.cmake @@ -443,7 +443,7 @@ endfunction() function(install_with_stripped_symbols targetName kind destination) if(NOT CLR_CMAKE_KEEP_NATIVE_SYMBOLS) strip_symbols(${targetName} symbol_file) - if (NOT "${symbolFile}" STREQUAL "") + if (NOT "${symbol_file}" STREQUAL "") install_symbol_file(${symbol_file} ${destination} ${ARGN}) endif() endif() From ab5994dc96e53b98f6ed136c157c95dc26e1a85c Mon Sep 17 00:00:00 2001 From: Adeel <3840695+am11@users.noreply.github.com> Date: Tue, 28 Mar 2023 03:42:29 +0300 Subject: [PATCH 06/10] revert static lib change --- src/mono/mono/metadata/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/mono/metadata/CMakeLists.txt b/src/mono/mono/metadata/CMakeLists.txt index a702c70ec285c0..1c692c9f6f0e1f 100644 --- a/src/mono/mono/metadata/CMakeLists.txt +++ b/src/mono/mono/metadata/CMakeLists.txt @@ -9,7 +9,7 @@ target_link_libraries(mono-icall-table PRIVATE monoapi eglib_api) target_include_directories(mono-icall-table PRIVATE ${PROJECT_BINARY_DIR}/../.. ${PROJECT_SOURCE_DIR}/../.. ${PROJECT_SOURCE_DIR}/..) -install_with_stripped_symbols(mono-icall-table TARGETS lib) +install(TARGETS mono-icall-table LIBRARY) else() set(icall_table_sources "icall-table.c") endif() From 3c2a67f819d1f19f5dfc8bfb3de4c59baae5bfe4 Mon Sep 17 00:00:00 2001 From: Adeel <3840695+am11@users.noreply.github.com> Date: Tue, 28 Mar 2023 04:22:44 +0300 Subject: [PATCH 07/10] revert static lib change --- src/mono/mono/mini/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mono/mono/mini/CMakeLists.txt b/src/mono/mono/mini/CMakeLists.txt index 7990a600420fe4..2d39b5dbe266d9 100644 --- a/src/mono/mono/mini/CMakeLists.txt +++ b/src/mono/mono/mini/CMakeLists.txt @@ -463,11 +463,11 @@ if(HOST_BROWSER) # This is the only source file which contains a c++ throw or catch add_library(mono-wasm-eh-js STATIC llvm-runtime.cpp) target_link_libraries (mono-wasm-eh-js PRIVATE monoapi eglib_api) - install_with_stripped_symbols(mono-wasm-eh-js TARGETS lib) + install(TARGETS mono-wasm-eh-js LIBRARY) add_library(mono-wasm-eh-wasm STATIC llvm-runtime.cpp) target_link_libraries (mono-wasm-eh-wasm PRIVATE monoapi eglib_api) set_target_properties(mono-wasm-eh-wasm PROPERTIES COMPILE_FLAGS "-fwasm-exceptions") - install_with_stripped_symbols(mono-wasm-eh-wasm TARGETS lib) + install(TARGETS mono-wasm-eh-wasm LIBRARY) endif() find_package(Python3 COMPONENTS Interpreter) From 3db2d8215343e4d579c37a6007b036154e35024e Mon Sep 17 00:00:00 2001 From: Adeel Mujahid <3840695+am11@users.noreply.github.com> Date: Tue, 28 Mar 2023 21:26:57 +0300 Subject: [PATCH 08/10] Address CR feedback --- src/mono/mono.proj | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mono/mono.proj b/src/mono/mono.proj index 5e24e7ff88bc95..aa3c9e8ca3c41e 100644 --- a/src/mono/mono.proj +++ b/src/mono/mono.proj @@ -263,7 +263,7 @@ <_MonoCMakeArgs Include="-DCMAKE_INSTALL_PREFIX="$(MonoObjDir.Replace('\','/'))out""/> <_MonoCMakeArgs Include="-DCMAKE_INSTALL_LIBDIR=lib"/> <_MonoCMakeArgs Include="-DCMAKE_BUILD_TYPE=$(Configuration)"/> - <_MonoCMakeArgs Include="-DCLR_CMAKE_KEEP_NATIVE_SYMBOLS=true" Condition="'$(KeepNativeSymbols)' == 'true' or '$(BuildMonoAOTCrossCompilerOnly)' == 'true'" /> + <_MonoCMakeArgs Include="-DCLR_CMAKE_KEEP_NATIVE_SYMBOLS=true" Condition="'$(KeepNativeSymbols)' == 'true'" /> <_MonoCMakeArgs Condition="'$(CMakeArgs)' != ''" Include="$(CMakeArgs)"/> <_MonoCMakeArgs Condition="'$(MonoEnableLLVM)' == 'true'" Include="-DLLVM_PREFIX=$(MonoLLVMDir)\$(_MonoLLVMTargetArchitecture)" /> <_MonoCMakeArgs Condition="'$(BuildDarwinFrameworks)' == 'true'" Include="-DBUILD_DARWIN_FRAMEWORKS=1" /> @@ -581,8 +581,8 @@ <_MonoCMakeArgs Include="-DMONO_COMPONENTS_RID=$(TargetOS)-$(TargetArchitecture)" /> - <_MonoCMakeArgs Condition="'$(TargetArchitecture)' == 'wasm' or '$(TargetArchitecture)' == 'wasm32'" Include="-DCLR_CMAKE_HOST_ARCH=$(BuildArchitecture)" /> - <_MonoCMakeArgs Condition="'$(TargetArchitecture)' != 'wasm' and '$(TargetArchitecture)' != 'wasm32'" Include="-DCLR_CMAKE_HOST_ARCH=$(TargetArchitecture)" /> + <_MonoCMakeArgs Condition="'$(TargetArchitecture)' == 'wasm'" Include="-DCLR_CMAKE_HOST_ARCH=$(BuildArchitecture)" /> + <_MonoCMakeArgs Condition="'$(TargetArchitecture)' != 'wasm'" Include="-DCLR_CMAKE_HOST_ARCH=$(TargetArchitecture)" /> @@ -738,8 +738,8 @@ <_MonoAOTCPPFLAGS Include="-DNVALGRIND" /> - - + + From 5f0b20ca8f48f87f73f65785a7387b910882a9a1 Mon Sep 17 00:00:00 2001 From: Adeel <3840695+am11@users.noreply.github.com> Date: Wed, 12 Apr 2023 22:02:14 +0300 Subject: [PATCH 09/10] Address CR feedback --- src/mono/mono.proj | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/mono/mono.proj b/src/mono/mono.proj index aa3c9e8ca3c41e..7bd2afd7db899f 100644 --- a/src/mono/mono.proj +++ b/src/mono/mono.proj @@ -581,6 +581,14 @@ <_MonoCMakeArgs Include="-DMONO_COMPONENTS_RID=$(TargetOS)-$(TargetArchitecture)" /> + + <_MonoCMakeArgs Condition="'$(TargetArchitecture)' == 'wasm'" Include="-DCLR_CMAKE_HOST_ARCH=$(BuildArchitecture)" /> <_MonoCMakeArgs Condition="'$(TargetArchitecture)' != 'wasm'" Include="-DCLR_CMAKE_HOST_ARCH=$(TargetArchitecture)" /> @@ -691,7 +699,9 @@ - + + + <_MonoAOTCFLAGS Condition="'$(RealTargetArchitecture)' == 'arm64'" Include="-arch arm64" /> From 7c830a7aa406b84d92a033189ca2b6b27c4712cc Mon Sep 17 00:00:00 2001 From: Adeel <3840695+am11@users.noreply.github.com> Date: Wed, 12 Apr 2023 23:52:59 +0300 Subject: [PATCH 10/10] . --- src/mono/mono.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/mono.proj b/src/mono/mono.proj index 7bd2afd7db899f..346014f4b4c2af 100644 --- a/src/mono/mono.proj +++ b/src/mono/mono.proj @@ -700,8 +700,8 @@ + - <_MonoAOTCFLAGS Condition="'$(RealTargetArchitecture)' == 'arm64'" Include="-arch arm64" />