summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKal Conley <kcconley@gmail.com>2016-02-26 00:35:15 +0100
committerKal Conley <kcconley@gmail.com>2016-02-26 00:35:15 +0100
commitb424b6c372dfe4c0ed75a49761eb34a416819446 (patch)
tree34f0edb6ecce02f7134bd56d4c3cd94987c8204a
parent0c7fb7419c20d04b803412945565562c32b42929 (diff)
Add --with-icu=builtin configure option
-rw-r--r--configure.ac33
-rw-r--r--src/Makefile.am7
2 files changed, 26 insertions, 14 deletions
diff --git a/configure.ac b/configure.ac
index 91ccb70d..38b976b6 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 839f8997..8cfe4ac7 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