Skip to content

Commit

Permalink
Bug 751521 - Separate pixman detection from cairo. r=glandium
Browse files Browse the repository at this point in the history
  • Loading branch information
t-matsuu committed May 26, 2012
1 parent 4f1ec78 commit 92faf33
Show file tree
Hide file tree
Showing 24 changed files with 83 additions and 44 deletions.
2 changes: 2 additions & 0 deletions config/autoconf.mk.in
Expand Up @@ -242,11 +242,13 @@ MOZ_XTF = @MOZ_XTF@
MOZ_FLEXBOX = @MOZ_FLEXBOX@
MOZ_SVG_DLISTS = @MOZ_SVG_DLISTS@
MOZ_CAIRO_CFLAGS = @MOZ_CAIRO_CFLAGS@
MOZ_PIXMAN_CFLAGS = @MOZ_PIXMAN_CFLAGS@

MOZ_PREF_EXTENSIONS = @MOZ_PREF_EXTENSIONS@

MOZ_CAIRO_LIBS = @MOZ_CAIRO_LIBS@
MOZ_CAIRO_OSLIBS = @MOZ_CAIRO_OSLIBS@
MOZ_PIXMAN_LIBS = @MOZ_PIXMAN_LIBS@

MOZ_ENABLE_GNOMEUI = @MOZ_ENABLE_GNOMEUI@
MOZ_GNOMEUI_CFLAGS = @MOZ_GNOMEUI_CFLAGS@
Expand Down
62 changes: 39 additions & 23 deletions configure.in
Expand Up @@ -4802,8 +4802,8 @@ cairo-qt)
cairo-os2)
MOZ_WIDGET_TOOLKIT=os2
USE_FC_FREETYPE=1
TK_CFLAGS='$(MOZ_CAIRO_CFLAGS)'
TK_LIBS='$(MOZ_CAIRO_LIBS)'
TK_CFLAGS='$(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS)'
TK_LIBS='$(MOZ_CAIRO_LIBS) $(MOZ_PIXMAN_LIBS)'
MOZ_PDF_PRINTING=1
;;

Expand Down Expand Up @@ -4838,8 +4838,8 @@ cairo-uikit)
cairo-android)
AC_DEFINE(MOZ_WIDGET_ANDROID)
MOZ_WIDGET_TOOLKIT=android
TK_CFLAGS='$(MOZ_CAIRO_CFLAGS)'
TK_LIBS='$(MOZ_CAIRO_LIBS)'
TK_CFLAGS='$(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS)'
TK_LIBS='$(MOZ_CAIRO_LIBS) $(MOZ_PIXMAN_LIBS)'
MOZ_WEBGL=1
MOZ_PDF_PRINTING=1
MOZ_INSTRUMENT_EVENT_LOOP=1
Expand All @@ -4852,8 +4852,8 @@ cairo-gonk)
AC_DEFINE(MOZ_WIDGET_GONK)
AC_DEFINE(MOZ_TOUCH)
MOZ_WIDGET_TOOLKIT=gonk
TK_CFLAGS='$(MOZ_CAIRO_CFLAGS)'
TK_LIBS='$(MOZ_CAIRO_LIBS)'
TK_CFLAGS='$(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS)'
TK_LIBS='$(MOZ_CAIRO_LIBS) $(MOZ_PIXMAN_LIBS)'
MOZ_WEBGL=1
MOZ_PDF_PRINTING=1
MOZ_TOUCH=1
Expand Down Expand Up @@ -8032,9 +8032,8 @@ MOZ_ENABLE_SKIA=1,
MOZ_ENABLE_SKIA=)

dnl ========================================================
dnl Check for cairo
dnl Check for pixman and cairo
dnl ========================================================
MOZ_CAIRO_CFLAGS='-I$(LIBXUL_DIST)/include/cairo'

