daf5bc4
--- api/ssl/src/Makefile.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ api/ssl/src/Makefile	2020-07-22 08:44:56.063609035 -0600
daf5bc4
@@ -90,22 +90,26 @@ INCLUDES	= $(C_SRC_DIR)/bglssl.h $(C_SRC
daf5bc4
 #*---------------------------------------------------------------------*/
daf5bc4
 #*    Java objects                                                     */
daf5bc4
 #*---------------------------------------------------------------------*/
daf5bc4
-ifeq ($(JAVA_VERSION), 1.9)
daf5bc4
+ifeq ($(JAVA_VERSION), 1.11)
daf5bc4
   JAVA_CLASSES_SRC+=$(CLASS_DIR)/certificate.java $(CLASS_DIR)/private_key.java
daf5bc4
-else 
daf5bc4
-  ifeq ($(JAVA_VERSION), 1.8)
daf5bc4
+else
daf5bc4
+  ifeq ($(JAVA_VERSION), 1.9)
daf5bc4
     JAVA_CLASSES_SRC+=$(CLASS_DIR)/certificate.java $(CLASS_DIR)/private_key.java
daf5bc4
-  else
daf5bc4
-    ifeq ($(JAVA_VERSION), 1.7)
daf5bc4
+  else 
daf5bc4
+    ifeq ($(JAVA_VERSION), 1.8)
daf5bc4
       JAVA_CLASSES_SRC+=$(CLASS_DIR)/certificate.java $(CLASS_DIR)/private_key.java
daf5bc4
     else
daf5bc4
-     ifeq ($(JAVA_VERSION), 1.6)
daf5bc4
-      JAVA_CLASSES_SRC+=$(CLASS_DIR)/certificate.java $(CLASS_DIR)/private_key.java
daf5bc4
-     else
daf5bc4
-      ifeq ($(JAVA_VERSION), 1.5)
daf5bc4
+      ifeq ($(JAVA_VERSION), 1.7)
daf5bc4
+        JAVA_CLASSES_SRC+=$(CLASS_DIR)/certificate.java $(CLASS_DIR)/private_key.java
daf5bc4
+      else
daf5bc4
+       ifeq ($(JAVA_VERSION), 1.6)
daf5bc4
         JAVA_CLASSES_SRC+=$(CLASS_DIR)/certificate.java $(CLASS_DIR)/private_key.java
daf5bc4
+       else
daf5bc4
+        ifeq ($(JAVA_VERSION), 1.5)
daf5bc4
+          JAVA_CLASSES_SRC+=$(CLASS_DIR)/certificate.java $(CLASS_DIR)/private_key.java
daf5bc4
+        endif
daf5bc4
+       endif
daf5bc4
       endif
daf5bc4
-     endif
daf5bc4
     endif
daf5bc4
   endif
daf5bc4
 endif
daf5bc4
--- bde/jas/produce.scm.orig	2020-05-12 00:36:56.000000000 -0600
daf5bc4
+++ bde/jas/produce.scm	2020-07-22 09:47:40.827937200 -0600
daf5bc4
@@ -24,8 +24,8 @@
daf5bc4
 					   fields methods attributes )
