diff options
Diffstat (limited to 'external/fontconfig')
-rw-r--r-- | external/fontconfig/ExternalPackage_fontconfig_data.mk | 58 | ||||
-rw-r--r-- | external/fontconfig/ExternalProject_fontconfig.mk | 48 | ||||
-rw-r--r-- | external/fontconfig/Makefile | 7 | ||||
-rw-r--r-- | external/fontconfig/Module_fontconfig.mk | 18 | ||||
-rw-r--r-- | external/fontconfig/README | 6 | ||||
-rw-r--r-- | external/fontconfig/UnpackedTarball_fontconfig.mk | 18 | ||||
-rw-r--r-- | external/fontconfig/fontconfig-2.12.1.patch.1 | 135 |
7 files changed, 290 insertions, 0 deletions
diff --git a/external/fontconfig/ExternalPackage_fontconfig_data.mk b/external/fontconfig/ExternalPackage_fontconfig_data.mk new file mode 100644 index 000000000..cc33c2670 --- /dev/null +++ b/external/fontconfig/ExternalPackage_fontconfig_data.mk @@ -0,0 +1,58 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_ExternalPackage_ExternalPackage,fontconfig_data,fontconfig)) + +$(eval $(call gb_ExternalPackage_use_external_project,fontconfig_data,fontconfig)) + +$(eval $(call gb_ExternalPackage_add_files,fontconfig_data,$(LIBO_SHARE_FOLDER)/fontconfig,\ + fonts.conf \ +)) + +$(eval $(call gb_ExternalPackage_add_unpacked_files,fontconfig_data,$(LIBO_SHARE_FOLDER)/fontconfig/conf.d,\ + conf.d/05-reset-dirs-sample.conf \ + conf.d/09-autohint-if-no-hinting.conf \ + conf.d/10-autohint.conf \ + conf.d/10-hinting-full.conf \ + conf.d/10-hinting-medium.conf \ + conf.d/10-hinting-none.conf \ + conf.d/10-hinting-slight.conf \ + conf.d/10-no-sub-pixel.conf \ + conf.d/10-scale-bitmap-fonts.conf \ + conf.d/10-sub-pixel-bgr.conf \ + conf.d/10-sub-pixel-rgb.conf \ + conf.d/10-sub-pixel-vbgr.conf \ + conf.d/10-sub-pixel-vrgb.conf \ + conf.d/10-unhinted.conf \ + conf.d/11-lcdfilter-default.conf \ + conf.d/11-lcdfilter-legacy.conf \ + conf.d/11-lcdfilter-light.conf \ + conf.d/20-unhint-small-vera.conf \ + conf.d/25-unhint-nonlatin.conf \ + conf.d/30-metric-aliases.conf \ + conf.d/35-lang-normalize.conf \ + conf.d/40-nonlatin.conf \ + conf.d/45-generic.conf \ + conf.d/45-latin.conf \ + conf.d/49-sansserif.conf \ + conf.d/50-user.conf \ + conf.d/51-local.conf \ + conf.d/60-generic.conf \ + conf.d/60-latin.conf \ + conf.d/65-fonts-persian.conf \ + conf.d/65-khmer.conf \ + conf.d/65-nonlatin.conf \ + conf.d/69-unifont.conf \ + conf.d/70-no-bitmaps.conf \ + conf.d/70-yes-bitmaps.conf \ + conf.d/80-delicious.conf \ + conf.d/90-synthetic.conf \ +)) + +# vim: set shiftwidth=4 tabstop=4 noexpandtab: diff --git a/external/fontconfig/ExternalProject_fontconfig.mk b/external/fontconfig/ExternalProject_fontconfig.mk new file mode 100644 index 000000000..9f85faa39 --- /dev/null +++ b/external/fontconfig/ExternalProject_fontconfig.mk @@ -0,0 +1,48 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_ExternalProject_ExternalProject,fontconfig)) + +$(eval $(call gb_ExternalProject_use_externals,fontconfig,\ + expat \ + freetype \ +)) + +$(eval $(call gb_ExternalProject_register_targets,fontconfig,\ + build \ +)) + +$(call gb_ExternalProject_get_state_target,fontconfig,build) : + $(call gb_Trace_StartRange,fontconfig,EXTERNAL) + $(call gb_ExternalProject_run,build,\ + CFLAGS="$(CFLAGS) \ + $(call gb_ExternalProject_get_build_flags,fontconfig) \ + $(gb_VISIBILITY_FLAGS) \ + $(if $(filter EMSCRIPTEN,$(OS)),-pthread)" \ + $(if $(filter ANDROID,$(OS)),LIBS="-lm") \ + LDFLAGS="$(call gb_ExternalProject_get_link_flags,fontconfig)" \ + $(gb_RUN_CONFIGURE) ./configure \ + --disable-shared \ + --disable-silent-rules \ + --with-pic \ + $(if $(filter ANDROID,$(OS)),--with-arch=arm) \ + --with-expat-includes=$(call gb_UnpackedTarball_get_dir,expat)/lib \ + --with-expat-lib=$(gb_StaticLibrary_WORKDIR) \ + $(gb_CONFIGURE_PLATFORMS) \ + $(if $(filter EMSCRIPTEN,$(OS)), \ + --with-baseconfigdir=/instdir/share/fontconfig \ + --with-cache-dir=/instdir/share/fontconfig/cache \ + --with-add-fonts=/instdir/share/fonts \ + ac_cv_func_fstatfs=no ac_cv_func_fstatvfs=no \ + ) \ + && $(MAKE) -C src && $(MAKE) fonts.conf \ + ) + $(call gb_Trace_EndRange,fontconfig,EXTERNAL) + +# vim: set noet sw=4 ts=4: diff --git a/external/fontconfig/Makefile b/external/fontconfig/Makefile new file mode 100644 index 000000000..e4968cf85 --- /dev/null +++ b/external/fontconfig/Makefile @@ -0,0 +1,7 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- + +module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +include $(module_directory)/../../solenv/gbuild/partial_build.mk + +# vim: set noet sw=4 ts=4: diff --git a/external/fontconfig/Module_fontconfig.mk b/external/fontconfig/Module_fontconfig.mk new file mode 100644 index 000000000..2f8f9c8f5 --- /dev/null +++ b/external/fontconfig/Module_fontconfig.mk @@ -0,0 +1,18 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Module_Module,fontconfig)) + +$(eval $(call gb_Module_add_targets,fontconfig,\ + ExternalProject_fontconfig \ + $(if $(filter EMSCRIPTEN,$(OS)),ExternalPackage_fontconfig_data) \ + UnpackedTarball_fontconfig \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/fontconfig/README b/external/fontconfig/README new file mode 100644 index 000000000..220ee6078 --- /dev/null +++ b/external/fontconfig/README @@ -0,0 +1,6 @@ +This "bundled" fontconfig is built only in an Android build + +Fontconfig is a font configuration and customization library. It is designed to locate fonts +within the system and select them according to requirements specified by applications. + +From [ http://packages.debian.org/squeeze/fontconfig ]
\ No newline at end of file diff --git a/external/fontconfig/UnpackedTarball_fontconfig.mk b/external/fontconfig/UnpackedTarball_fontconfig.mk new file mode 100644 index 000000000..6026a817c --- /dev/null +++ b/external/fontconfig/UnpackedTarball_fontconfig.mk @@ -0,0 +1,18 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_UnpackedTarball_UnpackedTarball,fontconfig)) + +$(eval $(call gb_UnpackedTarball_set_tarball,fontconfig,$(FONTCONFIG_TARBALL),,fontconfig)) + +$(eval $(call gb_UnpackedTarball_add_patches,fontconfig,\ + external/fontconfig/fontconfig-2.12.1.patch.1 \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/fontconfig/fontconfig-2.12.1.patch.1 b/external/fontconfig/fontconfig-2.12.1.patch.1 new file mode 100644 index 000000000..f348d2aa8 --- /dev/null +++ b/external/fontconfig/fontconfig-2.12.1.patch.1 @@ -0,0 +1,135 @@ +diff -up fontconfig/configure.dt fontconfig/configure +--- fontconfig/configure.dt 2017-02-01 22:07:29.671668568 +0100 ++++ fontconfig/configure 2017-02-01 22:09:53.335215490 +0100 +@@ -10469,7 +10469,7 @@ _LT_EOF + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support +- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $lib' + archive_expsym_cmds='' + ;; + m68k) +@@ -10485,7 +10485,7 @@ _LT_EOF + allow_undefined_flag=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME +- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags -o $lib' + else + ld_shlibs=no + fi +@@ -10519,7 +10519,7 @@ _LT_EOF + ;; + + haiku*) +- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $lib' + link_all_deplibs=yes + ;; + +@@ -10614,13 +10614,13 @@ _LT_EOF + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac +- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ +- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' ++ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in +@@ -10650,8 +10650,8 @@ _LT_EOF + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else +- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags -o $lib' ++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + +@@ -10669,8 +10669,8 @@ _LT_EOF + + _LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags -o $lib' ++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi +@@ -10698,8 +10698,8 @@ _LT_EOF + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' +- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $lib' ++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi +@@ -10716,8 +10716,8 @@ _LT_EOF + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags -o $lib' ++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi +@@ -11016,7 +11016,7 @@ fi + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support +- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' ++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $lib' + archive_expsym_cmds='' + ;; + m68k) +@@ -11285,7 +11285,7 @@ fi + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then +- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. +@@ -11313,7 +11313,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 + $as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then +- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' ++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' +@@ -11408,7 +11408,7 @@ $as_echo "$lt_cv_irix_exported_symbol" > + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' +- archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ++ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' +@@ -11421,7 +11421,7 @@ $as_echo "$lt_cv_irix_exported_symbol" > + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' +- archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ++ archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' |