# # 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 MODULE = skia 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/utils \ -I$(srcdir)/src/sfnt \ $(NULL) VPATH += \ $(srcdir)/src/core \ $(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/SkTDArray.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/utils/SkDeferredCanvas.h \ include/views/SkTextBox.h \ $(NULL) DEFINES += -DUSE_SKIA 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) 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) DEFINES += -DSK_BUILD_FOR_ANDROID_NDK 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) ifdef _MSC_VER HAVE_COMPILER_FLAG_MSSSE3=1 endif 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 ifdef GNU_CC CXXFLAGS := $(filter-out -pedantic,$(CXXFLAGS)) CFLAGS := $(filter-out -pedantic,$(CFLAGS)) 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