Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/3517
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/17/3517/1
Add HarfBuzz support to the build system
To be used in the next commit. No support for non-system build, yet.
Change-Id: I6ee286d0c050a5ca650e7fb3692b0facccb5f0c0
---
M RepositoryExternal.mk
M config_host.mk.in
A config_host/config_harfbuzz.h.in
M configure.ac
M vcl/Library_vcl.mk
5 files changed, 64 insertions(+), 0 deletions(-)
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index df44d2d..2707a23 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -1186,6 +1186,39 @@
endif # SYSTEM_ICU
+ifeq ($(SYSTEM_HARFBUZZ),YES)
+
+define gb_LinkTarget__use_harfbuzz
+$(call gb_LinkTarget_set_include,$(1),\
+ $$(INCLUDE) \
+ $(HARFBUZZ_CFLAGS) \
+)
+$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
+
+endef
+
+else ifeq ($(SYSTEM_HARFBUZZ),NO)
+
+$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
+ harfbuzz \
+))
+define gb_LinkTarget__use_harfbuzz
+$(call gb_LinkTarget_use_unpacked,$(1),harfbuzz)
+$(call gb_LinkTarget_set_include,$(1),\
+ -I$(call gb_UnpackedTarball_get_dir,harfbuzz/include) \
+ $$(INCLUDE) \
+)
+$(call gb_LinkTarget_use_static_libraries,$(1),\
+ harfbuzz \
+)
+
+endef
+
+else # DISABLED HARFBUZZ
+
+gb_LinkTarget__use_harfbuzz :=
+
+endif # SYSTEM_HARFBUZZ
ifeq ($(DISABLE_OPENSSL),YES)
diff --git a/config_host.mk.in b/config_host.mk.in
index 4256fa7..ad33e7d 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -122,6 +122,7 @@
export ENABLE_GIO=@ENABLE_GIO@
export ENABLE_GNOMEVFS=@ENABLE_GNOMEVFS@
export ENABLE_GRAPHITE=@ENABLE_GRAPHITE@
+export ENABLE_HARFBUZZ=@ENABLE_HARFBUZZ@
export ENABLE_GSTREAMER=@ENABLE_GSTREAMER@
export ENABLE_GSTREAMER_0_10=@ENABLE_GSTREAMER_0_10@
export ENABLE_GTK3=@ENABLE_GTK3@
@@ -196,6 +197,8 @@
export GPERF=@GPERF@
export GRAPHITE_CFLAGS=$(gb_SPACE)@GRAPHITE_CFLAGS@
export GRAPHITE_LIBS=$(gb_SPACE)@GRAPHITE_LIBS@
+export HARFBUZZ_CFLAGS=$(gb_SPACE)@HARFBUZZ_CFLAGS@
+export HARFBUZZ_LIBS=$(gb_SPACE)@HARFBUZZ_LIBS@
@x_Cygwin@ export GREP=@WIN_GREP@
export GSSAPI_LIBS=@GSSAPI_LIBS@
export GSTREAMER_0_10_CFLAGS=$(gb_SPACE)@GSTREAMER_0_10_CFLAGS@
@@ -478,6 +481,7 @@
export SYSTEM_GENCCODE=@SYSTEM_GENCCODE@
export SYSTEM_GENCMN=@SYSTEM_GENCMN@
export SYSTEM_GRAPHITE=@SYSTEM_GRAPHITE@
+export SYSTEM_HARFBUZZ=@SYSTEM_HARFBUZZ@
export SYSTEM_HSQLDB=@SYSTEM_HSQLDB@
export SYSTEM_HUNSPELL=@SYSTEM_HUNSPELL@
export SYSTEM_HYPH=@SYSTEM_HYPH@
diff --git a/config_host/config_harfbuzz.h.in b/config_host/config_harfbuzz.h.in
new file mode 100644
index 0000000..b408f52
--- /dev/null
+++ b/config_host/config_harfbuzz.h.in
@@ -0,0 +1,6 @@
+#ifndef CONFIG_HARFBUZZ_H
+#define CONFIG_HARFBUZZ_H
+
+#define ENABLE_HARFBUZZ 0
+
+#endif
diff --git a/configure.ac b/configure.ac
index 2152487..6b844d6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -720,6 +720,11 @@
[Enables the compilation of Graphite smart font rendering.])
)
+AC_ARG_ENABLE(harfbuzz,
+ AS_HELP_STRING([--enable-harfbuzz],
+ [Determines whether to use HarfBuzz text layout engine.])
+)
+
AC_ARG_ENABLE(fetch-external,
AS_HELP_STRING([--disable-fetch-external],
[Disables fetching external tarballs from web sources.])
@@ -8378,6 +8383,20 @@
AC_SUBST(ENABLE_GRAPHITE)
dnl ===================================================================
+dnl HarfBuzz
+dnl ===================================================================
+AC_MSG_CHECKING([whether to enable HarfBuzz support])
+if test "$_os" != "WINNT" -a "$_os" != "Darwin" && test "$enable_harfbuzz" = "" -o
"$enable_harfbuzz" != "no"; then
+ AC_MSG_RESULT([yes])
+ ENABLE_HARFBUZZ="TRUE"
+ AC_DEFINE(ENABLE_HARFBUZZ)
+ libo_CHECK_SYSTEM_MODULE([harfbuzz],[HARFBUZZ],[harfbuzz >= 0.9.10])
+else
+ AC_MSG_RESULT([no])
+fi
+AC_SUBST(ENABLE_HARFBUZZ)
+
+dnl ===================================================================
dnl Check for NPAPI interface to plug browser plugins into LibreOffice documents
dnl ===================================================================
AC_MSG_CHECKING([whether to plug browser plugins into LibreOffice documents])
@@ -11880,6 +11899,7 @@
AC_CONFIG_HEADERS([config_host/config_features.h])
AC_CONFIG_HEADERS([config_host/config_global.h])
AC_CONFIG_HEADERS([config_host/config_graphite.h])
+AC_CONFIG_HEADERS([config_host/config_harfbuzz.h])
AC_CONFIG_HEADERS([config_host/config_kde4.h])
AC_CONFIG_HEADERS([config_host/config_mingw.h])
AC_CONFIG_HEADERS([config_host/config_oox.h])
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index 17d1ef6..870dbd7 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -340,6 +340,7 @@
endif
$(eval $(call gb_Library_use_external,vcl,graphite))
+$(eval $(call gb_Library_use_externals,vcl,harfbuzz))
endif
--
To view, visit https://gerrit.libreoffice.org/3517
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6ee286d0c050a5ca650e7fb3692b0facccb5f0c0
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Khaled Hosny <khaledhosny@eglug.org>
Context
- [PATCH] Add HarfBuzz support to the build system · Khaled Hosny (via Code Review)
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.