From e0441a5bfb29083a532307ba2b1fd6d6d13944ba Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Sat, 28 Jun 2008 13:29:13 +0000 Subject: Import GNU Classpath (classpath-0_97_2-release). libjava/ 2008-06-28 Matthias Klose Import GNU Classpath (classpath-0_97_2-release). * Regenerate class and header files. * Regenerate auto* files. * gcj/javaprims.h: Define jobjectRefType. * jni.cc (_Jv_JNI_GetObjectRefType): New (stub only). (_Jv_JNIFunctions): Initialize GetObjectRefType. * gnu/classpath/jdwp/VMVirtualMachine.java, java/security/VMSecureRandom.java: Merge from classpath. * HACKING: Fix typo. * ChangeLog-2007: New file. * configure.ac: Set JAVAC, pass --disable-regen-headers to classpath. libjava/classpath/ 2008-06-28 Matthias Klose * m4/ac_prog_javac.m4: Disable check for JAVAC, when not configured with --enable-java-maintainer-mode. * aclocal.m4, configure: Regenerate. * native/jni/gstreamer-peer/Makefile.am: Do not link with libclasspathnative. * native/jni/gstreamer-peer/Makefile.in: Regenerate. * tools/Makefile.am, lib/Makefile.am: Use JAVAC for setting JCOMPILER, drop flags not understood by gcj. From-SVN: r137223 --- libjava/classpath/scripts/Makefile.am | 2 +- libjava/classpath/scripts/Makefile.in | 31 ++++-------- libjava/classpath/scripts/check_jni_methods.sh | 61 ----------------------- libjava/classpath/scripts/check_jni_methods.sh.in | 61 +++++++++++++++++++++++ 4 files changed, 71 insertions(+), 84 deletions(-) delete mode 100755 libjava/classpath/scripts/check_jni_methods.sh create mode 100644 libjava/classpath/scripts/check_jni_methods.sh.in (limited to 'libjava/classpath/scripts') diff --git a/libjava/classpath/scripts/Makefile.am b/libjava/classpath/scripts/Makefile.am index 4337840..9d80ba0 100644 --- a/libjava/classpath/scripts/Makefile.am +++ b/libjava/classpath/scripts/Makefile.am @@ -1,2 +1,2 @@ -EXTRA_DIST = check_jni_methods.sh generate-locale-list.sh import-cacerts.sh +EXTRA_DIST = generate-locale-list.sh import-cacerts.sh diff --git a/libjava/classpath/scripts/Makefile.in b/libjava/classpath/scripts/Makefile.in index 1a38b53..c283514 100644 --- a/libjava/classpath/scripts/Makefile.in +++ b/libjava/classpath/scripts/Makefile.in @@ -38,7 +38,7 @@ host_triplet = @host@ target_triplet = @target@ subdir = scripts DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/classpath.spec.in + $(srcdir)/check_jni_methods.sh.in $(srcdir)/classpath.spec.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ @@ -50,6 +50,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../ltoptions.m4 \ $(top_srcdir)/../../ltsugar.m4 \ $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/ac_prog_javac.m4 \ + $(top_srcdir)/m4/ac_prog_javac_works.m4 \ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ @@ -62,7 +64,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h -CONFIG_CLEAN_FILES = classpath.spec +CONFIG_CLEAN_FILES = classpath.spec check_jni_methods.sh SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -130,7 +132,6 @@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -ECJ = @ECJ@ ECJ_JAR = @ECJ_JAR@ EGREP = @EGREP@ ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@ @@ -142,19 +143,8 @@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ FASTJAR = @FASTJAR@ FGREP = @FGREP@ FIND = @FIND@ -FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ -FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ -FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ -FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ -FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ -FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ -FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ -FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ -FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ -GCJ = @GCJ@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -186,15 +176,12 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVAC = @JAVAC@ +JAVAC_MEM_OPT = @JAVAC_MEM_OPT@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ JAY = @JAY@ JAY_SKELETON = @JAY_SKELETON@ -JIKES = @JIKES@ -JIKESENCODING = @JIKESENCODING@ -JIKESWARNINGS = @JIKESWARNINGS@ -KJC = @KJC@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ @@ -242,10 +229,8 @@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ STRIP = @STRIP@ -USER_CLASSLIB = @USER_CLASSLIB@ +TOOLSDIR = @TOOLSDIR@ USER_JAVAH = @USER_JAVAH@ -USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@ -USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@ USE_ESCHER_FALSE = @USE_ESCHER_FALSE@ USE_ESCHER_TRUE = @USE_ESCHER_TRUE@ USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@ @@ -317,7 +302,7 @@ target_os = @target_os@ target_vendor = @target_vendor@ toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ -EXTRA_DIST = check_jni_methods.sh generate-locale-list.sh import-cacerts.sh +EXTRA_DIST = generate-locale-list.sh import-cacerts.sh all: all-am .SUFFIXES: @@ -352,6 +337,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh classpath.spec: $(top_builddir)/config.status $(srcdir)/classpath.spec.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +check_jni_methods.sh: $(top_builddir)/config.status $(srcdir)/check_jni_methods.sh.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo diff --git a/libjava/classpath/scripts/check_jni_methods.sh b/libjava/classpath/scripts/check_jni_methods.sh deleted file mode 100755 index 90a7735..0000000 --- a/libjava/classpath/scripts/check_jni_methods.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh - -# Fail if any command fails -set -e - -TMPFILE=/tmp/check-jni-methods.$$.1 -TMPFILE2=/tmp/check-jni-methods.$$.2 -TMPFILE3=/tmp/check-jni-methods.$$.3 - -# Find all methods defined in the header files generated -# from the java source files. -grep -h '^JNIEXPORT .* Java_' include/*.h | \ - LC_ALL=C sed -e 's,.*JNICALL \(Java_[a-z_A-Z0-9]*\).*$,\1,' | \ - sort > $TMPFILE - -# Find all methods in the JNI C source files. -find native/jni -name \*.c | \ - xargs grep -h '^Java_' | \ - LC_ALL=C sed -e 's,^\(Java_[a-z_A-Z0-9]*\).*$,\1,' > $TMPFILE2 -# Or in the the C++ files. (Note that cpp doesn't follow gnu conventions atm) -# So we try to match both GNU style and some other style. -find native/jni -name \*.cpp | \ - xargs grep -h '^Java_' | \ - LC_ALL=C sed -e 's,^\(Java_[a-z_A-Z0-9]*\).*$,\1,' >> $TMPFILE2 -find native/jni -name \*.cpp | \ - xargs egrep -h '^(JNIEXPORT .* JNICALL )?Java_' | \ - cut -f4 -d\ | \ - LC_ALL=C sed -e 's,^\JNIEXPORT .* JNICALL \(Java_[a-z_A-Z0-9]*\).*$,\1,' >> $TMPFILE2 -mv $TMPFILE2 $TMPFILE3 -sort $TMPFILE3 | uniq > $TMPFILE2 -rm $TMPFILE3 - -# Write temporary ignore file. -cat > $TMPFILE3 << EOF --Java_gnu_java_awt_peer_gtk_GtkMenuComponentPeer_dispose --Java_java_lang_VMSystem_arraycopy --Java_java_lang_VMSystem_identityHashCode -EOF - -# Compare again silently. -# Use fgrep and direct the output to /dev/null for compatibility with older -# grep instead of using the non portable -q. -if diff -U 0 $TMPFILE $TMPFILE2 | grep '^[+-]Java' | \ - fgrep -v -f $TMPFILE3 > /dev/null; -then - PROBLEM=1 - echo "Found a problem with the JNI methods declared and implemented." - echo "(-) missing in implementation, (+) missing in header files" - - # Compare the found method lists. - diff -U 0 $TMPFILE $TMPFILE2 | grep '^[+-]Java' | fgrep -v -f $TMPFILE3 -fi - -# Cleanup. -rm -f $TMPFILE $TMPFILE2 $TMPFILE3 - -if test "$PROBLEM" = "1" ; then - exit 1 -fi - -exit 0 diff --git a/libjava/classpath/scripts/check_jni_methods.sh.in b/libjava/classpath/scripts/check_jni_methods.sh.in new file mode 100644 index 0000000..2a114d3 --- /dev/null +++ b/libjava/classpath/scripts/check_jni_methods.sh.in @@ -0,0 +1,61 @@ +#!/bin/sh + +# Fail if any command fails +set -e + +TMPFILE=/tmp/check-jni-methods.$$.1 +TMPFILE2=/tmp/check-jni-methods.$$.2 +TMPFILE3=/tmp/check-jni-methods.$$.3 + +# Find all methods defined in the header files generated +# from the java source files. +grep -h '^JNIEXPORT .* Java_' @abs_top_builddir@/include/*.h @abs_top_srcdir@/include/*.h | \ + LC_ALL=C sed -e 's,.*JNICALL \(Java_[a-z_A-Z0-9]*\).*$,\1,' | \ + sort -u > $TMPFILE + +# Find all methods in the JNI C source files. +find @abs_top_srcdir@/native/jni -name \*.c | \ + xargs grep -h '^Java_' | \ + LC_ALL=C sed -e 's,^\(Java_[a-z_A-Z0-9]*\).*$,\1,' > $TMPFILE2 +# Or in the the C++ files. (Note that cpp doesn't follow gnu conventions atm) +# So we try to match both GNU style and some other style. +find @abs_top_srcdir@/native/jni -name \*.cpp | \ + xargs grep -h '^Java_' | \ + LC_ALL=C sed -e 's,^\(Java_[a-z_A-Z0-9]*\).*$,\1,' >> $TMPFILE2 +find @abs_top_srcdir@/native/jni -name \*.cpp | \ + xargs egrep -h '^(JNIEXPORT .* JNICALL )?Java_' | \ + cut -f4 -d\ | \ + LC_ALL=C sed -e 's,^\JNIEXPORT .* JNICALL \(Java_[a-z_A-Z0-9]*\).*$,\1,' >> $TMPFILE2 +mv $TMPFILE2 $TMPFILE3 +sort $TMPFILE3 | uniq > $TMPFILE2 +rm $TMPFILE3 + +# Write temporary ignore file. +cat > $TMPFILE3 << EOF +-Java_gnu_java_awt_peer_gtk_GtkMenuComponentPeer_dispose +-Java_java_lang_VMSystem_arraycopy +-Java_java_lang_VMSystem_identityHashCode +EOF + +# Compare again silently. +# Use fgrep and direct the output to /dev/null for compatibility with older +# grep instead of using the non portable -q. +if diff -U 0 $TMPFILE $TMPFILE2 | grep '^[+-]Java' | \ + fgrep -v -f $TMPFILE3 > /dev/null; +then + PROBLEM=1 + echo "Found a problem with the JNI methods declared and implemented." + echo "(-) missing in implementation, (+) missing in header files" + + # Compare the found method lists. + diff -U 0 $TMPFILE $TMPFILE2 | grep '^[+-]Java' | fgrep -v -f $TMPFILE3 +fi + +# Cleanup. +rm -f $TMPFILE $TMPFILE2 $TMPFILE3 + +if test "$PROBLEM" = "1" ; then + exit 1 +fi + +exit 0 -- cgit v1.1