aboutsummaryrefslogtreecommitdiffstats
path: root/Installer
diff options
context:
space:
mode:
Diffstat (limited to 'Installer')
-rw-r--r--Installer/CHANGES.txt9
-rw-r--r--Installer/FileTool.java33
-rw-r--r--Installer/FilelistGLFFontArchiv.java.skel11
-rw-r--r--Installer/FilelistGLFFontClasses.java.skel11
-rw-r--r--Installer/FilelistMacOsXPPC.java.skel11
-rw-r--r--Installer/FilelistTool.java28
-rw-r--r--Installer/GL4JInst.java95
-rw-r--r--Installer/GL4JInst_cacert_ns.html2
-rw-r--r--Installer/MachineCtrl.java267
-rwxr-xr-xInstaller/makeMSIESignedCab.sh10
-rwxr-xr-xInstaller/makeNetscapeSignedJar-Unix.sh6
-rwxr-xr-xInstaller/makefile6
-rw-r--r--Installer/versiondef.sh2
13 files changed, 399 insertions, 92 deletions
diff --git a/Installer/CHANGES.txt b/Installer/CHANGES.txt
index 831f225..dae13df 100644
--- a/Installer/CHANGES.txt
+++ b/Installer/CHANGES.txt
@@ -12,13 +12,20 @@ This CHANGES starts with version 2.00 !
GL4Java Installer 2.00 is based upon version 1.05, by Ron Cemer !
-Last Changes: 31. Dezember 2000 (Version 2.06a)
+Last Changes: 6th Dezember 2001 (Version 2.07)
-----------------
TOP = new
DOWN = old
-----------------
+Dezember 6, 2001 (Version 2.07):
+
+ o The Installer now installs also:
+ - GLF Fonts
+ - The native libraries under JAVA_HOME/lib/<arch>, or
+ JAVA_HOME/bin ! (checks where java.dll or libjava.so, resides)
+
Dezember 31, 2000 (Version 2.06a):
- Added a ProgressBar to the main Applet Panel !
diff --git a/Installer/FileTool.java b/Installer/FileTool.java
index 92b2233..0fecab5 100644
--- a/Installer/FileTool.java
+++ b/Installer/FileTool.java
@@ -51,7 +51,7 @@ public class FileTool
return f.exists();
}
- public static final boolean libraryExists(MachineCtrl mctrl,
+ public static final String libraryExists(MachineCtrl mctrl,
String libname, Vector libdirlist
)
{
@@ -73,7 +73,7 @@ public class FileTool
System.out.println
("Netscape denied privileges, or a failure occurred.\n"+
"Here is the exception that was caught:\n"+e+"\n");
- return false;
+ return null;
}
}
else if (mctrl.isMicrosoftJvm)
@@ -91,7 +91,7 @@ public class FileTool
System.out.println
("Microsoft VM denied privileges, or a failure occurred.\n"+
"Here is the exception that was caught:\n"+e+"\n");
- return false;
+ return null;
}
}
if (mctrl.isUnix)
@@ -133,12 +133,12 @@ public class FileTool
{
System.out.println
("File found: "+s + "/" + libname+"\n");
- return true;
+ return s;
}
}
}
}
- return false;
+ return null;
}
/**
@@ -229,7 +229,7 @@ public class FileTool
/**
* Copy all files from the zip
* or jar archive pointed to by zipURL to their
- * corresponding destination given in targetDirs[] !
+ * corresponding destination given in targetDirs !
*
* The status window is updated with the name of the
* source file being copied.
@@ -241,20 +241,20 @@ public class FileTool
*/
public static final boolean copyFilesFromZip
(MachineCtrl mctrl,
- URL zipURL, String targetDirs[],
+ URL zipURL, Vector targetDirs,
TextArea statustextarea,
ProgressBar bar
)
{
int i, j;
boolean ok = true;
- int nFiles = targetDirs.length;
+ int nFiles = targetDirs.size();
String srcFile = null;
String destFiles[] = new String[nFiles];
File dstfils[] = new File[nFiles];
FileOutputStream fos[] = new FileOutputStream[nFiles];
- if(targetDirs==null) return true;
+ if(targetDirs==null||nFiles==0) return true;
if (mctrl.isNetscapeJvm)
{
@@ -300,12 +300,14 @@ public class FileTool
//
// adding a trailing path-seperator, if needed !
//
- if(targetDirs[i]!=null)
+ if(targetDirs.elementAt(i)!=null)
{
- targetDirs[i] = targetDirs[i].trim();
- if(targetDirs[i].indexOf('/', targetDirs[i].length()-1)<0)
- targetDirs[i] += "/";
- System.out.println("targetDir: "+targetDirs[i]);
+ String targetDir = (String) targetDirs.elementAt(i);
+ targetDir = targetDir.trim();
+ if(targetDir.indexOf('/', targetDir.length()-1)<0)
+ targetDir += "/";
+ System.out.println("targetDir: "+targetDir);
+ targetDirs.setElementAt(targetDir, i);
}
}
@@ -350,7 +352,8 @@ public class FileTool
for(i=0; ok && i<nFiles; i++)
{
- destFiles[i] = targetDirs[i] + srcFile;
+ String targetDir = (String) targetDirs.elementAt(i);
+ destFiles[i] = targetDir + srcFile;
dstfils[i] = new File(destFiles[i]);
if (dstfils[i].exists())
diff --git a/Installer/FilelistGLFFontArchiv.java.skel b/Installer/FilelistGLFFontArchiv.java.skel
new file mode 100644
index 0000000..3cf2d96
--- /dev/null
+++ b/Installer/FilelistGLFFontArchiv.java.skel
@@ -0,0 +1,11 @@
+
+public class FilelistGLFFontArchiv
+ implements FilelistOS
+{
+ public static final String version = "_MAJV_._MINV_._BUGV_._RELV_";
+
+ public static final String archiv = "../binpkg/gl4java_MAJV_._MINV_._BUGV_._RELV_-glffonts-jar.zip" ;
+
+ public String getVersion() { return version; }
+ public String getArchiv() { return archiv; }
+}
diff --git a/Installer/FilelistGLFFontClasses.java.skel b/Installer/FilelistGLFFontClasses.java.skel
new file mode 100644
index 0000000..c455a22
--- /dev/null
+++ b/Installer/FilelistGLFFontClasses.java.skel
@@ -0,0 +1,11 @@
+
+public class FilelistGLFFontClasses
+ implements FilelistOS
+{
+ public static final String version = "_MAJV_._MINV_._BUGV_._RELV_";
+
+ public static final String archiv = "../binpkg/gl4java_MAJV_._MINV_._BUGV_._RELV_-glffonts-classes.zip" ;
+
+ public String getVersion() { return version; }
+ public String getArchiv() { return archiv; }
+}
diff --git a/Installer/FilelistMacOsXPPC.java.skel b/Installer/FilelistMacOsXPPC.java.skel
new file mode 100644
index 0000000..fee409e
--- /dev/null
+++ b/Installer/FilelistMacOsXPPC.java.skel
@@ -0,0 +1,11 @@
+
+public class FilelistMacOsXPPC
+ implements FilelistOS
+{
+ public static final String version = "_MAJV_._MINV_._BUGV_._RELV_";
+
+ public static final String archiv = "../binpkg/libGL4Java_MAJV_._MINV_._BUGV_._RELV_-Darwin-MacOsX-aqua-ppc.zip";
+
+ public String getVersion() { return version; }
+ public String getArchiv() { return archiv; }
+}
diff --git a/Installer/FilelistTool.java b/Installer/FilelistTool.java
index c5a0c32..b256702 100644
--- a/Installer/FilelistTool.java
+++ b/Installer/FilelistTool.java
@@ -7,7 +7,7 @@ public class FilelistTool
return null;
if(mctrl.isWin32)
{
- if(mctrl.osArch.indexOf("x86")>=0)
+ if(mctrl.isOsArchX86)
{
return new FilelistWin32I386();
}
@@ -17,36 +17,36 @@ public class FilelistTool
{
if(mctrl.unixFlavor==mctrl.unixFlavor_Linux)
{
- if(mctrl.osArch.indexOf("x86")>=0 ||
- mctrl.osArch.indexOf("i86")>=0 ||
- mctrl.osArch.indexOf("i686")>=0 ||
- mctrl.osArch.indexOf("i586")>=0 ||
- mctrl.osArch.indexOf("i486")>=0 ||
- mctrl.osArch.indexOf("i386")>=0
- )
+ if(mctrl.isOsArchX86)
{
return new FilelistLinuxI386GlibcXF86();
- } else if(mctrl.osArch.indexOf("ppc")>=0)
+ } else if(mctrl.isOsArchPPC)
{
return new FilelistLinuxPPCGlibcXF86();
}
} else if(mctrl.unixFlavor==mctrl.unixFlavor_Solaris)
{
- if(mctrl.osArch.indexOf("sparc")>=0)
+ if(mctrl.isOsArchSPARC)
return new FilelistSUNSolaris26Sparc();
} else if(mctrl.unixFlavor==mctrl.unixFlavor_Irix)
{
- if(mctrl.osArch.indexOf("mips")>=0)
+ if(mctrl.isOsArchMIPS)
return new FilelistSGIIrix62Mips();
} else if(mctrl.unixFlavor==mctrl.unixFlavor_HPUX)
{
- if(mctrl.osArch.indexOf("pa_risc")>=0)
+ if(mctrl.isOsArchPARISC)
return new FilelistHPUXPaRisc();
+ } else if(mctrl.unixFlavor==mctrl.unixFlavor_MacOsX)
+ {
+ if(mctrl.isOsArchPPC)
+ {
+ return new FilelistMacOsXPPC();
+ }
}
}
- if(mctrl.isMacOs)
+ if(mctrl.isMacOs9)
{
- if(mctrl.osArch.indexOf("powerpc")>=0)
+ if(mctrl.isOsArchPPC)
return new FilelistMacOSPPC();
}
return null;
diff --git a/Installer/GL4JInst.java b/Installer/GL4JInst.java
index 887129d..0149da6 100644
--- a/Installer/GL4JInst.java
+++ b/Installer/GL4JInst.java
@@ -2,7 +2,7 @@
* @(#) GL4JInst.java
* @(#) author: Ronald B. Cemer, Sven Goethel
* @(#) copyright: Copyright (c) 1999 Ronald B. Cemer under GNU GPL
- * @(#) version: 2.00
+ * @(#) version: 2.07
*/
import java.applet.*;
@@ -24,7 +24,7 @@ public class GL4JInst
static private final String gl4javaWWW =
"http://www.jausoft.com/Files/Java/1.1.X/GL4Java/Installer";
- static private final String version = "2.06a";
+ static private final String version = "2.07";
static private final String cannot_install_title =
"Cannot install GL4Java";
@@ -49,13 +49,14 @@ public class GL4JInst
private String archive = null;
private String gl4j_archive = null;
private String glutfont_archive = null;
+ private String glffont_archive = null;
private boolean install_opengl = false;
private String opengl_archive = null;
private String png_archive = null;
private String gl_lib = null;
private String glu_lib = null;
private Vector lib_dir_list = null;
- private String targetDirs[] = null;
+ private Vector targetDirs = null;
private URL gl4javaURL = null;
private URL sourceURL = null;
private boolean initfailed = false;
@@ -73,6 +74,8 @@ public class GL4JInst
FilelistGL4JArchiv fileGL4JArchiv= new FilelistGL4JArchiv();
FilelistGLUTFontClasses fileGLUTFontClasses= new FilelistGLUTFontClasses();
FilelistGLUTFontArchiv fileGLUTFontArchiv= new FilelistGLUTFontArchiv();
+ FilelistGLFFontClasses fileGLFFontClasses= new FilelistGLFFontClasses();
+ FilelistGLFFontArchiv fileGLFFontArchiv= new FilelistGLFFontArchiv();
FilelistPNGClasses filePNGClasses= new FilelistPNGClasses();
FilelistPNGArchiv filePNGArchiv= new FilelistPNGArchiv();
@@ -308,7 +311,7 @@ public class GL4JInst
"NT 4.0 service packs can be downloaded from:\n" +
" www.microsoft.com/downloads\n";
}
- else if (mctrl.isMacOs)
+ else if (mctrl.isMacOs9)
{
// TODO !!!
gl_lib = "GL.DLL";
@@ -352,7 +355,7 @@ public class GL4JInst
&& (lib_dir_list != null)
&& (lib_dir_list.size() > 0) )
{
- if (!FileTool.libraryExists(mctrl,gl_lib,lib_dir_list))
+ if (null==FileTool.libraryExists(mctrl,gl_lib,lib_dir_list))
{
if (mctrl.isWin95)
install_opengl = true;
@@ -378,7 +381,7 @@ public class GL4JInst
&& (lib_dir_list != null)
&& (lib_dir_list.size() > 0) )
{
- if (!FileTool.libraryExists(mctrl,glu_lib,lib_dir_list))
+ if (null==FileTool.libraryExists(mctrl,glu_lib,lib_dir_list))
{
if (mctrl.isWin95)
install_opengl = true;
@@ -414,7 +417,8 @@ public class GL4JInst
statustextarea.setText
(statustextarea.getText() +
"Native libraries will be installed to: " +
- mctrl.browser_natives +"\n");
+ mctrl.browser_natives +", and\n"+
+ mctrl.os_natives +"\n");
statustextarea.setCaretPosition(Integer.MAX_VALUE);
if (mctrl.isWin32)
@@ -427,15 +431,18 @@ public class GL4JInst
{
gl4j_archive = fileGL4JClasses.getArchiv();
glutfont_archive = fileGLUTFontClasses.getArchiv();
+ glffont_archive = fileGLFFontClasses.getArchiv();
png_archive = filePNGClasses.getArchiv();
} else {
gl4j_archive = fileGL4JArchiv.getArchiv();
glutfont_archive = fileGLUTFontArchiv.getArchiv();
+ glffont_archive = fileGLFFontArchiv.getArchiv();
png_archive = filePNGArchiv.getArchiv();
}
} else {
gl4j_archive = fileGL4JArchiv.getArchiv();
glutfont_archive = fileGLUTFontArchiv.getArchiv();
+ glffont_archive = fileGLFFontArchiv.getArchiv();
png_archive = filePNGArchiv.getArchiv();
}
archive = osFileLists.getArchiv();
@@ -481,8 +488,8 @@ public class GL4JInst
}
if(ok)
{
- targetDirs = new String[1];
- targetDirs[0] = mctrl.os_lib_dir;
+ targetDirs = new Vector();
+ targetDirs.addElement(mctrl.os_lib_dir);
ok = FileTool.copyFilesFromZip
(mctrl, sourceURL, targetDirs, statustextarea, bar);
}
@@ -527,8 +534,8 @@ public class GL4JInst
}
if(ok)
{
- targetDirs = new String[1];
- targetDirs[0] = mctrl.browser_classes;
+ targetDirs = new Vector();
+ targetDirs.addElement(mctrl.browser_classes);
ok = FileTool.copyFilesFromZip
(mctrl, sourceURL, targetDirs,statustextarea, bar);
}
@@ -572,8 +579,54 @@ public class GL4JInst
}
if(ok)
{
- targetDirs = new String[1];
- targetDirs[0] = mctrl.browser_classes;
+ targetDirs = new Vector();
+ targetDirs.addElement(mctrl.browser_classes);
+ ok = FileTool.copyFilesFromZip
+ (mctrl, sourceURL, targetDirs,statustextarea, bar);
+ }
+ }
+
+ if ( ok
+ && mctrl.installGLFFontSupport
+ && (glffont_archive != null)
+ && (glffont_archive.length() > 0) )
+ {
+ if(!isAnApplet && !FileTool.fileExists(mctrl, glffont_archive))
+ {
+ statustextarea.setText
+ (statustextarea.getText() +
+ "Getting File(s): GL4Java GLF-FONT Java Classes\n");
+ statustextarea.setCaretPosition(Integer.MAX_VALUE);
+
+ ok = FileTool.copyFileFromDir(mctrl,
+ gl4javaURL,
+ glffont_archive, glffont_archive,
+ statustextarea);
+ }
+ if(ok)
+ {
+ statustextarea.setText
+ (statustextarea.getText() +
+ "Install GL4Java GLF-FONT Java Classes\n");
+ statustextarea.setCaretPosition(Integer.MAX_VALUE);
+ try
+ {
+ sourceURL = new URL(codeBase,glffont_archive);
+ }
+ catch (Exception e)
+ {
+ ok=false;
+ statustextarea.setText
+ (statustextarea.getText() +
+ "File does not exist: "+codeBase+","+glffont_archive+" !\n");
+ statustextarea.setCaretPosition(Integer.MAX_VALUE);
+ }
+ }
+
+ if(ok)
+ {
+ targetDirs = new Vector();
+ targetDirs.addElement(mctrl.browser_classes);
ok = FileTool.copyFilesFromZip
(mctrl, sourceURL, targetDirs,statustextarea, bar);
}
@@ -616,8 +669,8 @@ public class GL4JInst
}
if(ok)
{
- targetDirs = new String[1];
- targetDirs[0] = mctrl.browser_classes;
+ targetDirs = new Vector();
+ targetDirs.addElement(mctrl.browser_classes);
ok = FileTool.copyFilesFromZip
(mctrl, sourceURL, targetDirs,statustextarea, bar);
}
@@ -660,8 +713,16 @@ public class GL4JInst
}
if(ok)
{
- targetDirs = new String[1];
- targetDirs[0] = mctrl.browser_natives;
+ targetDirs = new Vector();
+
+ if(mctrl.browser_natives!=null &&
+ mctrl.browser_natives.length()>0)
+ targetDirs.addElement(mctrl.browser_natives);
+
+ if(mctrl.os_natives!=null &&
+ mctrl.os_natives.length()>0)
+ targetDirs.addElement(mctrl.os_natives);
+
ok = FileTool.copyFilesFromZip
(mctrl, sourceURL, targetDirs,statustextarea, bar);
}
diff --git a/Installer/GL4JInst_cacert_ns.html b/Installer/GL4JInst_cacert_ns.html
index 53bc95a..8d42c9d 100644
--- a/Installer/GL4JInst_cacert_ns.html
+++ b/Installer/GL4JInst_cacert_ns.html
@@ -49,7 +49,7 @@ Certificate Authority" box comes up:
IS AN EXTRA SECURITY PRECAUTION.
<p>When asked for a name, enter the following name, exactly as shown: GL4Java
<br>
-<p><b><a href="x509.crt">Click here to import the signing certificate.</a> </b> Valid from <b> Fri Apr 06, 2001 to Fri Jul 06, 2001 </b>
+<p><b><a href="x509.crt">Click here to import the signing certificate.</a> </b> Valid from <b> Thu Dec 06, 2001 to Wed Mar 06, 2002 </b>
<br>
<p>After you have imported the certificate, <b><a href="GL4JInst_ns.html">Click
here to begin the GL4Java installation.</a></b>
diff --git a/Installer/MachineCtrl.java b/Installer/MachineCtrl.java
index c2435e4..664f47f 100644
--- a/Installer/MachineCtrl.java
+++ b/Installer/MachineCtrl.java
@@ -21,18 +21,27 @@ public class MachineCtrl
public Button buttonOk = null;
public Button buttonCancel = null;
public Button buttonFileClasses = null;
- public Button buttonFileNatives = null;
+ public Button buttonFileNativesBrowser = null;
+ public Button buttonFileNativesOS = null;
public TextField tf_browser_classes = null;
public TextField tf_browser_natives = null;
+ public TextField tf_os_natives = null;
public boolean installGLUTFontSupport = true;
+ public boolean installGLFFontSupport = true;
private Checkbox checkboxInstallGLUTFontSupport = null;
+ private Checkbox checkboxInstallGLFFontSupport = null;
// Values for replaceable strings:
public String browser_classes = null;
public String browser_natives = null;
+ public String os_natives = null;
public String os_dir = null;
public String os_lib_dir = null;
+ private String javalibdir=null;
+ private String java_lib=null;
+ private Vector javalibdir_list=null;
+
// Java VM vendor and operating system stuff:
public String jvmVendor = null;
public String jvmVersion = null;
@@ -48,8 +57,8 @@ public class MachineCtrl
public String osArch = null;
public boolean isWin32 = false;
public boolean isWin95 = false;
- public boolean isMacOs = false;
public boolean isMacOs9 = false;
+ public boolean isMacOsX = false;
public boolean isUnix = false;
public int unixFlavor = unixFlavor_Unknown;
static public final int
@@ -58,7 +67,13 @@ public class MachineCtrl
unixFlavor_Solaris = 2,
unixFlavor_Aix = 3,
unixFlavor_Irix = 4,
- unixFlavor_HPUX = 5;
+ unixFlavor_HPUX = 5,
+ unixFlavor_MacOsX = 6;
+ public boolean isOsArchX86=false;
+ public boolean isOsArchPPC = false;
+ public boolean isOsArchSPARC = false;
+ public boolean isOsArchMIPS = false;
+ public boolean isOsArchPARISC = false;
private String pathsep = null;
private String filesep = null;
@@ -128,10 +143,10 @@ public class MachineCtrl
&& (osName.indexOf("windows 95") >= 0)
&& (osVersion.startsWith("4.0")) );
- isMacOs = osName.startsWith("mac os");
- isMacOs9 = osVersion.startsWith("9.");
+ isMacOs9 = osName.startsWith("mac os") && osVersion.startsWith("9.");
+ isMacOsX = osName.startsWith("darwin");
- isUnix = ( (!isWin32) && (!isMacOs) );
+ isUnix = ( (!isWin32) && (!isMacOs9) );
pathsep = System.getProperty("path.separator");
filesep = System.getProperty("file.separator");
@@ -148,12 +163,35 @@ public class MachineCtrl
unixFlavor = unixFlavor_Irix;
else if (osName.indexOf("hp-ux") >= 0)
unixFlavor = unixFlavor_HPUX;
+ else if (osName.indexOf("darwin") >= 0)
+ unixFlavor = unixFlavor_MacOsX;
}
+ if(osArch.indexOf("x86")>=0 ||
+ osArch.indexOf("i86")>=0 ||
+ osArch.indexOf("i786")>=0 ||
+ osArch.indexOf("i686")>=0 ||
+ osArch.indexOf("i586")>=0 ||
+ osArch.indexOf("i486")>=0 ||
+ osArch.indexOf("i386")>=0
+ ) isOsArchX86=true;
+ else
+ isOsArchX86=false;
+
+ isOsArchPPC = osArch.indexOf("ppc")>=0 || osArch.indexOf("powerpc")>=0;
+ isOsArchSPARC = osArch.indexOf("sparc")>=0;
+ isOsArchMIPS = osArch.indexOf("mips")>=0;
+ isOsArchPARISC = osArch.indexOf("ps_risc")>=0;
+
System.out.println("Machine Info:");
System.out.println("\tosName: "+osName);
System.out.println("\tosVersion: "+osVersion);
System.out.println("\tosArch: "+osArch);
+ System.out.println("\t\t isOsArchX86 ="+isOsArchX86);
+ System.out.println("\t\t isOsArchPPC ="+isOsArchPPC);
+ System.out.println("\t\t isOsArchSPARC ="+isOsArchSPARC);
+ System.out.println("\t\t isOsArchMIPS ="+isOsArchMIPS);
+ System.out.println("\t\t isOsArchPARISC ="+isOsArchPARISC);
System.out.println("");
System.out.println("jvmVendor: "+jvmVendor);
System.out.println("jvmVersion: "+jvmVersion+
@@ -359,11 +397,11 @@ public class MachineCtrl
len = ((Integer)m.invoke(kernel32,args)).intValue();
f = new File(new String(buf));
os_lib_dir = f.getAbsolutePath().replace('\\','/');
- browser_natives = os_lib_dir;
+ os_natives = os_lib_dir;
}
catch (Exception e)
{
- browser_natives = null;
+ os_natives = null;
System.out.println(e);
System.out.println("call to get the sys dir failed:\n"+ buf);
}
@@ -399,7 +437,7 @@ public class MachineCtrl
return false;
}
} // if (isWin32)
- else if (isMacOs)
+ else if (isMacOs9)
{
// TODO: Add IE init here for browser_classes and browser_natives directories
// under MacOs.
@@ -414,8 +452,8 @@ public class MachineCtrl
{
if (isWin32)
{
- // Find WINDOWS and WINDOWS\SYSTEM directories for Win9x,
- // or WINNT and WINNT\SYSTE23 directories for WinNT.
+ // Find WINDOWS and WINDOWS\SYSTEM directories for Win9x,
+ // or WINNT and WINNT\SYSTEM23 directories for WinNT.
Process proc = null;
String path = "";
try
@@ -556,6 +594,7 @@ public class MachineCtrl
|| (os_lib_dir.length()
< 1) )
os_lib_dir = thispath2;
+ os_natives = os_lib_dir;
}
}
}
@@ -606,7 +645,7 @@ public class MachineCtrl
String jvmHome = java.lang.System.getProperty("java.home");
- if ( (isWin32) || (isUnix) || (isMacOs) )
+ if ( (isWin32) || (isUnix) )
{
if(DEBUG)
System.out.println("find classpath ...");
@@ -688,30 +727,99 @@ public class MachineCtrl
switch (unixFlavor)
{
case unixFlavor_Linux:
- browser_natives = new String("/usr/lib");
+ os_natives = new String("/usr/lib");
break;
case unixFlavor_Solaris:
- browser_natives = new String("/usr/lib");
+ os_natives = new String("/usr/lib");
break;
case unixFlavor_Aix:
- browser_natives = new String("/usr/lib");
+ os_natives = new String("/usr/lib");
break;
case unixFlavor_Irix:
- browser_natives = new String("/usr/lib");
+ os_natives = new String("/usr/lib");
break;
}
}
- else
- browser_natives = thispath.substring(0,thispath.length()-7) + "bin";
+ else if(os_natives==null||os_natives.length()==0)
+ os_natives = thispath.substring(0,thispath.length()-7) + "bin";
break;
}
}
}
}
- }
- } // if ( (isWin32) || (isUnix) || (isMacOs) )
+ if(jvmHome!=null && jvmHome!="null")
+ {
+ if(isWin32)
+ {
+ if(isOsArchX86)
+ {
+ browser_natives=jvmHome+"/bin";
+ }
+ java_lib="java.dll";
+ }
+ if(isUnix)
+ {
+ if(unixFlavor==unixFlavor_Linux)
+ {
+ if(isOsArchX86)
+ {
+ browser_natives=jvmHome+"/lib/i386";
+ } else if(isOsArchPPC)
+ {
+ browser_natives=jvmHome+"/lib/ppc";
+ }
+ } else if(unixFlavor==unixFlavor_Solaris)
+ {
+ if(isOsArchSPARC)
+ browser_natives=jvmHome+"/lib/sparc";
+ } else if(unixFlavor==unixFlavor_Irix)
+ {
+ if(isOsArchMIPS)
+ browser_natives=jvmHome+"/lib/mips";
+ } else if(unixFlavor==unixFlavor_HPUX)
+ {
+ if(isOsArchPARISC)
+ browser_natives=jvmHome+"/lib/parisc";
+ } else if(unixFlavor==unixFlavor_MacOsX)
+ {
+ if(isOsArchPPC)
+ {
+ browser_natives=jvmHome+"/lib/ppc";
+ }
+ }
+ java_lib="libjava.so";
+ }
+ if(isMacOs9)
+ {
+ if(isOsArchPPC)
+ browser_natives=jvmHome+"/lib/ppc";
+ java_lib="java.dll";
+ }
+ if(browser_natives==null || browser_natives.length()==0)
+ {
+ browser_natives=jvmHome+"/bin";
+ java_lib="java.dll";
+ }
+ javalibdir_list=new Vector();
+ javalibdir_list.addElement(browser_natives);
+ javalibdir_list.addElement(jvmHome+"/bin");
+ javalibdir_list.addElement(jvmHome+"/lib/i686");
+ javalibdir_list.addElement(jvmHome+"/lib/i686/i686/native_threads");
+ javalibdir_list.addElement(jvmHome+"/lib/i686/i686/green_threads");
+ javalibdir_list.addElement(jvmHome+"/lib/i386");
+ javalibdir_list.addElement(jvmHome+"/lib/ppc");
+ javalibdir_list.addElement(jvmHome+"/lib/sparc");
+ javalibdir_list.addElement(jvmHome+"/lib/mips");
+ javalibdir_list.addElement(jvmHome+"/lib/parisc");
+ javalibdir_list.addElement(jvmHome+"/lib/risc");
+ javalibdir=FileTool.libraryExists(this,java_lib,javalibdir_list);
+ if (javalibdir!=null)
+ browser_natives=javalibdir;
+ } // if jvmhome!=null
+ } // if jvmhome-classpath exists !
+ } // if ( (isWin32) || (isUnix) )
/*
- else if (isMacOs)
+ else if (isMacOs9)
{
}
*/
@@ -761,7 +869,7 @@ public class MachineCtrl
}
Panel panMain = new Panel();
- panMain.setLayout(new GridLayout(10,1));
+ panMain.setLayout(new GridLayout(11,1));
if(osVersion!=null && osArch!=null)
panMain.add(new Label("OS: "+osName+" "+osVersion+" "+osArch));
@@ -772,7 +880,7 @@ public class MachineCtrl
panFlow.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));
panFlow.add(new Label("os-dir/os-library-dir:"));
if(os_dir!=null && os_lib_dir!=null)
- panFlow.add(new Label(os_dir.trim()+"/"+os_lib_dir.trim()));
+ panFlow.add(new Label(os_dir.trim()+" / "+os_lib_dir.trim()));
else
panFlow.add(new Label("none/none"));
panMain.add(panFlow);
@@ -783,7 +891,16 @@ public class MachineCtrl
checkboxInstallGLUTFontSupport = new Checkbox("with GLUT-Fonts", true);
checkboxInstallGLUTFontSupport.addItemListener(this);
panGL4JSpecials.add(checkboxInstallGLUTFontSupport);
- panGL4JSpecials.add(new Label("(takes up to 200kBytes)"));
+ panGL4JSpecials.add(new Label("(takes up to 111 kBytes)"));
+ panMain.add(panGL4JSpecials);
+
+ panGL4JSpecials = new Panel();
+ panGL4JSpecials.setLayout(new GridLayout(1,2));
+ installGLFFontSupport = true;
+ checkboxInstallGLFFontSupport = new Checkbox("with GLF-Fonts", true);
+ checkboxInstallGLFFontSupport.addItemListener(this);
+ panGL4JSpecials.add(checkboxInstallGLFFontSupport);
+ panGL4JSpecials.add(new Label("(takes up to 611 kBytes)"));
panMain.add(panGL4JSpecials);
Panel panOS = new Panel();
@@ -794,7 +911,7 @@ public class MachineCtrl
cb1 = new Checkbox("Win95", isWin95);
cb1.setEnabled(false);
panOS.add(cb1);
- cb1 = new Checkbox("MacOS", isMacOs);
+ cb1 = new Checkbox("MacOS9", isMacOs9);
cb1.setEnabled(false);
panOS.add(cb1);
cb1 = new Checkbox("Unix", isUnix);
@@ -805,7 +922,7 @@ public class MachineCtrl
if(isUnix)
{
Panel panOSUnix = new Panel();
- panOSUnix.setLayout(new GridLayout(2,2));
+ panOSUnix.setLayout(new GridLayout(2,3));
cb1 = new Checkbox("GNU/Linux", unixFlavor==unixFlavor_Linux);
cb1.setEnabled(false);
panOSUnix.add(cb1);
@@ -818,6 +935,12 @@ public class MachineCtrl
cb1 = new Checkbox("Irix", unixFlavor==unixFlavor_Irix);
cb1.setEnabled(false);
panOSUnix.add(cb1);
+ cb1 = new Checkbox("HP-UX", unixFlavor==unixFlavor_HPUX);
+ cb1.setEnabled(false);
+ panOSUnix.add(cb1);
+ cb1 = new Checkbox("Darwin/MacOsX", unixFlavor==unixFlavor_MacOsX);
+ cb1.setEnabled(false);
+ panOSUnix.add(cb1);
panMain.add(panOSUnix);
}
@@ -850,16 +973,29 @@ public class MachineCtrl
buttonFileClasses.addActionListener(this);
panFlow.add(buttonFileClasses);
panMain.add(panFlow);
+
panFlow = new Panel();
//panFlow.setLayout(new GridLayout(1,3));
panFlow.setLayout(new FlowLayout(FlowLayout.LEFT));
- panFlow.add(new Label("Native-Lib's-Path:"));
+ panFlow.add(new Label("Java Native-Lib's-Path's:"));
tf_browser_natives = new TextField(browser_natives,60);
tf_browser_natives.addActionListener(this);
panFlow.add(tf_browser_natives);
- buttonFileNatives = new Button("...");
- buttonFileNatives.addActionListener(this);
- panFlow.add(buttonFileNatives);
+ buttonFileNativesBrowser = new Button("...");
+ buttonFileNativesBrowser.addActionListener(this);
+ panFlow.add(buttonFileNativesBrowser);
+ panMain.add(panFlow);
+
+ panFlow = new Panel();
+ //panFlow.setLayout(new GridLayout(1,3));
+ panFlow.setLayout(new FlowLayout(FlowLayout.LEFT));
+ panFlow.add(new Label("OS Native-Lib's-Path's:"));
+ tf_os_natives = new TextField(os_natives,60);
+ tf_os_natives.addActionListener(this);
+ panFlow.add(tf_os_natives);
+ buttonFileNativesOS = new Button("...");
+ buttonFileNativesOS.addActionListener(this);
+ panFlow.add(buttonFileNativesOS);
panMain.add(panFlow);
dialog.add("Center", panMain);
@@ -974,15 +1110,18 @@ public class MachineCtrl
fisdir=false;
try {
- fname = tf_browser_natives.getText().replace('\\','/');
+ fname = tf_browser_natives.getText().replace('\\','/');
+ if(fname!=null && fname.length()>0)
fname = fname.trim();
- f = new File(fname);
+ if(fname!=null && fname.length()>0)
+ {
+ f = new File(fname);
fexist=f.exists();
fisdir=f.isDirectory();
if(f!=null && fexist && fisdir )
{
browser_natives = fname;
- System.out.println("Set Native-Dir to: "+
+ System.out.println("Set Browser-Native-Dir to: "+
browser_natives);
} else {
str = new String ("directory <"+
@@ -998,6 +1137,7 @@ public class MachineCtrl
tf_browser_natives.requestFocus();
tf_browser_natives.getToolkit().beep();
}
+ }
} catch (Exception ex) {
ex.printStackTrace();
str = new String ("EXCEPTION directory <"+
@@ -1013,6 +1153,50 @@ public class MachineCtrl
tf_browser_natives.requestFocus();
tf_browser_natives.getToolkit().beep();
}
+ try {
+ fname = tf_os_natives.getText().replace('\\','/');
+ if(fname!=null && fname.length()>0)
+ fname = fname.trim();
+ if(fname!=null && fname.length()>0)
+ {
+ f = new File(fname);
+ fexist=f.exists();
+ fisdir=f.isDirectory();
+ if(f!=null && fexist && fisdir )
+ {
+ os_natives = fname;
+ System.out.println("Set OS-Native-Dir to: "+
+ os_natives);
+ } else {
+ str = new String ("directory <"+
+ tf_os_natives.getText().trim()+
+ "> is invalid ");
+ if(f!=null) {
+ str+= "( exist="+ fexist +
+ ", isDir="+fisdir+ ")";
+ } else {
+ str+= "( f is NULL )";
+ }
+ ok=false;
+ tf_os_natives.requestFocus();
+ tf_os_natives.getToolkit().beep();
+ }
+ }
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ str = new String ("EXCEPTION directory <"+
+ tf_os_natives.getText().trim()+
+ "> is invalid ");
+ if(f!=null) {
+ str+= "( exist="+ fexist +
+ ", isDir="+fisdir+ ")";
+ } else {
+ str+= "( f is NULL )";
+ }
+ ok=false;
+ tf_os_natives.requestFocus();
+ tf_os_natives.getToolkit().beep();
+ }
if(!ok && str!=null)
{
System.out.println(str);
@@ -1054,14 +1238,22 @@ public class MachineCtrl
fd.show();
tf_browser_classes.setText(fd.getDirectory());
//checkTextFields();
- } else if(src.equals(buttonFileNatives))
+ } else if(src.equals(buttonFileNativesBrowser))
{
FileDialog fd =
- new FileDialog(dialog,"GL4Java Classes Dir",FileDialog.SAVE);
+ new FileDialog(dialog,"GL4Java JVM Natives Dir",FileDialog.SAVE);
fd.setDirectory(tf_browser_natives.getText());
fd.show();
tf_browser_natives.setText(fd.getDirectory());
//checkTextFields();
+ } else if(src.equals(buttonFileNativesOS))
+ {
+ FileDialog fd =
+ new FileDialog(dialog,"GL4Java OS Natives Dir",FileDialog.SAVE);
+ fd.setDirectory(tf_os_natives.getText());
+ fd.show();
+ tf_os_natives.setText(fd.getDirectory());
+ //checkTextFields();
} else if(src.equals(goToJausoftGL4Java) && applet!=null)
{
try {
@@ -1080,6 +1272,11 @@ public class MachineCtrl
installGLUTFontSupport =
checkboxInstallGLUTFontSupport.getState();
}
+ if(checkboxInstallGLFFontSupport.equals(e.getItemSelectable()))
+ {
+ installGLFFontSupport =
+ checkboxInstallGLFFontSupport.getState();
+ }
}
diff --git a/Installer/makeMSIESignedCab.sh b/Installer/makeMSIESignedCab.sh
index 768c362..1ead186 100755
--- a/Installer/makeMSIESignedCab.sh
+++ b/Installer/makeMSIESignedCab.sh
@@ -4,16 +4,16 @@
# The Microsft signing keys were created using the Microsoft makecert and
# cert2spc utilities, as follows:
-# makecert -nscp -r -n CN=GL4JInst GL4JInst.cer -sv GL4JInst.pvk
+# makecert -nscp -r -n CN=GL4JInst GL4JInst281.cer -sv GL4JInst281.pvk
# (when prompted for a password, click "None")
-# cert2spc GL4JInst.cer GL4JInst.spc
+# cert2spc GL4JInst281.cer GL4JInst281.spc
rm -f *.class GL4JInst.cab
-//D/MSJAVASDK/BIN/jvc -nomessage -x- -cp:p .\;..\\CAPSAPI_CLASSES.ZIP *.java
+/MSJVM/BIN/jvc -nomessage -x- -cp:p .\;..\\CAPSAPI_CLASSES.ZIP *.java
. versionundef.sh
-//D/MSJAVASDK/Bin/cabarc N GL4JInst.cab *.class
+/MSJVM/Bin/cabarc N GL4JInst.cab *.class
# signcode -j javasign.dll -jp low -spc GL4JInst.spc -k GL4JInst GL4JInst.cab
-//D/MSJAVASDK/Bin/signcode -j javasign.dll -jp low -spc GL4JInst271.spc -v GL4JInst271.pvk GL4JInst.cab
+/MSJVM/Bin/signcode -j javasign.dll -jp low -spc GL4JInst281.spc -v GL4JInst281.pvk GL4JInst.cab
rm *.class
diff --git a/Installer/makeNetscapeSignedJar-Unix.sh b/Installer/makeNetscapeSignedJar-Unix.sh
index 0cad301..437e7b7 100755
--- a/Installer/makeNetscapeSignedJar-Unix.sh
+++ b/Installer/makeNetscapeSignedJar-Unix.sh
@@ -5,9 +5,9 @@
# The Netscape signing keys were created using the Netscape signtool
# utility, as follows:
# copy key3.db and cert7.db from one of the users directories.
-# signtool -d . -G GL4JInst271
+# signtool -d . -G GL4JInst281
# Enter the following information:
-# certificate common name: GL4JInst271
+# certificate common name: GL4JInst281
# organization: GL4Java Development Team
# organization unit: GL4JInst
# state or province: NRW
@@ -27,7 +27,7 @@ javac -classpath ".:../capsapi_classes.zip" *.java
. versionundef.sh
rm -rf META-INF
-signtool -d . -e .class -k GL4JInst271 -Z GL4JInst_ns.jar -c9 --norecurse .
+signtool -d . -e .class -k GL4JInst281 -Z GL4JInst_ns.jar -c9 --norecurse .
rm -rf META-INF
rm -f key3.db cert7.db *.class
diff --git a/Installer/makefile b/Installer/makefile
new file mode 100755
index 0000000..71cff1b
--- /dev/null
+++ b/Installer/makefile
@@ -0,0 +1,6 @@
+
+copy2jaulocal:
+ cp -a *.txt *.html \
+ ~/projects/jausoft-httpd/Files/Java/1.1.X/GL4Java/Installer
+ cp -a *.cab *.jar *.class *.crt *.policy \
+ ~/projects/jausoft-httpd/Files/Java/1.1.X/GL4Java/Installer
diff --git a/Installer/versiondef.sh b/Installer/versiondef.sh
index ca1295e..88ba6f3 100644
--- a/Installer/versiondef.sh
+++ b/Installer/versiondef.sh
@@ -1,5 +1,5 @@
MAJV=2
-MINV=7
+MINV=8
BUGV=1
RELV=0