Android.mk 10.2 KB
Newer Older
Mike Reed's avatar
Mike Reed committed
1
BASE_PATH := $(call my-dir)
2 3
LOCAL_PATH:= $(call my-dir)

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
###############################################################################
#
# PROBLEMS WITH SKIA DEBUGGING?? READ THIS...
#
# The debug build results in changes to the Skia headers. This means that those
# using libskia must also be built with the debug version of the Skia headers.
# There are a few scenarios where this comes into play:
#
# (1) You're building debug code that depends on libskia.
#   (a) If libskia is built in release, then define SK_RELEASE when building
#       your sources.
#   (b) If libskia is built with debugging (see step 2), then no changes are
#       needed since your sources and libskia have been built with SK_DEBUG.
# (2) You're building libskia in debug mode.
#   (a) RECOMMENDED: You can build the entire system in debug mode. Do this by
#       updating your buildspec.mk to include TARGET_BUILD_TYPE=debug
#   (b) You can update all the users of libskia to define SK_DEBUG when they are
#       building their sources.
#
# NOTE: If neither SK_DEBUG or SK_RELEASE are defined then Skia checks NDEBUG to
#       determine which build type to use.
###############################################################################


28
#############################################################
29
#   build the skia+fretype+png+jpeg+zlib+gif+webp library
30 31 32 33 34 35
#

include $(CLEAR_VARS)

LOCAL_ARM_MODE := arm

36 37 38 39 40 41
# need a flag to tell the C side when we're on devices with large memory
# budgets (i.e. larger than the low-end devices that initially shipped)
ifeq ($(ARCH_ARM_HAVE_VFP),true)
    LOCAL_CFLAGS += -DANDROID_LARGE_MEMORY_DEVICE
endif

Mike Reed's avatar
Mike Reed committed
42
ifneq ($(ARCH_ARM_HAVE_VFP),true)
43 44 45
	LOCAL_CFLAGS += -DSK_SOFTWARE_FLOAT
endif

46 47 48 49
ifeq ($(ARCH_ARM_HAVE_NEON),true)
	LOCAL_CFLAGS += -D__ARM_HAVE_NEON
endif

50 51 52 53 54 55 56
LOCAL_SRC_FILES:= \
	src/core/Sk64.cpp \
	src/core/SkBuffer.cpp \
	src/core/SkChunkAlloc.cpp \
	src/core/SkCordic.cpp \
	src/core/SkDebug.cpp \
	src/core/SkFloatBits.cpp \
57
	src/core/SkFontHost.cpp \
58 59 60 61 62
	src/core/SkPoint.cpp \
	src/core/SkRect.cpp \
	src/core/SkRegion.cpp \
	src/core/SkString.cpp \
	src/core/SkUtils.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
63 64 65 66
	src/core/SkFlate.cpp \
	src/core/SkMallocPixelRef.cpp \
	src/core/SkRegion_rects.cpp \
	src/core/SkScalar.cpp \
Mike Reed's avatar
Mike Reed committed
67
	src/ports/SkDebug_android.cpp \
68 69 70
	src/effects/Sk1DPathEffect.cpp \
	src/effects/Sk2DPathEffect.cpp \
	src/effects/SkAvoidXfermode.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
71
	src/effects/SkBitmapCache.cpp \
72 73 74 75 76 77 78 79 80 81 82
	src/effects/SkBlurDrawLooper.cpp \
	src/effects/SkBlurMask.cpp \
	src/effects/SkBlurMaskFilter.cpp \
	src/effects/SkColorFilters.cpp \
	src/effects/SkColorMatrixFilter.cpp \
	src/effects/SkCornerPathEffect.cpp \
	src/effects/SkDashPathEffect.cpp \
	src/effects/SkDiscretePathEffect.cpp \
	src/effects/SkEmbossMask.cpp \
	src/effects/SkEmbossMaskFilter.cpp \
	src/effects/SkGradientShader.cpp \
83
	src/effects/SkGroupShape.cpp \
84 85 86 87
	src/effects/SkLayerDrawLooper.cpp \
	src/effects/SkLayerRasterizer.cpp \
	src/effects/SkPaintFlagsDrawFilter.cpp \
	src/effects/SkPixelXorXfermode.cpp \
Mike Reed's avatar
Mike Reed committed
88
	src/effects/SkPorterDuff.cpp \
89
	src/effects/SkRectShape.cpp \
Mike Reed's avatar
Mike Reed committed
90
	src/effects/SkTableMaskFilter.cpp \
