From eba6ed14e62022dc7ed702d899463f15e60ba014 Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Fri, 19 Aug 2016 17:08:01 -0400 Subject: [PATCH] fix "Embed Java" for 32-bit Linux export --- java/src/processing/mode/java/JavaBuild.java | 10 +++++++--- todo.txt | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/java/src/processing/mode/java/JavaBuild.java b/java/src/processing/mode/java/JavaBuild.java index 490fc4cd0..9053f4672 100755 --- a/java/src/processing/mode/java/JavaBuild.java +++ b/java/src/processing/mode/java/JavaBuild.java @@ -693,21 +693,25 @@ public class JavaBuild { Preferences.getBoolean("export.application.embed_java"); if (Preferences.getBoolean(JavaEditor.EXPORT_PREFIX + platformName)) { + final int bits = Platform.getNativeBits(); + final String arch = Platform.getNativeArch(); + if (Library.hasMultipleArch(platform, importedLibraries)) { // export the 32-bit version folder = new File(sketch.getFolder(), "application." + platformName + "32"); - if (!exportApplication(folder, platform, "32", embedJava && Platform.getNativeBits() == 32 && "x86".equals(Platform.getNativeArch()))) { + + if (!exportApplication(folder, platform, "32", embedJava && (bits == 32) && ("x86".equals(arch) || "i386".equals(arch)))) { return false; } // export the 64-bit version folder = new File(sketch.getFolder(), "application." + platformName + "64"); - if (!exportApplication(folder, platform, "64", embedJava && Platform.getNativeBits() == 64 && "amd64".equals(Platform.getNativeArch()))) { + if (!exportApplication(folder, platform, "64", embedJava && (bits == 64) && "amd64".equals(arch))) { return false; } if (platform == PConstants.LINUX) { // export the armv6hf version as well folder = new File(sketch.getFolder(), "application.linux-armv6hf"); - if (!exportApplication(folder, platform, "armv6hf", embedJava && Platform.getNativeBits() == 32 && "arm".equals(Platform.getNativeArch()))) { + if (!exportApplication(folder, platform, "armv6hf", embedJava && (bits == 32) && "arm".equals(arch))) { return false; } } diff --git a/todo.txt b/todo.txt index 456e2dfa9..88dd81dae 100755 --- a/todo.txt +++ b/todo.txt @@ -7,6 +7,7 @@ _ might be ext.dirs trouble with spaces in path names? _ or the backwards slashes? X fixes for Python Mode crashing on startup X disable ext.dirs on Linux export and set jna.nosys as well +X Java not included properly with 32-bit Linux export _ JavaInputHandler not registering _ library compilations handled oddly