mirror of
https://git.freebsd.org/ports.git
synced 2025-05-20 02:53:10 -04:00
PR: 216701 Submitted by: matthias@petermann-it.de Approved by: mat (mentor) Differential Revision: https://reviews.freebsd.org/D9410
148 lines
8.2 KiB
Java
148 lines
8.2 KiB
Java
--- src/com/eteks/sweethome3d/SweetHome3DBootstrap.java.orig 2017-02-01 12:44:35 UTC
|
|
+++ src/com/eteks/sweethome3d/SweetHome3DBootstrap.java
|
|
@@ -53,118 +53,34 @@ public class SweetHome3DBootstrap {
|
|
String operatingSystemName = System.getProperty("os.name");
|
|
String javaVersion = System.getProperty("java.version");
|
|
String java7Prefix = "1.7.0_";
|
|
- if (operatingSystemName.startsWith("Mac OS X")) {
|
|
- if (javaVersion.startsWith("1.6")
|
|
- && System.getProperty("com.eteks.sweethome3d.deploymentInformation", "").startsWith("Java Web Start")) {
|
|
- // Refuse to let Sweet Home 3D run under Mac OS X with Java Web Start 6
|
|
- String message = Locale.getDefault().getLanguage().equals(Locale.FRENCH.getLanguage())
|
|
- ? "Sweet Home 3D ne peut pas fonctionner avec Java\n"
|
|
- + "Web Start 6 sous Mac OS X de façon fiable.\n"
|
|
- + "Merci de télécharger le programme d'installation depuis\n"
|
|
- + "http://www.sweethome3d.com/fr/download.jsp"
|
|
- : "Sweet Home 3D can't reliably run with Java Web Start 6\n"
|
|
- + "under Mac OS X.\n"
|
|
- + "Please download the installer version from\n"
|
|
- + "http://www.sweethome3d.com/download.jsp";
|
|
- JOptionPane.showMessageDialog(null, message);
|
|
- System.exit(1);
|
|
- } else if (javaVersion.startsWith("1.5")
|
|
- || javaVersion.startsWith("1.6")) {
|
|
- extensionJarsAndDlls.addAll(Arrays.asList(new String [] {
|
|
- "j3dcore.jar", // Main Java 3D jars
|
|
- "vecmath.jar",
|
|
- "j3dutils.jar",
|
|
- "macosx/gluegen-rt.jar", // Mac OS X jars and DLLs for Java 5 or 6
|
|
- "macosx/jogl.jar",
|
|
- "macosx/libgluegen-rt.jnilib",
|
|
- "macosx/libjogl.jnilib",
|
|
- "macosx/libjogl_awt.jnilib",
|
|
- "macosx/libjogl_cg.jnilib"}));
|
|
- } else if (javaVersion.startsWith(java7Prefix)
|
|
- && javaVersion.length() >= java7Prefix.length() + 1
|
|
- && Character.isDigit(javaVersion.charAt(java7Prefix.length()))
|
|
- && (javaVersion.length() >= java7Prefix.length() + 2 // Test version on 2 digits
|
|
- && Character.isDigit(javaVersion.charAt(java7Prefix.length() + 1))
|
|
- && Integer.parseInt(javaVersion.substring(java7Prefix.length(), java7Prefix.length() + 2)) < 40
|
|
- || javaVersion.length() == java7Prefix.length() + 1 // Test whether version is on 1 digit (i.e. < 40)
|
|
- || !Character.isDigit(javaVersion.charAt(java7Prefix.length() + 1)))) {
|
|
- // Refuse to let Sweet Home 3D run under Mac OS X with Java 7 before version 7u40
|
|
- String message = Locale.getDefault().getLanguage().equals(Locale.FRENCH.getLanguage())
|
|
- ? "Sous Mac OS X, Sweet Home 3D ne peut fonctionner avec Java 7\n"
|
|
- + "qu'à partir de la version Java 7u40. Merci de mettre à jour\n"
|
|
- + "votre version de Java ou de lancer Sweet Home 3D sous Java 6."
|
|
- : "Under Mac OS X, Sweet Home 3D can run with Java 7 only\n"
|
|
- + "from version Java 7u40. Please, update you Java version\n"
|
|
- + "or run Sweet Home 3D under Java 6.";
|
|
- JOptionPane.showMessageDialog(null, message);
|
|
- System.exit(1);
|
|
- } else { // Java >= 1.7.0_40
|
|
- extensionJarsAndDlls.addAll(Arrays.asList(new String [] {
|
|
- "java3d-1.6/j3dcore.jar", // Mac OS X Java 3D 1.6 jars and DLLs
|
|
- "java3d-1.6/vecmath.jar",
|
|
- "java3d-1.6/j3dutils.jar",
|
|
- "java3d-1.6/gluegen-rt.jar",
|
|
- "java3d-1.6/jogl-java3d.jar",
|
|
- "java3d-1.6/macosx/libgluegen-rt.jnilib",
|
|
- "java3d-1.6/macosx/libjogl_desktop.jnilib",
|
|
- "java3d-1.6/macosx/libnativewindow_awt.jnilib",
|
|
- "java3d-1.6/macosx/libnativewindow_macosx.jnilib"}));
|
|
- // Disable JOGL library loader
|
|
- System.setProperty("jogamp.gluegen.UseTempJarCache", "false");
|
|
- }
|
|
- } else { // Other OS
|
|
- if ("1.5.2".equals(System.getProperty("com.eteks.sweethome3d.j3d.version", "1.6"))
|
|
- || "d3d".equals(System.getProperty("j3d.rend", "jogl"))) {
|
|
- extensionJarsAndDlls.addAll(Arrays.asList(new String [] {
|
|
- "j3dcore.jar", // Main Java 3D jars
|
|
- "vecmath.jar",
|
|
- "j3dutils.jar"}));
|
|
- if ("64".equals(System.getProperty("sun.arch.data.model"))) {
|
|
- extensionJarsAndDlls.addAll(Arrays.asList(new String [] {
|
|
- "linux/x64/libj3dcore-ogl.so", // Linux 64 bits DLL for Java 3D 1.5.2
|
|
- "windows/x64/j3dcore-ogl.dll"})); // Windows 64 bits DLL for Java 3D 1.5.2
|
|
- } else {
|
|
- extensionJarsAndDlls.addAll(Arrays.asList(new String [] {
|
|
- "linux/i386/libj3dcore-ogl.so", // Linux 32 bits DLLs
|
|
- "linux/i386/libj3dcore-ogl-cg.so",
|
|
- "windows/i386/j3dcore-d3d.dll", // Windows 32 bits DLLs
|
|
- "windows/i386/j3dcore-ogl.dll",
|
|
- "windows/i386/j3dcore-ogl-cg.dll",
|
|
- "windows/i386/j3dcore-ogl-chk.dll"}));
|
|
- }
|
|
- } else {
|
|
- extensionJarsAndDlls.addAll(Arrays.asList(new String [] {
|
|
- "java3d-1.6/j3dcore.jar", // Java 3D 1.6 jars
|
|
- "java3d-1.6/vecmath.jar",
|
|
- "java3d-1.6/j3dutils.jar",
|
|
- "java3d-1.6/gluegen-rt.jar",
|
|
- "java3d-1.6/jogl-java3d.jar"}));
|
|
- // Disable JOGL library loader
|
|
- System.setProperty("jogamp.gluegen.UseTempJarCache", "false");
|
|
- if ("64".equals(System.getProperty("sun.arch.data.model"))) {
|
|
- extensionJarsAndDlls.addAll(Arrays.asList(new String [] {
|
|
- "java3d-1.6/linux/amd64/libgluegen-rt.so", // Linux 64 bits DLLs for Java 3D 1.6
|
|
- "java3d-1.6/linux/amd64/libjogl_desktop.so",
|
|
- "java3d-1.6/linux/amd64/libnativewindow_awt.so",
|
|
- "java3d-1.6/linux/amd64/libnativewindow_x11.so",
|
|
- "java3d-1.6/windows/amd64/gluegen-rt.dll", // Windows 64 bits DLLs for Java 3D 1.6
|
|
- "java3d-1.6/windows/amd64/jogl_desktop.dll",
|
|
- "java3d-1.6/windows/amd64/nativewindow_awt.dll",
|
|
- "java3d-1.6/windows/amd64/nativewindow_win32.dll"}));
|
|
- } else {
|
|
- extensionJarsAndDlls.addAll(Arrays.asList(new String [] {
|
|
- "java3d-1.6/linux/i586/libgluegen-rt.so", // Linux 32 bits DLLs for Java 3D 1.6
|
|
- "java3d-1.6/linux/i586/libjogl_desktop.so",
|
|
- "java3d-1.6/linux/i586/libnativewindow_awt.so",
|
|
- "java3d-1.6/linux/i586/libnativewindow_x11.so",
|
|
- "java3d-1.6/windows/i586/gluegen-rt.dll", // Windows 32 bits DLLs for Java 3D 1.6
|
|
- "java3d-1.6/windows/i586/jogl_desktop.dll",
|
|
- "java3d-1.6/windows/i586/nativewindow_awt.dll",
|
|
- "java3d-1.6/windows/i586/nativewindow_win32.dll"}));
|
|
- }
|
|
- }
|
|
+ String java8Prefix = "1.8.0_";
|
|
+
|
|
+ Boolean amd64 = "64".equals(System.getProperty("sun.arch.data.model"));
|
|
+ Boolean java7 = (null!=javaVersion && javaVersion.startsWith(java7Prefix));
|
|
+ Boolean java8 = (null!=javaVersion && javaVersion.startsWith(java8Prefix));
|
|
+
|
|
+ if (!amd64 && !java7 && !java8) {
|
|
+ extensionJarsAndDlls.add("/usr/local/openjdk6/jre/lib/i386/libj3dcore-ogl.so");
|
|
+ } else if (amd64 && !java7 && !java8) {
|
|
+ extensionJarsAndDlls.add("/usr/local/openjdk6/jre/lib/amd64/libj3dcore-ogl.so");
|
|
+ } else if (!amd64 && java7) {
|
|
+ extensionJarsAndDlls.add("/usr/local/openjdk7/jre/lib/i386/libj3dcore-ogl.so");
|
|
+ } else if (amd64 && java7) {
|
|
+ extensionJarsAndDlls.add("/usr/local/openjdk7/jre/lib/amd64/libj3dcore-ogl.so");
|
|
+ } else if (!amd64 && java8) {
|
|
+ extensionJarsAndDlls.add("/usr/local/openjdk8/jre/lib/i386/libj3dcore-ogl.so");
|
|
+ } else if (amd64 && java8) {
|
|
+ extensionJarsAndDlls.add("/usr/local/openjdk8/jre/lib/amd64/libj3dcore-ogl.so");
|
|
}
|
|
-
|
|
+ else {
|
|
+ String message = "Your combination of JDK version and\n"
|
|
+ + "hardware architecture is not supported.\n"
|
|
+ + "If you think that this is an error, please\n"
|
|
+ + "contact the port maintainer.";
|
|
+ JOptionPane.showMessageDialog(null, message);
|
|
+ System.exit(1);
|
|
+ }
|
|
+
|
|
String [] applicationPackages = {
|
|
"com.eteks.sweethome3d",
|
|
"javax.media",
|