aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhaled Hosny2018-06-05 12:12:26 +0200
committerKhaled Hosny2018-12-10 00:08:50 +0200
commitab93444cbbd06096cdf33a7a76d8e6ee6c37c04a (patch)
treefc86bf7169e7fefe5f841d2815798272e0b989f8
parent38f2b582711041ea75b8e486f5bf286542207f27 (diff)
downloademacs-ab93444cbbd06096cdf33a7a76d8e6ee6c37c04a.tar.gz
emacs-ab93444cbbd06096cdf33a7a76d8e6ee6c37c04a.zip
Add support for building with HarfBuzz
Not used yet.
-rw-r--r--configure.ac21
-rw-r--r--src/Makefile.in6
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])
358OPTION_DEFAULT_ON([json], [don't compile with native JSON support]) 358OPTION_DEFAULT_ON([json], [don't compile with native JSON support])
359 359
360OPTION_DEFAULT_ON([xft],[don't use XFT for anti aliased fonts]) 360OPTION_DEFAULT_ON([xft],[don't use XFT for anti aliased fonts])
361OPTION_DEFAULT_OFF([harfbuzz],[use HarfBuzz for text shaping (experimental)])
361OPTION_DEFAULT_ON([libotf],[don't use libotf for OpenType font support]) 362OPTION_DEFAULT_ON([libotf],[don't use libotf for OpenType font support])
362OPTION_DEFAULT_ON([m17n-flt],[don't use m17n-flt for text shaping]) 363OPTION_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
3344else 3359else
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
3349fi 3365fi
@@ -3354,6 +3370,8 @@ AC_SUBST(FREETYPE_CFLAGS)
3354AC_SUBST(FREETYPE_LIBS) 3370AC_SUBST(FREETYPE_LIBS)
3355AC_SUBST(FONTCONFIG_CFLAGS) 3371AC_SUBST(FONTCONFIG_CFLAGS)
3356AC_SUBST(FONTCONFIG_LIBS) 3372AC_SUBST(FONTCONFIG_LIBS)
3373AC_SUBST(HARFBUZZ_CFLAGS)
3374AC_SUBST(HARFBUZZ_LIBS)
3357AC_SUBST(LIBOTF_CFLAGS) 3375AC_SUBST(LIBOTF_CFLAGS)
3358AC_SUBST(LIBOTF_LIBS) 3376AC_SUBST(LIBOTF_LIBS)
3359AC_SUBST(M17N_FLT_CFLAGS) 3377AC_SUBST(M17N_FLT_CFLAGS)
@@ -5461,7 +5479,7 @@ Configured for '${canonical}'.
5461optsep= 5479optsep=
5462emacs_config_features= 5480emacs_config_features=
5463for opt in XAW3D XPM JPEG TIFF GIF PNG RSVG CAIRO IMAGEMAGICK SOUND GPM DBUS \ 5481for 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@
133FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 133FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
134FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ 134FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
135FREETYPE_LIBS = @FREETYPE_LIBS@ 135FREETYPE_LIBS = @FREETYPE_LIBS@
136HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@
137HARFBUZZ_LIBS = @HARFBUZZ_LIBS@
136LIBOTF_CFLAGS = @LIBOTF_CFLAGS@ 138LIBOTF_CFLAGS = @LIBOTF_CFLAGS@
137LIBOTF_LIBS = @LIBOTF_LIBS@ 139LIBOTF_LIBS = @LIBOTF_LIBS@
138M17N_FLT_CFLAGS = @M17N_FLT_CFLAGS@ 140M17N_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)