91 92 93 94 95 96 97 98 99
	src/effects/SkTransparentShader.cpp \
	src/images/bmpdecoderhelper.cpp \
	src/images/SkFDStream.cpp \
	src/images/SkFlipPixelRef.cpp \
	src/images/SkImageDecoder.cpp \
	src/images/SkImageDecoder_libbmp.cpp \
	src/images/SkImageDecoder_libgif.cpp \
	src/images/SkImageDecoder_libjpeg.cpp \
	src/images/SkImageDecoder_libpng.cpp \
100
	src/images/SkImageDecoder_libwebp.cpp \
101 102 103 104 105 106
	src/images/SkImageDecoder_libico.cpp \
	src/images/SkImageDecoder_wbmp.cpp \
	src/images/SkImageEncoder.cpp \
	src/images/SkImageRef.cpp \
	src/images/SkImageRef_GlobalPool.cpp \
	src/images/SkImageRefPool.cpp \
107
	src/images/SkJpegUtility.cpp \
108
	src/images/SkBitmapRegionDecoder.cpp \
109 110 111 112 113 114 115
	src/images/SkMovie.cpp \
	src/images/SkMovie_gif.cpp \
	src/images/SkPageFlipper.cpp \
	src/images/SkScaledBitmapSampler.cpp \
	src/images/SkCreateRLEPixelRef.cpp \
	src/images/SkImageDecoder_Factory.cpp \
	src/images/SkImageEncoder_Factory.cpp \
116
	src/ports/FontHostConfiguration_android.cpp \
117 118 119
	src/ports/SkFontHost_android.cpp \
	src/ports/SkFontHost_gamma.cpp \
	src/ports/SkFontHost_FreeType.cpp \
120
	src/ports/SkFontHost_tables.cpp \
121 122 123 124
	src/ports/SkGlobals_global.cpp \
	src/ports/SkImageRef_ashmem.cpp \
	src/ports/SkOSFile_stdio.cpp \
	src/ports/SkTime_Unix.cpp \
125
	src/core/SkAdvancedTypefaceMetrics.cpp \
126 127 128 129 130 131 132 133
	src/core/SkAlphaRuns.cpp \
	src/core/SkBitmap.cpp \
	src/core/SkBitmap_scroll.cpp \
	src/core/SkBitmapProcShader.cpp \
	src/core/SkBitmapProcState.cpp \
	src/core/SkBitmapProcState_matrixProcs.cpp \
	src/core/SkBitmapSampler.cpp \
	src/core/SkBlitRow_D16.cpp \
134
	src/core/SkBlitRow_D32.cpp \
135 136 137 138 139 140 141 142 143
	src/core/SkBlitRow_D4444.cpp \
	src/core/SkBlitter.cpp \
	src/core/SkBlitter_4444.cpp \
	src/core/SkBlitter_A1.cpp \
	src/core/SkBlitter_A8.cpp \
	src/core/SkBlitter_ARGB32.cpp \
	src/core/SkBlitter_RGB16.cpp \
	src/core/SkBlitter_Sprite.cpp \
	src/core/SkCanvas.cpp \
144
	src/core/SkClampRange.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
145
	src/core/SkClipStack.cpp \
146 147 148 149
	src/core/SkColor.cpp \
	src/core/SkColorFilter.cpp \
	src/core/SkColorTable.cpp \
	src/core/SkComposeShader.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
150
	src/core/SkCubicClipper.cpp \
151 152 153 154 155
	src/core/SkDeque.cpp \
	src/core/SkDevice.cpp \
	src/core/SkDither.cpp \
	src/core/SkDraw.cpp \
	src/core/SkEdge.cpp \
156 157
	src/core/SkEdgeBuilder.cpp \
	src/core/SkEdgeClipper.cpp \
158 159 160 161 162 163
	src/core/SkFilterProc.cpp \
	src/core/SkFlattenable.cpp \
	src/core/SkGeometry.cpp \
	src/core/SkGlobals.cpp \
	src/core/SkGlyphCache.cpp \
	src/core/SkGraphics.cpp \
164
	src/core/SkLineClipper.cpp \
165 166 167
	src/core/SkMMapStream.cpp \
	src/core/SkMask.cpp \
	src/core/SkMaskFilter.cpp \
168 169 170
	src/core/SkMath.cpp \
	src/core/SkMatrix.cpp \
	src/core/SkMemory_stdlib.cpp \
171
	src/core/SkMetaData.cpp \
