diff options
author | Joakim Verona <joakim@verona.se> | 2016-01-19 20:27:12 +0100 |
---|---|---|
committer | Joakim Verona <joakim@verona.se> | 2016-01-19 20:58:22 +0100 |
commit | 7c1f66a94bf236a427606ef537b4629a48a1665b (patch) | |
tree | 8661f512f7bcf35bfb1e7d915e5b6ef8df6229d8 /configure.ac | |
parent | 663d379bbc2fde5e9bded157365e9d48ea01c027 (diff) | |
download | emacs-7c1f66a94bf236a427606ef537b4629a48a1665b.tar.gz |
Support for the new Xwidget feature.
* configure.ac:
(HAVE_XWIDGETS, WIDGET_OBJ, EMACS_CONFIG_FEATURES):
* xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
* xdisp.c:
(handle_display_spec, handle_single_display_spec, push_it)
(pop_it, set_iterator_to_next, dump_glyph)
(calc_pixel_width_or_height, fill_xwidget_glyph_string)
(BUILD_XWIDGET_GLYPH_STRING, BUILD_GLYPH_STRINGS)
(produce_xwidget_glyph, x_produce_glyphs)
(get_window_cursor_type):
* window.c (Fdelete_window_internal):
* termhooks.h (e):
* print.c (print_object):
* lisp.h (ptrdiff_t):
* keyboard.c (kbd_buffer_get_event, make_lispy_event)
(syms_of_keyboard):
* emacs.c (main):
* dispnew.c (update_window, scrolling_window):
* dispextern.h (g, i):
* Makefile.in (XWIDGETS_OBJ, WEBKIT_CFLAGS, WEBKIT_LIBS)
(GIR_LIBS, ALL_CFLAGS, base_obj, LIBES):
* keyboard.c (kbd_buffer_get_event):
* emacsgtkfixed.c (emacs_fixed_gtk_widget_size_allocate)
(emacs_fixed_class_init): Add case for an xwidget view.
* xwidget.c, xwidget.h, xwidget.el: New files for xwidgets
Co-authored-by: Grégoire Jadi <daimrod@gmail.com>
Various improvements to the Xwidget feature.
* xwidgets.c:
* emacsgtkfixed.c:
* xwidget.el:
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 3aeba22ec47..95f79ab8d4f 100644 --- a/configure.ac +++ b/configure.ac @@ -373,6 +373,9 @@ otherwise for the first of 'inotify' or 'gfile' that is usable.]) ], [with_file_notification=$with_features]) +OPTION_DEFAULT_OFF([xwidgets], + [enable use of some gtk widgets in Emacs buffers]) + ## For the times when you want to build Emacs but don't have ## a suitable makeinfo, and can live without the manuals. dnl http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01844.html @@ -2562,6 +2565,42 @@ if test "${HAVE_GTK}" = "yes"; then term_header=gtkutil.h fi + +HAVE_XWIDGETS=no +HAVE_WEBKIT=no +HAVE_GIR=no +XWIDGETS_OBJ= +if test "$with_xwidgets" != "no" && test "$USE_GTK_TOOLKIT" = "GTK3" && + test "$window_system" != "none" +then + HAVE_XWIDGETS=yes + AC_DEFINE([HAVE_XWIDGETS], 1, [Define to 1 if you have xwidgets support.]) + + dnl xwidgets + dnl - enable only if GTK3 is enabled, and we have a window system + dnl - check for webkit and gobject introspection + dnl webkit version for gtk3. + WEBKIT_REQUIRED=1.4.0 + WEBKIT_MODULES="webkitgtk-3.0 >= $WEBKIT_REQUIRED" + + if test "${with_gtk3}" = "yes"; then + PKG_CHECK_MODULES(WEBKIT, $WEBKIT_MODULES, HAVE_WEBKIT=yes, HAVE_WEBKIT=no) + if test $HAVE_WEBKIT = yes; then + AC_DEFINE([HAVE_WEBKIT_OSR], 1, + [Define to 1 if you have webkit_osr support.]) + fi + fi + + GIR_REQUIRED=1.32.1 + GIR_MODULES="gobject-introspection-1.0 >= $GIR_REQUIRED" + PKG_CHECK_MODULES(GIR, $GIR_MODULES, HAVE_GIR=yes, HAVE_GIR=no) + if test $HAVE_GIR = yes; then + AC_DEFINE([HAVE_GIR], 1, [Define to 1 if you have GIR support.]) + fi + XWIDGETS_OBJ=xwidget.o +fi +AC_SUBST(XWIDGETS_OBJ) + CFLAGS=$OLD_CFLAGS LIBS=$OLD_LIBS @@ -4925,6 +4964,9 @@ case "$USE_X_TOOLKIT" in LUCID) TOOLKIT_LIBW="$LUCID_LIBW" ;; none) test "x$HAVE_GTK" = "xyes" && TOOLKIT_LIBW="$GTK_LIBS" ;; esac +if test "$HAVE_XWIDGETS" = "yes"; then + TOOLKIT_LIBW="$TOOLKIT_LIBW -lXcomposite" +fi AC_SUBST(TOOLKIT_LIBW) if test "${opsys}" != "mingw32"; then @@ -5264,6 +5306,9 @@ AS_ECHO([" Does Emacs use -lXaw3d? ${HAVE_XAW3D Does Emacs directly use zlib? ${HAVE_ZLIB} Does Emacs have dynamic modules support? ${HAVE_MODULES} Does Emacs use toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS} + Does Emacs support Xwidgets? ${HAVE_XWIDGETS} + Does xwidgets support webkit(requires gtk3)? ${HAVE_WEBKIT} + Does xwidgets support gobject introspection? ${HAVE_GIR} "]) if test -n "${EMACSDATA}"; then |