# # 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@ include $(DEPTH)/config/autoconf.mk LIBRARY_NAME = skia LIBXUL_LIBRARY = 1 EXPORT_LIBRARY = 1 EXPORTS_NAMESPACES = skia DEFINES += -DSK_A32_SHIFT=24 -DSK_R32_SHIFT=16 -DSK_G32_SHIFT=8 -DSK_B32_SHIFT=0 LOCAL_INCLUDES += \ -I$(srcdir)/include/core \ -I$(srcdir)/include/config \ -I$(srcdir)/include/gpu \ -I$(srcdir)/include/pipe \ -I$(srcdir)/include/ports \ -I$(srcdir)/include/images \ -I$(srcdir)/include/utils \ -I$(srcdir)/include/utils/mac \ -I$(srcdir)/include/utils/win \ -I$(srcdir)/include/views \ -I$(srcdir)/include/effects \ -I$(srcdir)/src/core \ -I$(srcdir)/src/image \ -I$(srcdir)/src/gpu \ -I$(srcdir)/src/gpu/effects \ -I$(srcdir)/src/gpu/gl \ -I$(srcdir)/src/utils \ -I$(srcdir)/src/sfnt \ $(NULL) VPATH += \ $(srcdir)/src/core \ $(srcdir)/src/gpu \ $(srcdir)/src/gpu/effects \ $(srcdir)/src/gpu/gl \ $(srcdir)/src/image \ $(srcdir)/src/images \ $(srcdir)/src/pipe \ $(srcdir)/src/ports \ $(srcdir)/src/opts \ $(srcdir)/src/effects \ $(srcdir)/src/effects/gradients \ $(srcdir)/src/utils \ $(srcdir)/src/utils/mac \ $(srcdir)/src/sfnt \ $(NULL) EXPORTS_skia = \ include/core/Sk64.h \ include/core/SkAdvancedTypefaceMetrics.h \ include/core/SkBitmap.h \ include/core/SkBlitRow.h \ include/core/SkBounder.h \ include/core/SkCanvas.h \ include/core/SkChunkAlloc.h \ include/core/SkClipStack.h \ include/core/SkColor.h \ include/core/SkColorFilter.h \ include/core/SkColorPriv.h \ include/core/SkColorShader.h \ include/core/SkColorTable.h \ include/core/SkComposeShader.h \ include/core/SkData.h \ include/core/SkDeque.h \ include/core/SkDevice.h \ include/core/SkDither.h \ include/core/SkDraw.h \ include/core/SkDrawFilter.h \ include/core/SkDrawLooper.h \ include/core/SkEmptyShader.h \ include/core/SkEndian.h \ include/core/SkFixed.h \ include/core/SkFlattenable.h \ include/core/SkFloatBits.h \ include/core/SkFloatingPoint.h \ include/core/SkFontHost.h \ include/core/SkGeometry.h \ include/core/SkGraphics.h \ include/core/SkInstCnt.h \ include/core/SkLineClipper.h \ include/core/SkMMapStream.h \ include/core/SkMallocPixelRef.h \ include/core/SkMask.h \ include/core/SkMaskFilter.h \ include/core/SkMath.h \ include/core/SkMatrix.h \ include/core/SkMetaData.h \ include/core/SkOSFile.h \ include/core/SkPackBits.h \ include/core/SkPaint.h \ include/core/SkPath.h \ include/core/SkPathEffect.h \ include/core/SkPathMeasure.h \ include/core/SkPicture.h \ include/core/SkPixelRef.h \ include/core/SkPoint.h \ include/core/SkPostConfig.h \ include/core/SkPreConfig.h \ include/core/SkRandom.h \ include/core/SkRasterizer.h \ include/core/SkReader32.h \ include/core/SkRect.h \ include/core/SkRefCnt.h \ include/core/SkRegion.h \ include/core/SkScalar.h \ include/core/SkScalarCompare.h \ include/core/SkShader.h \ include/core/SkSize.h \ include/core/SkStream.h \ include/core/SkString.h \ include/core/SkTArray.h \ include/core/SkTDArray.h \ include/core/SkTDLinkedList.h \ include/core/SkTDStack.h \ include/core/SkTDict.h \ include/core/SkTLazy.h \ include/core/SkTRegistry.h \ include/core/SkTScopedPtr.h \ include/core/SkTSearch.h \ include/core/SkTemplates.h \ include/core/SkThread.h \ include/core/SkThread_platform.h \ include/core/SkTime.h \ include/core/SkTrace.h \ include/core/SkTypeface.h \ include/core/SkTypes.h \ include/core/SkUnPreMultiply.h \ include/core/SkUnitMapper.h \ include/core/SkUtils.h \ include/core/SkWeakRefCnt.h \ include/core/SkWriter32.h \ include/core/SkXfermode.h \ include/config/SkUserConfig.h \ include/effects/SkDashPathEffect.h \ include/effects/SkGradientShader.h \ include/effects/SkBlurDrawLooper.h \ include/effects/SkBlurMaskFilter.h \ include/effects/SkLayerDrawLooper.h \ include/effects/SkLayerRasterizer.h \ include/effects/SkMorphologyImageFilter.h \ include/gpu/GrAARectRenderer.h \ include/gpu/GrCacheID.h \ include/gpu/GrClipData.h \ include/gpu/GrColor.h \ include/gpu/GrConfig.h \ include/gpu/GrContextFactory.h \ include/gpu/GrContext.h \ include/gpu/GrCustomStage.h \ include/gpu/GrCustomStageUnitTest.h \ include/gpu/GrFontScaler.h \ include/gpu/GrGlyph.h \ include/gpu/GrInstanceCounter.h \ include/gpu/GrKey.h \ include/gpu/GrMatrix.h \ include/gpu/GrNoncopyable.h \ include/gpu/GrPaint.h \ include/gpu/GrPoint.h \ include/gpu/GrProgramStageFactory.h \ include/gpu/GrRect.h \ include/gpu/GrRefCnt.h \ include/gpu/GrRenderTarget.h \ include/gpu/GrResource.h \ include/gpu/GrSamplerState.h \ include/gpu/GrScalar.h \ include/gpu/GrSurface.h \ include/gpu/GrTextContext.h \ include/gpu/GrTextureAccess.h \ include/gpu/GrTexture.h \ include/gpu/GrTypes.h \ include/gpu/GrUserConfig.h \ include/gpu/SkGpuCanvas.h \ include/gpu/SkGpuDevice.h \ include/gpu/SkGr.h \ include/gpu/SkGrPixelRef.h \ include/gpu/SkGrTexturePixelRef.h \ include/gpu/gl/GrGLConfig.h \ include/gpu/gl/GrGLFunctions.h \ include/gpu/gl/GrGLInterface.h \ include/gpu/gl/SkANGLEGLContext.h \ include/gpu/gl/SkDebugGLContext.h \ include/gpu/gl/SkGLContext.h \ include/gpu/gl/SkMesaGLContext.h \ include/gpu/gl/SkNativeGLContext.h \ include/gpu/gl/SkNullGLContext.h \ include/utils/SkDeferredCanvas.h \ include/views/SkTextBox.h \ $(NULL) GPU_CPPSRCS = \ GrAAConvexPathRenderer.cpp \ GrAAHairLinePathRenderer.cpp \ GrAARectRenderer.cpp \ GrAddPathRenderers_default.cpp \ GrAllocPool.cpp \ GrAtlas.cpp \ GrBufferAllocPool.cpp \ GrCacheID.cpp \ GrClipData.cpp \ GrClipMaskCache.cpp \ GrClipMaskManager.cpp \ GrContext.cpp \ GrCustomStage.cpp \ GrDefaultPathRenderer.cpp \ GrDrawTarget.cpp \ GrGeometryBuffer.cpp \ GrGpu.cpp \ GrGpuFactory.cpp \ GrInOrderDrawBuffer.cpp \ GrMatrix.cpp \ GrMemory.cpp \ GrMemoryPool.cpp \ GrPath.cpp \ GrPathRendererChain.cpp \ GrPathRenderer.cpp \ GrPathUtils.cpp \ GrRectanizer.cpp \ GrRenderTarget.cpp \ GrResourceCache.cpp \ GrResource.cpp \ GrSoftwarePathRenderer.cpp \ GrStencilAndCoverPathRenderer.cpp \ GrStencilBuffer.cpp \ GrStencil.cpp \ GrSurface.cpp \ GrSWMaskHelper.cpp \ GrTextContext.cpp \ GrTextStrike.cpp \ GrTextureAccess.cpp \ GrTexture.cpp \ SkGpuCanvas.cpp \ SkGpuDevice.cpp \ SkGr.cpp \ SkGrFontScaler.cpp \ SkGrPixelRef.cpp \ SkGrTexturePixelRef.cpp \ GrColorTableEffect.cpp \ GrConfigConversionEffect.cpp \ GrConvolutionEffect.cpp \ GrSingleTextureEffect.cpp \ GrTextureDomainEffect.cpp \ GrTextureStripAtlas.cpp \ $(NULL) GPU_GL_CPPSRCS = \ GrGLCaps.cpp \ GrGLContextInfo.cpp \ GrGLCreateNativeInterface_none.cpp \ GrGLCreateNullInterface.cpp \ GrGLDefaultInterface_native.cpp \ GrGLIndexBuffer.cpp \ GrGLInterface.cpp \ GrGLPath.cpp \ GrGLProgram.cpp \ GrGLProgramStage.cpp \ GrGLRenderTarget.cpp \ GrGLShaderBuilder.cpp \ GrGLSL.cpp \ GrGLStencilBuffer.cpp \ GrGLTexture.cpp \ GrGLUniformManager.cpp \ GrGLUtil.cpp \ GrGLVertexBuffer.cpp \ GrGpuGL.cpp \ GrGpuGL_program.cpp \ SkGLContext.cpp \ SkNullGLContext.cpp \ $(NULL) CPPSRCS = \ Sk64.cpp \ SkAAClip.cpp \ SkAdvancedTypefaceMetrics.cpp \ SkAlphaRuns.cpp \ SkAnnotation.cpp \ SkBBoxRecord.cpp \ SkBBoxHierarchyRecord.cpp \ SkBase64.cpp \ SkBitSet.cpp \ SkBitmap.cpp \ SkBitmapCache.cpp \ SkBitmapHeap.cpp \ SkBitmapProcShader.cpp \ SkBitmapProcState.cpp \ SkBitmapProcState_matrixProcs.cpp \ SkBitmapSampler.cpp \ SkBitmap_scroll.cpp \ SkBlitMask_D32.cpp \ SkBlitRow_D16.cpp \ SkBlitRow_D32.cpp \ SkBlitRow_D4444.cpp \ SkBlitter.cpp \ SkBlitter_4444.cpp \ SkBlitter_A1.cpp \ SkBlitter_A8.cpp \ SkBlitter_ARGB32.cpp \ SkBlitter_RGB16.cpp \ SkBlitter_Sprite.cpp \ SkBlurDrawLooper.cpp \ SkBlurMaskFilter.cpp \ SkBlurMask.cpp \ SkBuffer.cpp \ SkCanvas.cpp \ SkChunkAlloc.cpp \ SkClipStack.cpp \ SkColor.cpp \ SkColorFilter.cpp \ SkColorFilters.cpp \ SkColorMatrix.cpp \ SkColorTable.cpp \ SkClampRange.cpp \ SkComposeShader.cpp \ SkConcaveToTriangles.cpp \ SkConfig8888.cpp \ SkCordic.cpp \ SkCubicClipper.cpp \ SkDashPathEffect.cpp \ SkData.cpp \ SkDataPixelRef.cpp \ SkDebug.cpp \ SkDeferredCanvas.cpp \ SkDeque.cpp \ SkDevice.cpp \ SkDeviceProfile.cpp \ SkDither.cpp \ SkDraw.cpp \ SkEdge.cpp \ SkEdgeBuilder.cpp \ SkEdgeClipper.cpp \ SkFilterProc.cpp \ SkFlattenable.cpp \ SkFlattenableBuffers.cpp \ SkFloat.cpp \ SkFloatBits.cpp \ SkFontDescriptor.cpp \ SkFontHost.cpp \ SkGeometry.cpp \ SkGlyphCache.cpp \ SkGradientShader.cpp \ SkGradientTileProc.cpp \ SkGraphics.cpp \ SkGPipeRead.cpp \ SkGPipeWrite.cpp \ SkImage.cpp \ SkImage_Codec.cpp \ SkImage_Picture.cpp \ SkImage_Raster.cpp \ SkImageDecoder.cpp \ SkImageDecoder_Factory.cpp \ SkImageFilter.cpp \ SkImagePriv.cpp \ SkLayerDrawLooper.cpp \ SkLayerRasterizer.cpp \ SkLinearGradient.cpp \ SkLineClipper.cpp \ SkMallocPixelRef.cpp \ SkMask.cpp \ SkMaskFilter.cpp \ SkMaskGamma.cpp \ SkMath.cpp \ SkMatrix.cpp \ SkMemory_malloc.cpp \ SkMetaData.cpp \ SkOrderedReadBuffer.cpp \ SkOrderedWriteBuffer.cpp \ SkOSFile_stdio.cpp \ SkOTUtils.cpp \ SkPackBits.cpp \ SkPaint.cpp \ SkPath.cpp \ SkPathEffect.cpp \ SkPathHeap.cpp \ SkPathMeasure.cpp \ SkPicture.cpp \ SkPictureFlat.cpp \ SkPicturePlayback.cpp \ SkPictureRecord.cpp \ SkPictureStateTree.cpp \ SkPixelRef.cpp \ SkPoint.cpp \ SkProcSpriteBlitter.cpp \ SkPtrRecorder.cpp \ SkQuadClipper.cpp \ SkRTree.cpp \ SkRadialGradient.cpp \ SkRasterClip.cpp \ SkRasterizer.cpp \ SkRect.cpp \ SkRefDict.cpp \ SkRegion.cpp \ SkRegion_path.cpp \ SkRegion_rects.cpp \ SkScalar.cpp \ SkScalerContext.cpp \ SkScan.cpp \ SkScan_AntiPath.cpp \ SkScan_Antihair.cpp \ SkScan_Hairline.cpp \ SkScan_Path.cpp \ SkShader.cpp \ SkSpriteBlitter_ARGB32.cpp \ SkSpriteBlitter_RGB16.cpp \ SkStream.cpp \ SkString.cpp \ SkStroke.cpp \ SkStrokerPriv.cpp \ SkSurface.cpp \ SkSurface_Raster.cpp \ SkSurface_Picture.cpp \ SkSweepGradient.cpp \ SkTLS.cpp \ SkTSearch.cpp \ SkTwoPointConicalGradient.cpp \ SkTwoPointRadialGradient.cpp \ SkTypeface.cpp \ SkTypefaceCache.cpp \ SkUnPreMultiply.cpp \ SkUtils.cpp \ SkWriter32.cpp \ SkXfermode.cpp \ $(NULL) ifdef MOZ_ENABLE_SKIA_GPU CPPSRCS += \ $(GPU_CPPSRCS) \ $(GPU_GL_CPPSRCS) \ $(NULL) endif ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) EXPORTS_skia += \ include/ports/SkTypeface_mac.h \ $(NULL) CPPSRCS += \ SkFontHost_mac_coretext.cpp \ SkStream_mac.cpp \ SkTime_Unix.cpp \ $(NULL) endif ifeq (android,$(MOZ_WIDGET_TOOLKIT)) CPPSRCS += \ SkDebug_android.cpp \ SkFontHost_android_old.cpp \ SkFontHost_FreeType.cpp \ SkFontHost_FreeType_common.cpp \ SkFontHost_tables.cpp \ SkMMapStream.cpp \ SkTime_Unix.cpp \ SkThread_pthread.cpp \ $(NULL) OS_CXXFLAGS += $(CAIRO_FT_CFLAGS) else CPPSRCS += \ SkDebug_stdio.cpp \ SkThread_none.cpp \ $(NULL) endif ifeq (gtk2,$(MOZ_WIDGET_TOOLKIT)) CPPSRCS += \ SkFontHost_FreeType.cpp \ SkFontHost_FreeType_common.cpp \ SkFontHost_linux.cpp \ SkFontHost_tables.cpp \ SkTime_Unix.cpp \ SkMMapStream.cpp \ SkOSFile.cpp \ $(NULL) OS_CXXFLAGS += $(MOZ_PANGO_CFLAGS) endif ifeq (qt,$(MOZ_WIDGET_TOOLKIT)) CPPSRCS += \ SkFontHost_FreeType.cpp \ SkFontHost_FreeType_common.cpp \ SkFontHost_tables.cpp \ SkMMapStream.cpp \ SkOSFile.cpp \ $(NULL) ifeq (Linux,$(OS_TARGET)) CPPSRCS += \ SkFontHost_linux.cpp \ SkFontHost_tables.cpp \ SkTime_Unix.cpp \ $(NULL) endif OS_CXXFLAGS += $(MOZ_PANGO_CFLAGS) endif ifeq (windows,$(MOZ_WIDGET_TOOLKIT)) EXPORTS_skia += \ include/config/sk_stdint.h \ include/ports/SkTypeface_win.h \ $(NULL) CPPSRCS += \ SkFontHost_win.cpp \ SkFontHost_tables.cpp \ SkFontHost_sandbox_none.cpp \ SkTime_win.cpp \ $(NULL) DEFINES += -DSKIA_IMPLEMENTATION=1 -DGR_IMPLEMENTATION=1 endif ifneq (,$(INTEL_ARCHITECTURE)) CPPSRCS += \ SkBitmapProcState_opts_SSE2.cpp \ SkBlitRect_opts_SSE2.cpp \ SkBlitRow_opts_SSE2.cpp \ SkUtils_opts_SSE2.cpp \ opts_check_SSE2.cpp \ $(NULL) ifdef HAVE_TOOLCHAIN_SUPPORT_MSSSE3 DEFINES += -DSK_BUILD_SSSE3 CPPSRCS += SkBitmapProcState_opts_SSSE3.cpp endif else ifeq ($(CPU_ARCH)_$(GNU_CC),arm_1) CPPSRCS += \ SkBitmapProcState_opts_arm.cpp \ SkBlitRow_opts_arm.cpp \ opts_check_arm.cpp \ $(NULL) SSRCS += memset.arm.S else CPPSRCS += \ SkBitmapProcState_opts_none.cpp \ SkBlitRow_opts_none.cpp \ SkUtils_opts_none.cpp \ $(NULL) endif endif include $(topsrcdir)/config/rules.mk ifneq (,$(INTEL_ARCHITECTURE)) ifdef GNU_CC SkBitmapProcState_opts_SSE2.$(OBJ_SUFFIX): CXXFLAGS+=-msse2 SkBitmapProcState_opts_SSSE3.$(OBJ_SUFFIX): CXXFLAGS+=-mssse3 SkBlitRow_opts_SSE2.$(OBJ_SUFFIX): CXXFLAGS+=-msse2 SkBlitRect_opts_SSE2.$(OBJ_SUFFIX): CXXFLAGS+=-msse2 SkUtils_opts_SSE2.$(OBJ_SUFFIX): CXXFLAGS+=-msse2 endif endif ifeq ($(CPU_ARCH)_$(GNU_CC),arm_1) # The assembly uses the frame pointer register (r7 in Thumb/r11 in # ARM), the compiler doesn't like that. CXXFLAGS := $(filter-out -fno-omit-frame-pointer,$(CXXFLAGS)) -fomit-frame-pointer CFLAGS := $(filter-out -fno-omit-frame-pointer,$(CFLAGS)) -fomit-frame-pointer endif