172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
	src/core/SkPackBits.cpp \
	src/core/SkPaint.cpp \
	src/core/SkPath.cpp \
	src/core/SkPathEffect.cpp \
	src/core/SkPathHeap.cpp \
	src/core/SkPathMeasure.cpp \
	src/core/SkPicture.cpp \
	src/core/SkPictureFlat.cpp \
	src/core/SkPicturePlayback.cpp \
	src/core/SkPictureRecord.cpp \
	src/core/SkPixelRef.cpp \
	src/core/SkProcSpriteBlitter.cpp \
	src/core/SkPtrRecorder.cpp \
	src/core/SkQuadClipper.cpp \
	src/core/SkRasterizer.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
187
	src/core/SkRefDict.cpp \
188 189 190 191 192 193 194 195
	src/core/SkRegion_path.cpp \
	src/core/SkScalerContext.cpp \
	src/core/SkScan.cpp \
	src/core/SkScan_AntiPath.cpp \
	src/core/SkScan_Antihair.cpp \
	src/core/SkScan_Hairline.cpp \
	src/core/SkScan_Path.cpp \
	src/core/SkShader.cpp \
Mike Reed's avatar
Mike Reed committed
196
	src/core/SkShape.cpp \
197 198 199 200 201 202 203
	src/core/SkSpriteBlitter_ARGB32.cpp \
	src/core/SkSpriteBlitter_RGB16.cpp \
	src/core/SkStream.cpp \
	src/core/SkStroke.cpp \
	src/core/SkStrokerPriv.cpp \
	src/core/SkTSearch.cpp \
	src/core/SkTypeface.cpp \
204
	src/core/SkTypefaceCache.cpp \
205 206 207
	src/core/SkUnPreMultiply.cpp \
	src/core/SkXfermode.cpp \
	src/core/SkWriter32.cpp \
Mike Reed's avatar
Mike Reed committed
208
	src/utils/SkBoundaryPatch.cpp \
209 210
	src/utils/SkCamera.cpp \
	src/utils/SkDumpCanvas.cpp \
211
	src/utils/SkEGLContext_none.cpp \
212
	src/utils/SkInterpolator.cpp \
Mike Reed's avatar
Mike Reed committed
213
	src/utils/SkLayer.cpp \
214
	src/utils/SkOSFile.cpp \
Mike Reed's avatar
Mike Reed committed
215
	src/utils/SkMeshUtils.cpp \
216
	src/utils/SkNinePatch.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
217
	src/utils/SkParse.cpp \
218
	src/utils/SkParseColor.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
219
	src/utils/SkParsePath.cpp \
220 221
	src/utils/SkProxyCanvas.cpp \
	src/utils/SkUnitMappers.cpp
222

Marco Nelissen's avatar
Marco Nelissen committed
223
ifeq ($(TARGET_ARCH),arm)
224 225 226 227 228 229 230

ifeq ($(ARCH_ARM_HAVE_NEON),true)
LOCAL_SRC_FILES += \
	src/opts/memset16_neon.S \
	src/opts/memset32_neon.S
endif

Marco Nelissen's avatar
Marco Nelissen committed
231
LOCAL_SRC_FILES += \
232
	src/opts/SkBlitRow_opts_arm.cpp \
233 234 235
	src/opts/SkBitmapProcState_opts_arm.cpp \
	src/opts/opts_check_arm.cpp \
	src/opts/memset.arm.S
Marco Nelissen's avatar
Marco Nelissen committed
236 237
else
LOCAL_SRC_FILES += \
238 239
	src/opts/SkBlitRow_opts_none.cpp \
	src/opts/SkBitmapProcState_opts_none.cpp
Marco Nelissen's avatar
Marco Nelissen committed
240 241
endif

242 243 244 245
# these are for emoji support, needed by webkit
LOCAL_SRC_FILES += \
	emoji/EmojiFont.cpp

246 247
LOCAL_SHARED_LIBRARIES := \
	libcutils \
248
	libemoji \
Wei-Ta Chen's avatar
Wei-Ta Chen committed
249
	libjpeg \
250
	libutils \
251 252
	libz \
	libexpat
253 254 255 256

LOCAL_STATIC_LIBRARIES := \
	libft2 \
	libpng \
257
	libgif \
258 259
	libwebp-decode \
	libwebp-encode
260 261 262 263 264 265 266 267 268 269 270 271

LOCAL_C_INCLUDES += \
	$(LOCAL_PATH)/src/core \
	$(LOCAL_PATH)/include/core \
	$(LOCAL_PATH)/include/effects \
	$(LOCAL_PATH)/include/images \
	$(LOCAL_PATH)/include/utils \
	$(LOCAL_PATH)/include/xml \
	external/freetype/include \
	external/zlib \
	external/libpng \
	external/giflib \
