[PATCH] Add HarfBuzz support to the build system
Khaled Hosny
khaledhosny at eglug.org
Sun Apr 21 01:51:34 PDT 2013
Hi,
I didn't know that it will submit each commit separately (git review),
should I abandon this and the next commits and squash them into one?
Also, there are some unresolved issues that I can't handle, may be
submitting to gerrit wasn't the best idea after all.
Regards,
Khaled
On Sun, Apr 21, 2013 at 08:19:15AM +0000, Khaled Hosny (via Code Review) wrote:
> 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 at eglug.org>
>
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libreoffice
More information about the LibreOffice
mailing list