Skip to content

Commit

Permalink
use javac -h instead of javah for Java >= 11
Browse files Browse the repository at this point in the history
(should fix the compilation error with openjdk 11)
  • Loading branch information
antoinemine committed Nov 10, 2019
1 parent 48d5698 commit 720a18a
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 10 deletions.
18 changes: 16 additions & 2 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -455,10 +455,23 @@ if test "x$java_prefix" != "x"; then JAVA_HOME="$java_prefix"; fi
if test "x$JAVA_HOME" != "x"; then PATH=$JAVA_HOME/bin:$PATH; fi
if test $has_java -eq 1; then searchbin "java"; has_java=$?; java="$path"; fi
if test $has_java -eq 1; then searchbin "javac"; has_java=$?; javac="$path"; fi
if test $has_java -eq 1; then searchbin "javah"; has_java=$?; javah="$path"; fi
if test $has_java -eq 1; then searchbin "javadoc"; has_java=$?; javadoc="$path"; fi
if test $has_java -eq 1; then searchbin "jar"; has_java=$?; jar="$path"; fi

# check Java version
if test $has_java -eq 1
then
java_version=`$java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1`
if test $java_version -ge 11
then
# new Java use javac -h
javac_has_h=1
else
# old Java, use javah
if test $has_java -eq 1; then searchbin "javah"; has_java=$?; javah="$path"; fi
fi
fi

# check jni includes
if test $has_java -eq 1
then
Expand Down Expand Up @@ -518,7 +531,7 @@ detected configuration:
optional OCamlFind support $has_ocamlfind
optional plugins support $has_ocaml_plugins
optional C++ support $has_cxx
optional Java support $has_java
optional Java support $has_java ($java_version)
optional PPL support $has_ppl
installation path $apron_prefix
Expand Down Expand Up @@ -565,6 +578,7 @@ JAVA_PREFIX = $apron_prefix/lib
JAVA = $java
JAVAC = $javac -Xlint:unchecked
JAVAH = $javah
JAVAC_HAS_H = $javac_has_h
JAVADOC = $javadoc
JAR = $jar
java_home = ${JAVA_HOME}
Expand Down
37 changes: 29 additions & 8 deletions japron/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -110,37 +110,58 @@ SOINST = libjgmp.$(EXT_DLL) libjapron.$(EXT_DLL)

all: $(GMPALL) $(APRONALL) $(JAVAINST) $(SOINST)

ifneq ($(JAVAC_HAS_H),)

$(GMPCLASS): $(GMPJ)
$(JAVAC) -h gmp $+

else

$(GMPCLASS): $(GMPJ)
$(JAVAC) $+

gmp/gmp_%.h: gmp/%.java
$(JAVAH) -o $@ gmp.$*
touch $@

endif

gmp/%.o: gmp/%.c $(GMPH) gmp/jgmp.h
$(CC) $(CFLAGSN) -c $(IFLAGS) $< -o $@

libjgmp.$(EXT_DLL): gmp/jgmp.o $(GMPO)
$(CC) $(CFLAGSN) -shared $+ -o $@ $(LFLAGS) $(GMPLIBS)

gmp/gmp_%.h: gmp/%.java
$(JAVAH) -o $@ gmp.$*
touch $@

gmp.jar: $(GMPCLASS)
$(JAR) cf $@ $+
$(JAR) i $@


ifneq ($(JAVAC_HAS_H),)

$(APRONCLASS): $(APRONJ)
$(JAVAC) -h apron $+

# javac -h does not generate an apron_Var.h
apron/apron_Var.h:
touch $@

else

$(APRONCLASS): $(APRONJ)
$(JAVAC) $+

apron/apron_%.h: apron/%.java
$(JAVAH) -o $@ apron.$*
touch $@
endif

apron/%.o: apron/%.c $(APRONH) gmp/jgmp.h apron/japron.h
$(CC) $(CFLAGSN) -c $(IFLAGS) -Igmp $< -o $@

libjapron.$(EXT_DLL): apron/japron.o $(APRONO)
$(CC) $(CFLAGSN) -shared $+ -o $@ $(LFLAGS) $(APRONLIBS)

apron/apron_%.h: apron/%.java
$(JAVAH) -o $@ apron.$*
touch $@

apron.jar: $(APRONCLASS)
$(JAR) cf $@ $+
$(JAR) i $@
Expand Down

0 comments on commit 720a18a

Please sign in to comment.