272
	external/jpeg \
273
	external/webp/include \
274 275
	frameworks/opt/emoji \
	external/expat/lib
276 277 278 279 280 281 282

ifeq ($(NO_FALLBACK_FONT),true)
	LOCAL_CFLAGS += -DNO_FALLBACK_FONT
endif

LOCAL_LDLIBS += -lpthread

Mike Reed's avatar
Mike Reed committed
283
LOCAL_MODULE:= libskia
284 285 286

include $(BUILD_SHARED_LIBRARY)

Derek Sollenberger's avatar
Derek Sollenberger committed
287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307
#############################################################
# Build the skia gpu (ganesh) library
#

include $(CLEAR_VARS)

LOCAL_ARM_MODE := arm

ifneq ($(ARCH_ARM_HAVE_VFP),true)
       LOCAL_CFLAGS += -DSK_SOFTWARE_FLOAT
endif

ifeq ($(ARCH_ARM_HAVE_NEON),true)
       LOCAL_CFLAGS += -D__ARM_HAVE_NEON
endif

LOCAL_SRC_FILES:= \
  gpu/src/GrAllocPool.cpp \
  gpu/src/GrAtlas.cpp \
  gpu/src/GrClip.cpp \
  gpu/src/GrContext.cpp \
308
  gpu/src/GrCreatePathRenderer_none.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
309
  gpu/src/GrDrawTarget.cpp \
310
  gpu/src/android/GrGLDefaultInterface_android.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
311
  gpu/src/GrGLIndexBuffer.cpp	\
Derek Sollenberger's avatar
Derek Sollenberger committed
312
  gpu/src/GrGLInterface.cpp \
313
  gpu/src/GrGLProgram.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
314 315 316 317 318 319 320
  gpu/src/GrGLTexture.cpp \
  gpu/src/GrGLVertexBuffer.cpp \
  gpu/src/GrGpu.cpp \
  gpu/src/GrGpuGLFixed.cpp \
  gpu/src/GrGpuFactory.cpp \
  gpu/src/GrGLUtil.cpp \
  gpu/src/GrGpuGL.cpp \
321
  gpu/src/GrGpuGLShaders.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
322 323 324
  gpu/src/GrInOrderDrawBuffer.cpp \
  gpu/src/GrMatrix.cpp \
  gpu/src/GrMemory.cpp \
325
  gpu/src/GrPathUtils.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
326
  gpu/src/GrRectanizer_fifo.cpp \
327 328
  gpu/src/GrResource.cpp \
  gpu/src/GrTexture.cpp \
Derek Sollenberger's avatar
Derek Sollenberger committed
329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353
  gpu/src/GrTextureCache.cpp \
  gpu/src/GrTextContext.cpp \
  gpu/src/GrTextStrike.cpp \
  gpu/src/GrBufferAllocPool.cpp\
  gpu/src/GrPathRenderer.cpp \
  gpu/src/GrStencil.cpp \
  src/gpu/SkGpuCanvas.cpp	\
  src/gpu/SkGpuDevice.cpp \
  src/gpu/SkGr.cpp \
  src/gpu/SkGrTexturePixelRef.cpp \
  src/gpu/SkGrFontScaler.cpp \
	src/gpu/GrPrintf_skia.cpp

LOCAL_SHARED_LIBRARIES := \
  libcutils \
  libutils \
  libskia \
  libEGL \
  libGLESv2

LOCAL_C_INCLUDES += \
  $(LOCAL_PATH)/gpu/include \
  $(LOCAL_PATH)/gpu/src \
  $(LOCAL_PATH)/include/core \
  $(LOCAL_PATH)/include/gpu \
354 355
  $(LOCAL_PATH)/src/core \
  frameworks/base/opengl/include/GLES2
Derek Sollenberger's avatar
Derek Sollenberger committed
356 357 358 359 360 361 362 363

LOCAL_LDLIBS += -lpthread

LOCAL_MODULE:= libskiagpu
LOCAL_MODULE_TAGS := optional

include $(BUILD_STATIC_LIBRARY)

364
#############################################################
Mike Reed's avatar
Mike Reed committed
365
# Build the skia tools
366 367
#

Mike Reed's avatar
Mike Reed committed
368 369 370 371
# benchmark (timings)
include $(BASE_PATH)/bench/Android.mk

# golden-master (fidelity / regression test)
372
include $(BASE_PATH)/gm/Android.mk
373 374 375

# unit-tests
include $(BASE_PATH)/tests/Android.mk