gfx/thebes/Makefile.in
author Gregory Szorc <gps@mozilla.com>
Wed, 28 Jan 2015 13:37:00 -0800
branch14_0_Beta_Hedge
changeset 110582 5b81998bb7ab5aade597584417ea90b0995c586e
parent 95222 8f6fdee0a7128026af59db5b363b0befeaa8eb2c
child 96531 3378bceed278d2a03b6ecc52dd0f2f0e78bc926a
permissions -rw-r--r--
Close old branch 14_0_Beta_Hedge

# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Mozilla Foundation.
# Portions created by the Initial Developer are Copyright (C) 2011
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either of the GNU General Public License Version 2 or later (the "GPL"),
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****

DEPTH		= ../..
topsrcdir	= @top_srcdir@
srcdir		= @srcdir@
VPATH		= @srcdir@

include $(DEPTH)/config/autoconf.mk

MODULE		= thebes
LIBRARY_NAME	= thebes
LIBXUL_LIBRARY	= 1
EXPORT_LIBRARY	= 1

EXPORTS	= \
	gfx2DGlue.h \
	gfx3DMatrix.h \
	gfxASurface.h \
	gfxAlphaRecovery.h \
	gfxBlur.h \
	gfxCachedTempSurface.h \
	gfxColor.h \
	gfxContext.h \
	gfxDrawable.h \
	gfxFailure.h \
	gfxFont.h \
	gfxFontConstants.h \
	gfxFontUtils.h \
	gfxFontTest.h \
	gfxImageSurface.h \
	gfxLineSegment.h \
	gfxMatrix.h \
	gfxPath.h \
	gfxPattern.h \
	gfxPlatform.h \
	gfxPoint.h \
	gfxPoint3D.h \
	gfxPointH3D.h \
	gfxQuad.h \
	gfxQuaternion.h \
	gfxRect.h \
	gfxSkipChars.h \
	gfxTeeSurface.h \
	gfxTypes.h \
	gfxUtils.h \
	gfxUserFontSet.h \
	nsCoreAnimationSupport.h \
	nsIOSurface.h \
	gfxSharedImageSurface.h \
	gfxReusableSurfaceWrapper.h \
	$(NULL)

ifeq ($(MOZ_WIDGET_TOOLKIT),android)
EXPORTS += \
	gfxAndroidPlatform.h \
	gfxFT2Fonts.h \
	gfxFT2FontBase.h \
	$(NULL)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),gonk)
EXPORTS += \
	gfxAndroidPlatform.h \
	gfxFT2Fonts.h \
	gfxFT2FontBase.h \
	$(NULL)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
EXPORTS += \
	gfxPlatformMac.h \
	gfxQuartzSurface.h \
	gfxQuartzImageSurface.h \
	gfxQuartzNativeDrawing.h \
	$(NULL)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
EXPORTS += \
	gfxFT2FontBase.h \
	gfxGdkNativeRenderer.h \
	gfxPDFSurface.h \
	gfxPSSurface.h \
	gfxPlatformGtk.h \
	$(NULL)

ifdef MOZ_X11
EXPORTS += \
	gfxXlibSurface.h \
        gfxXlibNativeRenderer.h \
	$(NULL)
endif

ifdef MOZ_PANGO
EXPORTS += gfxPangoFonts.h
else
EXPORTS += gfxFT2Fonts.h
endif

endif

ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
EXPORTS	+= \
	gfxOS2Fonts.h \
	gfxOS2Platform.h \
	gfxOS2Surface.h \
	gfxPDFSurface.h \
	$(NULL)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),qt)
EXPORTS += \
	gfxFT2FontBase.h \
	gfxQPainterSurface.h \
	gfxQtNativeRenderer.h \
	gfxQtPlatform.h \
	gfxPDFSurface.h \
	$(NULL)

ifdef MOZ_X11
EXPORTS += \
	gfxXlibSurface.h \
	$(NULL)
endif

ifdef MOZ_PANGO
EXPORTS += gfxPangoFonts.h
else
EXPORTS += gfxFT2Fonts.h
endif
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
EXPORTS	+= \
	gfxPDFSurface.h \
	gfxWindowsPlatform.h \
	gfxWindowsSurface.h \
	gfxWindowsNativeDrawing.h \
	gfxDWriteFonts.h \
	gfxD2DSurface.h \
	gfxGDIFont.h \
	gfxGDIFontList.h \
	gfxPlatformFontList.h \
	$(NULL)
endif

CPPSRCS	= \
	gfx3DMatrix.cpp \
	gfxASurface.cpp \
	gfxAlphaRecovery.cpp \
	gfxBlur.cpp \
	gfxCachedTempSurface.cpp \
	gfxContext.cpp \
	gfxDrawable.cpp \
	gfxImageSurface.cpp \
	gfxFont.cpp \
	gfxFontMissingGlyphs.cpp \
	gfxFontTest.cpp \
	gfxFontUtils.cpp \
	gfxMatrix.cpp \
	gfxPath.cpp \
	gfxPattern.cpp \
	gfxPlatform.cpp \
	gfxPlatformFontList.cpp \
	gfxRect.cpp \
	gfxSkipChars.cpp \
	gfxTeeSurface.cpp \
	gfxUserFontSet.cpp \
	gfxUtils.cpp \
	gfxScriptItemizer.cpp \
	gfxHarfBuzzShaper.cpp \
	gfxSharedImageSurface.cpp \
	gfxReusableSurfaceWrapper.cpp \
	$(NULL)

ifdef MOZ_GRAPHITE
DEFINES += -DGRAPHITE2_STATIC
CPPSRCS	+= \
	gfxGraphiteShaper.cpp \
	$(NULL)
endif

# Are we targeting x86 or x64?  If so, build gfxAlphaRecoverySSE2.cpp.
ifneq (,$(INTEL_ARCHITECTURE))
CPPSRCS += gfxAlphaRecoverySSE2.cpp
endif

SHARED_LIBRARY_LIBS += \
	../layers/$(LIB_PREFIX)layers.$(LIB_SUFFIX) \
	$(NULL)


ifeq ($(MOZ_WIDGET_TOOLKIT),windows)

CPPSRCS	+= 	gfxWindowsPlatform.cpp \
		gfxWindowsSurface.cpp \
		gfxWindowsNativeDrawing.cpp \
		nsUnicodeRange.cpp \
		$(NULL)

ifdef MOZ_ENABLE_DWRITE_FONT
CPPSRCS	+= gfxDWriteFonts.cpp \
	   gfxDWriteShaper.cpp \
	   gfxDWriteTextAnalysis.cpp \
	   gfxDWriteCommon.cpp \
	   gfxD2DSurface.cpp \
	   gfxDWriteFontList.cpp \
	   $(NULL)
endif

CPPSRCS	+= gfxGDIFont.cpp \
	   gfxGDIFontList.cpp \
	   gfxGDIShaper.cpp \
	   gfxUniscribeShaper.cpp \
	   $(NULL)

CPPSRCS +=	gfxPDFSurface.cpp

ifdef MOZ_ENABLE_D3D9_LAYER
DEFINES +=	-DMOZ_ENABLE_D3D9_LAYER
endif

ifdef MOZ_ENABLE_D3D10_LAYER
DEFINES +=	-DMOZ_ENABLE_D3D10_LAYER
endif

ACDEFINES +=	-UWIN32_LEAN_AND_MEAN
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),android)
EXPORTS	+= \
	gfxPDFSurface.h \
	$(NULL)
CPPSRCS += \
	gfxAndroidPlatform.cpp \
	gfxFT2Fonts.cpp \
	gfxFT2FontBase.cpp \
	gfxFT2Utils.cpp \
	gfxFT2FontList.cpp \
	gfxPDFSurface.cpp \
	nsUnicodeRange.cpp \
	$(NULL)
# This is set for "normal Android", that is, when Gecko is running on
# top of the android java runtime.
DEFINES +=	-DMOZ_USING_ANDROID_JAVA_WIDGETS
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),gonk)
EXPORTS	+= \
	gfxPDFSurface.h \
	$(NULL)
CPPSRCS += \
	gfxAndroidPlatform.cpp \
	gfxFT2Fonts.cpp \
	gfxFT2FontBase.cpp \
	gfxFT2Utils.cpp \
	gfxFT2FontList.cpp \
	gfxPDFSurface.cpp \
	nsUnicodeRange.cpp \
	$(NULL)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
CPPSRCS	+=	gfxOS2Fonts.cpp \
		gfxOS2Platform.cpp \
		gfxOS2Surface.cpp \
		nsUnicodeRange.cpp \
		gfxFontconfigUtils.cpp \
		$(NULL)
CPPSRCS +=	gfxPDFSurface.cpp
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)

ifdef MOZ_PANGO
CPPSRCS += gfxPangoFonts.cpp
else
CPPSRCS += gfxFT2Fonts.cpp
endif

ifdef MOZ_X11
CPPSRCS += gfxXlibSurface.cpp gfxXlibNativeRenderer.cpp
endif

CPPSRCS +=  gfxPlatformGtk.cpp gfxGdkNativeRenderer.cpp
CPPSRCS +=	gfxPDFSurface.cpp gfxPSSurface.cpp
CPPSRCS +=	gfxFontconfigUtils.cpp
CPPSRCS +=	gfxFT2FontBase.cpp
CPPSRCS +=	gfxFT2Utils.cpp
CPPSRCS +=	nsUnicodeRange.cpp

endif

ifeq ($(MOZ_WIDGET_TOOLKIT),qt)
CPPSRCS += gfxQtPlatform.cpp gfxQPainterSurface.cpp
ifdef MOZ_X11
CPPSRCS += gfxXlibSurface.cpp gfxQtNativeRenderer.cpp
endif
ifdef MOZ_PANGO
CPPSRCS += gfxPangoFonts.cpp
else
CPPSRCS += gfxFT2Fonts.cpp
endif
CPPSRCS +=	gfxFT2FontBase.cpp
CPPSRCS +=	gfxFT2Utils.cpp
CPPSRCS +=	gfxFontconfigUtils.cpp
CPPSRCS +=	nsUnicodeRange.cpp
CPPSRCS +=	gfxPDFSurface.cpp
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
CPPSRCS	+= \
	gfxQuartzSurface.cpp \
	gfxQuartzImageSurface.cpp \
	gfxPlatformMac.cpp \
	gfxMacFont.cpp \
	gfxCoreTextShaper.cpp \
	$(NULL)
#CPPSRCS +=	gfxPDFSurface.cpp
CPPSRCS +=      nsUnicodeRange.cpp
CPPSRCS +=      gfxQuartzNativeDrawing.cpp

CMMSRCS = \
	gfxMacPlatformFontList.mm \
	nsCoreAnimationSupport.mm \
	$(NULL)

endif

CSRCS += woff.c

DEFINES += -DIMPL_THEBES -DWOFF_MOZILLA_CLIENT -DHB_DONT_DEFINE_STDINT

ifeq (WINNT,$(OS_TARGET))
DEFINES += -DOTS_DLL
endif

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

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

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

ifeq ($(MOZ_WIDGET_TOOLKIT),android)
CXXFLAGS += $(CAIRO_FT_CFLAGS)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),gonk)
CXXFLAGS += $(CAIRO_FT_CFLAGS)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
CXXFLAGS += $(MOZ_PANGO_CFLAGS)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
CXXFLAGS += $(CAIRO_FT_CFLAGS)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),qt)
CXXFLAGS += $(CAIRO_FT_CFLAGS) $(MOZ_PANGO_CFLAGS)
endif

# The file uses SSE2 intrinsics, so it needs special compile flags on some
# compilers.
ifneq (,$(INTEL_ARCHITECTURE))
ifdef GNU_CC
gfxAlphaRecoverySSE2.$(OBJ_SUFFIX): CXXFLAGS+=-msse2
endif

ifdef SOLARIS_SUNPRO_CXX
gfxAlphaRecoverySSE2.$(OBJ_SUFFIX): OS_CXXFLAGS += -xarch=sse2 -xO4
endif
endif