Hello,
This weekend I decided to compile Bigloo with Java8 and discovered that a few
changes were necessary. I have attached the small patch containing the 2
necessary changes. Firstly, the configure script needed to be made Java8 aware,
and secondly, the Makefile in the runtime directory needed to be updated to
include JDK16.java for Java8 as well as 7 and 6. I hope this may be helpful to
some, and let me know if there are any problems or questions.
As an aside, there were a number of warnings about the variable name _ and the
fact that it may not be supported in future versions of Java. I did not change
any of these, but it is likely a good idea.
Best Regards,Joseph Donaldson
diff --git a/configure b/configure
index 4c09a02..f0bd29b 100755
--- a/configure
+++ b/configure
@@ -2832,7 +2832,9 @@ if [ $action = "all" -o $action = "bigloo_config" ]; then
fi
java_version=`$javac -version 2>&1 | head -n 1` || exit 1
- if echo "$java_version" | grep "1.7" > /dev/null
+ if echo "$java_version" | grep "1.8" > /dev/null
+ then java_version=1.8
+ elif echo "$java_version" | grep "1.7" > /dev/null
then java_version=1.7
elif echo "$java_version" | grep "1.6" > /dev/null
then java_version=1.6
diff --git a/runtime/Makefile b/runtime/Makefile
index bc46e92..0a8bf58 100644
--- a/runtime/Makefile
+++ b/runtime/Makefile
@@ -110,10 +110,13 @@ C_CLIB = $(CLIB:%=Clib/%.c)
#* Java objects */
#*---------------------------------------------------------------------*/
JDK_LIBS = JDK
-ifeq ($(JAVA_VERSION), 1.7)
+ifeq ($(JAVA_VERSION), 1.8)
JDK_LIBS += JDK16
else
- ifeq ($(JAVA_VERSION), 1.6)
+ ifeq ($(JAVA_VERSION), 1.7)
+ JDK_LIBS += JDK16
+ else
+ ifeq ($(JAVA_VERSION), 1.6)
JDK_LIBS += JDK16
else
ifeq ($(JAVA_VERSION), 1.5)
@@ -126,6 +129,7 @@ else
endif
endif
endif
+ endif
endif
JLIB = foreign buffer configure stackwriter\