gecko/gfx/2d/Makefile.in
2013-07-08 11:53:00 -04:00

70 lines
1.9 KiB
Makefile

#
# 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/.
DEPTH = @DEPTH@
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = $(srcdir) $(srcdir)/unittest
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = gfx2d
MSVC_ENABLE_PGO := 1
LIBXUL_LIBRARY = 1
EXPORT_LIBRARY = 1
DEFINES += -DMOZ_GFX -DUSE_CAIRO -DGFX2D_INTERNAL
ifeq ($(MOZ_WIDGET_TOOLKIT),$(findstring $(MOZ_WIDGET_TOOLKIT),android gtk2 gtk3 gonk qt))
DEFINES += -DMOZ_ENABLE_FREETYPE
OS_CXXFLAGS += $(CAIRO_FT_CFLAGS)
endif
DEFINES += -DSK_A32_SHIFT=24 -DSK_R32_SHIFT=16 -DSK_G32_SHIFT=8 -DSK_B32_SHIFT=0
ifdef MOZ_DEBUG
DEFINES += -DGFX_LOG_DEBUG -DGFX_LOG_WARNING
endif
# Are we targeting x86 or x64? If so, build SSE2 files.
ifneq (,$(INTEL_ARCHITECTURE))
# VC2005 doesn't support _mm_castsi128_ps, so SSE2 is turned off
ifneq (1400,$(_MSC_VER))
DEFINES += -DUSE_SSE2
endif
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
DEFINES += -DWIN32 -DINITGUID
ifdef MOZ_ENABLE_SKIA
DEFINES += -DSKIA_IMPLEMENTATION=1 -DGR_IMPLEMENTATION=1
endif
endif
include $(topsrcdir)/config/rules.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk
# Due to bug 796023, we can't have -DUNICODE and -D_UNICODE; defining those
# macros changes the type of LOGFONT to LOGFONTW instead of LOGFONTA. This
# changes the symbol names of exported C++ functions that use LOGFONT.
DEFINES := $(filter-out -DUNICODE -D_UNICODE,$(DEFINES))
# The file uses SSE2 intrinsics, so it needs special compile flags on some
# compilers.
ifneq (,$(INTEL_ARCHITECTURE))
ifdef GNU_CC
ImageScalingSSE2.$(OBJ_SUFFIX): CXXFLAGS+=-msse2
BlurSSE2.$(OBJ_SUFFIX): CXXFLAGS+=-msse2
endif
ifdef SOLARIS_SUNPRO_CXX
ImageScalingSSE2.$(OBJ_SUFFIX): OS_CXXFLAGS += -xarch=sse2 -xO4
BlurSSE2.$(OBJ_SUFFIX): OS_CXXFLAGS += -xarch=sse2 -xO4
endif
endif
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS)