# ***** 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 \ $(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 \ gfxAtoms.h \ gfxAtomList.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 \ gfxAtoms.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 \ $(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