Skip to content

Commit c085352

Browse files
committed
First packaging steps + Java startup code changes
1 parent 707cd26 commit c085352

File tree

16 files changed

+191
-51
lines changed

16 files changed

+191
-51
lines changed

build-tools/create-packs/Microsoft.Android.Runtime.proj

+4-2
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ projects that use the Microsoft.Android framework in .NET 6+.
3939
<_AndroidRuntimePackAssemblies Include="$(_MonoAndroidNETDefaultOutDir)Mono.Android.Runtime.dll" />
4040
<!-- Always include stable Mono.Android.Export.dll -->
4141
<_AndroidRuntimePackAssemblies Include="$(_MonoAndroidNETOutputRoot)$(AndroidLatestStableApiLevel)\Mono.Android.Export.dll" />
42-
<_AndroidRuntimePackAssets Include="$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libmono-android.debug.so" />
43-
<_AndroidRuntimePackAssets Include="$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libmono-android.release.so" />
42+
<_AndroidRuntimePackAssets Condition=" Exists('$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libmono-android.debug.so') " Include="$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libmono-android.debug.so" />
43+
<_AndroidRuntimePackAssets Condition=" Exists('$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libmono-android.release.so') " Include="$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libmono-android.release.so" />
44+
<_AndroidRuntimePackAssets Condition=" Exists('$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libnet-android.debug.so') " Include="$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libnet-android.debug.so" />
45+
<_AndroidRuntimePackAssets Condition=" Exists('$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libnet-android.release.so') " Include="$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libnet-android.release.so" />
4446
<_AndroidRuntimePackAssets Include="$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libxamarin-debug-app-helper.so" />
4547
<_AndroidRuntimePackAssets Include="$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libxamarin-native-tracing.so" />
4648
<_AndroidRuntimePackAssets Include="$(MicrosoftAndroidSdkOutDir)lib\$(AndroidRID)\libunwind_xamarin.a" />

build-tools/installers/create-installers.targets

+4
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,10 @@
137137
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_fastdev_net6.jar" ExcludeFromLegacy="true" />
138138
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_net6.dex" ExcludeFromLegacy="true" />
139139
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_fastdev_net6.dex" ExcludeFromLegacy="true" />
140+
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_clr.jar" ExcludeFromLegacy="true" />
141+
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_fastdev_clr.jar" ExcludeFromLegacy="true" />
142+
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_clr.dex" ExcludeFromLegacy="true" />
143+
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_fastdev_clr.dex" ExcludeFromLegacy="true" />
140144
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)manifestmerger.jar" />
141145
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)proguard-android.txt" />
142146
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)protobuf-net.dll" />

src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.AssemblyResolution.targets

+4
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,10 @@ _ResolveAssemblies MSBuild target.
232232
<!-- Filename without extension -->
233233
<_ExcludedNativeLibraries Condition=" '$(_AndroidIncludeSystemGlobalizationNative)' != 'true' " Include="libSystem.Globalization.Native" />
234234
<_ExcludedNativeLibraries Condition=" '$(_AndroidEnableNativeStackTracing)' != 'true' " Include="libxamarin-native-tracing" />
235+
<_ExcludedNativeLibraries Condition=" '$(_AndroidUseCLR)' != 'True' " Include="libnet-android.debug" />
236+
<_ExcludedNativeLibraries Condition=" '$(_AndroidUseCLR)' != 'True' " Include="libnet-android.release" />
237+
<_ExcludedNativeLibraries Condition=" '$(_AndroidUseCLR)' == 'True' " Include="libmono-android.debug" />
238+
<_ExcludedNativeLibraries Condition=" '$(_AndroidUseCLR)' == 'True' " Include="libmono-android.release" />
235239
</ItemGroup>
236240
<ProcessNativeLibraries
237241
InputLibraries="@(_ResolvedNativeLibraries)"

src/Xamarin.Android.Build.Tasks/Tasks/ProcessNativeLibraries.cs