daf5bc4
       (outshort outchan #xCAFE)
daf5bc4
       (outshort outchan #xBABE)
daf5bc4
-      (outshort outchan 3)
daf5bc4
-      (outshort outchan 45)
daf5bc4
+      (outshort outchan 0)
daf5bc4
+      (outshort outchan 52)
daf5bc4
       (produce-pool outchan pool-size (reverse pool))
daf5bc4
       (outshort outchan flags)
daf5bc4
       (outshort outchan me)
daf5bc4
--- comptime/Jas/produce.scm.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ comptime/Jas/produce.scm	2020-07-22 09:46:52.491912174 -0600
daf5bc4
@@ -24,8 +24,8 @@
daf5bc4
 					   fields methods attributes )
daf5bc4
       (outshort outchan #xCAFE)
daf5bc4
       (outshort outchan #xBABE)
daf5bc4
-      (outshort outchan 3)
daf5bc4
-      (outshort outchan 45)
daf5bc4
+      (outshort outchan 0)
daf5bc4
+      (outshort outchan 52)
daf5bc4
       (produce-pool outchan pool-size (reverse pool))
daf5bc4
       (outshort outchan flags)
daf5bc4
       (outshort outchan me)
daf5bc4
--- configure.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ configure	2020-07-22 09:00:56.761684617 -0600
daf5bc4
@@ -108,7 +108,7 @@ zip=zip
daf5bc4
 jar="jar cmf"
daf5bc4
 zflags=
daf5bc4
 javac=javac
daf5bc4
-jcflags=-O
daf5bc4
+jcflags="-deprecation -source 1.8 -target 1.8"
daf5bc4
 java=java
daf5bc4
 jflags=
daf5bc4
 jvflags=-noverify
daf5bc4
@@ -3241,7 +3241,7 @@ if [ $action = "all" -o $action = "biglo
daf5bc4
                               --jflags=$jflags \
daf5bc4
                               --jvflags=$jvflags \
daf5bc4
                               --javac=$javac \
daf5bc4
-                              --jcflags=$jcflags \
daf5bc4
+                              --jcflags="$jcflags" \
daf5bc4
                               --cpsep="$cpsep"` || exit 1
daf5bc4
 
daf5bc4
     if [ $jtest != 0 ]; then
daf5bc4
@@ -3252,7 +3252,9 @@ if [ $action = "all" -o $action = "biglo
daf5bc4
     fi
daf5bc4
 
daf5bc4
     java_version=`$javac -version 2>&1 | head -n 1` || exit 1
daf5bc4
-    if $echo "$java_version" | grep "1.9" > /dev/null
daf5bc4
+    if $echo "$java_version" | grep "javac 11" > /dev/null
daf5bc4
+      then java_version=1.11
daf5bc4
+    elif $echo "$java_version" | grep "1.9" > /dev/null
daf5bc4
       then java_version=1.9
daf5bc4
     elif $echo "$java_version" | grep "1.8" > /dev/null
daf5bc4
       then java_version=1.8
daf5bc4
@@ -4602,7 +4604,7 @@ if [ $action = "all" -o $action = "Makef
daf5bc4
 
daf5bc4
       if [ "$java_configured" = "no" ]; then
daf5bc4
         $autoconfdir/javatest --java=$java --jflags=$jflags --jvflags=$jvflags \
daf5bc4
-                              --javac=$javac --jcflags=$jcflags --user=$user --tmp=$buildtmp
daf5bc4
+                              --javac=$javac --jcflags="$jcflags" --user=$user --tmp=$buildtmp
daf5bc4
 
daf5bc4
         if [ $? != 0 ]; then
daf5bc4
           $echo "*** ERROR:configure:Can't configure JVM back-end"
daf5bc4
--- jigloo/jigloo.java.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ jigloo/jigloo.java	2020-07-22 10:30:42.286391732 -0600
daf5bc4
@@ -21,7 +21,7 @@ public abstract class jigloo {
daf5bc4
    static PrintStream out = System.out;
daf5bc4
    static int verbose = 0;
daf5bc4
    static boolean directives = true;
daf5bc4
-   static Hashtable arrays = new Hashtable();
daf5bc4
+   static Hashtable<String, Class> arrays = new Hashtable<String, Class>();
daf5bc4
    
daf5bc4
    static boolean isInterface = false;
daf5bc4
 
daf5bc4
@@ -121,17 +121,17 @@ public abstract class jigloo {
daf5bc4
       emit( " \"" + field.getName() + "\")\n" );
daf5bc4
    }
daf5bc4
 
daf5bc4
-   static void jigloo_method( Class owner, Method method, Hashtable overrides ) {
daf5bc4
+   static void jigloo_method( Class owner, Method method, Hashtable<String, Integer> overrides ) {
daf5bc4
       int mod = method.getModifiers();
daf5bc4
       if( ! Modifier.isNative( mod ) ) {
daf5bc4
-	 Integer override_index= (Integer)overrides.get( method.getName() );
daf5bc4
+	 Integer override_index= overrides.get( method.getName() );
daf5bc4
 	 emit( "     (method " );
daf5bc4
 	 jigloo_modifiers( mod );
daf5bc4
 	 emit( method.getName() );
daf5bc4
 	 if( override_index.intValue() != 0 ) {
daf5bc4
 	    emit( override_index.toString() );
daf5bc4
 	    overrides.put( method.getName(),
daf5bc4
-			   new Integer( override_index.intValue() + 1 ) );
daf5bc4
+			   Integer.valueOf( override_index.intValue() + 1 ) );
daf5bc4
 	 }
daf5bc4
 	 jigloo_type( method.getReturnType() );
daf5bc4
 	 emit( " " );
daf5bc4
@@ -208,14 +208,14 @@ public abstract class jigloo {
daf5bc4
 	 Constructor[] all_constructors = a_class.getConstructors();
daf5bc4
 	 Field[] all_fields = a_class.getFields();
daf5bc4
 	 Method[] all_methods = a_class.getMethods();
daf5bc4
-	 Hashtable overrides = new Hashtable();
daf5bc4
+	 Hashtable<String, Integer> overrides = new Hashtable<String, Integer>();
daf5bc4
 
daf5bc4
 	 // handling overrides
daf5bc4
 	 for( int i = 0; i < all_methods.length; i++ ) {
daf5bc4
-	    Integer override_count = (Integer)overrides.get( all_methods[i].getName() );
daf5bc4
+	    Integer override_count = overrides.get( all_methods[i].getName() );
daf5bc4
 
daf5bc4
 	    overrides.put( all_methods[i].getName(),
daf5bc4
-			   new Integer( (override_count == null) ? 0 : 1 ) );
daf5bc4
+			   Integer.valueOf( (override_count == null) ? 0 : 1 ) );
daf5bc4
 	 }
daf5bc4
 
daf5bc4
 
daf5bc4
--- jigloo/Makefile.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ jigloo/Makefile	2020-07-22 09:26:49.186010999 -0600
daf5bc4
@@ -133,4 +133,4 @@ pop:
daf5bc4
 #*     .java --> .class                                                */
daf5bc4
 #*---------------------------------------------------------------------*/
daf5bc4
 .java.class:
daf5bc4
-	@ $(JAVAC) $*.java
daf5bc4
+	@ $(JAVAC) $(JCFLAGS) $*.java
daf5bc4
--- runtime/Jlib/cnst.java.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ runtime/Jlib/cnst.java	2020-07-22 10:36:09.964671652 -0600
daf5bc4
@@ -6,7 +6,7 @@ public class cnst extends obj
daf5bc4
 {
daf5bc4
   public final int value;
daf5bc4
 
daf5bc4
-  private static final Hashtable table = new Hashtable();
daf5bc4
+  private static final Hashtable<Integer, cnst> table = new Hashtable<Integer, cnst>();
daf5bc4
 
daf5bc4
   public cnst( final int  value )
daf5bc4
   {
daf5bc4
@@ -15,11 +15,11 @@ public class cnst extends obj
daf5bc4
 
daf5bc4
   public static cnst make_cnst( final int value )
daf5bc4
   {
daf5bc4
-    final Integer key = new Integer( value );
daf5bc4
-    final Object r = table.get( key );
daf5bc4
+    final Integer key = Integer.valueOf( value );
daf5bc4
+    final cnst r = table.get( key );
daf5bc4
 
daf5bc4
     if (r != null)
daf5bc4
-      return (cnst)r;
daf5bc4
+      return r;
daf5bc4
 
daf5bc4
     final cnst result = new cnst( value );
daf5bc4
 
daf5bc4
--- runtime/Jlib/dlopen.java.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ runtime/Jlib/dlopen.java	2020-07-22 10:43:05.940993891 -0600
daf5bc4
@@ -22,7 +22,7 @@ import java.lang.reflect.*;
daf5bc4
 public abstract class dlopen {
daf5bc4
    private static final String NO_ERROR_YET = "No error (yet)";
daf5bc4
    private static String bgl_dload_error = NO_ERROR_YET;
daf5bc4
-   private static final Hashtable dlopen_table = new Hashtable();
daf5bc4
+   private static final Hashtable<byte[], Boolean> dlopen_table = new Hashtable<byte[], Boolean>();
daf5bc4
 
daf5bc4
    static String prefix( final byte[] filename ) {
daf5bc4
       final int len = filename.length;
daf5bc4
@@ -190,7 +190,7 @@ public abstract class dlopen {
daf5bc4
       synchronized( dlopen_table ) {
daf5bc4
 	 if( !(dlopen_table.contains( filename )) ) {
daf5bc4
 	    Object res = dload_inner( filename, init_sym, mod_sym );
daf5bc4
-	    dlopen_table.put( filename, new Boolean( true ) );
daf5bc4
+	    dlopen_table.put( filename, Boolean.valueOf( true ) );
daf5bc4
 	    return res;
daf5bc4
 	 } else {
daf5bc4
 	    return foreign.BUNSPEC;
daf5bc4
--- runtime/Jlib/foreign.java.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ runtime/Jlib/foreign.java	2020-07-22 10:16:51.686856986 -0600
daf5bc4
@@ -5042,7 +5042,7 @@ public final class foreign
daf5bc4
       throw v;
daf5bc4
    }
daf5bc4
 
daf5bc4
-   private static Boolean err_lock = new Boolean( true );
daf5bc4
+   private static Boolean err_lock = Boolean.valueOf( true );
daf5bc4
 
daf5bc4
    public static void notify_exception( Throwable e ) throws Throwable {
daf5bc4
       if( e instanceof ClassCastException ) {
daf5bc4
--- runtime/Jlib/JDK16.java.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ runtime/Jlib/JDK16.java	2020-07-22 10:44:46.662058975 -0600
daf5bc4
@@ -19,7 +19,7 @@ import java.lang.reflect.*;
daf5bc4
 
daf5bc4
 public class JDK16 extends JDK {
daf5bc4
    // JDK1.6 methods
daf5bc4
-   public Method getDeclaredMethodImpl( Class c, byte[] m ) throws Exception {
daf5bc4
+   public Method getDeclaredMethodImpl( Class c, byte[] m ) throws Exception {
daf5bc4
       return c.getDeclaredMethod( new String( m ) );
daf5bc4
    }
daf5bc4
    
daf5bc4
--- runtime/Jlib/JDK.java.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ runtime/Jlib/JDK.java	2020-07-22 10:45:53.375101536 -0600
daf5bc4
@@ -49,8 +49,8 @@ public abstract class JDK {
daf5bc4
 
daf5bc4
    private static JDK getImpl(String classname) {
daf5bc4
       try {
daf5bc4
-	 Class c = Class.forName(classname);
daf5bc4
-	 return (JDK)c.newInstance();
daf5bc4
+	 Class c = Class.forName(classname);
daf5bc4
+	 return JDK.class.cast(c.getDeclaredConstructor().newInstance());
daf5bc4
       } catch (Exception x) {
daf5bc4
 	 return null;
daf5bc4
       }
daf5bc4
@@ -58,7 +58,7 @@ public abstract class JDK {
daf5bc4
 
daf5bc4
    // Static methods
daf5bc4
 
daf5bc4
-   public static Method getDeclaredMethod(Class c, byte[] m)
daf5bc4
+   public static Method getDeclaredMethod(Class c, byte[] m)
daf5bc4
       throws Exception {
daf5bc4
       return impl.getDeclaredMethodImpl(c, m);
daf5bc4
    }
daf5bc4
@@ -90,7 +90,7 @@ public abstract class JDK {
daf5bc4
       return impl.passwordImpl( prompt );
daf5bc4
    }
daf5bc4
 
daf5bc4
-   public abstract Method getDeclaredMethodImpl(Class c, byte[] m)
daf5bc4
+   public abstract Method getDeclaredMethodImpl(Class c, byte[] m)
daf5bc4
       throws Exception;
daf5bc4
    
daf5bc4
    public abstract Object invokeImpl(Method m) throws Exception;
daf5bc4
--- runtime/Jlib/output_pipe_port.java.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ runtime/Jlib/output_pipe_port.java	2020-07-22 10:50:31.999276401 -0600
daf5bc4
@@ -42,7 +42,7 @@ public class output_pipe_port extends ou
daf5bc4
 
daf5bc4
    static String[] tokenizer( byte[] s ) {
daf5bc4
       int len = s.length;
daf5bc4
-      Vector v = new Vector();
daf5bc4
+      ArrayList<String> v = new ArrayList<String>();
daf5bc4
       // if | then offset = 2, otherwise, if pipe: offset = 5
daf5bc4
       int offset =  (s[0] == (byte)'|') ? 2 : 5;
daf5bc4
       int i = skip_whitespace( s, offset );
daf5bc4
@@ -69,7 +69,7 @@ public class output_pipe_port extends ou
daf5bc4
 	 i = skip_whitespace( s, j + 1 );
daf5bc4
       }
daf5bc4
 
daf5bc4
-      return (String[])(v.toArray( new String[ v.size() ] ));
daf5bc4
+      return v.toArray( new String[ v.size() ] );
daf5bc4
    }
daf5bc4
 
daf5bc4
    static String[] make_cmd( byte[] s ) {
daf5bc4
--- runtime/Jlib/process.java.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ runtime/Jlib/process.java	2020-07-22 10:52:53.127363693 -0600
daf5bc4
@@ -12,6 +12,7 @@ package bigloo;
daf5bc4
 
daf5bc4
 import java.io.IOException;
daf5bc4
 import java.lang.Process;
daf5bc4
+import java.util.ArrayList;
daf5bc4
 import java.util.Vector;
daf5bc4
 
daf5bc4
 /*---------------------------------------------------------------------*/
daf5bc4
@@ -27,7 +28,7 @@ public class process extends obj
daf5bc4
 /*--- non static fields -----------------------------------------------*/
daf5bc4
   private final Process process;
daf5bc4
   private final int index;
daf5bc4
-  private final Vector flushers;
daf5bc4
+  private final Vector<flusher> flushers;
daf5bc4
   public obj input_port;
daf5bc4
   public obj output_port;
daf5bc4
   public obj error_port;
daf5bc4
@@ -101,7 +102,7 @@ public class process extends obj
daf5bc4
 		: "NUL:" ).getBytes();
daf5bc4
 
daf5bc4
     // building the command arguments
daf5bc4
-    final Vector cmd_vector = new Vector();
daf5bc4
+    final ArrayList<String> cmd_vector = new ArrayList<String>();
daf5bc4
 
daf5bc4
     if (host != null)
daf5bc4
     {
daf5bc4
@@ -165,9 +166,7 @@ public class process extends obj
daf5bc4
        cmd_vector.add( cmd );
daf5bc4
     }
daf5bc4
 
daf5bc4
-    final String[] argv = new String[cmd_vector.size()];
daf5bc4
-
daf5bc4
-    cmd_vector.copyInto( argv );
daf5bc4
+    final String[] argv = cmd_vector.toArray( new String[cmd_vector.size()] );
daf5bc4
 
daf5bc4
     // Construct the process environment variable list
daf5bc4
     aux = benv;
daf5bc4
@@ -214,7 +213,7 @@ public class process extends obj
daf5bc4
     if ((boutput == bigloo.foreign.BUNSPEC) ||
daf5bc4
 	(berror == bigloo.foreign.BUNSPEC))
daf5bc4
     {
daf5bc4
-       flushers = new Vector();
daf5bc4
+       flushers = new Vector<flusher>();
daf5bc4
        if (boutput == bigloo.foreign.BUNSPEC)
daf5bc4
 	  flushers.add( new flusher( process.getInputStream(), System.out ) );
daf5bc4
        if (berror == bigloo.foreign.BUNSPEC)
daf5bc4
@@ -312,7 +311,7 @@ public class process extends obj
daf5bc4
       process.waitFor();
daf5bc4
       if (flushers != null)
daf5bc4
         while (!flushers.isEmpty())
daf5bc4
-          ((flusher)flushers.remove( 0 )).join();
daf5bc4
+          flushers.remove( 0 ).join();
daf5bc4
     }
daf5bc4
     catch (InterruptedException _i)
daf5bc4
     {
daf5bc4
--- runtime/Jlib/weakptr.java.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ runtime/Jlib/weakptr.java	2020-07-22 10:40:30.461880495 -0600
daf5bc4
@@ -4,10 +4,10 @@ import java.lang.ref.WeakReference;
daf5bc4
 
daf5bc4
 
daf5bc4
 public class weakptr extends obj {
daf5bc4
-  public WeakReference ref;
daf5bc4
+  public WeakReference<Object> ref;
daf5bc4
 
daf5bc4
   public weakptr(final Object data){
daf5bc4
-    ref = new WeakReference(data);
daf5bc4
+    ref = new WeakReference<Object>(data);
daf5bc4
   }
daf5bc4
 
daf5bc4
   public Object getData(){
daf5bc4
@@ -16,7 +16,7 @@ public class weakptr extends obj {
daf5bc4
   }
daf5bc4
 
daf5bc4
   public void setData(Object o){
daf5bc4
-    ref = new WeakReference(o);
daf5bc4
+    ref = new WeakReference<Object>(o);
daf5bc4
   }
daf5bc4
 
daf5bc4
   public void write( final output_port p ) {
daf5bc4
--- runtime/Makefile.orig	2020-05-12 00:35:36.000000000 -0600
daf5bc4
+++ runtime/Makefile	2020-07-22 08:47:40.480618313 -0600
daf5bc4
@@ -108,28 +108,32 @@ C_CLIB		= $(CLIB:%=Clib/%.c)
daf5bc4
 #*    Java objects                                                     */
daf5bc4
 #*---------------------------------------------------------------------*/
daf5bc4
 JDK_LIBS	= JDK
daf5bc4
-ifeq ($(JAVA_VERSION), 1.9)
daf5bc4
+ifeq ($(JAVA_VERSION), 1.11)
daf5bc4
+  JDK_LIBS += JDK16
daf5bc4
+else
daf5bc4
+  ifeq ($(JAVA_VERSION), 1.9)
daf5bc4
     JDK_LIBS += JDK16
daf5bc4
   else
daf5bc4
     ifeq ($(JAVA_VERSION), 1.8)
daf5bc4
       JDK_LIBS += JDK16
daf5bc4
     else
daf5bc4
-    ifeq ($(JAVA_VERSION), 1.7)
daf5bc4
-      JDK_LIBS += JDK16
daf5bc4
-    else
daf5bc4
-      ifeq ($(JAVA_VERSION), 1.6)
daf5bc4
+      ifeq ($(JAVA_VERSION), 1.7)
daf5bc4
         JDK_LIBS += JDK16
daf5bc4
-       else
daf5bc4
-        ifeq ($(JAVA_VERSION), 1.5)
daf5bc4
-          JDK_LIBS += JDK15
daf5bc4
+      else
daf5bc4
+        ifeq ($(JAVA_VERSION), 1.6)
daf5bc4
+          JDK_LIBS += JDK16
daf5bc4
         else
daf5bc4
-         ifeq ($(JAVA_VERSION), 1.4)
daf5bc4
-           JDK_LIBS += JDK14
daf5bc4
-         else
daf5bc4
-           JDK_LIBS += JDK13
daf5bc4
-         endif
daf5bc4
-       endif
daf5bc4
-     endif
daf5bc4
+          ifeq ($(JAVA_VERSION), 1.5)
daf5bc4
+            JDK_LIBS += JDK15
daf5bc4
+          else
daf5bc4
+            ifeq ($(JAVA_VERSION), 1.4)
daf5bc4
+              JDK_LIBS += JDK14
daf5bc4
+            else
daf5bc4
+              JDK_LIBS += JDK13
daf5bc4
+            endif
daf5bc4
+          endif
daf5bc4
+        endif
daf5bc4
+      endif
daf5bc4
     endif
daf5bc4
   endif
daf5bc4
 endif