diff --git a/build-tools/scripts/Ndk.projitems.in b/build-tools/scripts/Ndk.projitems.in index e767b8c460f..3a237cd9ad4 100644 --- a/build-tools/scripts/Ndk.projitems.in +++ b/build-tools/scripts/Ndk.projitems.in @@ -21,7 +21,7 @@ $(AndroidNdkApiLevel_Arm) android-arm True - False + True False diff --git a/build-tools/scripts/xa_build_configuration.cmake.in b/build-tools/scripts/xa_build_configuration.cmake.in index c7ed213f87f..cfa5a23c7dd 100644 --- a/build-tools/scripts/xa_build_configuration.cmake.in +++ b/build-tools/scripts/xa_build_configuration.cmake.in @@ -3,5 +3,6 @@ set(NETCORE_APP_RUNTIME_DIR_ARM64 "@NETCORE_APP_RUNTIME_ANDROID_ARM64@") set(NETCORE_APP_RUNTIME_DIR_X86 "@NETCORE_APP_RUNTIME_ANDROID_X86@") set(NETCORE_APP_RUNTIME_DIR_X86_64 "@NETCORE_APP_RUNTIME_ANDROID_X86_64@") +set(CORECLR_APP_RUNTIME_DIR_ARM "@CORECLR_APP_RUNTIME_ANDROID_ARM@") set(CORECLR_APP_RUNTIME_DIR_ARM64 "@CORECLR_APP_RUNTIME_ANDROID_ARM64@") set(CORECLR_APP_RUNTIME_DIR_X86_64 "@CORECLR_APP_RUNTIME_ANDROID_X86_64@") diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs b/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs index b7f75ef39f1..d5d0d3b17e8 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs @@ -99,6 +99,7 @@ GeneratedFile Get_Cmake_XA_Build_Configuration (Context context) { "@NETCORE_APP_RUNTIME_ANDROID_X86@", Utilities.EscapePathSeparators (Configurables.Paths.NetcoreAppRuntimeAndroidX86) }, { "@NETCORE_APP_RUNTIME_ANDROID_X86_64@", Utilities.EscapePathSeparators (Configurables.Paths.NetcoreAppRuntimeAndroidX86_64) }, + { "@CORECLR_APP_RUNTIME_ANDROID_ARM@", Utilities.EscapePathSeparators (Configurables.Paths.CoreClrAppRuntimeAndroidARM) }, { "@CORECLR_APP_RUNTIME_ANDROID_ARM64@", Utilities.EscapePathSeparators (Configurables.Paths.CoreClrAppRuntimeAndroidARM64) }, { "@CORECLR_APP_RUNTIME_ANDROID_X86_64@", Utilities.EscapePathSeparators (Configurables.Paths.CoreClrAppRuntimeAndroidX86_64) }, }; diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json index 53fe8f57e0f..5de67dcdf60 100644 --- a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json +++ b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json @@ -12,6 +12,7 @@ "Microsoft.Android.Runtime.Mono.37.android-arm64", "Microsoft.Android.Runtime.Mono.37.android-x86", "Microsoft.Android.Runtime.Mono.37.android-x64", + "Microsoft.Android.Runtime.CoreCLR.37.android-arm", "Microsoft.Android.Runtime.CoreCLR.37.android-arm64", "Microsoft.Android.Runtime.CoreCLR.37.android-x64", "Microsoft.Android.Runtime.NativeAOT.37.android-arm64", @@ -78,6 +79,10 @@ "kind": "framework", "version": "@WORKLOAD_VERSION@" }, + "Microsoft.Android.Runtime.CoreCLR.37.android-arm": { + "kind": "framework", + "version": "@WORKLOAD_VERSION@" + }, "Microsoft.Android.Runtime.CoreCLR.37.android-arm64": { "kind": "framework", "version": "@WORKLOAD_VERSION@" diff --git a/src/native/CMakeLists.txt b/src/native/CMakeLists.txt index ba9267c5623..b91d716fb32 100644 --- a/src/native/CMakeLists.txt +++ b/src/native/CMakeLists.txt @@ -177,9 +177,11 @@ if(IS_CLR_RUNTIME) set(LOCAL_CORECLR_CONFIG Release) endif() + set(RUNTIME_DIR_ARM "${LOCAL_CORECLR_PATH}/${CLR_PACKAGE_NAME_STEM}-arm/${LOCAL_CORECLR_CONFIG}/runtimes/android-arm") set(RUNTIME_DIR_ARM64 "${LOCAL_CORECLR_PATH}/${CLR_PACKAGE_NAME_STEM}-arm64/${LOCAL_CORECLR_CONFIG}/runtimes/android-arm64") set(RUNTIME_DIR_X86_64 "${LOCAL_CORECLR_PATH}/${CLR_PACKAGE_NAME_STEM}-x64/${LOCAL_CORECLR_CONFIG}/runtimes/android-x64") else() + set(RUNTIME_DIR_ARM "${CORECLR_APP_RUNTIME_DIR_ARM}") set(RUNTIME_DIR_ARM64 "${CORECLR_APP_RUNTIME_DIR_ARM64}") set(RUNTIME_DIR_X86_64 "${CORECLR_APP_RUNTIME_DIR_X86_64}") endif() diff --git a/src/native/CMakePresets.json.in b/src/native/CMakePresets.json.in index 964103d5903..926a370a3cc 100644 --- a/src/native/CMakePresets.json.in +++ b/src/native/CMakePresets.json.in @@ -151,11 +151,21 @@ "inherits": ["default-common", "common-debug", "common-armeabi-v7a"] }, + { + "name": "coreclr-default-debug-armeabi-v7a", + "inherits": ["default-common", "common-debug", "common-armeabi-v7a"] + }, + { "name": "default-release-armeabi-v7a", "inherits": ["default-common", "common-release", "common-armeabi-v7a"] }, + { + "name": "coreclr-default-release-armeabi-v7a", + "inherits": ["default-common", "common-release", "common-armeabi-v7a"] + }, + { "name": "analyzers-debug-armeabi-v7a", "hidden": true, diff --git a/src/native/clr/host/typemap.cc b/src/native/clr/host/typemap.cc index 85e5a37a3a5..8a52077d360 100644 --- a/src/native/clr/host/typemap.cc +++ b/src/native/clr/host/typemap.cc @@ -146,7 +146,7 @@ auto TypeMapper::managed_to_java_debug (const char *typeName, const uint8_t *mvi dynamic_local_path_string full_type_name; full_type_name.append (typeName); - hash_t mvid_hash = xxhash::hash (mvid, 16z); // we must hope managed land called us with valid data + hash_t mvid_hash = xxhash::hash (reinterpret_cast(mvid), 16z); // we must hope managed land called us with valid data auto equal = [](TypeMapAssembly const& entry, hash_t key) -> bool { return entry.mvid_hash == key; }; auto less_than = [](TypeMapAssembly const& entry, hash_t key) -> bool { return entry.mvid_hash < key; }; diff --git a/src/native/native-clr.csproj b/src/native/native-clr.csproj index bb3445fafb0..d3ab2e1f56c 100644 --- a/src/native/native-clr.csproj +++ b/src/native/native-clr.csproj @@ -7,7 +7,9 @@ Exe false - + + + arm64:x86_64 arm64-v8a:x86_64