+9-6
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,16 @@ public override bool RunTask ()
5959
}
6060
continue;
6161
}
62-
// Both libmono-android.debug.so and libmono-android.release.so are in InputLibraries.
62+
// Both lib{mono,net}-android.debug.so and lib{mono,net}-android.release.so are in InputLibraries.
6363
// Use IncludeDebugSymbols to determine which one to include.
64-
// We may eventually have files such as `libmono-android-checked+asan.release.so` as well.
64+
// We may eventually have files such as `lib{mono,net}-android-checked+asan.release.so` as well.
6565
var fileName = Path.GetFileNameWithoutExtension (library.ItemSpec);
66-
if (fileName.StartsWith ("libmono-android", StringComparison.Ordinal)) {
66+
if (ExcludedLibraries != null && ExcludedLibraries.Contains (fileName, StringComparer.OrdinalIgnoreCase)) {
67+
Log.LogDebugMessage ($"Excluding '{library.ItemSpec}'");
68+
continue;
69+
}
70+
71+
if (fileName.StartsWith ("libmono-android", StringComparison.Ordinal) || fileName.StartsWith ("libnet-android", StringComparison.Ordinal)) {
6772
if (fileName.EndsWith (".debug", StringComparison.Ordinal)) {
6873
if (!IncludeDebugSymbols)
6974
continue;
@@ -73,6 +78,7 @@ public override bool RunTask ()
7378
continue;
7479
library.SetMetadata ("ArchiveFileName", "libmonodroid.so");
7580
}
81+
Log.LogDebugMessage ($"Including runtime: {library}");
7682
} else if (DebugNativeLibraries.Contains (fileName)) {
7783
if (!IncludeDebugSymbols) {
7884
Log.LogDebugMessage ($"Excluding '{library.ItemSpec}' for release builds.");
@@ -82,9 +88,6 @@ public override bool RunTask ()
8288
if (!wantedComponents.Contains (fileName)) {
8389
continue;
8490
}
85-
} else if (ExcludedLibraries != null && ExcludedLibraries.Contains (fileName, StringComparer.OrdinalIgnoreCase)) {
86-
Log.LogDebugMessage ($"Excluding '{library.ItemSpec}'");
87-
continue;
8891
}
8992

9093
output.Add (library);

src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!--
1+
<!--
22
***********************************************************************************************
33
Xamarin.Android.Common.targets
44
@@ -1338,10 +1338,15 @@ because xbuild doesn't support framework reference assemblies.
13381338
</Target>
13391339

13401340
<Target Name="_CollectRuntimeJarFilenames">
1341-
<PropertyGroup>
1341+
<PropertyGroup Condition=" '$(_AndroidUseCLR)' != 'True' ">
13421342
<_RuntimeJar>$(MSBuildThisFileDirectory)\java_runtime_net6.jar</_RuntimeJar>
13431343
<_RuntimeDex>$(MSBuildThisFileDirectory)\java_runtime_net6.dex</_RuntimeDex>
13441344
</PropertyGroup>
1345+
1346+
<PropertyGroup Condition=" '$(_AndroidUseCLR)' == 'True' ">
1347+
<_RuntimeJar>$(MSBuildThisFileDirectory)\java_runtime_clr.jar</_RuntimeJar>
1348+
<_RuntimeDex>$(MSBuildThisFileDirectory)\java_runtime_clr.dex</_RuntimeDex>
1349+
</PropertyGroup>
13451350
</Target>
13461351

13471352
<Target Name="_GetMonoPlatformJarPath">

src/java-runtime/java-runtime.targets

+19-4
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,44 @@
77
<OutputDex>$(OutputPath)java_runtime.dex</OutputDex>
88
<IntermediateRuntimeOutputPath>$(IntermediateOutputPath)release</IntermediateRuntimeOutputPath>
99
<IntermediateRuntimeClassesTxt>$(IntermediateOutputPath)release.txt</IntermediateRuntimeClassesTxt>
10-
<RemoveItems>..\..\src-ThirdParty\bazel\java\mono\android\debug\MultiDexLoader.java;java\mono\android\debug\BuildConfig.java;java\mono\android\debug-net6\BuildConfig.java;java\mono\android\release-net6\BuildConfig.java</RemoveItems>
10+
<RemoveItems>..\..\src-ThirdParty\bazel\java\mono\android\debug\MultiDexLoader.java;java\mono\android\debug\BuildConfig.java;java\mono\android\debug-net6\BuildConfig.java;java\mono\android\release-net6\BuildConfig.java;java\mono\android\clr\MonoPackageManager.java</RemoveItems>
1111
</_RuntimeOutput>
1212
<_RuntimeOutput Include="$(OutputPath)java_runtime_fastdev.jar">
1313
<OutputJar>$(OutputPath)java_runtime_fastdev.jar</OutputJar>
1414
<OutputDex>$(OutputPath)java_runtime_fastdev.dex</OutputDex>
1515
<IntermediateRuntimeOutputPath>$(IntermediateOutputPath)fastdev</IntermediateRuntimeOutputPath>
1616
<IntermediateRuntimeClassesTxt>$(IntermediateOutputPath)fastdev.txt</IntermediateRuntimeClassesTxt>
17-
<RemoveItems>..\..\src-ThirdParty\bazel\java\mono\android\release\MultiDexLoader.java;java\mono\android\release\BuildConfig.java;java\mono\android\release-net6\BuildConfig.java;java\mono\android\debug-net6\BuildConfig.java</RemoveItems>
17+
<RemoveItems>..\..\src-ThirdParty\bazel\java\mono\android\release\MultiDexLoader.java;java\mono\android\release\BuildConfig.java;java\mono\android\release-net6\BuildConfig.java;java\mono\android\debug-net6\BuildConfig.java;java\mono\android\clr\MonoPackageManager.java</RemoveItems>
1818
</_RuntimeOutput>
1919

2020
<_RuntimeOutput Include="$(OutputPath)java_runtime_net6.jar">
2121
<OutputJar>$(OutputPath)java_runtime_net6.jar</OutputJar>
2222
<OutputDex>$(OutputPath)java_runtime_net6.dex</OutputDex>
2323
<IntermediateRuntimeOutputPath>$(IntermediateOutputPath)release-net6</IntermediateRuntimeOutputPath>
2424
<IntermediateRuntimeClassesTxt>$(IntermediateOutputPath)release-net6.txt</IntermediateRuntimeClassesTxt>
25-
<RemoveItems>..\..\src-ThirdParty\bazel\java\mono\android\debug\MultiDexLoader.java;java\mono\android\debug-net6\BuildConfig.java;java\mono\android\debug\BuildConfig.java;java\mono\android\release\BuildConfig.java</RemoveItems>
25+
<RemoveItems>..\..\src-ThirdParty\bazel\java\mono\android\debug\MultiDexLoader.java;java\mono\android\debug-net6\BuildConfig.java;java\mono\android\debug\BuildConfig.java;java\mono\android\release\BuildConfig.java;java\mono\android\clr\MonoPackageManager.java</RemoveItems>
2626
</_RuntimeOutput>
2727
<_RuntimeOutput Include="$(OutputPath)java_runtime_fastdev_net6.jar">
2828
<OutputJar>$(OutputPath)java_runtime_fastdev_net6.jar</OutputJar>
2929
<OutputDex>$(OutputPath)java_runtime_fastdev_net6.dex</OutputDex>
3030
<IntermediateRuntimeOutputPath>$(IntermediateOutputPath)fastdev-net6</IntermediateRuntimeOutputPath>
3131
<IntermediateRuntimeClassesTxt>$(IntermediateOutputPath)fastdev-net6.txt</IntermediateRuntimeClassesTxt>
32-
<RemoveItems>..\..\src-ThirdParty\bazel\java\mono\android\release\MultiDexLoader.java;java\mono\android\release-net6\BuildConfig.java;java\mono\android\release\BuildConfig.java;java\mono\android\debug\BuildConfig.java</RemoveItems>
32+
<RemoveItems>..\..\src-ThirdParty\bazel\java\mono\android\release\MultiDexLoader.java;java\mono\android\release-net6\BuildConfig.java;java\mono\android\release\BuildConfig.java;java\mono\android\debug\BuildConfig.java;java\mono\android\clr\MonoPackageManager.java</RemoveItems>
33+
</_RuntimeOutput>
34+
35+
<_RuntimeOutput Include="$(OutputPath)java_runtime_clr.jar">
36+
<OutputJar>$(OutputPath)java_runtime_clr.jar</OutputJar>
37+
<OutputDex>$(OutputPath)java_runtime_clr.dex</OutputDex>
38+
<IntermediateRuntimeOutputPath>$(IntermediateOutputPath)release-clr</IntermediateRuntimeOutputPath>
39+
<IntermediateRuntimeClassesTxt>$(IntermediateOutputPath)release-clr.txt</IntermediateRuntimeClassesTxt>
40+
<RemoveItems>..\..\src-ThirdParty\bazel\java\mono\android\debug\MultiDexLoader.java;java\mono\android\debug-net6\BuildConfig.java;java\mono\android\debug\BuildConfig.java;java\mono\android\release\BuildConfig.java;java\mono\android\MonoPackageManager.java</RemoveItems>
41+
</_RuntimeOutput>
42+
<_RuntimeOutput Include="$(OutputPath)java_runtime_fastdev_clr.jar">
43+
<OutputJar>$(OutputPath)java_runtime_fastdev_clr.jar</OutputJar>
44+
<OutputDex>$(OutputPath)java_runtime_fastdev_clr.dex</OutputDex>
45+
<IntermediateRuntimeOutputPath>$(IntermediateOutputPath)fastdev-clr</IntermediateRuntimeOutputPath>
46+
<IntermediateRuntimeClassesTxt>$(IntermediateOutputPath)fastdev-clr.txt</IntermediateRuntimeClassesTxt>
47+
<RemoveItems>..\..\src-ThirdParty\bazel\java\mono\android\release\MultiDexLoader.java;java\mono\android\release-net6\BuildConfig.java;java\mono\android\release\BuildConfig.java;java\mono\android\debug\BuildConfig.java;java\mono\android\MonoPackageManager.java</RemoveItems>
3348
</_RuntimeOutput>
3449
</ItemGroup>
3550

src/java-runtime/java/mono/android/MonoPackageManager.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public static void LoadApplication (Context context, ApplicationInfo runtimePack
5555
}
5656

5757
//
58-
// Should the order change here, src/monodroid/jni/SharedConstants.hh must be updated accordingly
58+
// Should the order change here, src/native/runtime-base/shared-constants.hh must be updated accordingly
5959
//
6060
String[] appDirs = new String[] {filesDir, cacheDir, dataDir};
6161
boolean haveSplitApks = runtimePackage.splitSourceDirs != null && runtimePackage.splitSourceDirs.length > 0;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
package mono;
2+
3+
import java.io.*;
4+
import java.lang.String;
5+
import java.time.OffsetDateTime;
6+
import java.time.ZoneOffset;
7+
import java.util.Calendar;
8+
import java.util.Locale;
9+
import java.util.HashSet;
10+
import java.util.zip.*;
11+
import java.util.Arrays;
12+
import android.content.Context;
13+
import android.content.Intent;
14+
import android.content.pm.ApplicationInfo;
15+
import android.content.res.AssetManager;
16+
import android.os.Build;
17+
import android.util.Log;
18+
import mono.android.Runtime;
19+
import mono.android.DebugRuntime;
20+
import mono.android.BuildConfig;
21+
22+
public class MonoPackageManager {
23+
24+
static Object lock = new Object ();
25+
static boolean initialized;
26+
27+
static android.content.Context Context;
28+
29+
public static void LoadApplication (Context context, ApplicationInfo runtimePackage, String[] apks)
30+
{
31+
synchronized (lock) {
32+
if (context instanceof android.app.Application) {
33+
Context = context;
34+
}
35+
if (!initialized) {
36+
android.content.IntentFilter timezoneChangedFilter = new android.content.IntentFilter (
37+
android.content.Intent.ACTION_TIMEZONE_CHANGED
38+
);
39+
context.registerReceiver (new mono.android.app.NotifyTimeZoneChanges (), timezoneChangedFilter);
40+
41+
Locale locale = Locale.getDefault ();
42+
String language = locale.getLanguage () + "-" + locale.getCountry ();
43+
String filesDir = context.getFilesDir ().getAbsolutePath ();
44+
String cacheDir = context.getCacheDir ().getAbsolutePath ();
45+
String dataDir = getNativeLibraryPath (context);
46+
ClassLoader loader = context.getClassLoader ();
47+
String runtimeDir = getNativeLibraryPath (runtimePackage);
48+
int localDateTimeOffset;
49+
50+
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
51+
localDateTimeOffset = OffsetDateTime.now().getOffset().getTotalSeconds();
52+
} else {
53+
localDateTimeOffset = (Calendar.getInstance ().get (Calendar.ZONE_OFFSET) + Calendar.getInstance ().get (Calendar.DST_OFFSET)) / 1000;
54+
}
55+
56+
//
57+
// Should the order change here, src/native-clr/include/constants.hh must be updated accordingly
58+
//
59+
String[] appDirs = new String[] {filesDir, cacheDir, dataDir};
60+
boolean haveSplitApks = runtimePackage.splitSourceDirs != null && runtimePackage.splitSourceDirs.length > 0;
61+
62+
System.loadLibrary("monodroid");
63+
64+
Runtime.initInternal (
65+
language,
66+
apks,
67+
runtimeDir,
68+
appDirs,
69+
localDateTimeOffset,
70+
loader,
71+
MonoPackageManager_Resources.Assemblies,
72+
isEmulator (),
73+
haveSplitApks
74+
);
75+
76+
mono.android.app.ApplicationRegistration.registerApplications ();
77+
78+
initialized = true;
79+
}
80+
}
81+
}
82+
83+
// We need to detect the emulator in order to determine the maximum gref count.
84+
// The official Android emulator requires a much lower maximum than actual
85+
// devices. Hopefully other emulators don't need the treatment. If they do, we
86+
// can add their detection here. We should perform the absolute minimum of
87+
// checking in order to save time.
88+
static boolean isEmulator()
89+
{
90+
String val = Build.HARDWARE;
91+
92+
// This detects the official Android emulator
93+
if (val.contains ("ranchu") || val.contains ("goldfish"))
94+
return true;
95+
96+
return false;
97+
}
98+
99+
public static void setContext (Context context)
100+
{
101+
// Ignore; vestigial
102+
}
103+
104+
static String getNativeLibraryPath (Context context)
105+
{
106+
return getNativeLibraryPath (context.getApplicationInfo ());
107+
}
108+
109+
static String getNativeLibraryPath (ApplicationInfo ainfo)
110+
{
111+
return ainfo.nativeLibraryDir;
112+
}
113+
114+
public static String[] getAssemblies ()
115+
{
116+
return MonoPackageManager_Resources.Assemblies;
117+
}
118+
119+
public static String[] getDependencies ()
120+
{
121+
return MonoPackageManager_Resources.Dependencies;
122+
}
123+
}

src/native-clr/host/host-jni.cc

+4-4
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ JNICALL Java_mono_android_Runtime_register (JNIEnv *env, [[maybe_unused]] jclass
2525
}
2626

2727
JNIEXPORT void JNICALL
28-
Java_mono_android_Runtime_init (JNIEnv *env, jclass klass, jstring lang, jobjectArray runtimeApksJava,
29-
jstring runtimeNativeLibDir, jobjectArray appDirs, jint localDateTimeOffset, jobject loader,
30-
jobjectArray assembliesJava, jboolean isEmulator,
31-
jboolean haveSplitApks)
28+
Java_mono_android_Runtime_initInternal (JNIEnv *env, jclass klass, jstring lang, jobjectArray runtimeApksJava,
29+
jstring runtimeNativeLibDir, jobjectArray appDirs, jint localDateTimeOffset, jobject loader,
30+
jobjectArray assembliesJava, jboolean isEmulator,
31+
jboolean haveSplitApks)
3232
{
3333
}
3434

src/native-clr/include/host/host-jni.hh

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ extern "C" {
1919

2020
/*
2121
* Class: mono_android_Runtime
22-
* Method: init
22+
* Method: initInternal
2323
* Signature: (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ILjava/lang/ClassLoader;[Ljava/lang/String;IZZ)V
2424
*/
25-
JNIEXPORT void JNICALL Java_mono_android_Runtime_init (JNIEnv *, jclass, jstring, jobjectArray, jstring, jobjectArray, jint, jobject, jobjectArray, jboolean, jboolean);
25+
JNIEXPORT void JNICALL Java_mono_android_Runtime_initInternal (JNIEnv *, jclass, jstring, jobjectArray, jstring, jobjectArray, jint, jobject, jobjectArray, jboolean, jboolean);
2626

2727
/*
2828
* Class: mono_android_Runtime

src/native-clr/java-interop/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set(LIB_NAME xa-java-interop-clr)
1+
set(LIB_NAME xa-java-interop)
22
set(LIB_ALIAS xa::java-interop-clr)
33

44
set(JAVA_INTEROP_SOURCES

src/native-clr/libnet-android.map.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ LIBNET_ANDROID {
22
global:
33
JNI_OnLoad;
44
Java_mono_android_Runtime_dumpTimingData;
5-
Java_mono_android_Runtime_init;
5+
Java_mono_android_Runtime_initInternal;
66
Java_mono_android_Runtime_notifyTimeZoneChanged;
77
Java_mono_android_Runtime_propagateUncaughtException;
88
Java_mono_android_Runtime_register;

src/native-clr/runtime-base/CMakeLists.txt

+1-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set(LIB_NAME runtime-base-clr)
1+
set(LIB_NAME runtime-base)
22
set(LIB_ALIAS xa::runtime-base-clr)
33

44
set(XA_RUNTIME_BASE_SOURCES
@@ -43,13 +43,5 @@ target_link_libraries(
4343
xa::xamarin-app-clr
4444
)
4545

46-
if(DEBUG_BUILD)
47-
set_target_properties(
48-
${LIB_NAME}
49-
PROPERTIES
50-
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
51-
)
52-
endif()
53-
5446
xa_add_compile_definitions(${LIB_NAME})
5547
xa_add_include_directories(${LIB_NAME})

src/native-clr/runtime-base/android-system.cc

+7-7
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ auto
1111
AndroidSystem::lookup_system_property (std::string_view const& name, size_t &value_len) noexcept -> const char*
1212
{
1313
value_len = 0;
14-
#if defined (DEBUG)
15-
BundledProperty *p = lookup_system_property (name);
16-
if (p != nullptr) {
17-
value_len = p->value_len;
18-
return p->name;
19-
}
20-
#endif // DEBUG || !ANDROID
14+
// #if defined (DEBUG)
15+
// BundledProperty *p = lookup_system_property (name);
16+
// if (p != nullptr) {
17+
// value_len = p->value_len;
18+
// return p->name;
19+
// }
20+
// #endif // DEBUG || !ANDROID
2121

2222
if (application_config.system_property_count == 0) {
2323
return nullptr;

src/native-clr/shared/CMakeLists.txt

+1-10
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set(LIB_NAME xa-shared-bits-clr)
1+
set(LIB_NAME xa-shared-bits)
22
set(LIB_ALIAS xa::shared-clr)
33

44
set(XA_SHARED_SOURCES
@@ -11,7 +11,6 @@ add_library(
1111
${LIB_NAME}
1212
STATIC
1313
${XA_SHARED_SOURCES}
14-
${XA_SHARED_CXX_ABI_SOURCES}
1514
)
1615
add_library(${LIB_ALIAS} ALIAS ${LIB_NAME})
1716

@@ -44,14 +43,6 @@ macro(lib_target_options TARGET_NAME)
4443
${XA_COMMON_CXX_ARGS}
4544
)
4645

47-
if(DEBUG_BUILD)
48-
set_target_properties(
49-
${TARGET_NAME}
50-
PROPERTIES
51-
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
52-
)
53-
endif()
54-
5546
xa_add_compile_definitions(${TARGET_NAME})
5647
xa_add_include_directories(${TARGET_NAME})
5748
endmacro()

0 commit comments

Comments
 (0)