MOZ_TREE_CAIRO=1
MOZ_ARG_ENABLE_BOOL(system-cairo,
Expand All @@ -8046,12 +8045,37 @@ MOZ_TREE_PIXMAN=1
MOZ_ARG_ENABLE_BOOL(system-pixman,
[ --enable-system-pixman Use system pixman (located with pkgconfig)],
MOZ_TREE_PIXMAN=,
MOZ_TREE_PIXMAN=force,
MOZ_TREE_PIXMAN=1 )

# System cairo depends on system pixman
if test "$MOZ_TREE_PIXMAN" = "force"; then
if test -z "$MOZ_TREE_CAIRO"; then
AC_MSG_ERROR([--disable-system-pixman is incompatible with --enable-system-cairo.])
else
MOZ_TREE_PIXMAN=1
fi
elif test -z "$MOZ_TREE_CAIRO"; then
MOZ_TREE_PIXMAN=
fi

if test "$MOZ_TREE_PIXMAN"; then
AC_DEFINE(MOZ_TREE_PIXMAN)
MOZ_PIXMAN_CFLAGS=""
MOZ_PIXMAN_LIBS='$(call EXPAND_LIBNAME_PATH,mozlibpixman,$(DEPTH)/gfx/cairo/libpixman/src)'
else
PKG_CHECK_MODULES(PIXMAN, pixman-1 >= 0.19.2)
MOZ_PIXMAN_CFLAGS="$PIXMAN_CFLAGS"
MOZ_PIXMAN_LIBS="$PIXMAN_LIBS"
fi
AC_SUBST(MOZ_PIXMAN_CFLAGS)
AC_SUBST(MOZ_PIXMAN_LIBS)

# Check for headers defining standard int types.
MOZ_CHECK_HEADERS(stdint.h inttypes.h sys/int_types.h)

if test "$MOZ_TREE_CAIRO"; then
MOZ_CAIRO_CFLAGS='-I$(LIBXUL_DIST)/include/cairo'
AC_DEFINE(MOZ_TREE_CAIRO)

# For now we assume that we will have a uint64_t available through
Expand Down Expand Up @@ -8139,15 +8163,6 @@ if test "$MOZ_TREE_CAIRO"; then
MOZ_CAIRO_LIBS='$(call EXPAND_LIBNAME_PATH,mozcairo,$(DEPTH)/gfx/cairo/cairo/src)'" $CAIRO_FT_LIBS"
MOZ_CAIRO_OSLIBS='${CAIRO_FT_OSLIBS}'

if test "$MOZ_TREE_PIXMAN"; then
AC_DEFINE(MOZ_TREE_PIXMAN)
MOZ_CAIRO_LIBS="$MOZ_CAIRO_LIBS"' $(call EXPAND_LIBNAME_PATH,mozlibpixman,$(DEPTH)/gfx/cairo/libpixman/src)'
else
PKG_CHECK_MODULES(PIXMAN, pixman-1 >= 0.19.2)
MOZ_CAIRO_CFLAGS="$MOZ_CAIRO_CFLAGS $PIXMAN_CFLAGS"
MOZ_CAIRO_LIBS="$MOZ_CAIRO_LIBS $PIXMAN_LIBS"
fi

if test "$MOZ_X11"; then
MOZ_CAIRO_OSLIBS="$MOZ_CAIRO_OSLIBS $XLDFLAGS -lXrender -lfreetype -lfontconfig"
fi
Expand All @@ -8156,15 +8171,16 @@ if test "$MOZ_TREE_CAIRO"; then
mv -f $CAIRO_FEATURES_H "$CAIRO_FEATURES_H".orig 2> /dev/null

else
PKG_CHECK_MODULES(CAIRO, cairo >= $CAIRO_VERSION pixman-1 freetype2 fontconfig)
MOZ_CAIRO_CFLAGS=$CAIRO_CFLAGS
MOZ_CAIRO_LIBS=$CAIRO_LIBS
PKG_CHECK_MODULES(CAIRO_TEE, cairo-tee >= $CAIRO_VERSION)
if test "$MOZ_X11"; then
PKG_CHECK_MODULES(CAIRO, cairo >= $CAIRO_VERSION)
MOZ_CAIRO_CFLAGS="$CAIRO_CFLAGS"
MOZ_CAIRO_LIBS="$CAIRO_LIBS"
PKG_CHECK_MODULES(CAIRO_TEE, cairo-tee >= $CAIRO_VERSION)
if test "$MOZ_X11"; then
PKG_CHECK_MODULES(CAIRO_XRENDER, cairo-xlib-xrender >= $CAIRO_VERSION)
MOZ_CAIRO_LIBS="$MOZ_CAIRO_LIBS $XLDFLAGS $CAIRO_XRENDER_LIBS"
MOZ_CAIRO_OSLIBS="$MOZ_CAIRO_LIBS"
MOZ_CAIRO_CFLAGS="$MOZ_CAIRO_CFLAGS $CAIRO_XRENDER_CFLAGS"
fi
fi
fi

AC_SUBST(MOZ_TREE_CAIRO)
Expand Down
2 changes: 1 addition & 1 deletion content/canvas/src/Makefile.in
Expand Up @@ -69,7 +69,7 @@ FORCE_STATIC_LIB = 1
include $(topsrcdir)/config/rules.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk

CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) $(TK_CFLAGS)

INCLUDES += \
-I$(srcdir)/../../../layout/xul/base/src \
Expand Down
1 change: 1 addition & 0 deletions dom/plugins/base/Makefile.in
Expand Up @@ -106,6 +106,7 @@ LOCAL_INCLUDES += \
-I$(topsrcdir)/gfx/skia/include/core \
-I$(topsrcdir)/gfx/skia/include/config \
$(MOZ_CAIRO_CFLAGS) \
$(MOZ_PIXMAN_CFLAGS) \
$(NULL)

include $(topsrcdir)/dom/dom-config.mk
Expand Down
1 change: 1 addition & 0 deletions dom/plugins/base/android/Makefile.in
Expand Up @@ -45,6 +45,7 @@ LOCAL_INCLUDES += \
-I$(topsrcdir)/dom/plugins/base/android/include \
-I$(topsrcdir)/gfx/gl \
$(MOZ_CAIRO_CFLAGS) \
$(MOZ_PIXMAN_CFLAGS) \
$(NULL)

DEFINES += -DMOZ_APP_NAME='"$(MOZ_APP_NAME)"'
Expand Down
2 changes: 1 addition & 1 deletion gfx/2d/Makefile.in
Expand Up @@ -143,4 +143,4 @@ ImageScalingSSE2.$(OBJ_SUFFIX): OS_CXXFLAGS += -xarch=sse2 -xO4
endif
endif

CXXFLAGS += $(MOZ_CAIRO_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS)
4 changes: 2 additions & 2 deletions gfx/cairo/cairo/src/Makefile.in
Expand Up @@ -260,8 +260,8 @@ DEFINES += -DMOZ_TREE_CAIRO
endif

ifndef MOZ_TREE_PIXMAN
CFLAGS += $(MOZ_CAIRO_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS)
CFLAGS += $(MOZ_PIXMAN_CFLAGS)
CXXFLAGS += $(MOZ_PIXMAN_CFLAGS)
else
DEFINES += -DMOZ_TREE_PIXMAN
endif
Expand Down
4 changes: 2 additions & 2 deletions gfx/gl/Makefile.in
Expand Up @@ -111,5 +111,5 @@ include $(topsrcdir)/config/rules.mk

DEFINES := $(filter-out -DUNICODE,$(DEFINES))

CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) $(TK_CFLAGS)
CFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) $(TK_CFLAGS)
2 changes: 1 addition & 1 deletion gfx/ipc/Makefile.in
Expand Up @@ -41,4 +41,4 @@ include $(topsrcdir)/ipc/chromium/chromium-config.mk

include $(topsrcdir)/config/rules.mk

CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) $(TK_CFLAGS)
2 changes: 1 addition & 1 deletion gfx/layers/Makefile.in
Expand Up @@ -137,4 +137,4 @@ include $(topsrcdir)/config/rules.mk

include $(topsrcdir)/ipc/chromium/chromium-config.mk

CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) $(TK_CFLAGS)
2 changes: 1 addition & 1 deletion gfx/src/Makefile.in
Expand Up @@ -73,7 +73,7 @@ endif

include $(topsrcdir)/config/rules.mk

CXXFLAGS += $(TK_CFLAGS) $(MOZ_CAIRO_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) $(TK_CFLAGS)

ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
DEFINES += -DMOZ_ENABLE_GTK2
Expand Down
2 changes: 1 addition & 1 deletion gfx/tests/Makefile.in
Expand Up @@ -67,7 +67,7 @@ _TEST_FILES = $(addprefix mochitest/, \

include $(topsrcdir)/config/rules.mk

CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) $(TK_CFLAGS)

ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
OS_LIBS += $(call EXPAND_LIBNAME,usp10)
Expand Down
4 changes: 2 additions & 2 deletions gfx/thebes/Makefile.in
Expand Up @@ -347,8 +347,8 @@ include $(topsrcdir)/ipc/chromium/chromium-config.mk

DEFINES := $(filter-out -DUNICODE,$(DEFINES))

CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) $(TK_CFLAGS)
CFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) $(TK_CFLAGS)

ifeq ($(MOZ_WIDGET_TOOLKIT),android)
CXXFLAGS += $(CAIRO_FT_CFLAGS)
Expand Down
2 changes: 1 addition & 1 deletion image/src/Makefile.in
Expand Up @@ -49,6 +49,6 @@ include $(topsrcdir)/config/rules.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk

# Because imgFrame.cpp includes "cairo.h"
CXXFLAGS += $(MOZ_CAIRO_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS)


2 changes: 1 addition & 1 deletion layout/base/Makefile.in
Expand Up @@ -138,7 +138,7 @@ LOCAL_INCLUDES += \
-I$(srcdir)/../mathml \
$(NULL)

CXXFLAGS += $(MOZ_CAIRO_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS)

DEFINES += -D_IMPL_NS_LAYOUT
DEFINES += -DHB_DONT_DEFINE_STDINT
Expand Down
1 change: 1 addition & 0 deletions layout/generic/Makefile.in
Expand Up @@ -124,6 +124,7 @@ LOCAL_INCLUDES += \
-I$(srcdir)/../../dom/plugins/base \
-I$(srcdir)/../svg/base/src \
$(MOZ_CAIRO_CFLAGS) \
$(MOZ_PIXMAN_CFLAGS) \
$(NULL)

ifdef MOZ_ENABLE_GTK2
Expand Down
9 changes: 8 additions & 1 deletion layout/media/Makefile.in
Expand Up @@ -20,10 +20,17 @@ endif
SHARED_LIBRARY_LIBS = \
$(MOZ_OTS_LIBS) \
$(QCMS_LIBS) \
$(MOZ_CAIRO_LIBS) \
$(MOZ_HARFBUZZ_LIBS) \
$(NULL)

ifdef MOZ_TREE_CAIRO
SHARED_LIBRARY_LIBS += $(MOZ_CAIRO_LIBS)
endif

ifdef MOZ_TREE_PIXMAN
SHARED_LIBRARY_LIBS += $(MOZ_PIXMAN_LIBS)
endif

