From b424b6c372dfe4c0ed75a49761eb34a416819446 Mon Sep 17 00:00:00 2001 From: Kal Conley Date: Fri, 26 Feb 2016 00:35:15 +0100 Subject: [PATCH 1/2] Add --with-icu=builtin configure option --- configure.ac | 33 +++++++++++++++++++-------------- src/Makefile.am | 7 +++++++ 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/configure.ac b/configure.ac index 91ccb70da..38b976b60 100644 --- a/configure.ac +++ b/configure.ac @@ -197,17 +197,6 @@ m4_ifdef([GOBJECT_INTROSPECTION_CHECK], [ AM_CONDITIONAL([HAVE_INTROSPECTION], false) ]) -dnl =========================================================================== - -have_ucdn=true -if $have_glib; then - have_ucdn=false -fi -if $have_ucdn; then - AC_DEFINE(HAVE_UCDN, 1, [Have UCDN Unicode functions]) -fi -AM_CONDITIONAL(HAVE_UCDN, $have_ucdn) - dnl ========================================================================== AC_ARG_WITH(cairo, @@ -256,11 +245,11 @@ AM_CONDITIONAL(HAVE_FONTCONFIG, $have_fontconfig) dnl ========================================================================== AC_ARG_WITH(icu, - [AS_HELP_STRING([--with-icu=@<:@yes/no/auto@:>@], + [AS_HELP_STRING([--with-icu=@<:@yes/no/builtin/auto@:>@], [Use ICU @<:@default=auto@:>@])],, [with_icu=auto]) have_icu=false -if test "x$with_icu" = "xyes" -o "x$with_icu" = "xauto"; then +if test "x$with_icu" = "xyes" -o "x$with_icu" = "xbuiltin" -o "x$with_icu" = "xauto"; then PKG_CHECK_MODULES(ICU, icu-uc, have_icu=true, :) dnl Fallback to icu-config if ICU pkg-config files could not be found @@ -282,14 +271,30 @@ if test "x$with_icu" = "xyes" -o "x$with_icu" = "xauto"; then fi fi fi -if test "x$with_icu" = "xyes" -a "x$have_icu" != "xtrue"; then +if test \( "x$with_icu" = "xyes" -o "x$with_icu" = "xbuiltin" \) -a "x$have_icu" != "xtrue"; then AC_MSG_ERROR([icu support requested but icu-uc not found]) fi + if $have_icu; then CXXFLAGS="$CXXFLAGS `$PKG_CONFIG --variable=CXXFLAGS icu-uc`" AC_DEFINE(HAVE_ICU, 1, [Have ICU library]) + if test "x$with_icu" = "xbuiltin"; then + AC_DEFINE(HAVE_ICU_BUILTIN, 1, [Use hb-icu Unicode callbacks]) + fi fi AM_CONDITIONAL(HAVE_ICU, $have_icu) +AM_CONDITIONAL(HAVE_ICU_BUILTIN, $have_icu && test "x$with_icu" = "xbuiltin") + +dnl =========================================================================== + +have_ucdn=true +if $have_glib || $have_icu && test "x$with_icu" = "xbuiltin"; then + have_ucdn=false +fi +if $have_ucdn; then + AC_DEFINE(HAVE_UCDN, 1, [Have UCDN Unicode functions]) +fi +AM_CONDITIONAL(HAVE_UCDN, $have_ucdn) dnl ========================================================================== diff --git a/src/Makefile.am b/src/Makefile.am index 839f8997a..8cfe4ac7c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -147,6 +147,12 @@ EXTRA_libharfbuzz_fuzzing_la_DEPENDENCIES = $(EXTRA_libharfbuzz_la_DEPENDENCIES) CLEANFILES += libharfbuzz-fuzzing.la if HAVE_ICU +if HAVE_ICU_BUILTIN +HBCFLAGS += $(ICU_CFLAGS) +HBLIBS += $(ICU_LIBS) +HBSOURCES += $(HB_ICU_sources) +HBHEADERS += $(HB_ICU_headers) +else lib_LTLIBRARIES += libharfbuzz-icu.la libharfbuzz_icu_la_SOURCES = $(HB_ICU_sources) libharfbuzz_icu_la_CPPFLAGS = $(ICU_CFLAGS) @@ -155,6 +161,7 @@ libharfbuzz_icu_la_LIBADD = $(ICU_LIBS) libharfbuzz.la pkginclude_HEADERS += $(HB_ICU_headers) pkgconfig_DATA += harfbuzz-icu.pc endif +endif EXTRA_DIST += harfbuzz-icu.pc.in if HAVE_GOBJECT From 5f995db10381172ec63fd7ffbb0acf2c6b3dae5e Mon Sep 17 00:00:00 2001 From: Kal Conley Date: Fri, 26 Feb 2016 00:36:17 +0100 Subject: [PATCH 2/2] Fix missing ICU #include Fix compile error in hb-icu.cc when ICU configured with U_NO_DEFAULT_INCLUDE_UTF_HEADERS=1 --- src/hb-icu.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/hb-icu.cc b/src/hb-icu.cc index 24cec9d72..ee54721fd 100644 --- a/src/hb-icu.cc +++ b/src/hb-icu.cc @@ -36,6 +36,7 @@ #include #include #include +#include #include