Home | History | Annotate | Download | only in skia
      1 BASE_PATH := $(call my-dir)
      2 LOCAL_PATH:= $(call my-dir)
      3 
      4 ###############################################################################
      5 #
      6 # PROBLEMS WITH SKIA DEBUGGING?? READ THIS...
      7 #
      8 # The debug build results in changes to the Skia headers. This means that those
      9 # using libskia must also be built with the debug version of the Skia headers.
     10 # There are a few scenarios where this comes into play:
     11 #
     12 # (1) You're building debug code that depends on libskia.
     13 #   (a) If libskia is built in release, then define SK_RELEASE when building
     14 #       your sources.
     15 #   (b) If libskia is built with debugging (see step 2), then no changes are
     16 #       needed since your sources and libskia have been built with SK_DEBUG.
     17 # (2) You're building libskia in debug mode.
     18 #   (a) RECOMMENDED: You can build the entire system in debug mode. Do this by
     19 #       updating your build/config.mk to include -DSK_DEBUG on the line that
     20 #       defines COMMON_GLOBAL_CFLAGS
     21 #   (b) You can update all the users of libskia to define SK_DEBUG when they are
     22 #       building their sources.
     23 #
     24 # NOTE: If neither SK_DEBUG or SK_RELEASE are defined then Skia checks NDEBUG to
     25 #       determine which build type to use.
     26 ###############################################################################
     27 
     28 
     29 #############################################################
     30 #   build the skia+fretype+png+jpeg+zlib+gif+webp library
     31 #
     32 
     33 include $(CLEAR_VARS)
     34 
     35 LOCAL_ARM_MODE := thumb
     36 
     37 # need a flag to tell the C side when we're on devices with large memory
     38 # budgets (i.e. larger than the low-end devices that initially shipped)
     39 ifeq ($(ARCH_ARM_HAVE_VFP),true)
     40 	LOCAL_CFLAGS += -DANDROID_LARGE_MEMORY_DEVICE
     41 endif
     42 
     43 ifeq ($(TARGET_ARCH),x86)
     44 	LOCAL_CFLAGS += -DANDROID_LARGE_MEMORY_DEVICE
     45 endif
     46 
     47 ifeq ($(ARCH_ARM_HAVE_NEON),true)
     48 	LOCAL_CFLAGS += -D__ARM_HAVE_NEON
     49 endif
     50 
     51 LOCAL_CFLAGS += -DDCT_IFAST_SUPPORTED
     52 
     53 # using freetype's embolden allows us to adjust fake bold settings at
     54 # draw-time, at which point we know which SkTypeface is being drawn
     55 LOCAL_CFLAGS += -DSK_USE_FREETYPE_EMBOLDEN
     56 
     57 #Android provides at least FreeType 2.4.0 at runtime.
     58 LOCAL_CFLAGS += -DSK_FONTHOST_FREETYPE_RUNTIME_VERSION=0x020400
     59 
     60 #Skia should not use dlopen on Android.
     61 LOCAL_CFLAGS += -DSK_CAN_USE_DLOPEN=0
     62 
     63 # used for testing
     64 #LOCAL_CFLAGS += -g -O0
     65 
     66 ifeq ($(NO_FALLBACK_FONT),true)
     67 	LOCAL_CFLAGS += -DNO_FALLBACK_FONT
     68 endif
     69 
     70 # IMPORTANT: The build order of the SkImageDecoder_*.cpp files
     71 # defines the order image decoders are tested when decoding a
     72 # stream. The last decoder is the first one tested, so the .cpp
     73 # files should be in listed in order from the least likely to be
     74 # used, to the most likely (jpeg and png should be the last two
     75 # for instance.)
     76 # START IMAGE DECODERS
     77 
     78 LOCAL_SRC_FILES:= \
     79 	src/core/Sk64.cpp \
     80 	src/core/SkAnnotation.cpp \
     81 	src/core/SkAAClip.cpp \
     82 	src/core/SkAdvancedTypefaceMetrics.cpp \
     83 	src/core/SkAlphaRuns.cpp \
     84 	src/core/SkBBoxRecord.cpp \
     85 	src/core/SkBBoxHierarchyRecord.cpp \
     86 	src/core/SkBitmap.cpp \
     87 	src/core/SkBitmapDevice.cpp \
     88 	src/core/SkBitmapFilter.cpp \
     89 	src/core/SkBitmapHeap.cpp \
     90 	src/core/SkBitmapProcShader.cpp \
     91 	src/core/SkBitmapProcState.cpp \
     92 	src/core/SkBitmapProcState_matrixProcs.cpp \
     93 	src/core/SkBitmapScaler.cpp \
     94 	src/core/SkBitmap_scroll.cpp \
     95 	src/core/SkBlitMask_D32.cpp \
     96 	src/core/SkBlitRow_D16.cpp \
     97 	src/core/SkBlitRow_D32.cpp \
     98 	src/core/SkBlitter.cpp \
     99 	src/core/SkBlitter_A8.cpp \
    100 	src/core/SkBlitter_ARGB32.cpp \
    101 	src/core/SkBlitter_RGB16.cpp \
    102 	src/core/SkBlitter_Sprite.cpp \
    103 	src/core/SkBuffer.cpp \
    104 	src/core/SkCanvas.cpp \
    105 	src/core/SkChunkAlloc.cpp \
    106 	src/core/SkClipStack.cpp \
    107 	src/core/SkColor.cpp \
    108 	src/core/SkColorFilter.cpp \
    109 	src/core/SkColorTable.cpp \
    110 	src/core/SkComposeShader.cpp \
    111 	src/core/SkConfig8888.cpp \
    112 	src/core/SkConvolver.cpp \
    113 	src/core/SkCordic.cpp \
    114 	src/core/SkCubicClipper.cpp \
    115 	src/core/SkData.cpp \
    116 	src/core/SkDataTable.cpp \
    117 	src/core/SkDebug.cpp \
    118 	src/core/SkDeque.cpp \
    119 	src/core/SkDevice.cpp \
    120 	src/core/SkDeviceLooper.cpp \
    121 	src/core/SkDeviceProfile.cpp \
    122 	src/core/SkDither.cpp \
    123 	src/core/SkDraw.cpp \
    124 	src/core/SkDrawLooper.cpp \
    125 	src/core/SkEdgeBuilder.cpp \
    126 	src/core/SkEdgeClipper.cpp \
    127 	src/core/SkEdge.cpp \
    128 	src/core/SkError.cpp \
    129 	src/core/SkFilterProc.cpp \
    130 	src/core/SkFilterShader.cpp \
    131 	src/core/SkFlattenable.cpp \
    132 	src/core/SkFlattenableBuffers.cpp \
    133 	src/core/SkFlattenableSerialization.cpp \
    134 	src/core/SkFloat.cpp \
    135 	src/core/SkFloatBits.cpp \
    136 	src/core/SkFontDescriptor.cpp \
    137 	src/core/SkFontStream.cpp \
    138 	src/core/SkFontHost.cpp \
    139 	src/core/SkGeometry.cpp \
    140 	src/core/SkGlyphCache.cpp \
    141 	src/core/SkGraphics.cpp \
    142 	src/core/SkInstCnt.cpp \
    143 	src/core/SkImageFilter.cpp \
    144 	src/core/SkImageFilterUtils.cpp \
    145 	src/core/SkImageInfo.cpp \
    146 	src/core/SkLineClipper.cpp \
    147 	src/core/SkMallocPixelRef.cpp \
    148 	src/core/SkMask.cpp \
    149 	src/core/SkMaskFilter.cpp \
    150 	src/core/SkMaskGamma.cpp \
    151 	src/core/SkMath.cpp \
    152 	src/core/SkMatrix.cpp \
    153 	src/core/SkMetaData.cpp \
    154 	src/core/SkMipMap.cpp \
    155 	src/core/SkOrderedReadBuffer.cpp \
    156 	src/core/SkOrderedWriteBuffer.cpp \
    157 	src/core/SkPackBits.cpp \
    158 	src/core/SkPaint.cpp \
    159 	src/core/SkPaintOptionsAndroid.cpp \
    160 	src/core/SkPaintPriv.cpp \
    161 	src/core/SkPath.cpp \
    162 	src/core/SkPathEffect.cpp \
    163 	src/core/SkPathHeap.cpp \
    164 	src/core/SkPathMeasure.cpp \
    165 	src/core/SkPathRef.cpp \
    166 	src/core/SkPicture.cpp \
    167 	src/core/SkPictureFlat.cpp \
    168 	src/core/SkPicturePlayback.cpp \
    169 	src/core/SkPictureRecord.cpp \
    170 	src/core/SkPictureStateTree.cpp \
    171 	src/core/SkPixelRef.cpp \
    172 	src/core/SkPoint.cpp \
    173 	src/core/SkProcSpriteBlitter.cpp \
    174 	src/core/SkPtrRecorder.cpp \
    175 	src/core/SkQuadClipper.cpp \
    176 	src/core/SkRasterClip.cpp \
    177 	src/core/SkRasterizer.cpp \
    178 	src/core/SkRect.cpp \
    179 	src/core/SkRefDict.cpp \
    180 	src/core/SkRegion.cpp \
    181 	src/core/SkRegion_path.cpp \
    182 	src/core/SkRRect.cpp \
    183 	src/core/SkRTree.cpp \
    184 	src/core/SkScaledImageCache.cpp \
    185 	src/core/SkScalar.cpp \
    186 	src/core/SkScalerContext.cpp \
    187 	src/core/SkScan.cpp \
    188 	src/core/SkScan_AntiPath.cpp \
    189 	src/core/SkScan_Antihair.cpp \
    190 	src/core/SkScan_Hairline.cpp \
    191 	src/core/SkScan_Path.cpp \
    192 	src/core/SkShader.cpp \
    193 	src/core/SkSpriteBlitter_ARGB32.cpp \
    194 	src/core/SkSpriteBlitter_RGB16.cpp \
    195 	src/core/SkStream.cpp \
    196 	src/core/SkString.cpp \
    197 	src/core/SkStringUtils.cpp \
    198 	src/core/SkStroke.cpp \
    199 	src/core/SkStrokeRec.cpp \
    200 	src/core/SkStrokerPriv.cpp \
    201 	src/core/SkTileGrid.cpp \
    202 	src/core/SkTileGridPicture.cpp \
    203 	src/core/SkTLS.cpp \
    204 	src/core/SkTSearch.cpp \
    205 	src/core/SkTypeface.cpp \
    206 	src/core/SkTypefaceCache.cpp \
    207 	src/core/SkUnPreMultiply.cpp \
    208 	src/core/SkUtils.cpp \
    209 	src/core/SkValidatingReadBuffer.cpp \
    210 	src/core/SkFlate.cpp \
    211 	src/core/SkWriter32.cpp \
    212 	src/core/SkXfermode.cpp \
    213 	src/doc/SkDocument.cpp \
    214 	src/doc/SkDocument_PDF.cpp \
    215 	src/effects/Sk1DPathEffect.cpp \
    216 	src/effects/Sk2DPathEffect.cpp \
    217 	src/effects/SkArithmeticMode.cpp \
    218 	src/effects/SkAvoidXfermode.cpp \
    219 	src/effects/SkBicubicImageFilter.cpp \
    220 	src/effects/SkBitmapAlphaThresholdShader.cpp \
    221 	src/effects/SkBitmapSource.cpp \
    222 	src/effects/SkBlurDrawLooper.cpp \
    223 	src/effects/SkBlurImageFilter.cpp \
    224 	src/effects/SkBlurMask.cpp \
    225 	src/effects/SkBlurMaskFilter.cpp \
    226 	src/effects/SkColorFilterImageFilter.cpp \
    227 	src/effects/SkColorFilters.cpp \
    228 	src/effects/SkColorMatrix.cpp \
    229 	src/effects/SkColorMatrixFilter.cpp \
    230 	src/effects/SkComposeImageFilter.cpp \
    231 	src/effects/SkCornerPathEffect.cpp \
    232 	src/effects/SkDashPathEffect.cpp \
    233 	src/effects/SkDiscretePathEffect.cpp \
    234 	src/effects/SkDisplacementMapEffect.cpp \
    235 	src/effects/SkDropShadowImageFilter.cpp \
    236 	src/effects/SkEmbossMask.cpp \
    237 	src/effects/SkEmbossMaskFilter.cpp \
    238 	src/effects/SkGpuBlurUtils.cpp \
    239 	src/effects/SkKernel33MaskFilter.cpp \
    240 	src/effects/SkLayerDrawLooper.cpp \
    241 	src/effects/SkLayerRasterizer.cpp \
    242 	src/effects/SkLerpXfermode.cpp \
    243 	src/effects/SkLightingImageFilter.cpp \
    244 	src/effects/SkLumaColorFilter.cpp \
    245 	src/effects/SkMagnifierImageFilter.cpp \
    246 	src/effects/SkMatrixConvolutionImageFilter.cpp \
    247 	src/effects/SkMergeImageFilter.cpp \
    248 	src/effects/SkMorphologyImageFilter.cpp \
    249 	src/effects/SkOffsetImageFilter.cpp \
    250 	src/effects/SkPaintFlagsDrawFilter.cpp \
    251 	src/effects/SkPerlinNoiseShader.cpp \
    252 	src/effects/SkPictureImageFilter.cpp \
    253 	src/effects/SkPixelXorXfermode.cpp \
    254 	src/effects/SkPorterDuff.cpp \
    255 	src/effects/SkRectShaderImageFilter.cpp \
    256 	src/effects/SkStippleMaskFilter.cpp \
    257 	src/effects/SkTableColorFilter.cpp \
    258 	src/effects/SkTableMaskFilter.cpp \
    259 	src/effects/SkTestImageFilters.cpp \
    260 	src/effects/SkTileImageFilter.cpp \
    261 	src/effects/SkTransparentShader.cpp \
    262 	src/effects/SkXfermodeImageFilter.cpp \
    263 	src/effects/gradients/SkBitmapCache.cpp \
    264 	src/effects/gradients/SkClampRange.cpp \
    265 	src/effects/gradients/SkGradientShader.cpp \
    266 	src/effects/gradients/SkLinearGradient.cpp \
    267 	src/effects/gradients/SkRadialGradient.cpp \
    268 	src/effects/gradients/SkTwoPointRadialGradient.cpp \
    269 	src/effects/gradients/SkTwoPointConicalGradient.cpp \
    270 	src/effects/gradients/SkSweepGradient.cpp \
    271 	src/image/SkDataPixelRef.cpp \
    272 	src/image/SkImage.cpp \
    273 	src/image/SkImagePriv.cpp \
    274 	src/image/SkImage_Codec.cpp \
    275 	src/image/SkImage_Gpu.cpp \
    276 	src/image/SkImage_Picture.cpp \
    277 	src/image/SkImage_Raster.cpp \
    278 	src/image/SkSurface.cpp \
    279 	src/image/SkSurface_Gpu.cpp \
    280 	src/image/SkSurface_Picture.cpp \
    281 	src/image/SkSurface_Raster.cpp \
    282 	src/images/bmpdecoderhelper.cpp \
    283 	src/images/SkDecodingImageGenerator.cpp \
    284 	src/images/SkImageDecoder_FactoryDefault.cpp \
    285 	src/images/SkImageDecoder_FactoryRegistrar.cpp \
    286 	src/images/SkImages.cpp \
    287 	src/images/SkForceLinking.cpp \
    288 	src/images/SkImageDecoder.cpp \
    289 	src/images/SkImageDecoder_libbmp.cpp \
    290 	src/images/SkImageDecoder_wbmp.cpp \
    291 	src/images/SkImageDecoder_libico.cpp \
    292 	src/images/SkImageDecoder_libwebp.cpp \
    293 	src/images/SkImageDecoder_libgif.cpp \
    294 	src/images/SkImageDecoder_libjpeg.cpp \
    295 	src/images/SkImageDecoder_libpng.cpp \
    296 	src/images/SkImageEncoder.cpp \
    297 	src/images/SkImageEncoder_Factory.cpp \
    298 	src/images/SkImageEncoder_argb.cpp \
    299 	src/images/SkImageRef.cpp \
    300 	src/images/SkImageRefPool.cpp \
    301 	src/images/SkImageRef_ashmem.cpp \
    302 	src/images/SkImageRef_GlobalPool.cpp \
    303 	src/images/SkJpegUtility.cpp \
    304 	src/images/SkMovie.cpp \
    305 	src/images/SkMovie_gif.cpp \
    306 	src/images/SkPageFlipper.cpp \
    307 	src/images/SkScaledBitmapSampler.cpp \
    308 	src/images/SkStreamHelpers.cpp \
    309 	src/pathops/SkAddIntersections.cpp \
    310 	src/pathops/SkDCubicIntersection.cpp \
    311 	src/pathops/SkDCubicLineIntersection.cpp \
    312 	src/pathops/SkDCubicToQuads.cpp \
    313 	src/pathops/SkDLineIntersection.cpp \
    314 	src/pathops/SkDQuadImplicit.cpp \
    315 	src/pathops/SkDQuadIntersection.cpp \
    316 	src/pathops/SkDQuadLineIntersection.cpp \
    317 	src/pathops/SkIntersections.cpp \
    318 	src/pathops/SkOpAngle.cpp \
    319 	src/pathops/SkOpContour.cpp \
    320 	src/pathops/SkOpEdgeBuilder.cpp \
    321 	src/pathops/SkOpSegment.cpp \
    322 	src/pathops/SkPathOpsBounds.cpp \
    323 	src/pathops/SkPathOpsCommon.cpp \
    324 	src/pathops/SkPathOpsCubic.cpp \
    325 	src/pathops/SkPathOpsDebug.cpp \
    326 	src/pathops/SkPathOpsLine.cpp \
    327 	src/pathops/SkPathOpsOp.cpp \
    328 	src/pathops/SkPathOpsPoint.cpp \
    329 	src/pathops/SkPathOpsQuad.cpp \
    330 	src/pathops/SkPathOpsRect.cpp \
    331 	src/pathops/SkPathOpsSimplify.cpp \
    332 	src/pathops/SkPathOpsTriangle.cpp \
    333 	src/pathops/SkPathOpsTypes.cpp \
    334 	src/pathops/SkPathWriter.cpp \
    335 	src/pathops/SkQuarticRoot.cpp \
    336 	src/pathops/SkReduceOrder.cpp \
    337 	src/pipe/SkGPipeRead.cpp \
    338 	src/pipe/SkGPipeWrite.cpp \
    339 	src/ports/SkDebug_android.cpp \
    340 	src/ports/SkDiscardableMemory_ashmem.cpp \
    341 	src/ports/SkGlobalInitialization_default.cpp \
    342 	src/ports/SkFontConfigInterface_android.cpp \
    343 	src/ports/SkFontConfigParser_android.cpp \
    344 	src/ports/SkFontHost_FreeType.cpp \
    345 	src/ports/SkFontHost_FreeType_common.cpp \
    346 	src/ports/SkFontHost_fontconfig.cpp \
    347 	src/ports/SkMemory_malloc.cpp \
    348 	src/ports/SkOSFile_posix.cpp \
    349 	src/ports/SkOSFile_stdio.cpp \
    350 	src/ports/SkPurgeableMemoryBlock_android.cpp \
    351 	src/ports/SkThread_pthread.cpp \
    352 	src/ports/SkTime_Unix.cpp \
    353 	src/ports/SkTLS_pthread.cpp \
    354 	src/pdf/SkPDFCatalog.cpp \
    355 	src/pdf/SkPDFDevice.cpp \
    356 	src/pdf/SkPDFDeviceFlattener.cpp \
    357 	src/pdf/SkPDFDocument.cpp \
    358 	src/pdf/SkPDFFont.cpp \
    359 	src/pdf/SkPDFFormXObject.cpp \
    360 	src/pdf/SkPDFGraphicState.cpp \
    361 	src/pdf/SkPDFImage.cpp \
    362 	src/pdf/SkPDFPage.cpp \
    363 	src/pdf/SkPDFResourceDict.cpp \
    364 	src/pdf/SkPDFShader.cpp \
    365 	src/pdf/SkPDFStream.cpp \
    366 	src/pdf/SkPDFTypes.cpp \
    367 	src/pdf/SkPDFUtils.cpp \
    368 	src/sfnt/SkOTTable_name.cpp \
    369 	src/sfnt/SkOTUtils.cpp \
    370 	src/utils/android/ashmem.cpp \
    371 	src/utils/debugger/SkDebugCanvas.cpp \
    372 	src/utils/debugger/SkDrawCommand.cpp \
    373 	src/utils/debugger/SkObjectParser.cpp \
    374 	src/utils/SkBase64.cpp \
    375 	src/utils/SkBitSet.cpp \
    376 	src/utils/SkBoundaryPatch.cpp \
    377 	src/utils/SkCamera.cpp \
    378 	src/utils/SkCanvasStack.cpp \
    379 	src/utils/SkCanvasStateUtils.cpp \
    380 	src/utils/SkCubicInterval.cpp \
    381 	src/utils/SkCullPoints.cpp \
    382 	src/utils/SkDeferredCanvas.cpp \
    383 	src/utils/SkDumpCanvas.cpp \
    384 	src/utils/SkFrontBufferedStream.cpp \
    385 	src/utils/SkInterpolator.cpp \
    386 	src/utils/SkLayer.cpp \
    387 	src/utils/SkMatrix44.cpp \
    388 	src/utils/SkMD5.cpp \
    389 	src/utils/SkMeshUtils.cpp \
    390 	src/utils/SkNinePatch.cpp \
    391 	src/utils/SkNWayCanvas.cpp \
    392 	src/utils/SkNullCanvas.cpp \
    393 	src/utils/SkOSFile.cpp \
    394 	src/utils/SkParse.cpp \
    395 	src/utils/SkParseColor.cpp \
    396 	src/utils/SkParsePath.cpp \
    397 	src/utils/SkPictureUtils.cpp \
    398 	src/utils/SkPathUtils.cpp \
    399 	src/utils/SkProxyCanvas.cpp \
    400 	src/utils/SkSHA1.cpp \
    401 	src/utils/SkRTConf.cpp \
    402 	src/utils/SkThreadUtils_pthread.cpp \
    403 	src/utils/SkThreadUtils_pthread_other.cpp \
    404 	src/utils/SkUnitMappers.cpp \
    405 	src/lazy/SkDiscardableMemoryPool.cpp \
    406 	src/lazy/SkDiscardablePixelRef.cpp \
    407 	src/lazy/SkCachingPixelRef.cpp 
    408 
    409 #	src/utils/SkBitmapHasher.cpp \
    410 
    411 # maps to the 'skgr' gyp target
    412 LOCAL_SRC_FILES += \
    413 	src/gpu/SkGpuDevice.cpp \
    414 	src/gpu/SkGr.cpp \
    415 	src/gpu/SkGrFontScaler.cpp \
    416 	src/gpu/SkGrPixelRef.cpp \
    417 	src/gpu/SkGrTexturePixelRef.cpp \
    418 	src/gpu/gl/SkGLContextHelper.cpp \
    419 	src/gpu/gl/android/SkNativeGLContext_android.cpp \
    420 
    421 # null and debug gpu interfaces
    422 LOCAL_SRC_FILES += \
    423 	src/gpu/gl/SkNullGLContext.cpp \
    424 	src/gpu/gl/GrGLCreateNullInterface.cpp \
    425 	src/gpu/gl/debug/SkDebugGLContext.cpp \
    426 	src/gpu/gl/debug/GrGLCreateDebugInterface.cpp \
    427 	src/gpu/gl/debug/GrBufferObj.cpp \
    428 	src/gpu/gl/debug/GrTextureObj.cpp \
    429 	src/gpu/gl/debug/GrTextureUnitObj.cpp \
    430 	src/gpu/gl/debug/GrFrameBufferObj.cpp \
    431 	src/gpu/gl/debug/GrShaderObj.cpp \
    432 	src/gpu/gl/debug/GrProgramObj.cpp \
    433 	src/gpu/gl/debug/GrDebugGL.cpp
    434 
    435 # maps to the 'gr' gyp target
    436 LOCAL_SRC_FILES += \
    437 	src/gpu/GrAAHairLinePathRenderer.cpp \
    438 	src/gpu/GrAAConvexPathRenderer.cpp \
    439 	src/gpu/GrAARectRenderer.cpp \
    440 	src/gpu/GrAddPathRenderers_default.cpp \
    441 	src/gpu/GrAllocPool.cpp \
    442 	src/gpu/GrAtlas.cpp \
    443 	src/gpu/GrBitmapTextContext.cpp \
    444 	src/gpu/GrBufferAllocPool.cpp \
    445 	src/gpu/GrBlend.cpp \
    446 	src/gpu/GrCacheID.cpp \
    447 	src/gpu/GrClipData.cpp \
    448 	src/gpu/GrContext.cpp \
    449 	src/gpu/GrDefaultPathRenderer.cpp \
    450 	src/gpu/GrDrawState.cpp \
    451 	src/gpu/GrDrawTarget.cpp \
    452 	src/gpu/GrEffect.cpp \
    453 	src/gpu/GrClipMaskCache.cpp \
    454 	src/gpu/GrClipMaskManager.cpp \
    455 	src/gpu/GrGpu.cpp \
    456 	src/gpu/GrGpuFactory.cpp \
    457 	src/gpu/GrInOrderDrawBuffer.cpp \
    458 	src/gpu/GrMemoryPool.cpp \
    459 	src/gpu/GrOvalRenderer.cpp \
    460 	src/gpu/GrPaint.cpp \
    461 	src/gpu/GrPath.cpp \
    462 	src/gpu/GrPathRendererChain.cpp \
    463 	src/gpu/GrPathRenderer.cpp \
    464 	src/gpu/GrPathUtils.cpp \
    465 	src/gpu/GrRectanizer.cpp \
    466 	src/gpu/GrRectanizer_skyline.cpp \
    467 	src/gpu/GrReducedClip.cpp \
    468 	src/gpu/GrRenderTarget.cpp \
    469 	src/gpu/GrResource.cpp \
    470 	src/gpu/GrResourceCache.cpp \
    471 	src/gpu/GrStencil.cpp \
    472 	src/gpu/GrStencilAndCoverPathRenderer.cpp \
    473 	src/gpu/GrStencilBuffer.cpp \
    474 	src/gpu/GrSWMaskHelper.cpp \
    475 	src/gpu/GrSoftwarePathRenderer.cpp \
    476 	src/gpu/GrSurface.cpp \
    477 	src/gpu/GrTextContext.cpp \
    478 	src/gpu/GrTextStrike.cpp \
    479 	src/gpu/GrTexture.cpp \
    480 	src/gpu/GrTextureAccess.cpp \
    481 	src/gpu/effects/GrConfigConversionEffect.cpp \
    482 	src/gpu/effects/GrBezierEffect.cpp \
    483 	src/gpu/effects/GrConvolutionEffect.cpp \
    484 	src/gpu/effects/GrBicubicEffect.cpp \
    485 	src/gpu/effects/GrCustomCoordsTextureEffect.cpp \
    486 	src/gpu/effects/GrSimpleTextureEffect.cpp \
    487 	src/gpu/effects/GrSingleTextureEffect.cpp \
    488 	src/gpu/effects/GrTextureDomain.cpp \
    489 	src/gpu/effects/GrTextureStripAtlas.cpp \
    490 	src/gpu/gl/GrGLBufferImpl.cpp \
    491 	src/gpu/gl/GrGLCaps.cpp \
    492 	src/gpu/gl/GrGLContext.cpp \
    493 	src/gpu/gl/GrGLDefaultInterface_native.cpp \
    494 	src/gpu/gl/GrGLExtensions.cpp \
    495 	src/gpu/gl/GrGLIndexBuffer.cpp \
    496 	src/gpu/gl/GrGLInterface.cpp \
    497 	src/gpu/gl/GrGLNoOpInterface.cpp \
    498 	src/gpu/gl/GrGLPath.cpp \
    499 	src/gpu/gl/GrGLProgram.cpp \
    500 	src/gpu/gl/GrGLProgramDesc.cpp \
    501 	src/gpu/gl/GrGLProgramEffects.cpp \
    502 	src/gpu/gl/GrGLRenderTarget.cpp \
    503 	src/gpu/gl/GrGLShaderBuilder.cpp \
    504 	src/gpu/gl/GrGLSL.cpp \
    505 	src/gpu/gl/GrGLStencilBuffer.cpp \
    506 	src/gpu/gl/GrGLTexture.cpp \
    507 	src/gpu/gl/GrGLUtil.cpp \
    508 	src/gpu/gl/GrGLUniformManager.cpp \
    509 	src/gpu/gl/GrGLVertexArray.cpp \
    510 	src/gpu/gl/GrGLVertexBuffer.cpp \
    511 	src/gpu/gl/GrGpuGL.cpp \
    512 	src/gpu/gl/GrGpuGL_program.cpp \
    513 	src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp
    514 
    515 
    516 ifeq ($(TARGET_ARCH),arm)
    517 
    518 ifeq ($(ARCH_ARM_HAVE_NEON),true)
    519 LOCAL_SRC_FILES += \
    520 	src/opts/memset16_neon.S \
    521 	src/opts/memset32_neon.S \
    522 	src/opts/SkBitmapProcState_arm_neon.cpp \
    523 	src/opts/SkBitmapProcState_matrixProcs_neon.cpp \
    524 	src/opts/SkBlitMask_opts_arm_neon.cpp \
    525 	src/opts/SkBlitRow_opts_arm_neon.cpp \
    526 	src/opts/SkBlurImage_opts_neon.cpp \
    527 	src/opts/SkMorphology_opts_neon.cpp \
    528 	src/opts/SkXfermode_opts_arm_neon.cpp
    529 endif
    530 
    531 LOCAL_SRC_FILES += \
    532 	src/core/SkUtilsArm.cpp \
    533 	src/opts/opts_check_arm.cpp \
    534 	src/opts/memset.arm.S \
    535 	src/opts/SkBitmapProcState_opts_arm.cpp \
    536 	src/opts/SkBlitMask_opts_arm.cpp \
    537 	src/opts/SkBlitRow_opts_arm.cpp \
    538 	src/opts/SkXfermode_opts_arm.cpp
    539 
    540 else
    541 LOCAL_SRC_FILES += \
    542 	src/opts/SkBitmapProcState_opts_none.cpp \
    543 	src/opts/SkBlitMask_opts_none.cpp \
    544 	src/opts/SkBlitRow_opts_none.cpp \
    545 	src/opts/SkBlurImage_opts_none.cpp \
    546 	src/opts/SkMorphology_opts_none.cpp \
    547 	src/opts/SkUtils_opts_none.cpp \
    548 	src/opts/SkXfermode_opts_none.cpp
    549 endif
    550 
    551 LOCAL_SHARED_LIBRARIES := \
    552 	liblog \
    553 	libcutils \
    554 	libft2 \
    555 	libjpeg \
    556 	libpng \
    557 	libutils \
    558 	libz \
    559 	libexpat \
    560 	libutils \
    561 	libEGL \
    562 	libGLESv2
    563 
    564 LOCAL_STATIC_LIBRARIES := \
    565 	libgif \
    566 	libwebp-decode \
    567 	libwebp-encode
    568 
    569 LOCAL_C_INCLUDES := \
    570 	$(LOCAL_PATH)/include/core \
    571 	$(LOCAL_PATH)/include/config \
    572 	$(LOCAL_PATH)/include/effects \
    573 	$(LOCAL_PATH)/include/gpu \
    574 	$(LOCAL_PATH)/include/images \
    575 	$(LOCAL_PATH)/include/lazy \
    576 	$(LOCAL_PATH)/include/pathops \
    577 	$(LOCAL_PATH)/include/pdf \
    578 	$(LOCAL_PATH)/include/pipe \
    579 	$(LOCAL_PATH)/include/ports \
    580 	$(LOCAL_PATH)/include/utils \
    581 	$(LOCAL_PATH)/include/xml \
    582 	$(LOCAL_PATH)/src/core \
    583 	$(LOCAL_PATH)/src/gpu \
    584 	$(LOCAL_PATH)/src/image \
    585 	$(LOCAL_PATH)/src/images \
    586 	$(LOCAL_PATH)/src/lazy \
    587 	$(LOCAL_PATH)/src/opts \
    588 	$(LOCAL_PATH)/src/pdf \
    589 	$(LOCAL_PATH)/src/sfnt \
    590 	$(LOCAL_PATH)/src/utils \
    591 	external/freetype/include \
    592 	external/zlib \
    593 	external/libpng \
    594 	external/giflib \
    595 	external/jpeg \
    596 	external/webp/include \
    597 	frameworks/base/opengl/include \
    598 	external/expat/lib
    599 
    600 LOCAL_EXPORT_C_INCLUDE_DIRS := \
    601 	$(LOCAL_PATH)/include/config \
    602 	$(LOCAL_PATH)/include/core \
    603 	$(LOCAL_PATH)/include/effects \
    604 	$(LOCAL_PATH)/include/gpu \
    605 	$(LOCAL_PATH)/include/images \
    606 	$(LOCAL_PATH)/include/pdf \
    607 	$(LOCAL_PATH)/include/pipe \
    608 	$(LOCAL_PATH)/include/ports \
    609 	$(LOCAL_PATH)/include/utils \
    610 	$(LOCAL_PATH)/include/lazy
    611 
    612 # Add SFTNLY support for PDF (which in turns depends on ICU)
    613 LOCAL_C_INCLUDES += external/sfntly/cpp/src
    614 LOCAL_STATIC_LIBRARIES += libsfntly
    615 LOCAL_SHARED_LIBRARIES += libicuuc libicui18n
    616 
    617 # Android's -D_FORTIFY_SOURCE=2 extensions are incompatibile with SkString.
    618 # Revert to -D_FORTIFY_SOURCE=1
    619 LOCAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
    620 
    621 # Skia does not enforce this usage pattern so we disable it here to avoid
    622 # unecessary log spew when building
    623 LOCAL_CFLAGS += -Wno-unused-parameter
    624 
    625 LOCAL_LDLIBS += -lpthread
    626 
    627 LOCAL_MODULE:= libskia
    628 
    629 #include stlport headers
    630 include external/stlport/libstlport.mk
    631 
    632 include $(BUILD_SHARED_LIBRARY)
    633 
    634 #############################################################
    635 # Build the skia tools
    636 #
    637 
    638 # benchmark (timings)
    639 #include $(BASE_PATH)/bench/Android.mk
    640 
    641 # golden-master (fidelity / regression test)
    642 #include $(BASE_PATH)/gm/Android.mk
    643 
    644 # unit-tests
    645 #include $(BASE_PATH)/tests/Android.mk
    646 
    647 # pathOps unit-tests
    648 # TODO include those sources!
    649