summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.fetch2
-rw-r--r--RepositoryExternal.mk1
-rw-r--r--configure.ac6
-rw-r--r--download.lst3
-rw-r--r--harfbuzz/ExternalPackage_harfbuzz.mk5
-rw-r--r--harfbuzz/ExternalProject_harfbuzz.mk6
-rw-r--r--harfbuzz/UnpackedTarball_harfbuzz.mk5
-rw-r--r--harfbuzz/harfbuzz-0.9.16-winxp.patch.1137
-rw-r--r--harfbuzz/harfbuzz.configure.patch.1108
9 files changed, 14 insertions, 259 deletions
diff --git a/Makefile.fetch b/Makefile.fetch
index 2ea9ac817af9..dbfcc5dbb039 100644
--- a/Makefile.fetch
+++ b/Makefile.fetch
@@ -77,6 +77,7 @@ $(WORKDIR)/download: $(BUILDDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR)
$(call fetch_Optional,LIBATOMIC_OPS,LIBATOMIC_OPS_TARBALL) \
$(call fetch_Optional,CDR,CDR_TARBALL) \
$(call fetch_Optional,FIREBIRD,FIREBIRD_TARBALL) \
+ $(call fetch_Optional,HARFBUZZ,HARFBUZZ_TARBALL) \
$(call fetch_Optional,MSPUB,MSPUB_TARBALL) \
$(call fetch_Optional,MWAW,MWAW_TARBALL) \
$(call fetch_Optional,VISIO,VISIO_TARBALL) \
@@ -114,7 +115,6 @@ $(WORKDIR)/download: $(BUILDDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR)
$(call fetch_Optional,GLIBC,$(GLIBC_TARBALL)) \
$(call fetch_Optional,HSQLDB,$(HSQLDB_TARBALL)) \
$(call fetch_Optional,HUNSPELL,$(HUNSPELL_TARBALL)) \
- $(call fetch_Optional,HARFBUZZ,$(HARFBUZZ_TARBALL)) \
$(call fetch_Optional,HYPHEN,$(HYPHEN_TARBALL)) \
$(call fetch_Optional,ICU,$(ICU_TARBALL)) \
$(call fetch_Optional,ICU,$(ICU_51_LAYOUT_FIX_TARBALL)) \
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 1015b6c88cd9..5962dc40906a 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -1246,6 +1246,7 @@ $(call gb_LinkTarget_use_package,$(1),\
)
$(call gb_LinkTarget_use_static_libraries,$(1),\
harfbuzz \
+ harfbuzz-icu \
)
endef
diff --git a/configure.ac b/configure.ac
index b0514a03d499..eb08245495de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8910,11 +8910,7 @@ AC_MSG_CHECKING([whether to enable HarfBuzz support])
if test "$_os" != "WINNT" -a "$_os" != "Darwin"; then
AC_MSG_RESULT([yes])
ENABLE_HARFBUZZ="TRUE"
- if $PKG_CONFIG --atleast-version 0.9.18 harfbuzz; then
- libo_CHECK_SYSTEM_MODULE([harfbuzz],[HARFBUZZ],[harfbuzz-icu >= 0.9.18])
- else
- libo_CHECK_SYSTEM_MODULE([harfbuzz],[HARFBUZZ],[harfbuzz >= 0.9.10])
- fi
+ libo_CHECK_SYSTEM_MODULE([harfbuzz],[HARFBUZZ],[harfbuzz-icu >= 0.9.18])
else
AC_MSG_RESULT([no])
fi
diff --git a/download.lst b/download.lst
index b8259aa35952..f859583a0118 100644
--- a/download.lst
+++ b/download.lst
@@ -10,6 +10,8 @@ FIREBIRD_MD5SUM := 21154d2004e025c8a3666625b0357bb5
export FIREBIRD_TARBALL := Firebird-2.5.2.26540-0.tar.bz2
# FIREBIRD_MD5SUM := b259c2d1c60a03bd104108405ae990a7
# export FIREBIRD_TARBALL := Firebird-3.0-alpha1-20130302.tar.gz
+HARFBUZZ_MD5SUM := 9782581ee6ef972554772e84ca448131
+export HARFBUZZ_TARBALL := harfbuzz-0.9.19.tar.bz2
LIBATOMIC_OPS_MD5SUM := c0b86562d5aa40761a87134f83e6adcf
export LIBATOMIC_OPS_TARBALL := libatomic_ops-7_2d.zip
@@ -44,7 +46,6 @@ export GRAPHITE_TARBALL := f5ef3f7f10fa8c3542c6a085a233080b-graphite2-1.2.0.tgz
export GLIBC_TARBALL := 4a660ce8466c9df01f19036435425c3a-glibc-2.1.3-stub.tar.gz
export HSQLDB_TARBALL := 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
export HUNSPELL_TARBALL := 3121aaf3e13e5d88dfff13fb4a5f1ab8-hunspell-1.3.2.tar.gz
-export HARFBUZZ_TARBALL := c48827713e93539dc7285f9e86ffbdc5-harfbuzz-0.9.17.tar.bz2
export HYPHEN_TARBALL := a2f6010987e1c601274ab5d63b72c944-hyphen-2.8.4.tar.gz
export ICU_TARBALL := 6eef33b229d0239d654983028c9c7053-icu4c-51_1-src.tgz
export ICU_51_LAYOUT_FIX_TARBALL := 7650341b04f05ff2595bf064f3e41f41-icu-51-layout-fix-10107.tgz
diff --git a/harfbuzz/ExternalPackage_harfbuzz.mk b/harfbuzz/ExternalPackage_harfbuzz.mk
index cb3339d21661..e6420aaec9c2 100644
--- a/harfbuzz/ExternalPackage_harfbuzz.mk
+++ b/harfbuzz/ExternalPackage_harfbuzz.mk
@@ -11,7 +11,10 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,harfbuzz,harfbuzz))
$(eval $(call gb_ExternalPackage_use_external_project,harfbuzz,harfbuzz))
-$(eval $(call gb_ExternalPackage_add_file,harfbuzz,lib/libharfbuzz.a,src/.libs/libharfbuzz.a))
+$(eval $(call gb_ExternalPackage_add_files,harfbuzz,lib,\
+ src/.libs/libharfbuzz.a \
+ src/.libs/libharfbuzz-icu.a \
+))
# vim: set noet sw=4 ts=4:
diff --git a/harfbuzz/ExternalProject_harfbuzz.mk b/harfbuzz/ExternalProject_harfbuzz.mk
index 007e3dd0fc59..f49553d4b6c8 100644
--- a/harfbuzz/ExternalProject_harfbuzz.mk
+++ b/harfbuzz/ExternalProject_harfbuzz.mk
@@ -25,8 +25,12 @@ $(call gb_ExternalProject_get_state_target,harfbuzz,build) :
--enable-static \
--disable-shared \
--with-pic \
+ --with-icu=yes \
+ --with-freetype=no \
+ --with-cairo=no \
+ --with-glib=no \
$(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
- && (cd $(EXTERNAL_WORKDIR)/src && $(MAKE) libharfbuzz.la) \
+ && (cd $(EXTERNAL_WORKDIR)/src && $(MAKE)) \
)
# vim: set noet sw=4 ts=4:
diff --git a/harfbuzz/UnpackedTarball_harfbuzz.mk b/harfbuzz/UnpackedTarball_harfbuzz.mk
index 9c6d81f592eb..0bda2a186e2a 100644
--- a/harfbuzz/UnpackedTarball_harfbuzz.mk
+++ b/harfbuzz/UnpackedTarball_harfbuzz.mk
@@ -11,9 +11,4 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,harfbuzz))
$(eval $(call gb_UnpackedTarball_set_tarball,harfbuzz,$(HARFBUZZ_TARBALL),,harfbuzz))
-$(eval $(call gb_UnpackedTarball_add_patches,harfbuzz, \
- harfbuzz/harfbuzz.configure.patch.1 \
- harfbuzz/harfbuzz-0.9.16-winxp.patch.1 \
-))
-
# vim: set noet sw=4 ts=4:
diff --git a/harfbuzz/harfbuzz-0.9.16-winxp.patch.1 b/harfbuzz/harfbuzz-0.9.16-winxp.patch.1
deleted file mode 100644
index 3787136039bb..000000000000
--- a/harfbuzz/harfbuzz-0.9.16-winxp.patch.1
+++ /dev/null
@@ -1,137 +0,0 @@
---- harfbuzz-0.9.16/src/hb-uniscribe.cc 2013-04-19 03:36:12.000000000 +0200
-+++ harfbuzz-0.9.16/src/hb-uniscribe.cc 2013-05-08 17:13:37.874217344 +0200
-@@ -44,6 +44,10 @@
- #endif
-
-
-+typedef HRESULT WINAPI (*SIOT)(const WCHAR*,int,int,const SCRIPT_CONTROL*,const SCRIPT_STATE*,SCRIPT_ITEM*,OPENTYPE_TAG*,int*);
-+typedef HRESULT WINAPI (*SSOT)(HDC,SCRIPT_CACHE*,SCRIPT_ANALYSIS*,OPENTYPE_TAG,OPENTYPE_TAG,int*,TEXTRANGE_PROPERTIES**,int,const WCHAR*,int,int,WORD*,SCRIPT_CHARPROP*,WORD*,SCRIPT_GLYPHPROP*,int*);
-+typedef HRESULT WINAPI (*SPOT)(HDC,SCRIPT_CACHE*,SCRIPT_ANALYSIS*,OPENTYPE_TAG,OPENTYPE_TAG,int*,TEXTRANGE_PROPERTIES**,int,const WCHAR*,const WORD*,const SCRIPT_CHARPROP*,int,const WORD*,const SCRIPT_GLYPHPROP*,int,int*,GOFFSET*,ABC*);
-+
- /*
- DWORD GetFontData(
- __in HDC hdc,
-@@ -240,6 +244,11 @@
- hb_face_t *face = font->face;
- hb_uniscribe_shaper_face_data_t *face_data = HB_SHAPER_DATA_GET (face);
- hb_uniscribe_shaper_font_data_t *font_data = HB_SHAPER_DATA_GET (font);
-+ SIOT siot = NULL;
-+ SSOT ssot = NULL;
-+ SPOT spot = NULL;
-+ HMODULE hinstLib = GetModuleHandle("usp10.dll");
-+
-
- #define FAIL(...) \
- HB_STMT_START { \
-@@ -249,6 +258,15 @@
-
- HRESULT hr;
-
-+ if (hinstLib)
-+ {
-+ siot = (SIOT)GetProcAddress(hinstLib, "ScriptItemizeOpenType");
-+
-+ ssot = (SSOT)GetProcAddress(hinstLib, "ScriptShapeOpenType");
-+
-+ spot = (SPOT)GetProcAddress(hinstLib, "ScriptPlaceOpenType");
-+ }
-+
- retry:
-
- unsigned int scratch_size;
-@@ -291,6 +309,7 @@
-
- ALLOCATE_ARRAY (WORD, glyphs, glyphs_size);
- ALLOCATE_ARRAY (SCRIPT_GLYPHPROP, glyph_props, glyphs_size);
-+ ALLOCATE_ARRAY (SCRIPT_VISATTR, vis_attr, glyphs_size);
- ALLOCATE_ARRAY (int, advances, glyphs_size);
- ALLOCATE_ARRAY (GOFFSET, offsets, glyphs_size);
- ALLOCATE_ARRAY (uint32_t, vis_clusters, glyphs_size);
-@@ -312,7 +331,8 @@
- bidi_state.uBidiLevel = HB_DIRECTION_IS_FORWARD (buffer->props.direction) ? 0 : 1;
- bidi_state.fOverrideDirection = 1;
-
-- hr = ScriptItemizeOpenType (wchars,
-+ if (siot && ssot && spot) {
-+ hr = siot (wchars,
- chars_len,
- MAX_ITEMS,
- &bidi_control,
-@@ -320,6 +340,16 @@
- items,
- script_tags,
- &item_count);
-+ }
-+ else {
-+ hr = ScriptItemize(wchars,
-+ chars_len,
-+ MAX_ITEMS,
-+ &bidi_control,
-+ &bidi_state,
-+ items,
-+ &item_count);
-+ }
- if (unlikely (FAILED (hr)))
- FAIL ("ScriptItemizeOpenType() failed: 0x%08xL", hr);
-
-@@ -344,7 +374,8 @@
- unsigned int item_chars_len = items[i + 1].iCharPos - chars_offset;
-
- retry_shape:
-- hr = ScriptShapeOpenType (font_data->hdc,
-+ if (siot && ssot && spot) {
-+ hr = ssot (font_data->hdc,
- &font_data->script_cache,
- &items[i].a,
- script_tags[i],
-@@ -361,6 +392,20 @@
- glyphs + glyphs_offset,
- glyph_props + glyphs_offset,
- (int *) &glyphs_len);
-+ }
-+ else {
-+ hr = ScriptShape (font_data->hdc,
-+ &font_data->script_cache,
-+ wchars + chars_offset,
-+ item_chars_len,
-+ glyphs_size - glyphs_offset,
-+ &items[i].a,
-+ /* out */
-+ glyphs + glyphs_offset,
-+ log_clusters + chars_offset,
-+ vis_attr + glyphs_offset,
-+ (int *) &glyphs_len);
-+ }
-
- if (unlikely (items[i].a.fNoGlyphIndex))
- FAIL ("ScriptShapeOpenType() set fNoGlyphIndex");
-@@ -386,7 +431,8 @@
- for (unsigned int j = chars_offset; j < chars_offset + item_chars_len; j++)
- log_clusters[j] += glyphs_offset;
-
-- hr = ScriptPlaceOpenType (font_data->hdc,
-+ if (siot && ssot && spot) {
-+ hr = spot (font_data->hdc,
- &font_data->script_cache,
- &items[i].a,
- script_tags[i],
-@@ -405,6 +451,19 @@
- advances + glyphs_offset,
- offsets + glyphs_offset,
- NULL);
-+ }
-+ else {
-+ hr = ScriptPlace (font_data->hdc,
-+ &font_data->script_cache,
-+ glyphs + glyphs_offset,
-+ glyphs_len,
-+ vis_attr + glyphs_offset,
-+ &items[i].a,
-+ /* out */
-+ advances + glyphs_offset,
-+ offsets + glyphs_offset,
-+ NULL);
-+ }
- if (unlikely (FAILED (hr)))
- FAIL ("ScriptPlaceOpenType() failed: 0x%08xL", hr);
-
diff --git a/harfbuzz/harfbuzz.configure.patch.1 b/harfbuzz/harfbuzz.configure.patch.1
deleted file mode 100644
index c66e2b74d60a..000000000000
--- a/harfbuzz/harfbuzz.configure.patch.1
+++ /dev/null
@@ -1,108 +0,0 @@
-diff -ur harfbuzz.org/configure harfbuzz/configure
---- harfbuzz.org/configure 2013-04-22 20:45:32.738213297 +0200
-+++ harfbuzz/configure 2013-04-22 20:46:56.334209801 +0200
-@@ -16813,7 +16885,7 @@
-
-
-
--have_hb_old=true
-+have_hb_old=false
- if $have_hb_old; then
-
- $as_echo "#define HAVE_HB_OLD 1" >>confdefs.h
-@@ -16829,7 +16901,7 @@
-
-
-
--have_ucdn=true
-+have_ucdn=false
- if $have_ucdn; then
-
- $as_echo "#define HAVE_UCDN 1" >>confdefs.h
-@@ -16914,7 +16986,7 @@
- GLIB_LIBS=$pkg_cv_GLIB_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-- have_glib=true
-+ have_glib=false
- fi
- if $have_glib; then
-
-@@ -16999,7 +17071,7 @@
- GOBJECT_LIBS=$pkg_cv_GOBJECT_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-- have_gobject=true
-+ have_gobject=false
- fi
- if $have_gobject; then
-
-@@ -17087,7 +17159,7 @@
- CAIRO_LIBS=$pkg_cv_CAIRO_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-- have_cairo=true
-+ have_cairo=false
- fi
- if $have_cairo; then
-
-@@ -17172,7 +17244,7 @@
- CAIRO_FT_LIBS=$pkg_cv_CAIRO_FT_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-- have_cairo_ft=true
-+ have_cairo_ft=false
- fi
- if $have_cairo_ft; then
-
-@@ -17457,7 +17529,7 @@
- ICU_LE_LIBS=$pkg_cv_ICU_LE_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-- have_icu_le=true
-+ have_icu_le=false
- fi
- if test "$have_icu_le" != "true"; then
- if test -n "$ac_tool_prefix"; then
-@@ -17555,12 +17555,12 @@
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ICU_LE by using icu-config fallback" >&5
- $as_echo_n "checking for ICU_LE by using icu-config fallback... " >&6; }
- if test "$ICU_CONFIG" != "no" && "$ICU_CONFIG" --version >/dev/null; then
-- have_icu_le=true
-+ have_icu_le=false
- # We don't use --cflags as this gives us a lot of things that we don't
- # necessarily want, like debugging and optimization flags
- # See man (1) icu-config for more info.
- ICU_LE_CFLAGS=`$ICU_CONFIG --cppflags`
-- ICU_LE_LIBS=`$ICU_CONFIG --ldflags-searchpath --ldflags-libsonly --ldflags-layout`
-+ ICU_LE_LIBS=`$ICU_CONFIG --ldflags-searchpath --ldflags-libsonly --ldflags-layout | tr "\n" " "`
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-@@ -17654,7 +17654,7 @@
- GRAPHITE2_LIBS=$pkg_cv_GRAPHITE2_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-- have_graphite=true
-+ have_graphite=false
- fi
- if $have_graphite; then
-
-@@ -17740,7 +17812,7 @@
- FREETYPE_LIBS=$pkg_cv_FREETYPE_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-- have_freetype=true
-+ have_freetype=false
- fi
- if $have_freetype; then
-
-@@ -17825,7 +17897,7 @@
- ac_fn_c_check_type "$LINENO" "CTFontRef" "ac_cv_type_CTFontRef" "#include <ApplicationServices/ApplicationServices.h>
- "
- if test "x$ac_cv_type_CTFontRef" = xyes; then :
-- have_coretext=true
-+ have_coretext=false
- else
- have_coretext=false
- fi