Skip to content

Commit 6a5449c

Browse files
author
pavl-x86-machine
committed
PlatformPredicate: distinction between desktop and android predicates via NativeVariant.Os.isDesktop()
1 parent 8f954a9 commit 6a5449c

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

snaploader/src/main/java/electrostatic4j/snaploader/platform/util/PlatformPredicate.java

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,24 +42,34 @@
4242
public final class PlatformPredicate {
4343

4444
/**
45-
* Alias object for Linux on X86 Chipset.
45+
* Alias object for Linux on X86 Desktop Chipset.
4646
*/
47-
public static final PlatformPredicate LINUX_X86 = new PlatformPredicate(NativeVariant.Os.isLinux() && NativeVariant.Cpu.isX86());
47+
public static final PlatformPredicate LINUX_X86 = new PlatformPredicate(NativeVariant.Os.isDesktop() &&
48+
NativeVariant.Os.isLinux() && NativeVariant.Cpu.isX86());
4849

4950
/**
50-
* Alias object for Linux on X86-64 Chipset.
51+
* Alias object for Android all variants (i.e., x86, AARCH64, ARM32)
52+
* when using {@link Runtime#loadLibrary(String)}.
5153
*/
52-
public static final PlatformPredicate LINUX_X86_64 = new PlatformPredicate(NativeVariant.Os.isLinux() && NativeVariant.Cpu.isAMD() && NativeVariant.Cpu.is64());
54+
public static final PlatformPredicate ANDROID = new PlatformPredicate(NativeVariant.Os.isAndroid());
5355

5456
/**
55-
* Alias object for Linux on arm-32 Chipset.
57+
* Alias object for Linux on X86-64 Desktop Chipset.
5658
*/
57-
public static final PlatformPredicate LINUX_ARM_32 = new PlatformPredicate(NativeVariant.Os.isLinux() && NativeVariant.Cpu.isARM());
59+
public static final PlatformPredicate LINUX_X86_64 = new PlatformPredicate(NativeVariant.Os.isDesktop() &&
60+
NativeVariant.Os.isLinux() && NativeVariant.Cpu.isAMD() && NativeVariant.Cpu.is64());
5861

5962
/**
60-
* Alias object for Linux on arm-64 Chipset.
63+
* Alias object for Linux on arm-32 Desktop Chipset.
6164
*/
62-
public static final PlatformPredicate LINUX_ARM_64 = new PlatformPredicate(NativeVariant.Os.isLinux() && NativeVariant.Cpu.isARM() && NativeVariant.Cpu.is64());
65+
public static final PlatformPredicate LINUX_ARM_32 = new PlatformPredicate(NativeVariant.Os.isDesktop() &&
66+
NativeVariant.Os.isLinux() && NativeVariant.Cpu.isARM());
67+
68+
/**
69+
* Alias object for Linux on arm-64 Desktop Chipset.
70+
*/
71+
public static final PlatformPredicate LINUX_ARM_64 = new PlatformPredicate(NativeVariant.Os.isDesktop() &&
72+
NativeVariant.Os.isLinux() && NativeVariant.Cpu.isARM() && NativeVariant.Cpu.is64());
6373

6474
/**
6575
* Alias object for Linux on RiscV-32 Chipset.
@@ -139,7 +149,7 @@ public PlatformPredicate(boolean predicate) {
139149
* with one or more instruction-set extensions. The result is true if and
140150
* only if the base predicate is true and all named extensions are present.
141151
*
142-
* @param base a pre-existing predicate (not null)
152+
* @param base a pre-existing predicate (not null)
143153
* @param isaExtensions names of required ISA extensions
144154
*/
145155
public PlatformPredicate(PlatformPredicate base, String... isaExtensions) {

0 commit comments

Comments
 (0)