From: Keith Packard Date: Wed, 17 Jul 2019 18:40:06 +0000 (-0700) Subject: Use discovered java path for compiler and jni include files X-Git-Tag: 1.9.1~1^2~54 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=318b81d59e6f34a92a7a78c0896aa331bc14d0a1 Use discovered java path for compiler and jni include files Instead of using the discovered java bits just for jni.h, also use javac from that directory. Add JAVA_VERSION param to set language version for newer compilers. Signed-off-by: Keith Packard --- diff --git a/altoslib/Makefile.am b/altoslib/Makefile.am index 82ad2eab..d16a79d5 100644 --- a/altoslib/Makefile.am +++ b/altoslib/Makefile.am @@ -1,4 +1,4 @@ -AM_JAVACFLAGS=-target 1.6 -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked -source 6 +AM_JAVACFLAGS=$(JAVAC_VERSION_FLAGS) -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked JAVAROOT=bin diff --git a/altosui/Makefile.am b/altosui/Makefile.am index b5fdf0f0..1413de58 100644 --- a/altosui/Makefile.am +++ b/altosui/Makefile.am @@ -1,6 +1,6 @@ JAVAROOT=classes -AM_JAVACFLAGS=-target 1.6 -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked -source 6 +AM_JAVACFLAGS=$(JAVAC_VERSION_FLAGS) -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked man_MANS=altosui.1 diff --git a/altosuilib/Makefile.am b/altosuilib/Makefile.am index 3b2e49d4..10a5b494 100644 --- a/altosuilib/Makefile.am +++ b/altosuilib/Makefile.am @@ -1,4 +1,4 @@ -AM_JAVACFLAGS=-target 1.6 -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked -source 6 +AM_JAVACFLAGS=$(JAVAC_VERSION_FLAGS) -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked JAVAROOT=bin diff --git a/configure.ac b/configure.ac index 0e4b204c..cc6a23d4 100644 --- a/configure.ac +++ b/configure.ac @@ -64,27 +64,41 @@ AC_ARG_WITH(jcommon, AS_HELP_STRING([--with-jcommon=PATH], AC_SUBST(JCOMMON) -AC_ARG_WITH(jvm, AS_HELP_STRING([--with-jvm-include=PATH], - [Set jvm include path for jni builds (default searches in /usr/lib/jvm)]), - [JVM_INCLUDE=$withval], [JVM_INCLUDE=auto]) - -if test "x$JVM_INCLUDE" = "xauto"; then - AC_MSG_CHECKING([JVM include files]) - for jvm in default-java java-6-openjdk java-6-sun; do - if test "x$JVM_INCLUDE" = "xauto"; then +AC_ARG_WITH(jvm, AS_HELP_STRING([--with-jvm=PATH], + [Set jvm path for java builds (default searches in /usr/lib/jvm)]), + [JVM=$withval], [JVM=auto]) + +if test "x$JVM" = "xauto"; then + AC_MSG_CHECKING([JVM]) + for jvm in default-java java-6-openjdk java-7-openjdk java-8-openjdk java-9-openjdk java-10-openjdk java-11-openjdk java-12-openjdk java-13-openjdk java-6-sun; do + if test "x$JVM" = "xauto"; then INCLUDE="/usr/lib/jvm/$jvm/include" if test -f "$INCLUDE"/jni.h; then - JVM_INCLUDE="$INCLUDE" + JVM=/usr/lib/jvm/"$jvm" fi fi done - if test "x$JVM_INCLUDE" = "xauto"; then - AC_MSG_ERROR([no JVM include files found]) + if test "x$JVM" = "xauto"; then + AC_MSG_ERROR([no JVM files found]) fi - AC_MSG_RESULT([$JVM_INCLUDE]) + AC_MSG_RESULT([$JVM]) fi +AC_ARG_WITH(java-version, AS_HELP_STRING([--with-java-version=7], + [Set java language compatibility version (default is 7)]), + [JAVA_VERSION=$withval], [JAVA_VERSION=7]) + +JAVAC="$JVM"/bin/javac +JAVA="$JVM"/bin/java +JVM_INCLUDE="$JVM"/include +JAVAC_VERSION_FLAGS="-target 1.$JAVA_VERSION -source 1.$JAVA_VERSION" + +AC_SUBST(JAVAC) +AC_SUBST(JAVA) +AC_SUBST(JVM) AC_SUBST(JVM_INCLUDE) +AC_SUBST(JAVAC_VERSION_FLAGS) + AC_ARG_WITH(android, AS_HELP_STRING([--with-android=PATH], [Set android SDK path (default searches in a variety of places)]), diff --git a/libaltos/Makefile.am b/libaltos/Makefile.am index 69fe7a57..eb5eb677 100644 --- a/libaltos/Makefile.am +++ b/libaltos/Makefile.am @@ -1,6 +1,5 @@ -JAVAC=javac AM_CFLAGS=-DLINUX -DPOSIX_TTY -I$(JVM_INCLUDE) -I$(JVM_INCLUDE)/linux -AM_JAVACFLAGS=-target 1.6 -encoding UTF-8 -Xlint:deprecation -source 6 +AM_JAVACFLAGS=$(JAVAC_VERSION_FLAGS) -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked altoslibdir=$(libdir)/altos diff --git a/map-server/altos-mapd/Makefile.am b/map-server/altos-mapd/Makefile.am index 315a33d5..bb20dd84 100644 --- a/map-server/altos-mapd/Makefile.am +++ b/map-server/altos-mapd/Makefile.am @@ -1,5 +1,5 @@ JAVAROOT=classes -AM_JAVACFLAGS=-target 1.6 -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked -source 6 +AM_JAVACFLAGS=$(JAVAC_VERSION_FLAGS) -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked altoslibdir=$(libdir)/altos diff --git a/map-server/altos-mapj/Makefile.am b/map-server/altos-mapj/Makefile.am index 98d4f170..a8dfffec 100644 --- a/map-server/altos-mapj/Makefile.am +++ b/map-server/altos-mapj/Makefile.am @@ -1,5 +1,5 @@ JAVAROOT=classes -AM_JAVACFLAGS=-target 1.6 -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked -source 6 +AM_JAVACFLAGS=$(JAVAC_VERSION_FLAGS) -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked altoslibdir=$(libdir)/altos diff --git a/micropeak/Makefile.am b/micropeak/Makefile.am index 7e9b490d..23ec077e 100644 --- a/micropeak/Makefile.am +++ b/micropeak/Makefile.am @@ -1,5 +1,5 @@ JAVAROOT=classes -AM_JAVACFLAGS=-target 1.6 -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked -source 6 +AM_JAVACFLAGS=$(JAVAC_VERSION_FLAGS) -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked man_MANS=micropeak.1 diff --git a/telegps/Makefile.am b/telegps/Makefile.am index ae1e83e9..0e75abf1 100644 --- a/telegps/Makefile.am +++ b/telegps/Makefile.am @@ -1,5 +1,5 @@ JAVAROOT=classes -AM_JAVACFLAGS=-target 1.6 -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked -source 6 +AM_JAVACFLAGS=$(JAVAC_VERSION_FLAGS) -encoding UTF-8 -Xlint:deprecation -Xlint:unchecked man_MANS=telegps.1