1
1
/*
2
- * Copyright (c) 2009-2022 jMonkeyEngine
2
+ * Copyright (c) 2009-2023 jMonkeyEngine
3
3
* All rights reserved.
4
4
*
5
5
* Redistribution and use in source and binary forms, with or without
@@ -75,7 +75,7 @@ public final class NativeLibraryLoader {
75
75
private static File extractionFolder = null ;
76
76
77
77
private static final HashMap <NativeLibrary .Key , NativeLibrary > nativeLibraryMap
78
- = new HashMap <NativeLibrary . Key , NativeLibrary >();
78
+ = new HashMap <>();
79
79
80
80
/**
81
81
* Register a new known library.
@@ -120,55 +120,25 @@ public static void registerNativeLibrary(String name, Platform platform,
120
120
}
121
121
122
122
static {
123
- // LWJGL
124
- registerNativeLibrary ("lwjgl" , Platform .Windows32 , "native/windows/lwjgl.dll" );
125
- registerNativeLibrary ("lwjgl" , Platform .Windows64 , "native/windows/lwjgl64.dll" );
126
- registerNativeLibrary ("lwjgl" , Platform .Linux32 , "native/linux/liblwjgl.so" );
127
- registerNativeLibrary ("lwjgl" , Platform .Linux64 , "native/linux/liblwjgl64.so" );
128
- registerNativeLibrary ("lwjgl" , Platform .MacOSX32 , "native/macosx/liblwjgl.dylib" );
129
- registerNativeLibrary ("lwjgl" , Platform .MacOSX64 , "native/macosx/liblwjgl.dylib" );
123
+ // Note: LWJGL 3 handles its native library extracting & loading using
124
+ // its own SharedLibraryLoader.
130
125
131
- // OpenAL
132
- // For OSX: Need to add lib prefix when extracting
133
- registerNativeLibrary ("openal" , Platform .Windows32 , "native/windows/OpenAL32.dll" );
134
- registerNativeLibrary ("openal" , Platform .Windows64 , "native/windows/OpenAL64.dll" );
135
- registerNativeLibrary ("openal" , Platform .Linux32 , "native/linux/libopenal.so" );
136
- registerNativeLibrary ("openal" , Platform .Linux64 , "native/linux/libopenal64.so" );
137
- registerNativeLibrary ("openal" , Platform .MacOSX32 , "native/macosx/openal.dylib" , "libopenal.dylib" );
138
- registerNativeLibrary ("openal" , Platform .MacOSX64 , "native/macosx/openal.dylib" , "libopenal.dylib" );
139
-
140
- // LWJGL 3.x
141
- registerNativeLibrary ("lwjgl3" , Platform .Windows32 , "native/windows/lwjgl32.dll" );
142
- registerNativeLibrary ("lwjgl3" , Platform .Windows64 , "native/windows/lwjgl.dll" );
143
- registerNativeLibrary ("lwjgl3" , Platform .Linux32 , "native/linux/liblwjgl32.so" );
144
- registerNativeLibrary ("lwjgl3" , Platform .Linux64 , "native/linux/liblwjgl.so" );
145
- registerNativeLibrary ("lwjgl3" , Platform .MacOSX32 , "native/macosx/liblwjgl.dylib" );
146
- registerNativeLibrary ("lwjgl3" , Platform .MacOSX64 , "native/macosx/liblwjgl.dylib" );
147
-
148
- // GLFW for LWJGL 3.x
149
- registerNativeLibrary ("glfw-lwjgl3" , Platform .Windows32 , "native/windows/glfw32.dll" );
150
- registerNativeLibrary ("glfw-lwjgl3" , Platform .Windows64 , "native/windows/glfw.dll" );
151
- registerNativeLibrary ("glfw-lwjgl3" , Platform .Linux32 , "native/linux/libglfw32.so" );
152
- registerNativeLibrary ("glfw-lwjgl3" , Platform .Linux64 , "native/linux/libglfw.so" );
153
- registerNativeLibrary ("glfw-lwjgl3" , Platform .MacOSX32 , "native/macosx/libglfw.dylib" );
154
- registerNativeLibrary ("glfw-lwjgl3" , Platform .MacOSX64 , "native/macosx/libglfw.dylib" );
155
-
156
- // jemalloc for LWJGL 3.x
157
- registerNativeLibrary ("jemalloc-lwjgl3" , Platform .Windows32 , "native/windows/jemalloc32.dll" );
158
- registerNativeLibrary ("jemalloc-lwjgl3" , Platform .Windows64 , "native/windows/jemalloc.dll" );
159
- registerNativeLibrary ("jemalloc-lwjgl3" , Platform .Linux32 , "native/linux/libjemalloc32.so" );
160
- registerNativeLibrary ("jemalloc-lwjgl3" , Platform .Linux64 , "native/linux/libjemalloc.so" );
161
- registerNativeLibrary ("jemalloc-lwjgl3" , Platform .MacOSX32 , "native/macosx/libjemalloc.dylib" );
162
- registerNativeLibrary ("jemalloc-lwjgl3" , Platform .MacOSX64 , "native/macosx/libjemalloc.dylib" );
126
+ // LWJGL 2
127
+ registerNativeLibrary ("lwjgl" , Platform .Windows32 , "lwjgl.dll" );
128
+ registerNativeLibrary ("lwjgl" , Platform .Windows64 , "lwjgl64.dll" );
129
+ registerNativeLibrary ("lwjgl" , Platform .Linux32 , "liblwjgl.so" );
130
+ registerNativeLibrary ("lwjgl" , Platform .Linux64 , "liblwjgl64.so" );
131
+ registerNativeLibrary ("lwjgl" , Platform .MacOSX32 , "liblwjgl.dylib" );
132
+ registerNativeLibrary ("lwjgl" , Platform .MacOSX64 , "liblwjgl.dylib" );
163
133
164
- // OpenAL for LWJGL 3.x
134
+ // OpenAL for LWJGL 2
165
135
// For OSX: Need to add lib prefix when extracting
166
- registerNativeLibrary ("openal-lwjgl3 " , Platform .Windows32 , "native/windows/ OpenAL32.dll" );
167
- registerNativeLibrary ("openal-lwjgl3 " , Platform .Windows64 , "native/windows/OpenAL .dll" );
168
- registerNativeLibrary ("openal-lwjgl3 " , Platform .Linux32 , "native/linux/libopenal32 .so" );
169
- registerNativeLibrary ("openal-lwjgl3 " , Platform .Linux64 , "native/linux/libopenal .so" );
170
- registerNativeLibrary ("openal-lwjgl3 " , Platform .MacOSX32 , "native/macosx/ openal.dylib" , "libopenal.dylib" );
171
- registerNativeLibrary ("openal-lwjgl3 " , Platform .MacOSX64 , "native/macosx/ openal.dylib" , "libopenal.dylib" );
136
+ registerNativeLibrary ("openal" , Platform .Windows32 , "OpenAL32.dll" );
137
+ registerNativeLibrary ("openal" , Platform .Windows64 , "OpenAL64 .dll" );
138
+ registerNativeLibrary ("openal" , Platform .Linux32 , "libopenal .so" );
139
+ registerNativeLibrary ("openal" , Platform .Linux64 , "libopenal64 .so" );
140
+ registerNativeLibrary ("openal" , Platform .MacOSX32 , " openal.dylib" , "libopenal.dylib" );
141
+ registerNativeLibrary ("openal" , Platform .MacOSX64 , " openal.dylib" , "libopenal.dylib" );
172
142
173
143
// BulletJme
174
144
registerNativeLibrary ("bulletjme" , Platform .Windows32 , "native/windows/x86/bulletjme.dll" );
@@ -184,16 +154,16 @@ public static void registerNativeLibrary(String name, Platform platform,
184
154
185
155
// JInput
186
156
// For OSX: Need to rename extension jnilib -> dylib when extracting
187
- registerNativeLibrary ("jinput" , Platform .Windows32 , "native/windows/ jinput-raw.dll" );
188
- registerNativeLibrary ("jinput" , Platform .Windows64 , "native/windows/ jinput-raw_64.dll" );
189
- registerNativeLibrary ("jinput" , Platform .Linux32 , "native/windows/ libjinput-linux.so" );
190
- registerNativeLibrary ("jinput" , Platform .Linux64 , "native/windows/ libjinput-linux64.so" );
191
- registerNativeLibrary ("jinput" , Platform .MacOSX32 , "native/macosx/ libjinput-osx.jnilib" , "libjinput-osx.dylib" );
192
- registerNativeLibrary ("jinput" , Platform .MacOSX64 , "native/macosx/ libjinput-osx.jnilib" , "libjinput-osx.dylib" );
157
+ registerNativeLibrary ("jinput" , Platform .Windows32 , "jinput-raw.dll" );
158
+ registerNativeLibrary ("jinput" , Platform .Windows64 , "jinput-raw_64.dll" );
159
+ registerNativeLibrary ("jinput" , Platform .Linux32 , "libjinput-linux.so" );
160
+ registerNativeLibrary ("jinput" , Platform .Linux64 , "libjinput-linux64.so" );
161
+ registerNativeLibrary ("jinput" , Platform .MacOSX32 , "libjinput-osx.jnilib" , "libjinput-osx.dylib" );
162
+ registerNativeLibrary ("jinput" , Platform .MacOSX64 , "libjinput-osx.jnilib" , "libjinput-osx.dylib" );
193
163
194
164
// JInput Auxiliary (only required on Windows)
195
- registerNativeLibrary ("jinput-dx8" , Platform .Windows32 , "native/windows/ jinput-dx8.dll" );
196
- registerNativeLibrary ("jinput-dx8" , Platform .Windows64 , "native/windows/ jinput-dx8_64.dll" );
165
+ registerNativeLibrary ("jinput-dx8" , Platform .Windows32 , "jinput-dx8.dll" );
166
+ registerNativeLibrary ("jinput-dx8" , Platform .Windows64 , "jinput-dx8_64.dll" );
197
167
registerNativeLibrary ("jinput-dx8" , Platform .Linux32 , null );
198
168
registerNativeLibrary ("jinput-dx8" , Platform .Linux64 , null );
199
169
registerNativeLibrary ("jinput-dx8" , Platform .MacOSX32 , null );
@@ -294,19 +264,14 @@ private static File getJmeUserCacheFolder() {
294
264
File userHomeFolder = new File (System .getProperty ("user.home" ));
295
265
File userCacheFolder = null ;
296
266
297
- switch (JmeSystem .getPlatform ()) {
298
- case Linux32 :
299
- case Linux64 :
267
+ switch (JmeSystem .getPlatform ().getOs ()) {
268
+ case Linux :
300
269
userCacheFolder = new File (userHomeFolder , ".cache" );
301
270
break ;
302
- case MacOSX32 :
303
- case MacOSX64 :
304
- case MacOSX_PPC32 :
305
- case MacOSX_PPC64 :
271
+ case MacOS :
306
272
userCacheFolder = new File (new File (userHomeFolder , "Library" ), "Caches" );
307
273
break ;
308
- case Windows32 :
309
- case Windows64 :
274
+ case Windows :
310
275
userCacheFolder = new File (new File (userHomeFolder , "AppData" ), "Local" );
311
276
break ;
312
277
}
0 commit comments