[Libreoffice-commits] core.git: configure.ac download.lst harfbuzz/ExternalPackage_harfbuzz.mk harfbuzz/ExternalProject_harfbuzz.mk harfbuzz/harfbuzz-0.9.16-winxp.patch.1 harfbuzz/harfbuzz.configure.patch.1 harfbuzz/UnpackedTarball_harfbuzz.mk Makefile.fetch RepositoryExternal.mk

Khaled Hosny khaledhosny at eglug.org
Mon Aug 19 02:14:10 PDT 2013


 Makefile.fetch                         |    2 
 RepositoryExternal.mk                  |    1 
 configure.ac                           |    6 -
 download.lst                           |    3 
 harfbuzz/ExternalPackage_harfbuzz.mk   |    5 -
 harfbuzz/ExternalProject_harfbuzz.mk   |    6 +
 harfbuzz/UnpackedTarball_harfbuzz.mk   |    5 -
 harfbuzz/harfbuzz-0.9.16-winxp.patch.1 |  137 ---------------------------------
 harfbuzz/harfbuzz.configure.patch.1    |  108 --------------------------
 9 files changed, 14 insertions(+), 259 deletions(-)

New commits:
commit 3bd7d5520fc15ee0e0cf930e73041ce6a18cb619
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Sat Aug 17 14:47:55 2013 +0200

    Update internal HarfBuzz to 0.9.19
    
    Change-Id: I520832508a8d419e394817a0e25949071928f612
    Reviewed-on: https://gerrit.libreoffice.org/5478
    Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
    Tested-by: Fridrich Strba <fridrich at documentfoundation.org>

diff --git a/Makefile.fetch b/Makefile.fetch
index 2ea9ac8..dbfcc5d 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 1015b6c..5962dc4 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 b0514a0..eb08245 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 b8259aa..f859583 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 cb3339d..e6420aa 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 007e3dd..f49553d 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 9c6d81f..0bda2a1 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 3787136..0000000
--- 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 c66e2b7..0000000
--- 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


More information about the Libreoffice-commits mailing list