ifdef MOZ_GRAPHITE
SHARED_LIBRARY_LIBS += $(MOZ_GRAPHITE_LIBS)
endif
Expand Down
4 changes: 4 additions & 0 deletions layout/media/symbols.def.in
Expand Up @@ -268,6 +268,7 @@ MOZ_XML_SetUnparsedEntityDeclHandler
MOZ_XML_SetUserData
MOZ_XML_SetXmlDeclHandler
MOZ_XML_StopParser
#ifdef MOZ_TREE_CAIRO
_moz_cairo_append_path
_moz_cairo_arc
_moz_cairo_arc_negative
Expand Down Expand Up @@ -434,12 +435,14 @@ _moz_cairo_win32_surface_create_with_ddb
_moz_cairo_win32_surface_create_with_dib
_moz_cairo_win32_surface_get_dc
_moz_cairo_win32_surface_get_image
#ifdef MOZ_TREE_PIXMAN
_moz_pixman_image_composite32
_moz_pixman_image_create_bits
_moz_pixman_image_set_transform
_moz_pixman_image_unref
_moz_pixman_transform_from_pixman_f_transform
_moz_pixman_transform_invert
#endif
cairo_d2d_create_device
cairo_d2d_create_device_from_d3d10device
cairo_d2d_device_get_device
Expand Down Expand Up @@ -471,6 +474,7 @@ cairo_win32_surface_create_with_alpha
cairo_win32_surface_get_height
cairo_win32_surface_get_width
cairo_win32_surface_set_can_convert_to_dib
#endif
hb_blob_create
hb_blob_destroy
hb_blob_get_data
Expand Down
4 changes: 4 additions & 0 deletions toolkit/library/Makefile.in
Expand Up @@ -373,6 +373,10 @@ ifdef MOZ_NATIVE_LIBVPX
EXTRA_DSO_LDOPTS += $(MOZ_LIBVPX_LIBS)
endif

ifndef MOZ_TREE_PIXMAN
EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS)
endif

EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib)

ifdef MOZ_SYDNEYAUDIO
Expand Down
2 changes: 1 addition & 1 deletion view/src/Makefile.in
Expand Up @@ -28,4 +28,4 @@ LOCAL_INCLUDES = \
-I$(srcdir)/../../content/events/src/ \
$(NULL)

CXXFLAGS += $(MOZ_CAIRO_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS)
3 changes: 2 additions & 1 deletion widget/gtk2/Makefile.in
Expand Up @@ -91,7 +91,8 @@ include $(topsrcdir)/ipc/chromium/chromium-config.mk
include $(topsrcdir)/config/rules.mk

CFLAGS += $(MOZ_GTK2_CFLAGS) $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_GTK2_CFLAGS) $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) \
$(MOZ_GTK2_CFLAGS) $(MOZ_STARTUP_NOTIFICATION_CFLAGS)

ifdef MOZ_PLATFORM_MAEMO
ifdef MOZ_ENABLE_GCONF
Expand Down
2 changes: 1 addition & 1 deletion widget/os2/Makefile.in
Expand Up @@ -47,7 +47,7 @@ SHARED_LIBRARY_LIBS = \

include $(topsrcdir)/config/rules.mk

CXXFLAGS += $(MOZ_CAIRO_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS)

DEFINES += -D_IMPL_NS_WIDGET

Expand Down
6 changes: 4 additions & 2 deletions widget/qt/Makefile.in
Expand Up @@ -78,8 +78,10 @@ include $(topsrcdir)/config/config.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk
include $(topsrcdir)/config/rules.mk

CXXFLAGS += $(MOZ_QT_CFLAGS) $(GLIB_CFLAGS) $(MOZ_CAIRO_CFLAGS) $(MOZ_PLATFORM_MAEMO_CFLAGS)
CFLAGS += $(MOZ_QT_CFLAGS) $(GLIB_CFLAGS) $(MOZ_CAIRO_CFLAGS) $(MOZ_PLATFORM_MAEMO_CFLAGS)
CXXFLAGS += $(MOZ_QT_CFLAGS) $(GLIB_CFLAGS) $(MOZ_CAIRO_CFLAGS) \
$(MOZ_PIXMAN_CFLAGS) $(MOZ_PLATFORM_MAEMO_CFLAGS)
CFLAGS += $(MOZ_QT_CFLAGS) $(GLIB_CFLAGS) $(MOZ_CAIRO_CFLAGS) \
$(MOZ_PIXMAN_CFLAGS) $(MOZ_PLATFORM_MAEMO_CFLAGS)

DEFINES += -D_IMPL_NS_WIDGET
#DEFINES += -DDEBUG_WIDGETS
Expand Down
2 changes: 1 addition & 1 deletion widget/windows/Makefile.in
Expand Up @@ -118,4 +118,4 @@ endif

include $(topsrcdir)/config/rules.mk

CXXFLAGS += $(MOZ_CAIRO_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS)

0 comments on commit 92faf33

Please sign in to comment.