Skip to content

Commit 3c5dc72

Browse files
committed
Remove Windows and macOS 32-bit support
1 parent 994c552 commit 3c5dc72

File tree

7 files changed

+59
-93
lines changed

7 files changed

+59
-93
lines changed

jme3-core/src/main/java/com/jme3/system/JmeSystemDelegate.java

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -243,33 +243,45 @@ private boolean is64Bit(String arch) {
243243
}
244244
}
245245

246-
public Platform getPlatform() {
247-
String os = System.getProperty("os.name").toLowerCase();
248-
String arch = System.getProperty("os.arch").toLowerCase();
249-
boolean is64 = is64Bit(arch);
250-
if (os.contains("windows")) {
251-
if (arch.startsWith("arm") || arch.startsWith("aarch")) {
252-
return is64 ? Platform.Windows_ARM64 : Platform.Windows_ARM32;
253-
} else {
254-
return is64 ? Platform.Windows64 : Platform.Windows32;
255-
}
256-
} else if (os.contains("linux") || os.contains("freebsd")
257-
|| os.contains("sunos") || os.contains("unix")) {
246+
public Platform getPlatform() {
247+
String os = System.getProperty("os.name").toLowerCase();
248+
String arch = System.getProperty("os.arch").toLowerCase();
249+
boolean is64 = is64Bit(arch);
250+
if (os.contains("windows")) {
251+
if (arch.startsWith("arm") || arch.startsWith("aarch")) {
252+
if (!is64) {
253+
throw new UnsupportedOperationException("32-bit Windows is not supported.");
254+
}
255+
return Platform.Windows_ARM64;
256+
} else {
257+
if (!is64) {
258+
throw new UnsupportedOperationException("32-bit Windows is not supported.");
259+
}
260+
return Platform.Windows64;
261+
}
262+
} else if (os.contains("linux") || os.contains("freebsd")
263+
|| os.contains("sunos") || os.contains("unix")) {
258264
if (arch.startsWith("arm") || arch.startsWith("aarch")) {
259265
return is64 ? Platform.Linux_ARM64 : Platform.Linux_ARM32;
260266
} else {
261267
return is64 ? Platform.Linux64 : Platform.Linux32;
262268
}
263-
} else if (os.contains("mac os x") || os.contains("darwin")) {
264-
if (arch.startsWith("ppc")) {
265-
return is64 ? Platform.MacOSX_PPC64 : Platform.MacOSX_PPC32;
266-
} else if (arch.startsWith("aarch")) {
267-
return Platform.MacOSX_ARM64; // no 32-bit version
268-
} else {
269-
return is64 ? Platform.MacOSX64 : Platform.MacOSX32;
270-
}
271-
} else {
272-
throw new UnsupportedOperationException("The specified platform: " + os + " is not supported.");
269+
} else if (os.contains("mac os x") || os.contains("darwin")) {
270+
if (arch.startsWith("ppc")) {
271+
if (!is64) {
272+
throw new UnsupportedOperationException("32-bit macOS is not supported.");
273+
}
274+
return Platform.MacOSX_PPC64;
275+
} else if (arch.startsWith("aarch")) {
276+
return Platform.MacOSX_ARM64; // no 32-bit version
277+
} else {
278+
if (!is64) {
279+
throw new UnsupportedOperationException("32-bit macOS is not supported.");
280+
}
281+
return Platform.MacOSX64;
282+
}
283+
} else {
284+
throw new UnsupportedOperationException("The specified platform: " + os + " is not supported.");
273285
}
274286
}
275287

jme3-core/src/main/java/com/jme3/system/Platform.java

Lines changed: 14 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -36,24 +36,14 @@
3636
*/
3737
public enum Platform {
3838

39-
/**
40-
* Microsoft Windows 32-bit AMD/Intel
41-
*/
42-
Windows32(Os.Windows),
43-
44-
/**
45-
* Microsoft Windows 64-bit AMD/Intel
46-
*/
47-
Windows64(Os.Windows, true),
48-
49-
/**
50-
* Microsoft Windows 32-bit ARM
51-
*/
52-
Windows_ARM32(Os.Windows),
53-
54-
/**
55-
* Microsoft Windows 64-bit ARM
56-
*/
39+
/**
40+
* Microsoft Windows 64-bit AMD/Intel
41+
*/
42+
Windows64(Os.Windows, true),
43+
44+
/**
45+
* Microsoft Windows 64-bit ARM
46+
*/
5747
Windows_ARM64(Os.Windows, true),
5848

5949
/**
@@ -76,29 +66,19 @@ public enum Platform {
7666
*/
7767
Linux_ARM64(Os.Linux, true),
7868

79-
/**
80-
* Apple Mac OS X 32-bit Intel
81-
*/
82-
MacOSX32(Os.MacOS),
83-
84-
/**
85-
* Apple Mac OS X 64-bit Intel
86-
*/
69+
/**
70+
* Apple Mac OS X 64-bit Intel
71+
*/
8772
MacOSX64(Os.MacOS, true),
8873

8974
/**
9075
* Apple Mac OS X 64-bit ARM
9176
*/
9277
MacOSX_ARM64(Os.MacOS, true),
9378

94-
/**
95-
* Apple Mac OS X 32 bit PowerPC
96-
*/
97-
MacOSX_PPC32(Os.MacOS),
98-
99-
/**
100-
* Apple Mac OS X 64 bit PowerPC
101-
*/
79+
/**
80+
* Apple Mac OS X 64 bit PowerPC
81+
*/
10282
MacOSX_PPC64(Os.MacOS, true),
10383

10484
/**

jme3-desktop/src/main/java/com/jme3/system/ExtractNativeLibraries.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,28 +60,24 @@ public static void main(String[] args) {
6060
}
6161
if (args.length < 2) {
6262
System.err.println("Usage: ExtractNativeLibraries Platform ExtractionPath");
63-
System.err.println("Where 'Platform' is either Windows32, Windows64, Linux32, Linux64, MacOSX32 or MacOSX64");
63+
System.err.println("Where 'Platform' is either Windows64, Linux32, Linux64, or MacOSX64");
6464
System.err.println("'ExtractionPath' is a folder to extract the binaries to.");
6565
System.err.println("You can also use ExtractNativeLibraries getjarexcludes to get a list of excludes for the jar files that contain binaries.");
6666
System.exit(1);
6767
}
6868
String path = args[1].replace('/', File.separatorChar);
6969
File folder = new File(path);
7070
try {
71-
if ("Windows32".equals(args[0])) {
72-
NativeLibraryLoader.extractNativeLibraries(Platform.Windows32, folder);
73-
} else if ("Windows64".equals(args[0])) {
71+
if ("Windows64".equals(args[0])) {
7472
NativeLibraryLoader.extractNativeLibraries(Platform.Windows64, folder);
7573
} else if ("Linux32".equals(args[0])) {
7674
NativeLibraryLoader.extractNativeLibraries(Platform.Linux32, folder);
7775
} else if ("Linux64".equals(args[0])) {
7876
NativeLibraryLoader.extractNativeLibraries(Platform.Linux64, folder);
79-
} else if ("MacOSX32".equals(args[0])) {
80-
NativeLibraryLoader.extractNativeLibraries(Platform.MacOSX32, folder);
8177
} else if ("MacOSX64".equals(args[0])) {
8278
NativeLibraryLoader.extractNativeLibraries(Platform.MacOSX64, folder);
8379
} else {
84-
System.err.println("Please specify a platform, Windows32, Windows64, Linux32, Linux64, MacOSX32 or MacOSX64");
80+
System.err.println("Please specify a platform, Windows64, Linux32, Linux64, or MacOSX64");
8581
System.exit(3);
8682
}
8783
} catch (IOException ex) {

jme3-desktop/src/main/java/com/jme3/system/NativeLibraries.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,9 @@ public enum NativeLibraries {
5454
// Delegate loading to lwjgl.
5555
System.setProperty("org.lwjgl.librarypath",
5656
Paths.get(libPath).getParent().toAbsolutePath().toString()))
57-
.addNativeVariant(Platform.Windows32, "lwjgl.dll")
5857
.addNativeVariant(Platform.Windows64, "lwjgl64.dll")
5958
.addNativeVariant(Platform.Linux32, "liblwjgl.so")
6059
.addNativeVariant(Platform.Linux64, "liblwjgl64.so")
61-
.addNativeVariant(Platform.MacOSX32, "liblwjgl.dylib")
6260
.addNativeVariant(Platform.MacOSX64, "liblwjgl.dylib")
6361
),
6462

@@ -68,26 +66,22 @@ public enum NativeLibraries {
6866
* Native OpenAL audio libraries for LWJGL 2 required by jme3-lwjgl backend.
6967
*/
7068
OpenAL(new LibraryInfo("openal")
71-
.addNativeVariant(Platform.Windows32, "OpenAL32.dll")
7269
.addNativeVariant(Platform.Windows64, "OpenAL64.dll")
7370
.addNativeVariant(Platform.Linux32, "libopenal.so")
7471
.addNativeVariant(Platform.Linux64, "libopenal64.so")
75-
.addNativeVariant(Platform.MacOSX32, "openal.dylib", "libopenal.dylib")
7672
.addNativeVariant(Platform.MacOSX64, "openal.dylib", "libopenal.dylib")
7773
),
7874

7975
/**
8076
* Native bullet physics libraries required by Minie library.
8177
*/
8278
BulletJme(new LibraryInfo("bulletjme")
83-
.addNativeVariant(Platform.Windows32, "native/windows/x86/bulletjme.dll", "bulletjme-x86.dll")
8479
.addNativeVariant(Platform.Windows64, "native/windows/x86_64/bulletjme.dll", "bulletjme-x86_64.dll")
8580
.addNativeVariant(Platform.Windows_ARM64, "native/windows/arm64/bulletjme.dll", "bulletjme-arm64.dll")
8681
.addNativeVariant(Platform.Linux32, "native/linux/x86/libbulletjme.so", "libbulletjme-x86.so")
8782
.addNativeVariant(Platform.Linux64, "native/linux/x86_64/libbulletjme.so", "libbulletjme-x86_64.so")
8883
.addNativeVariant(Platform.Linux_ARM32, "native/linux/arm32/libbulletjme.so", "libbulletjme-arm32.so")
8984
.addNativeVariant(Platform.Linux_ARM64, "native/linux/arm64/libbulletjme.so", "libbulletjme-arm64.so")
90-
.addNativeVariant(Platform.MacOSX32, "native/osx/x86/libbulletjme.dylib", "libbulletjme-x86.dylib")
9185
.addNativeVariant(Platform.MacOSX64, "native/osx/x86_64/libbulletjme.dylib", "libbulletjme-x86_64.dylib")
9286
.addNativeVariant(Platform.MacOSX_ARM64, "native/osx/arm64/libbulletjme.dylib", "libbulletjme-arm64.dylib")
9387
),
@@ -100,11 +94,9 @@ public enum NativeLibraries {
10094
// Delegate loading to jinput.
10195
System.setProperty("net.java.games.input.librarypath",
10296
Paths.get(libPath).getParent().toAbsolutePath().toString()))
103-
.addNativeVariant(Platform.Windows32, "jinput-raw.dll")
10497
.addNativeVariant(Platform.Windows64, "jinput-raw_64.dll")
10598
.addNativeVariant(Platform.Linux32, "libjinput-linux.so")
10699
.addNativeVariant(Platform.Linux64, "libjinput-linux64.so")
107-
.addNativeVariant(Platform.MacOSX32, "libjinput-osx.jnilib", "libjinput-osx.dylib")
108100
.addNativeVariant(Platform.MacOSX64, "libjinput-osx.jnilib", "libjinput-osx.dylib")
109101
),
110102

@@ -113,11 +105,9 @@ public enum NativeLibraries {
113105
* (only required on Windows)
114106
*/
115107
JInputDX8(new LibraryInfo("jinput-dx8")
116-
.addNativeVariant(Platform.Windows32, "jinput-dx8.dll", null)
117108
.addNativeVariant(Platform.Windows64, "jinput-dx8_64.dll", null)
118109
.addNativeVariant(Platform.Linux32, null)
119110
.addNativeVariant(Platform.Linux64, null)
120-
.addNativeVariant(Platform.MacOSX32, null)
121111
.addNativeVariant(Platform.MacOSX64, null)
122112
);
123113

jme3-desktop/src/main/java/com/jme3/system/NativeLibraryLoader.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,13 @@
5454
* You can then extract this library (depending on platform), by
5555
* using {@link #loadNativeLibrary(java.lang.String, boolean) }.
5656
* <br>
57-
* Example:<br>
58-
* <pre>
59-
* NativeLibraryLoader.registerNativeLibrary("mystuff", Platform.Windows32, "native/windows/mystuff.dll");
60-
* NativeLibraryLoader.registerNativeLibrary("mystuff", Platform.Windows64, "native/windows/mystuff64.dll");
61-
* NativeLibraryLoader.registerNativeLibrary("mystuff", Platform.Linux32, "native/linux/libmystuff.so");
62-
* NativeLibraryLoader.registerNativeLibrary("mystuff", Platform.Linux64, "native/linux/libmystuff64.so");
63-
* NativeLibraryLoader.registerNativeLibrary("mystuff", Platform.MacOSX32, "native/macosx/libmystuff.jnilib");
64-
* NativeLibraryLoader.registerNativeLibrary("mystuff", Platform.MacOSX64, "native/macosx/libmystuff.jnilib");
65-
* </pre>
57+
* Example:<br>
58+
* <pre>
59+
* NativeLibraryLoader.registerNativeLibrary("mystuff", Platform.Windows64, "native/windows/mystuff64.dll");
60+
* NativeLibraryLoader.registerNativeLibrary("mystuff", Platform.Linux32, "native/linux/libmystuff.so");
61+
* NativeLibraryLoader.registerNativeLibrary("mystuff", Platform.Linux64, "native/linux/libmystuff64.so");
62+
* NativeLibraryLoader.registerNativeLibrary("mystuff", Platform.MacOSX64, "native/macosx/libmystuff.jnilib");
63+
* </pre>
6664
* <br>
6765
* This will register the library. Load it via: <br>
6866
* <pre>

jme3-lwjgl/src/main/java/com/jme3/system/lwjgl/LwjglCanvas.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -406,10 +406,7 @@ protected void destroyContext() {
406406
// freezes the application.
407407
// On Mac it freezes the application.
408408
// On Linux it fixes a crash with X Window System.
409-
if (
410-
JmeSystem.getPlatform() == Platform.Windows32 ||
411-
JmeSystem.getPlatform() == Platform.Windows64
412-
) {
409+
if (JmeSystem.getPlatform() == Platform.Windows64) {
413410
// Display.setParent(null);
414411
}
415412
// } catch (LWJGLException ex) {

jme3-lwjgl3/build.gradle

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,47 +15,41 @@ dependencies {
1515
api libs.lwjgl3.sdl
1616

1717
runtimeOnly(variantOf(libs.lwjgl3.base){ classifier('natives-windows') })
18-
runtimeOnly(variantOf(libs.lwjgl3.base){ classifier('natives-windows-x86') })
1918
runtimeOnly(variantOf(libs.lwjgl3.base){ classifier('natives-linux') })
2019
runtimeOnly(variantOf(libs.lwjgl3.base){ classifier('natives-linux-arm32') })
2120
runtimeOnly(variantOf(libs.lwjgl3.base){ classifier('natives-linux-arm64') })
2221
runtimeOnly(variantOf(libs.lwjgl3.base){ classifier('natives-macos') })
2322
runtimeOnly(variantOf(libs.lwjgl3.base){ classifier('natives-macos-arm64') })
2423

2524
runtimeOnly(variantOf(libs.lwjgl3.glfw){ classifier('natives-windows') })
26-
runtimeOnly(variantOf(libs.lwjgl3.glfw){ classifier('natives-windows-x86') })
2725
runtimeOnly(variantOf(libs.lwjgl3.glfw){ classifier('natives-linux') })
2826
runtimeOnly(variantOf(libs.lwjgl3.glfw){ classifier('natives-linux-arm32') })
2927
runtimeOnly(variantOf(libs.lwjgl3.glfw){ classifier('natives-linux-arm64') })
3028
runtimeOnly(variantOf(libs.lwjgl3.glfw){ classifier('natives-macos') })
3129
runtimeOnly(variantOf(libs.lwjgl3.glfw){ classifier('natives-macos-arm64') })
3230

3331
runtimeOnly(variantOf(libs.lwjgl3.jemalloc){ classifier('natives-windows') })
34-
runtimeOnly(variantOf(libs.lwjgl3.jemalloc){ classifier('natives-windows-x86') })
3532
runtimeOnly(variantOf(libs.lwjgl3.jemalloc){ classifier('natives-linux') })
3633
runtimeOnly(variantOf(libs.lwjgl3.jemalloc){ classifier('natives-linux-arm32') })
3734
runtimeOnly(variantOf(libs.lwjgl3.jemalloc){ classifier('natives-linux-arm64') })
3835
runtimeOnly(variantOf(libs.lwjgl3.jemalloc){ classifier('natives-macos') })
3936
runtimeOnly(variantOf(libs.lwjgl3.jemalloc){ classifier('natives-macos-arm64') })
4037

4138
runtimeOnly(variantOf(libs.lwjgl3.opengl){ classifier('natives-windows') })
42-
runtimeOnly(variantOf(libs.lwjgl3.opengl){ classifier('natives-windows-x86') })
4339
runtimeOnly(variantOf(libs.lwjgl3.opengl){ classifier('natives-linux') })
4440
runtimeOnly(variantOf(libs.lwjgl3.opengl){ classifier('natives-linux-arm32') })
4541
runtimeOnly(variantOf(libs.lwjgl3.opengl){ classifier('natives-linux-arm64') })
4642
runtimeOnly(variantOf(libs.lwjgl3.opengl){ classifier('natives-macos') })
4743
runtimeOnly(variantOf(libs.lwjgl3.opengl){ classifier('natives-macos-arm64') })
4844

4945
runtimeOnly(variantOf(libs.lwjgl3.openal){ classifier('natives-windows') })
50-
runtimeOnly(variantOf(libs.lwjgl3.openal){ classifier('natives-windows-x86') })
5146
runtimeOnly(variantOf(libs.lwjgl3.openal){ classifier('natives-linux') })
5247
runtimeOnly(variantOf(libs.lwjgl3.openal){ classifier('natives-linux-arm32') })
5348
runtimeOnly(variantOf(libs.lwjgl3.openal){ classifier('natives-linux-arm64') })
5449
runtimeOnly(variantOf(libs.lwjgl3.openal){ classifier('natives-macos') })
5550
runtimeOnly(variantOf(libs.lwjgl3.openal){ classifier('natives-macos-arm64') })
5651

5752
runtimeOnly(variantOf(libs.lwjgl3.sdl){ classifier('natives-windows') })
58-
runtimeOnly(variantOf(libs.lwjgl3.sdl){ classifier('natives-windows-x86') })
5953
runtimeOnly(variantOf(libs.lwjgl3.sdl){ classifier('natives-linux') })
6054
runtimeOnly(variantOf(libs.lwjgl3.sdl){ classifier('natives-linux-arm32') })
6155
runtimeOnly(variantOf(libs.lwjgl3.sdl){ classifier('natives-linux-arm64') })
@@ -69,4 +63,3 @@ javadoc {
6963
options.addStringOption('Xdoclint:none', '-quiet')
7064
}
7165
}
72-

0 commit comments

Comments
 (0)