diff options
| author | Khaled Hosny | 2018-06-05 12:12:26 +0200 |
|---|---|---|
| committer | Khaled Hosny | 2018-12-10 00:08:50 +0200 |
| commit | ab93444cbbd06096cdf33a7a76d8e6ee6c37c04a (patch) | |
| tree | fc86bf7169e7fefe5f841d2815798272e0b989f8 | |
| parent | 38f2b582711041ea75b8e486f5bf286542207f27 (diff) | |
| download | emacs-ab93444cbbd06096cdf33a7a76d8e6ee6c37c04a.tar.gz emacs-ab93444cbbd06096cdf33a7a76d8e6ee6c37c04a.zip | |
Add support for building with HarfBuzz
Not used yet.
| -rw-r--r-- | configure.ac | 21 | ||||
| -rw-r--r-- | src/Makefile.in | 6 |
2 files changed, 24 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac index 8b34c3b6581..3c671b546a8 100644 --- a/configure.ac +++ b/configure.ac | |||
| @@ -358,6 +358,7 @@ OPTION_DEFAULT_ON([imagemagick],[don't compile with ImageMagick image support]) | |||
| 358 | OPTION_DEFAULT_ON([json], [don't compile with native JSON support]) | 358 | OPTION_DEFAULT_ON([json], [don't compile with native JSON support]) |
| 359 | 359 | ||
| 360 | OPTION_DEFAULT_ON([xft],[don't use XFT for anti aliased fonts]) | 360 | OPTION_DEFAULT_ON([xft],[don't use XFT for anti aliased fonts]) |
| 361 | OPTION_DEFAULT_OFF([harfbuzz],[use HarfBuzz for text shaping (experimental)]) | ||
| 361 | OPTION_DEFAULT_ON([libotf],[don't use libotf for OpenType font support]) | 362 | OPTION_DEFAULT_ON([libotf],[don't use libotf for OpenType font support]) |
| 362 | OPTION_DEFAULT_ON([m17n-flt],[don't use m17n-flt for text shaping]) | 363 | OPTION_DEFAULT_ON([m17n-flt],[don't use m17n-flt for text shaping]) |
| 363 | 364 | ||
| @@ -3307,10 +3308,24 @@ if test "${HAVE_X11}" = "yes"; then | |||
| 3307 | test "$HAVE_FREETYPE" = "no" && AC_MSG_ERROR(libxft requires libfreetype) | 3308 | test "$HAVE_FREETYPE" = "no" && AC_MSG_ERROR(libxft requires libfreetype) |
| 3308 | fi | 3309 | fi |
| 3309 | 3310 | ||
| 3311 | HAVE_HARFBUZZ=no | ||
| 3310 | HAVE_LIBOTF=no | 3312 | HAVE_LIBOTF=no |
| 3311 | if test "${HAVE_FREETYPE}" = "yes"; then | 3313 | if test "${HAVE_FREETYPE}" = "yes"; then |
| 3312 | AC_DEFINE(HAVE_FREETYPE, 1, | 3314 | AC_DEFINE(HAVE_FREETYPE, 1, |
| 3313 | [Define to 1 if using the freetype and fontconfig libraries.]) | 3315 | [Define to 1 if using the freetype and fontconfig libraries.]) |
| 3316 | if test "${with_harfbuzz}" != "no"; then | ||
| 3317 | EMACS_CHECK_MODULES([HARFBUZZ], [harfbuzz]) | ||
| 3318 | if test "$HAVE_HARFBUZZ" = "yes"; then | ||
| 3319 | AC_DEFINE(HAVE_HARFBUZZ, 1, [Define to 1 if using HarfBuzz.]) | ||
| 3320 | AC_CHECK_LIB(harfbuzz, hb_ft_font_create_referenced, | ||
| 3321 | HAVE_HB_FT_FONT_CREATE_REFERENCED=yes, | ||
| 3322 | HAVE_HB_FT_FONT_CREATE_REFERENCED=no) | ||
| 3323 | if test "${HAVE_HB_FT_FONT_CREATE_REFERENCED}" = "yes"; then | ||
| 3324 | AC_DEFINE(HAVE_HB_FT_FONT_CREATE_REFERENCED, 1, | ||
| 3325 | [Define to 1 if HarfBuzz has hb_ft_font_create_referenced.]) | ||
| 3326 | fi | ||
| 3327 | fi | ||
| 3328 | fi | ||
| 3314 | if test "${with_libotf}" != "no"; then | 3329 | if test "${with_libotf}" != "no"; then |
| 3315 | EMACS_CHECK_MODULES([LIBOTF], [libotf]) | 3330 | EMACS_CHECK_MODULES([LIBOTF], [libotf]) |
| 3316 | if test "$HAVE_LIBOTF" = "yes"; then | 3331 | if test "$HAVE_LIBOTF" = "yes"; then |
| @@ -3344,6 +3359,7 @@ if test "${HAVE_X11}" = "yes"; then | |||
| 3344 | else | 3359 | else |
| 3345 | HAVE_XFT=no | 3360 | HAVE_XFT=no |
| 3346 | HAVE_FREETYPE=no | 3361 | HAVE_FREETYPE=no |
| 3362 | HAVE_HARFBUZZ=no | ||
| 3347 | HAVE_LIBOTF=no | 3363 | HAVE_LIBOTF=no |
| 3348 | HAVE_M17N_FLT=no | 3364 | HAVE_M17N_FLT=no |
| 3349 | fi | 3365 | fi |
| @@ -3354,6 +3370,8 @@ AC_SUBST(FREETYPE_CFLAGS) | |||
| 3354 | AC_SUBST(FREETYPE_LIBS) | 3370 | AC_SUBST(FREETYPE_LIBS) |
| 3355 | AC_SUBST(FONTCONFIG_CFLAGS) | 3371 | AC_SUBST(FONTCONFIG_CFLAGS) |
| 3356 | AC_SUBST(FONTCONFIG_LIBS) | 3372 | AC_SUBST(FONTCONFIG_LIBS) |
| 3373 | AC_SUBST(HARFBUZZ_CFLAGS) | ||
| 3374 | AC_SUBST(HARFBUZZ_LIBS) | ||
| 3357 | AC_SUBST(LIBOTF_CFLAGS) | 3375 | AC_SUBST(LIBOTF_CFLAGS) |
| 3358 | AC_SUBST(LIBOTF_LIBS) | 3376 | AC_SUBST(LIBOTF_LIBS) |
| 3359 | AC_SUBST(M17N_FLT_CFLAGS) | 3377 | AC_SUBST(M17N_FLT_CFLAGS) |
| @@ -5461,7 +5479,7 @@ Configured for '${canonical}'. | |||
| 5461 | optsep= | 5479 | optsep= |
| 5462 | emacs_config_features= | 5480 | emacs_config_features= |
| 5463 | for opt in XAW3D XPM JPEG TIFF GIF PNG RSVG CAIRO IMAGEMAGICK SOUND GPM DBUS \ | 5481 | for opt in XAW3D XPM JPEG TIFF GIF PNG RSVG CAIRO IMAGEMAGICK SOUND GPM DBUS \ |
| 5464 | GCONF GSETTINGS GLIB NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT \ | 5482 | GCONF GSETTINGS GLIB NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT \ |
| 5465 | LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS X_TOOLKIT OLDXMENU X11 XDBE XIM \ | 5483 | LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS X_TOOLKIT OLDXMENU X11 XDBE XIM \ |
| 5466 | NS MODULES THREADS XWIDGETS LIBSYSTEMD JSON CANNOT_DUMP LCMS2 GMP; do | 5484 | NS MODULES THREADS XWIDGETS LIBSYSTEMD JSON CANNOT_DUMP LCMS2 GMP; do |
| 5467 | 5485 | ||
| @@ -5520,6 +5538,7 @@ AS_ECHO([" Does Emacs use -lXaw3d? ${HAVE_XAW3D | |||
| 5520 | Does Emacs use -lgnutls? ${HAVE_GNUTLS} | 5538 | Does Emacs use -lgnutls? ${HAVE_GNUTLS} |
| 5521 | Does Emacs use -lxml2? ${HAVE_LIBXML2} | 5539 | Does Emacs use -lxml2? ${HAVE_LIBXML2} |
| 5522 | Does Emacs use -lfreetype? ${HAVE_FREETYPE} | 5540 | Does Emacs use -lfreetype? ${HAVE_FREETYPE} |
| 5541 | Does Emacs use HarfBuzz? ${HAVE_HARFBUZZ} | ||
| 5523 | Does Emacs use -lm17n-flt? ${HAVE_M17N_FLT} | 5542 | Does Emacs use -lm17n-flt? ${HAVE_M17N_FLT} |
| 5524 | Does Emacs use -lotf? ${HAVE_LIBOTF} | 5543 | Does Emacs use -lotf? ${HAVE_LIBOTF} |
| 5525 | Does Emacs use -lxft? ${HAVE_XFT} | 5544 | Does Emacs use -lxft? ${HAVE_XFT} |
diff --git a/src/Makefile.in b/src/Makefile.in index 6b2e54a1602..a8fa5c372f4 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -133,6 +133,8 @@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ | |||
| 133 | FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ | 133 | FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ |
| 134 | FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ | 134 | FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ |
| 135 | FREETYPE_LIBS = @FREETYPE_LIBS@ | 135 | FREETYPE_LIBS = @FREETYPE_LIBS@ |
| 136 | HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@ | ||
| 137 | HARFBUZZ_LIBS = @HARFBUZZ_LIBS@ | ||
| 136 | LIBOTF_CFLAGS = @LIBOTF_CFLAGS@ | 138 | LIBOTF_CFLAGS = @LIBOTF_CFLAGS@ |
| 137 | LIBOTF_LIBS = @LIBOTF_LIBS@ | 139 | LIBOTF_LIBS = @LIBOTF_LIBS@ |
| 138 | M17N_FLT_CFLAGS = @M17N_FLT_CFLAGS@ | 140 | M17N_FLT_CFLAGS = @M17N_FLT_CFLAGS@ |
| @@ -370,7 +372,7 @@ EMACS_CFLAGS=-Demacs $(MYCPPFLAGS) -I. -I$(srcdir) \ | |||
| 370 | $(XRANDR_CFLAGS) $(XINERAMA_CFLAGS) $(XFIXES_CFLAGS) $(XDBE_CFLAGS) \ | 372 | $(XRANDR_CFLAGS) $(XINERAMA_CFLAGS) $(XFIXES_CFLAGS) $(XDBE_CFLAGS) \ |
| 371 | $(WEBKIT_CFLAGS) $(LCMS2_CFLAGS) \ | 373 | $(WEBKIT_CFLAGS) $(LCMS2_CFLAGS) \ |
| 372 | $(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \ | 374 | $(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \ |
| 373 | $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) \ | 375 | $(HARFBUZZ_CFLAGS) $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) \ |
| 374 | $(LIBSYSTEMD_CFLAGS) $(JSON_CFLAGS) \ | 376 | $(LIBSYSTEMD_CFLAGS) $(JSON_CFLAGS) \ |
| 375 | $(LIBGNUTLS_CFLAGS) $(NOTIFY_CFLAGS) $(CAIRO_CFLAGS) \ | 377 | $(LIBGNUTLS_CFLAGS) $(NOTIFY_CFLAGS) $(CAIRO_CFLAGS) \ |
| 376 | $(WERROR_CFLAGS) | 378 | $(WERROR_CFLAGS) |
| @@ -500,7 +502,7 @@ LIBES = $(LIBS) $(W32_LIBS) $(LIBS_GNUSTEP) $(LIBX_BASE) $(LIBIMAGE) \ | |||
| 500 | $(XDBE_LIBS) \ | 502 | $(XDBE_LIBS) \ |
| 501 | $(LIBXML2_LIBS) $(LIBGPM) $(LIBS_SYSTEM) $(CAIRO_LIBS) \ | 503 | $(LIBXML2_LIBS) $(LIBGPM) $(LIBS_SYSTEM) $(CAIRO_LIBS) \ |
| 502 | $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) $(SETTINGS_LIBS) $(LIBSELINUX_LIBS) \ | 504 | $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) $(SETTINGS_LIBS) $(LIBSELINUX_LIBS) \ |
| 503 | $(FREETYPE_LIBS) $(FONTCONFIG_LIBS) $(LIBOTF_LIBS) $(M17N_FLT_LIBS) \ | 505 | $(FREETYPE_LIBS) $(FONTCONFIG_LIBS) $(HARFBUZZ_LIBS) $(LIBOTF_LIBS) $(M17N_FLT_LIBS) \ |
| 504 | $(LIBGNUTLS_LIBS) $(LIB_PTHREAD) $(GETADDRINFO_A_LIBS) $(LCMS2_LIBS) \ | 506 | $(LIBGNUTLS_LIBS) $(LIB_PTHREAD) $(GETADDRINFO_A_LIBS) $(LCMS2_LIBS) \ |
| 505 | $(NOTIFY_LIBS) $(LIB_MATH) $(LIBZ) $(LIBMODULES) $(LIBSYSTEMD_LIBS) \ | 507 | $(NOTIFY_LIBS) $(LIB_MATH) $(LIBZ) $(LIBMODULES) $(LIBSYSTEMD_LIBS) \ |
| 506 | $(JSON_LIBS) $(GMP_LIB) | 508 | $(JSON_LIBS) $(GMP_LIB) |