[vte/wip/egmont/bidi: 2/78] BiDi basic infrastructure



commit 41c02b8e05fd59fa17643d04e4b3b112db60ff84
Author: Egmont Koblinger <egmont gmail com>
Date:   Fri Aug 17 18:43:19 2018 +0200

    BiDi basic infrastructure

 configure.ac  | 21 ++++++++++++++++++++-
 src/debug.cc  |  1 +
 src/debug.h   |  1 +
 src/vtegtk.cc |  6 ++++++
 4 files changed, 28 insertions(+), 1 deletion(-)
---
diff --git a/configure.ac b/configure.ac
index 57d9c3ad..6bc7f3d9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -252,6 +252,7 @@ GLIB_REQUIRED=2.40.0
 GIO_REQUIRED=2.40.0
 PANGO_REQUIRED=1.22.0
 GNUTLS_REQUIRED=3.2.7
+FRIBIDI_REQUIRED=0.19.7  # FIXME bump to 1.0 whenever I upgrade :)
 PCRE2_REQUIRED=10.21
 
 # GNUTLS
@@ -271,6 +272,23 @@ fi
 
 AM_CONDITIONAL([WITH_GNUTLS],[test "$with_gnutls" = "yes"])
 
+# FRIBIDI
+
+AC_MSG_CHECKING([whether BiDi support is requested])
+AC_ARG_WITH([fribidi],
+  [AS_HELP_STRING([--without-fribidi],[Disable BiDi support])],
+  [],[with_fribidi=yes])
+AC_MSG_RESULT([$with_fribidi])
+
+FRIBIDI_PKGS=
+if test "$with_fribidi" = "yes"; then
+  FRIBIDI_PKGS="fribidi >= $FRIBIDI_REQUIRED"
+
+  AC_DEFINE([WITH_FRIBIDI],[1],[Define to 1 to enable BiDi support])
+fi
+
+AM_CONDITIONAL([WITH_FRIBIDI],[test "$with_fribidi" = "yes"])
+
 # GLIB tools
 
 AC_PATH_PROG([GLIB_GENMARSHAL],[glib-genmarshal])
@@ -308,7 +326,7 @@ AC_CHECK_FUNCS([ceil floor round])
 
 # Search for the required modules.
 
-VTE_PKGS="glib-2.0 >= $GLIB_REQUIRED gobject-2.0 pango >= $PANGO_REQUIRED gtk+-$GTK_API_VERSION >= 
$GTK_REQUIRED gobject-2.0 gio-2.0 gio-unix-2.0 zlib libpcre2-8 >= $PCRE2_REQUIRED $GNUTLS_PKGS"
+VTE_PKGS="glib-2.0 >= $GLIB_REQUIRED gobject-2.0 pango >= $PANGO_REQUIRED gtk+-$GTK_API_VERSION >= 
$GTK_REQUIRED gobject-2.0 gio-2.0 gio-unix-2.0 zlib libpcre2-8 >= $PCRE2_REQUIRED $GNUTLS_PKGS $FRIBIDI_PKGS"
 PKG_CHECK_MODULES([VTE],[$VTE_PKGS])
 AC_SUBST([VTE_PKGS])
 
@@ -476,6 +494,7 @@ cat <<EOF | tee -a config.log
 
 Configuration for libvte $VERSION for gtk+-$GTK_API_VERSION
        GnuTLS: $with_gnutls
+       BiDi: $with_fribidi
        IConv: $with_iconv
        Installing Glade catalogue: $enable_glade_catalogue
        Debugging: $enable_debug
diff --git a/src/debug.cc b/src/debug.cc
index 5d88833b..afbd7413 100644
--- a/src/debug.cc
+++ b/src/debug.cc
@@ -57,6 +57,7 @@ _vte_debug_init(void)
     { "hyperlink",    VTE_DEBUG_HYPERLINK    },
     { "modes",        VTE_DEBUG_MODES        },
     { "emulation",    VTE_DEBUG_EMULATION    },
+    { "bidi",         VTE_DEBUG_BIDI         },
   };
 
   _vte_debug_flags = g_parse_debug_string (g_getenv("VTE_DEBUG"),
diff --git a/src/debug.h b/src/debug.h
index 41c3665d..92d9d0f9 100644
--- a/src/debug.h
+++ b/src/debug.h
@@ -64,6 +64,7 @@ typedef enum {
         VTE_DEBUG_HYPERLINK     = 1 << 24,
         VTE_DEBUG_MODES         = 1 << 25,
         VTE_DEBUG_EMULATION     = 1 << 26,
+        VTE_DEBUG_BIDI          = 1 << 27,
 } VteDebugFlags;
 
 void _vte_debug_init(void);
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
index ea8b3208..009c18de 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -1700,6 +1700,12 @@ vte_get_features (void)
                 "+GNUTLS"
 #else
                 "-GNUTLS"
+#endif
+                " "
+#ifdef WITH_FRIBIDI
+                "+BIDI"
+#else
+                "-BIDI"
 #endif
                 ;
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]