This fixes a problem in the build introduced by Dalibor's
latest patch.  The check_jni_methods script is generated
using @top_builddir@, which is a relative path that will be
'..' from scripts (where check_jni_methods lives).  However,
Dalibor's patch also calls the script from native/jni which
has a @top_builddir@ of ../../.  Thus, when it comes time
to run the script, it can't find the include files as the script
uses the wrong relative path:

make[3]: Entering directory `/home/andrew/builder/classpath/native/jni'
/bin/sh ../../scripts/check_jni_methods.sh
grep: ../include/*.h: No such file or directory
Found a problem with the JNI methods declared and implemented.

This patch fixes it by using abs_top_builddir instead.  There is still
a remaining minor issue in that the header files aren't generated in
the build directory of a parallel build if they exist in the source
directory.

ChangeLog:

2008-02-10  Andrew John Hughes  <[EMAIL PROTECTED]>

        * scripts/check_jni_methods.sh.in:
        Use abs_top_builddir so that the absolute path
        to the build directory is used by the script.

-- 
Andrew :-)

Escape the Java Trap with GNU Classpath!
http://www.gnu.org/philosophy/java-trap.html
public class gcj extends Freedom implements Java { ... }
Index: scripts/check_jni_methods.sh.in
===================================================================
RCS file: /sources/classpath/classpath/scripts/check_jni_methods.sh.in,v
retrieving revision 1.1
diff -u -3 -p -u -r1.1 check_jni_methods.sh.in
--- scripts/check_jni_methods.sh.in	9 Feb 2008 21:16:21 -0000	1.1
+++ scripts/check_jni_methods.sh.in	10 Feb 2008 02:13:52 -0000
@@ -9,7 +9,7 @@ TMPFILE3=/tmp/check-jni-methods.$$.3
 
 # Find all methods defined in the header files generated
 # from the java source files.
-grep -h '^JNIEXPORT .* Java_' @top_builddir@/include/*.h | \
+grep -h '^JNIEXPORT .* Java_' @abs_top_builddir@/include/*.h | \
         LC_ALL=C sed -e 's,.*JNICALL \(Java_[a-z_A-Z0-9]*\).*$,\1,' | \
 	sort > $TMPFILE
 

Attachment: signature.asc
Description: Digital signature

Reply via email to