diff options
32 files changed, 318 insertions, 205 deletions
diff --git a/Makefile.top b/Makefile.top index af7d91d99125..70feaced6414 100644 --- a/Makefile.top +++ b/Makefile.top @@ -49,6 +49,7 @@ binaryurp\ bluez_bluetooth\ boost\ bridges\ +cairo\ canvas\ chart2\ cli_ure\ @@ -217,7 +218,6 @@ zlib\ dmake_modules:=\ berkeleydb\ -cairo\ cppunit\ crashrep\ external\ diff --git a/Module_tail_build.mk b/Module_tail_build.mk index 4f2c9e2a7f4f..c237d2647c6f 100644 --- a/Module_tail_build.mk +++ b/Module_tail_build.mk @@ -42,6 +42,7 @@ $(eval $(call gb_Module_add_moduledirs,tail_end,\ binaryurp \ $(call gb_Helper_optional,BLUEZ,bluez_bluetooth) \ bridges \ + $(call gb_Helper_optional,CAIRO,cairo) \ canvas \ chart2 \ cli_ure \ diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index ad12be06f12e..5b66ac1f8a47 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -744,43 +744,27 @@ $(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS)) endef -else # !SYSTEM_CAIRO +else ifeq ($(SYSTEM_CAIRO),NO) $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \ cairo \ + $(if $(filter-out MACOSX WNT,$(OS)), \ + pixman-1 \ + ) \ )) -ifneq ($(OS),WNT) -ifeq ($(OS),MACOSX) -$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \ - pixman-1 \ -)) -else -$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \ - pixman-1 \ -)) -endif # MACOSX -endif # WNT define gb_LinkTarget__use_cairo $(call gb_LinkTarget_set_include,$(1),\ - $$(INCLUDE) \ - -I$(OUTDIR)/inc/cairo \ + -I$(call gb_UnpackedTarball_get_dir,cairo)/src \ $(FREETYPE_CFLAGS) \ + $$(INCLUDE) \ ) $(call gb_LinkTarget_use_libraries,$(1),\ cairo \ + $(if $(filter-out MACOSX WNT,$(OS)), \ + pixman-1 \ + ) \ ) -ifneq ($(OS),WNT) -ifeq ($(OS),MACOSX) -$(call gb_LinkTarget_use_static_libraries,$(1),\ - pixman-1 \ -) -else -$(call gb_LinkTarget_use_libraries,$(1),\ - pixman-1 \ -) -endif -endif endef diff --git a/RepositoryFixes.mk b/RepositoryFixes.mk index fc5158e22c32..ecc63690fcef 100644 --- a/RepositoryFixes.mk +++ b/RepositoryFixes.mk @@ -106,7 +106,6 @@ gb_Library_DLLFILENAMES := $(patsubst ssl:ssl%,ssl:ssleay32%,$(gb_Library_DLLFIL else # $(COM) != GCC -gb_Library_FILENAMES := $(patsubst cairo:icairo%,cairo:cairo%,$(gb_Library_FILENAMES)) gb_Library_FILENAMES := $(patsubst croco-0.6-3:icroco-0.6-3%,croco-0.6-3:libcroco-0.6-3%,$(gb_Library_FILENAMES)) gb_Library_FILENAMES := $(patsubst comphelper:icomphelper%,comphelper:icomphelp%,$(gb_Library_FILENAMES)) gb_Library_FILENAMES := $(patsubst cppunit:icppunit%,cppunit:icppunit_dll%,$(gb_Library_FILENAMES)) diff --git a/RepositoryModule_ooo.mk b/RepositoryModule_ooo.mk index 63666cdd8c78..cc372590b6f1 100644 --- a/RepositoryModule_ooo.mk +++ b/RepositoryModule_ooo.mk @@ -46,6 +46,7 @@ $(eval $(call gb_Module_add_moduledirs,ooo,\ $(call gb_Helper_optional,BLUEZ,bluez_bluetooth) \ $(call gb_Helper_optional,BOOST,boost) \ bridges \ + $(call gb_Helper_optional,CAIRO,cairo) \ canvas \ chart2 \ cli_ure \ diff --git a/cairo/ExternalPackage_cairo.mk b/cairo/ExternalPackage_cairo.mk new file mode 100644 index 000000000000..5830d4daae63 --- /dev/null +++ b/cairo/ExternalPackage_cairo.mk @@ -0,0 +1,16 @@ +# -*- 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,cairo,cairo)) + +$(eval $(call gb_ExternalPackage_use_external_project,cairo,cairo)) + +$(eval $(call gb_ExternalPackage_add_file,cairo,lib/libcairo.so,src/.libs/libcairo.so.2.11000.2)) + +# vim: set noet sw=4 ts=4: diff --git a/cairo/ExternalPackage_pixman.mk b/cairo/ExternalPackage_pixman.mk new file mode 100644 index 000000000000..ec5f86b3c7be --- /dev/null +++ b/cairo/ExternalPackage_pixman.mk @@ -0,0 +1,16 @@ +# -*- 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,pixman,pixman)) + +$(eval $(call gb_ExternalPackage_use_external_project,pixman,pixman)) + +$(eval $(call gb_ExternalPackage_add_file,pixman,lib/libpixman-1.so,pixman/.libs/libpixman-1.so.0.24.4)) + +# vim: set noet sw=4 ts=4: diff --git a/cairo/ExternalProject_cairo.mk b/cairo/ExternalProject_cairo.mk new file mode 100644 index 000000000000..cb51d62be093 --- /dev/null +++ b/cairo/ExternalProject_cairo.mk @@ -0,0 +1,54 @@ +# -*- 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,cairo)) + +$(eval $(call gb_ExternalProject_use_unpacked,cairo,cairo)) + +$(eval $(call gb_ExternalProject_use_external_project,cairo,pixman)) + +$(eval $(call gb_ExternalProject_register_targets,cairo,\ + build \ +)) + +ifeq ($(OS)$(COM),WNTMSC) + +$(call gb_ExternalProject_get_state_target,cairo,build) : + cd $(EXTERNAL_WORKDIR) \ + && $(MAKE) -f Makefile.win32 CFG=release ZLIB3RDLIB=zlib.lib \ + && touch $@ + +else + +$(call gb_ExternalProject_get_state_target,cairo,build) : + cd $(EXTERNAL_WORKDIR) \ + && ./configure \ + $(if $(debug),STRIP=" ") \ + CFLAGS="$(if $(debug),-g) $(SOLARINC)" \ + LDFLAGS='-L$(OUTDIR)/lib' \ + $(if $(filter ANDROID IOS,$(OS)),PKG_CONFIG=./dummy_pkg_config) \ + pixman_CFLAGS="-I$(call gb_UnpackedTarball_get_dir,pixman)/pixman" \ + pixman_LIBS="-L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1" \ + COMPRESS=$(if $(filter YES,$(SYSTEM_ZLIB)),compress,z_compress) \ + ZLIB3RDLIB=-lz \ + $(if $(filter NO,$(SYSTEM_PNG)),png_CFLAGS="-I$(OUTDIR)/inc/external/libpng" png_LIBS="-L$(OUTDIR)/lib -lpng") \ + $(if $(filter IOS,$(OS)),--disable-shared,--disable-static) \ + $(if $(filter ANDROID IOS,$(OS)),--disable-xlib,--enable-xlib) \ + $(if $(filter IOS,$(OS)),--enable-quartz --enable-quartz-font) \ + --disable-valgrind \ + $(if $(filter IOS,$(OS)),--disable-ft,--enable-ft --enable-fc) \ + --disable-svg --enable-gtk-doc=no --enable-test-surfaces=no \ + $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ + $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \ + && cd src && $(MAKE) \ + && touch $@ + +endif + +# vim: set noet sw=4 ts=4: diff --git a/cairo/ExternalProject_pixman.mk b/cairo/ExternalProject_pixman.mk new file mode 100644 index 000000000000..4cc3dc9232dc --- /dev/null +++ b/cairo/ExternalProject_pixman.mk @@ -0,0 +1,45 @@ +# -*- 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,pixman)) + +$(eval $(call gb_ExternalProject_use_unpacked,pixman,pixman)) + +$(eval $(call gb_ExternalProject_register_targets,pixman,\ + build \ +)) + +ifeq ($(OS)$(COM),WNTMSC) + +$(call gb_ExternalProject_get_state_target,pixman,build) : + cd $(EXTERNAL_WORKDIR)/pixman \ + && $(MAKE) -f Makefile.win32 MMX=on SSE2=on CFG=release \ + && touch $@ + +else + +# ANDROID: +# The pixman-cpu.c code wants to read /proc/<pid>/auxv, but +# the Android headers don't define Elf32_auxv_t. +# +# Maybe we should instead just patch the arm_has_* booleans in +# pixman-cpu.c to be hardcoded as TRUE and patch out the run-time +# check? +$(call gb_ExternalProject_get_state_target,pixman,build) : + cd $(EXTERNAL_WORKDIR) \ + && ./configure \ + $(if $(filter MACOSX IOS,$(OS)),--disable-shared,--disable-static) \ + $(if $(filter ANDROID,$(OS)),--disable-arm-simd --disable-arm-neon --disable-arm-iwmmxt) \ + $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ + && $(MAKE) \ + && touch $@ + +endif + +# vim: set noet sw=4 ts=4: diff --git a/cairo/Makefile b/cairo/Makefile new file mode 100644 index 000000000000..ccb1c85a04da --- /dev/null +++ b/cairo/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/cairo/Module_cairo.mk b/cairo/Module_cairo.mk new file mode 100644 index 000000000000..a990b699d57e --- /dev/null +++ b/cairo/Module_cairo.mk @@ -0,0 +1,25 @@ +# -*- 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,cairo)) + +ifeq ($(SYSTEM_CAIRO),NO) + +$(eval $(call gb_Module_add_targets,cairo,\ + ExternalPackage_cairo \ + ExternalPackage_pixman \ + ExternalProject_cairo \ + ExternalProject_pixman \ + UnpackedTarball_cairo \ + UnpackedTarball_pixman \ +)) + +endif + +# vim: set noet sw=4 ts=4: diff --git a/cairo/UnpackedTarball_cairo.mk b/cairo/UnpackedTarball_cairo.mk new file mode 100644 index 000000000000..fd14ffe4c7dd --- /dev/null +++ b/cairo/UnpackedTarball_cairo.mk @@ -0,0 +1,44 @@ +# -*- 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,cairo)) + +$(eval $(call gb_UnpackedTarball_set_tarball,cairo,$(CAIRO_TARBALL))) + +$(eval $(call gb_UnpackedTarball_add_patches,cairo,\ + cairo/cairo/cairo-1.10.2.patch \ + cairo/cairo/cairo.dlsym.lcdfilter.patch \ + cairo/cairo/cairo-1.10.2-oldfontconfig.patch \ +)) + +ifeq ($(OS)$(COM),WNTMSC) +$(eval $(call gb_UnpackedTarball_add_patches,cairo,\ + cairo/cairo/cairo-1.10.2.wntmsc.patch \ +)) +endif + +# FIXME add cairo/cairo/cairo-1.10.2.no-atsui.patch for MACOSX >= 1070 +ifeq ($(OS),IOS) +$(eval $(call gb_UnpackedTarball_add_patches,cairo,\ + cairo/cairo/cairo-1.10.2.no-atsui.patch \ + cairo/cairo/cairo-1.10.2.ios.patch \ +)) +endif + +ifeq ($(OS),ANDROID) +$(eval $(call gb_UnpackedTarball_add_patches,cairo,\ + cairo/cairo/cairo-1.10.2.android.patch \ +)) +endif + +ifneq (,$(filter ANDROID IOS,$(OS))) +$(eval $(call gb_UnpackedTarball_add_file,cairo,.,cairo/cairo/dummy_pkg_config)) +endif + +# vim: set noet sw=4 ts=4: diff --git a/cairo/UnpackedTarball_pixman.mk b/cairo/UnpackedTarball_pixman.mk new file mode 100644 index 000000000000..3e44bc97c5ba --- /dev/null +++ b/cairo/UnpackedTarball_pixman.mk @@ -0,0 +1,28 @@ +# -*- 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,pixman)) + +$(eval $(call gb_UnpackedTarball_set_tarball,pixman,$(PIXMAN_TARBALL))) + +$(eval $(call gb_UnpackedTarball_add_patches,pixman,\ + cairo/pixman/pixman-0.24.4.patch \ +)) + +ifeq ($(OS),ANDROID) +$(eval $(call gb_UnpackedTarball_add_patches,pixman,\ + cairo/pixman/pixman-0.24.4.android.patch \ +)) +endif + +ifeq ($(OS)$(COM),WNTMSC) +$(eval $(call gb_UnpackedTarball_add_file,pixman,pixman,cairo/pixman/Makefile.win32.common)) +endif + +# vim: set noet sw=4 ts=4: diff --git a/cairo/cairo-1.10.2.configure_ac.patch b/cairo/cairo-1.10.2.configure_ac.patch deleted file mode 100644 index 1305206a6f5b..000000000000 --- a/cairo/cairo-1.10.2.configure_ac.patch +++ /dev/null @@ -1,70 +0,0 @@ ---- misc/cairo-1.10.2/configure.ac 2010-12-13 17:30:14.000000000 +0100 -+++ misc/build/cairo-1.10.2/configure.ac 2010-12-13 17:30:14.000000000 +0100 -@@ -33,13 +33,8 @@ - - dnl =========================================================================== - --AC_CHECK_LIB(z, compress, -- [AC_CHECK_HEADER(zlib.h, [ - have_libz=yes - AC_DEFINE(HAVE_ZLIB, 1, [Define to 1 if you have zlib available]) -- ], -- [have_libz="no (requires zlib http://www.gzip.org/zlib/)"])], -- [have_libz="no (requires zlib http://www.gzip.org/zlib/)"]) - - AC_CHECK_LIB(dl, dlsym, - [have_dlsym=yes; have_dl=yes], -@@ -279,7 +271,7 @@ - AC_ARG_VAR([png_REQUIRES], [module name for libpng to search for using pkg-config]) - if test "x$png_REQUIRES" = x; then - # libpng13 is GnuWin32's libpng-1.2.8 :-( -- for l in libpng libpng14 libpng12 libpng13 libpng10; do -+ for l in libpng libpng14 libpng12 libpng15 libpng13 libpng10; do - if $PKG_CONFIG --exists $l ; then - png_REQUIRES=$l - use_png=yes -@@ -455,7 +455,7 @@ - AX_COMPARE_VERSION([$FREETYPE_VERSION], [gt], [$FREETYPE_MIN_VERSION], - [AC_MSG_RESULT($FREETYPE_VERSION - OK) - ft_NONPKGCONFIG_CFLAGS=`$FREETYPE_CONFIG --cflags` -- ft_NONPKGCONFIG_LIBS=`$FREETYPE_CONFIG --libs`], -+ ft_NONPKGCONFIG_LIBS=`$FREETYPE_CONFIG --libs | $SED -e 's/-lz//g'`], - [AC_MSG_RESULT($FREETYPE_VERSION - Too old) - use_ft="no ($FREETYPE_VERSION found; version $FREETYPE_MIN_VERSION from release $FREETYPE_MIN_RELEASE required)"]) - fi -@@ -462,7 +462,7 @@ - fi - - ft_CFLAGS="$FREETYPE_CFLAGS" -- ft_LIBS="$FREETYPE_LIBS" -+ ft_LIBS=`echo "$FREETYPE_LIBS" | $SED -e 's/-lz//g'` - ]) - - FONTCONFIG_MIN_VERSION=2.2.95 -@@ -505,7 +505,7 @@ - CAIRO_ENABLE_SURFACE_BACKEND(ps, PostScript, yes, [ - # The ps backend requires zlib. - use_ps=$have_libz -- ps_NONPKGCONFIG_LIBS=-lz -+ ps_NONPKGCONFIG_LIBS=$ZLIB3RDLIB - ]) - - dnl =========================================================================== -@@ -542,7 +542,7 @@ - CAIRO_ENABLE_SURFACE_BACKEND(pdf, PDF, yes, [ - # The pdf backend requires zlib. - use_pdf=$have_libz -- pdf_NONPKGCONFIG_LIBS=-lz -+ pdf_NONPKGCONFIG_LIBS=$ZLIB3RDLIB - ]) - - dnl =========================================================================== -@@ -623,7 +623,7 @@ - CAIRO_ENABLE_SURFACE_BACKEND(tee, tee, no) - CAIRO_ENABLE_SURFACE_BACKEND(xml, xml, no, [ - use_xml=$have_libz -- xml_NONPKGCONFIG_LIBS=-lz -+ xml_NONPKGCONFIG_LIBS=$ZLIB3RDLIB - ]) - - dnl =========================================================================== diff --git a/cairo/cairo-1.10.2-oldfontconfig.patch b/cairo/cairo/cairo-1.10.2-oldfontconfig.patch index d19258aef753..d19258aef753 100644 --- a/cairo/cairo-1.10.2-oldfontconfig.patch +++ b/cairo/cairo/cairo-1.10.2-oldfontconfig.patch diff --git a/cairo/cairo-1.10.2.android.patch b/cairo/cairo/cairo-1.10.2.android.patch index e894063f0d92..e894063f0d92 100644 --- a/cairo/cairo-1.10.2.android.patch +++ b/cairo/cairo/cairo-1.10.2.android.patch diff --git a/cairo/cairo-1.10.2.ios.patch b/cairo/cairo/cairo-1.10.2.ios.patch index c61faf333f0c..c61faf333f0c 100644 --- a/cairo/cairo-1.10.2.ios.patch +++ b/cairo/cairo/cairo-1.10.2.ios.patch diff --git a/cairo/cairo-1.10.2.no-atsui.patch b/cairo/cairo/cairo-1.10.2.no-atsui.patch index 51b98afa59b9..51b98afa59b9 100644 --- a/cairo/cairo-1.10.2.no-atsui.patch +++ b/cairo/cairo/cairo-1.10.2.no-atsui.patch diff --git a/cairo/cairo-1.10.2.patch b/cairo/cairo/cairo-1.10.2.patch index fce11491699c..fce11491699c 100644 --- a/cairo/cairo-1.10.2.patch +++ b/cairo/cairo/cairo-1.10.2.patch diff --git a/cairo/cairo-1.10.2.wntmsc.patch b/cairo/cairo/cairo-1.10.2.wntmsc.patch index 1aa882a03163..1aa882a03163 100644 --- a/cairo/cairo-1.10.2.wntmsc.patch +++ b/cairo/cairo/cairo-1.10.2.wntmsc.patch diff --git a/cairo/cairo.dlsym.lcdfilter.patch b/cairo/cairo/cairo.dlsym.lcdfilter.patch index 46f7ac74fd7a..46f7ac74fd7a 100644 --- a/cairo/cairo.dlsym.lcdfilter.patch +++ b/cairo/cairo/cairo.dlsym.lcdfilter.patch diff --git a/cairo/pixman/Makefile.win32.common b/cairo/pixman/Makefile.win32.common new file mode 100644 index 000000000000..30b94e7b1ea3 --- /dev/null +++ b/cairo/pixman/Makefile.win32.common @@ -0,0 +1,54 @@ +LIBRARY = pixman-1 + +CC = cl +LD = link +AR = lib +PERL = perl + +ifeq ($(top_builddir),) +top_builddir = $(top_srcdir) +endif + +CFG_VAR = $(CFG) +ifeq ($(CFG_VAR),) +CFG_VAR = release +endif + +ifeq ($(CFG_VAR),debug) +CFG_CFLAGS = -MD -Od -Zi +CFG_LDFLAGS = -DEBUG +else +CFG_CFLAGS = -MD -O2 +CFG_LDFLAGS = +endif + +# Package definitions, to be used instead of those provided in config.h +PKG_CFLAGS = -DPACKAGE=$(LIBRARY) -DPACKAGE_VERSION="" -DPACKAGE_BUGREPORT="" + +BASE_CFLAGS = -nologo -I. -I$(top_srcdir) -I$(top_srcdir)/pixman + +PIXMAN_CFLAGS = $(BASE_CFLAGS) $(PKG_CFLAGS) $(CFG_CFLAGS) $(CFLAGS) +PIXMAN_LDFLAGS = -nologo $(CFG_LDFLAGS) $(LDFLAGS) +PIXMAN_ARFLAGS = -nologo $(LDFLAGS) + + +inform: +ifneq ($(CFG),release) +ifneq ($(CFG),debug) +ifneq ($(CFG),) + @echo "Invalid specified configuration option: "$(CFG)"." + @echo + @echo "Possible choices for configuration are 'release' and 'debug'" + @exit 1 +endif + @echo "Using default RELEASE configuration... (use CFG=release or CFG=debug)" +endif +endif + + +$(CFG_VAR)/%.obj: %.c $(BUILT_SOURCES) + @mkdir -p $(CFG_VAR) + @$(CC) -c $(PIXMAN_CFLAGS) -Fo"$@" $< + +clean: inform + @$(RM) $(CFG_VAR)/*.{exe,ilk,lib,obj,pdb} $(BUILT_SOURCES) || exit 0 diff --git a/cairo/pixman-0.24.4.android.patch b/cairo/pixman/pixman-0.24.4.android.patch index ae0626eaa02b..ae0626eaa02b 100644 --- a/cairo/pixman-0.24.4.android.patch +++ b/cairo/pixman/pixman-0.24.4.android.patch diff --git a/cairo/pixman-0.24.4.patch b/cairo/pixman/pixman-0.24.4.patch index 88a44f926ca3..72fd03a0f177 100644 --- a/cairo/pixman-0.24.4.patch +++ b/cairo/pixman/pixman-0.24.4.patch @@ -1,61 +1,3 @@ ---- misc/pixman-0.24.4/Makefile.win32.common 2011-12-16 15:30:44.653987145 +0100 -+++ misc/build/pixman-0.24.4/Makefile.win32.common 2011-12-16 15:30:37.288130250 +0100 -@@ -1 +1,54 @@ --dummy -+LIBRARY = pixman-1 -+ -+CC = cl -+LD = link -+AR = lib -+PERL = perl -+ -+ifeq ($(top_builddir),) -+top_builddir = $(top_srcdir) -+endif -+ -+CFG_VAR = $(CFG) -+ifeq ($(CFG_VAR),) -+CFG_VAR = release -+endif -+ -+ifeq ($(CFG_VAR),debug) -+CFG_CFLAGS = -MD -Od -Zi -+CFG_LDFLAGS = -DEBUG -+else -+CFG_CFLAGS = -MD -O2 -+CFG_LDFLAGS = -+endif -+ -+# Package definitions, to be used instead of those provided in config.h -+PKG_CFLAGS = -DPACKAGE=$(LIBRARY) -DPACKAGE_VERSION="" -DPACKAGE_BUGREPORT="" -+ -+BASE_CFLAGS = -nologo -I. -I$(top_srcdir) -I$(top_srcdir)/pixman -+ -+PIXMAN_CFLAGS = $(BASE_CFLAGS) $(PKG_CFLAGS) $(CFG_CFLAGS) $(CFLAGS) -+PIXMAN_LDFLAGS = -nologo $(CFG_LDFLAGS) $(LDFLAGS) -+PIXMAN_ARFLAGS = -nologo $(LDFLAGS) -+ -+ -+inform: -+ifneq ($(CFG),release) -+ifneq ($(CFG),debug) -+ifneq ($(CFG),) -+ @echo "Invalid specified configuration option: "$(CFG)"." -+ @echo -+ @echo "Possible choices for configuration are 'release' and 'debug'" -+ @exit 1 -+endif -+ @echo "Using default RELEASE configuration... (use CFG=release or CFG=debug)" -+endif -+endif -+ -+ -+$(CFG_VAR)/%.obj: %.c $(BUILT_SOURCES) -+ @mkdir -p $(CFG_VAR) -+ @$(CC) -c $(PIXMAN_CFLAGS) -Fo"$@" $< -+ -+clean: inform -+ @$(RM) $(CFG_VAR)/*.{exe,ilk,lib,obj,pdb} $(BUILT_SOURCES) || exit 0 --- misc/pixman-0.24.4/Makefile.in 2011-11-06 22:11:25.000000000 +0100 +++ misc/build/pixman-0.24.4/Makefile.in 2011-12-16 09:06:45.317211035 +0100 @@ -272,7 +272,7 @@ diff --git a/cairo/prj/build.lst b/cairo/prj/build.lst index 9e8db83da055..5957d1e45350 100644 --- a/cairo/prj/build.lst +++ b/cairo/prj/build.lst @@ -1,4 +1,2 @@ lcairo cairo : FONTCONFIG:fontconfig ZLIB:zlib LIBPNG:libpng soltools NULL -lcairo cairo usr1 - all lcairo_mkout NULL -lcairo cairo\pixman nmake - all lcairo_pixman NULL -lcairo cairo\cairo nmake - all lcairo_cairo lcairo_pixman NULL +lcairo cairo\prj nmake - all lcairo_prj NULL diff --git a/cairo/prj/d.lst b/cairo/prj/d.lst index 79ca424607a9..e69de29bb2d1 100644 --- a/cairo/prj/d.lst +++ b/cairo/prj/d.lst @@ -1,15 +0,0 @@ -mkdir: %_DEST%\inc\cairo -mkdir: %_DEST%\inc\external -mkdir: %_DEST%\inc\external\cairo -..\%__SRC%\inc\cairo*.h %_DEST%\inc\cairo\cairo*.h -..\%__SRC%\inc\cairo*.h %_DEST%\inc\external\cairo\cairo*.h - -..\%__SRC%\lib\lib*.so %_DEST%\lib\lib*.so -..\%__SRC%\lib\lib*.so.* %_DEST%\lib\lib*.so.* -..\%__SRC%\lib\lib*.dylib %_DEST%\lib\lib*.dylib -..\%__SRC%\lib\lib*.a %_DEST%\lib\lib*.a -..\%__SRC%\lib\lib*.la %_DEST%\lib\lib*.la -..\%__SRC%\lib\*.lib %_DEST%\lib\*.lib -..\%__SRC%\bin\*.dll %_DEST%\bin\*.dll -..\%__SRC%\lib\*.dll %_DEST%\bin\*.dll -..\%__SRC%\bin\*.dll.a %_DEST%\lib\*.a diff --git a/cairo/prj/dmake b/cairo/prj/dmake deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/cairo/prj/dmake +++ /dev/null diff --git a/configure.ac b/configure.ac index 5adc27e95744..7e36a36021a1 100644 --- a/configure.ac +++ b/configure.ac @@ -253,7 +253,7 @@ test_xrender=yes test_cups=yes test_dbus=yes test_fontconfig=yes -test_cairo=yes +test_cairo=no # Default values, as such probably valid just for Linux, set # differently below just for Mac OSX,but at least better than @@ -4290,7 +4290,7 @@ if test "$enable_headless" = "yes"; then test_kde=no test_kde4=no test_unix_quickstarter=no - test_cairo=no + enable_cairo_canvas=no enable_gnome_vfs=no fi @@ -9425,6 +9425,7 @@ if test $_os = Darwin -o $_os = iOS -o $_os = Android -o "$enable_headless" = "y fi ENABLE_GTK="" if test "x$enable_gtk" = "xyes"; then + test_cairo=yes ENABLE_GTK="TRUE" R="gtk $R" fi @@ -9698,7 +9699,8 @@ elif test -z "$enable_cairo_canvas"; then fi ENABLE_CAIRO_CANVAS="" -if test "$test_cairo" = "yes" -a "$enable_cairo_canvas" = "yes"; then +if test "$enable_cairo_canvas" = "yes"; then + test_cairo=yes ENABLE_CAIRO_CANVAS="TRUE" fi AC_SUBST(ENABLE_CAIRO_CANVAS) @@ -11420,8 +11422,10 @@ dnl =================================================================== dnl Test whether to build cairo or rely on the system version dnl =================================================================== - -SYSTEM_CAIRO="" +if test "$GUIBASE" = "unx"; then + # Used in vcl/Library_vclplug_gen.mk + test_cairo=yes +fi if test "$test_cairo" = "yes" ; then AC_MSG_CHECKING([whether to use the system cairo]) @@ -11452,29 +11456,12 @@ if test "$test_cairo" = "yes" ; then libo_MINGW_TRY_DLL([PIXMAN], [libpixman]) libo_MINGW_TRY_DLL([PNG15], [libpng15]) else + SYSTEM_CAIRO=NO AC_MSG_RESULT([no]) - if test $_os = WINNT; then - dnl We only need cairo for Windows if we - dnl build librsvg or directx disabled - if test -z "$ENABLE_DIRECTX"; then - CAIRO_TARBALL="f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz" - PIXMAN_TARBALL="c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2" - BUILD_TYPE="$BUILD_TYPE CAIRO" - fi - else - if test "$enable_cairo_canvas" = "yes"; then - CAIRO_TARBALL="f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz" - PIXMAN_TARBALL="c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2" - BUILD_TYPE="$BUILD_TYPE CAIRO" - else - if test "$with_system_cairo" != "yes"; then - CAIRO_TARBALL="f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz" - PIXMAN_TARBALL="c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2" - BUILD_TYPE="$BUILD_TYPE CAIRO" - fi - fi - fi + CAIRO_TARBALL="f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz" + PIXMAN_TARBALL="c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2" + BUILD_TYPE="$BUILD_TYPE CAIRO" fi fi diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp index deeca822de2e..abf10a489aea 100644 --- a/scp2/source/ooo/file_library_ooo.scp +++ b/scp2/source/ooo/file_library_ooo.scp @@ -601,11 +601,7 @@ File gid_File_Lib_Pixman Styles = (PACKED); Dir = SCP2_OOO_BIN_DIR; #ifdef UNX - #ifdef MACOSX - Name = "libpixman-1.a"; - #else Name = STRING(CONCAT3(libpixman-1,UNXSUFFIX,.0)); - #endif #endif End diff --git a/tail_build/prj/build.lst b/tail_build/prj/build.lst index 39c216eeccd9..4f94749ba346 100644 --- a/tail_build/prj/build.lst +++ b/tail_build/prj/build.lst @@ -1,2 +1,2 @@ -tb tail_build : BERKELEYDB:berkeleydb CAIRO:cairo CPPUNIT:cppunit EXPAT:expat ICU:icu LIBXML2:libxml2 libxmlsec LIBXSLT:libxslt MOZ:moz NSS:nss OPENSSL:openssl PYTHON:python REDLAND:redland XPDF:xpdf ZLIB:zlib external solenv soltools NULL +tb tail_build : BERKELEYDB:berkeleydb CPPUNIT:cppunit EXPAT:expat ICU:icu LIBXML2:libxml2 libxmlsec LIBXSLT:libxslt MOZ:moz NSS:nss OPENSSL:openssl PYTHON:python REDLAND:redland XPDF:xpdf ZLIB:zlib external solenv soltools NULL tb tail_build\prj nmake - all tb_prj NULL diff --git a/vcl/Library_vclplug_gtk.mk b/vcl/Library_vclplug_gtk.mk index c336b6c297e6..153498c037ee 100644 --- a/vcl/Library_vclplug_gtk.mk +++ b/vcl/Library_vclplug_gtk.mk @@ -57,6 +57,7 @@ $(eval $(call gb_Library_use_libraries,vclplug_gtk,\ )) $(eval $(call gb_Library_use_externals,vclplug_gtk,\ + cairo \ dbus \ gio \ gtk \ diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx index 3613cf5e0b71..6c20e9b7b924 100644 --- a/vcl/inc/unx/gtk/gtkframe.hxx +++ b/vcl/inc/unx/gtk/gtkframe.hxx @@ -21,7 +21,7 @@ #define _VCL_GTKFRAME_HXX #include <tools/prex.h> -#include <cairo/cairo.h> +#include <cairo.h> #include <gdk/gdk.h> #include <gdk/gdkx.h> #include <gtk/gtk.h> |