diff --git a/java/Makefile.am b/java/Makefile.am index 376d89d17..81c20f266 100644 --- a/java/Makefile.am +++ b/java/Makefile.am @@ -77,6 +77,9 @@ if HAVE_JAVA JAVAC_FLAGS = $(EXTRA_JAVAC_FLAGS) -encoding utf-8 JAVADOC_FLAGS = -encoding utf-8 +if !HAVE_JAVAH +JAVAC_FLAGS += -h . +endif # Java source. @@ -125,10 +128,18 @@ libguestfs_jni_la_LDFLAGS = -version-info $(JNI_VERSION_INFO) -shared BUILT_SOURCES = com_redhat_et_libguestfs_GuestFS.h +if HAVE_JAVAH + com_redhat_et_libguestfs_GuestFS.h: $(java_prefix)/GuestFS.class rm -f $@ $(JAVAH) -classpath $(srcdir):. com.redhat.et.libguestfs.GuestFS +else + +com_redhat_et_libguestfs_GuestFS.h: libguestfs-${VERSION}.jar + +endif + # Documentation. noinst_SCRIPTS = doc-stamp diff --git a/m4/guestfs-java.m4 b/m4/guestfs-java.m4 index 9d0f948b6..daa5af32d 100644 --- a/m4/guestfs-java.m4 +++ b/m4/guestfs-java.m4 @@ -73,9 +73,7 @@ if test "x$with_java" != "xno"; then else JAVAC="$JAVA/bin/javac" fi - if test ! -x "$JAVA/bin/javah"; then - AC_MSG_ERROR([missing $JAVA/bin/javah binary]) - else + if test -x "$JAVA/bin/javah"; then JAVAH="$JAVA/bin/javah" fi if test ! -x "$JAVA/bin/javadoc"; then @@ -165,4 +163,5 @@ if test "x$with_java" != "xno"; then AC_SUBST(JNI_VERSION_INFO) fi +AM_CONDITIONAL([HAVE_JAVAH],[test -n "$JAVAH"]) AM_CONDITIONAL([HAVE_JAVA],[test "x$with_java" != "xno" && test -n "$JAVAC"])