Hi,

Right now, the build fails if the user does:

$ ../classpath/configure --disable-gtk-peer
$ make
[snip]
make[2]: Leaving directory `/home/keiths/work/classpath/master/linux/native/jni'
Making all in plugin
make[2]: Entering directory `/home/keiths/work/classpath/master/linux/native/plugin' if /bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../../classpath/native/plugin -I../../include -Wall -DAPPLETVIEWER_EXECUTABLE="\"/usr/local/classpath/bin/appletviewer\"" -I/usr/include/mozilla-1.7.13/java -I/usr/include/mozilla-1.7.13/plugin -I/usr/include/mozilla-1.7.13 -I/usr/include/mozilla-1.7.13/xpcom -I/usr/include/mozilla-1.7.13/string -I/usr/include/mozilla-1.7.13/nspr -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -g -O2 -MT libgcjwebplugin_la-gcjwebplugin.lo -MD -MP -MF ".deps/libgcjwebplugin_la-gcjwebplugin.Tpo" -c -o libgcjwebplugin_la-gcjwebplugin.lo `test -f 'gcjwebplugin.cc' || echo '../../../classpath/native/plugin/'`gcjwebplugin.cc; \ then mv -f ".deps/libgcjwebplugin_la-gcjwebplugin.Tpo" ".deps/libgcjwebplugin_la-gcjwebplugin.Plo"; else rm -f ".deps/libgcjwebplugin_la-gcjwebplugin.Tpo"; exit 1; fi
mkdir .libs
g++ -DHAVE_CONFIG_H -I. -I../../../classpath/native/plugin -I../../include -Wall -DAPPLETVIEWER_EXECUTABLE=\"/usr/local/classpath/bin/appletviewer\" -I/usr/include/mozilla-1.7.13/java -I/usr/include/mozilla-1.7.13/plugin -I/usr/include/mozilla-1.7.13 -I/usr/include/mozilla-1.7.13/xpcom -I/usr/include/mozilla-1.7.13/string -I/usr/include/mozilla-1.7.13/nspr -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -g -O2 -MT libgcjwebplugin_la-gcjwebplugin.lo -MD -MP -MF .deps/libgcjwebplugin_la-gcjwebplugin.Tpo -c ../../../classpath/native/plugin/gcjwebplugin.cc -fPIC -DPIC -o .libs/libgcjwebplugin_la-gcjwebplugin.o ../../../classpath/native/plugin/gcjwebplugin.cc:55:21: error: gtk/gtk.h: No such file or directory ../../../classpath/native/plugin/gcjwebplugin.cc: In function 'bool plugin_failed()': ../../../classpath/native/plugin/gcjwebplugin.cc:933: error: 'GtkWidget' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:933: error: 'dialog' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:934: error: 'ok_button' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:937: error: 'GTK_DIALOG_MODAL' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:938: error: 'GTK_MESSAGE_WARNING' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:939: error: 'GTK_BUTTONS_NONE' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:940: error: 'gtk_message_dialog_new' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:941: error: 'GTK_DIALOG' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:942: error: 'GTK_STOCK_OK' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:943: error: 'GTK_RESPONSE_OK' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:943: error: 'gtk_dialog_add_button' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:944: error: 'gtk_widget_show_all' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:945: error: 'gtk_dialog_run' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:947: error: 'gtk_widget_destroy' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc: In function 'bool plugin_ask_user_about_documentbase(char*)': ../../../classpath/native/plugin/gcjwebplugin.cc:1078: error: 'GtkWidget' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1078: error: 'dialog' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1079: error: 'ok_button' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1080: error: 'cancel_button' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1081: error: 'whitelist_button' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1082: error: 'GTK_RESPONSE_NONE' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1085: error: 'GTK_DIALOG_MODAL' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1086: error: 'GTK_MESSAGE_WARNING' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1087: error: 'GTK_BUTTONS_NONE' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1089: error: 'gtk_message_dialog_new' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1090: error: 'GTK_MESSAGE_DIALOG' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1091: error: 'gtk_message_dialog_format_secondary_text' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1093: error: 'GTK_DIALOG' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1094: error: 'GTK_STOCK_CANCEL' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1095: error: 'GTK_RESPONSE_CANCEL' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1095: error: 'gtk_dialog_add_button' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1098: error: 'GTK_RESPONSE_OK' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1101: error: 'GTK_RESPONSE_APPLY' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1102: error: 'gtk_widget_grab_focus' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1104: error: 'gtk_widget_show_all' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1105: error: 'gtk_dialog_run' was not declared in this scope ../../../classpath/native/plugin/gcjwebplugin.cc:1106: error: 'gtk_widget_destroy' was not declared in this scope
make[2]: *** [libgcjwebplugin_la-gcjwebplugin.lo] Error 1
make[2]: Leaving directory `/home/keiths/work/classpath/master/linux/native/plugin'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/keiths/work/classpath/master/linux/native'
make: *** [all-recursive] Error 1

Here's a simple patch for configure to fail if the user does this. While I would really like for the build to just issue a warning and disable the plugin, I don't think that's particularly user friendly, but it would be easy enough to change.

Keith

ChangeLog
2006-06-16  Keith Seitz  <[EMAIL PROTECTED]>

        * configure.ac: Fail if attempting to build gcjwebplugin without
        GTK peers.

Index: configure.ac
===================================================================
RCS file: /sources/classpath/classpath/configure.ac,v
retrieving revision 1.162
diff -u -p -r1.162 configure.ac
--- configure.ac	15 Jun 2006 23:08:48 -0000	1.162
+++ configure.ac	16 Jun 2006 21:25:28 -0000
@@ -189,6 +189,9 @@ AC_ARG_ENABLE([plugin],
                 *) COMPILE_PLUGIN=yes ;;
               esac],
               [COMPILE_PLUGIN=yes])
+if test "x${COMPILE_PLUGIN}" = xyes -a "x${COMPILE_GTK_PEER}" = xno; then
+    AC_MSG_ERROR([gcjwebplugin requires --enable-gtk-peer])
+fi
 AM_CONDITIONAL(CREATE_PLUGIN, test "x${COMPILE_PLUGIN}" = xyes)
 
 dnl -----------------------------------------------------------

Reply via email to