Hello,
This patch adds a configure flag that enables automatic regeneration of
JNI headers. The flag is disabled by default.
Each header is only rebuilt if its prerequisite .java file changes. The
new automake file, include/Makefile.am, contains the list of header
targets.
Currently the list consists of AWT-related headers. Could someone who
is more familiar with the other areas of classpath that require JNI
headers complete the list? Some headers should probably be removed.
Mark Wielaard suggested that anyone checking in changes to these headers
should use gcjh, since it is free and produces clean output. If people
agree with this, I will regenerate the AWT-headers and check them in.
Comments?
Tom
2003-07-23 Thomas Fitzsimmons <[EMAIL PROTECTED]>
* Makefile.am (SUBDIRS): Add $(HEADER_DIR).
* configure.in: Add --enable-regen-headers flag.
(AC_OUTPUT): Add include/Makefile.
* include/Makefile.am: New file.
Index: Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/Makefile.am,v
retrieving revision 1.25
diff -u -b -B -r1.25 Makefile.am
--- Makefile.am 1 Feb 2003 12:54:05 -0000 1.25
+++ Makefile.am 23 Jul 2003 15:40:51 -0000
@@ -1,7 +1,7 @@
## Input file for automake to generate the Makefile.in used by configure
# lib first, to compile .class files before native code
-SUBDIRS = lib doc gnu java javax native resource vm
+SUBDIRS = lib doc gnu java javax $(HEADER_DIR) native resource vm
native: lib
Index: configure.in
===================================================================
RCS file: /cvsroot/classpath/classpath/configure.in,v
retrieving revision 1.127
diff -u -b -B -r1.127 configure.in
--- configure.in 16 Jul 2003 15:17:33 -0000 1.127
+++ configure.in 23 Jul 2003 15:40:51 -0000
@@ -75,6 +75,16 @@
AM_CONDITIONAL(CREATE_CNI_LIBRARIES, test "x${COMPILE_CNI}" = xyes)
AM_CONDITIONAL(CREATE_GTK_PEER_LIBRARIES, test "x${COMPILE_GTK_PEER}" = xyes)
+AC_ARG_ENABLE(regen-headers,
+[ --enable-regen-headers automatically regenerate JNI headers [default=no]],
+[case "${enableval}" in
+ yes) HEADER_DIR=include ;;
+ no) HEADER_DIR="" ;;
+ *) HEADER_DIR="" ;;
+esac],
+[HEADER_DIR=""])
+AC_SUBST(HEADER_DIR)
+
AC_PROG_LN_S
AC_PROG_INSTALL
@@ -328,6 +338,7 @@
gnu/javax/Makefile
gnu/javax/rmi/Makefile
gnu/javax/rmi/CORBA/Makefile
+include/Makefile
include/jni.h
java/Makefile
java/applet/Makefile
Index: include/Makefile.am
===================================================================
RCS file: include/Makefile.am
diff -N include/Makefile.am
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ include/Makefile.am 23 Jul 2003 15:40:51 -0000
@@ -0,0 +1,100 @@
+USER_JAVAH = @USER_JAVAH@
+USER_CLASSLIB = @USER_CLASSLIB@
+ARG_JNI_JAVAH = -jni
+ARG_CLASSPATH_JAVAH = -classpath
+JAVAH = $(USER_JAVAH) $(ARG_JNI_JAVAH) $(ARG_CLASSPATH_JAVAH) ../lib:$(USER_CLASSLIB)
+
+H_FILES = \
+$(top_srcdir)/include/gnu_java_awt_image_GdkPixbufDecoder.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GdkFontMetrics.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GdkGraphics.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkButtonPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkChoicePeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkClipboard.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkComponentPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkFramePeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkGenericPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkImagePainter.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkLabelPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkListPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkMainThread.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkMenuPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkPanelPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkScrollPanePeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkTextComponentPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkToolkit.h \
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkWindowPeer.h
+
+all: $(H_FILES)
+
+$(top_srcdir)/include/gnu_java_awt_image_GdkPixbufDecoder.h: $(top_srcdir)/gnu/java/awt/image/GdkPixbufDecoder.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GdkFontMetrics.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GdkFontMetrics.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GdkGraphics.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GdkGraphics.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkButtonPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkButtonPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkCanvasPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkCheckboxPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkChoicePeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkChoicePeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkClipboard.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkClipboard.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkComponentPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkFramePeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkFramePeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkGenericPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkGenericPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkImagePainter.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkImagePainter.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkLabelPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkLabelPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkListPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkListPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkMainThread.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkMainThread.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkMenuPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkMenuPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkPanelPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkPanelPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkScrollPanePeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkScrollPanePeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkScrollbarPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkTextAreaPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkTextComponentPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkTextFieldPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkToolkit.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkToolkit.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
+$(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: $(top_srcdir)/gnu/java/awt/peer/gtk/GtkWindowPeer.java
+ $(JAVAH) -o $@ $(shell basename $@ .h | tr '_' '.')
_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath