Android.mk revision 0b15698a8c76bb8abc1b555c1d91892669b4118f
1BASE_PATH := $(call my-dir)
2LOCAL_PATH:= $(call my-dir)
3
4#############################################################
5#   build the skia+fretype+png+jpeg+zlib+gif library
6#
7
8include $(CLEAR_VARS)
9
10LOCAL_ARM_MODE := arm
11
12# need a flag to tell the C side when we're on devices with large memory
13# budgets (i.e. larger than the low-end devices that initially shipped)
14ifeq ($(ARCH_ARM_HAVE_VFP),true)
15    LOCAL_CFLAGS += -DANDROID_LARGE_MEMORY_DEVICE
16endif
17
18ifneq ($(ARCH_ARM_HAVE_VFP),true)
19	LOCAL_CFLAGS += -DSK_SOFTWARE_FLOAT
20endif
21
22ifeq ($(ARCH_ARM_HAVE_NEON),true)
23	LOCAL_CFLAGS += -D__ARM_HAVE_NEON
24endif
25
26LOCAL_SRC_FILES:= \
27	src/core/Sk64.cpp \
28	src/core/SkBuffer.cpp \
29	src/core/SkChunkAlloc.cpp \
30	src/core/SkCordic.cpp \
31	src/core/SkDebug.cpp \
32	src/core/SkFloatBits.cpp \
33	src/core/SkFontHost.cpp \
34	src/core/SkPoint.cpp \
35	src/core/SkRect.cpp \
36	src/core/SkRegion.cpp \
37	src/core/SkString.cpp \
38	src/core/SkUtils.cpp \
39	src/core/SkFlate.cpp \
40	src/core/SkMallocPixelRef.cpp \
41	src/core/SkRegion_rects.cpp \
42	src/core/SkScalar.cpp \
43	src/ports/SkDebug_android.cpp \
44	src/effects/Sk1DPathEffect.cpp \
45	src/effects/Sk2DPathEffect.cpp \
46	src/effects/SkAvoidXfermode.cpp \
47	src/effects/SkBitmapCache.cpp \
48	src/effects/SkBlurDrawLooper.cpp \
49	src/effects/SkBlurMask.cpp \
50	src/effects/SkBlurMaskFilter.cpp \
51	src/effects/SkColorFilters.cpp \
52	src/effects/SkColorMatrixFilter.cpp \
53	src/effects/SkCornerPathEffect.cpp \
54	src/effects/SkDashPathEffect.cpp \
55	src/effects/SkDiscretePathEffect.cpp \
56	src/effects/SkEmbossMask.cpp \
57	src/effects/SkEmbossMaskFilter.cpp \
58	src/effects/SkGradientShader.cpp \
59	src/effects/SkGroupShape.cpp \
60	src/effects/SkLayerDrawLooper.cpp \
61	src/effects/SkLayerRasterizer.cpp \
62	src/effects/SkPaintFlagsDrawFilter.cpp \
63	src/effects/SkPixelXorXfermode.cpp \
64	src/effects/SkPorterDuff.cpp \
65	src/effects/SkRectShape.cpp \
66	src/effects/SkTableMaskFilter.cpp \
67	src/effects/SkTransparentShader.cpp \
68	src/images/bmpdecoderhelper.cpp \
69	src/images/SkFDStream.cpp \
70	src/images/SkFlipPixelRef.cpp \
71	src/images/SkImageDecoder.cpp \
72	src/images/SkImageDecoder_libbmp.cpp \
73	src/images/SkImageDecoder_libgif.cpp \
74	src/images/SkImageDecoder_libjpeg.cpp \
75	src/images/SkImageDecoder_libpng.cpp \
76	src/images/SkImageDecoder_libico.cpp \
77	src/images/SkImageDecoder_wbmp.cpp \
78	src/images/SkImageDecoder_libwebp.cpp \
79	src/images/SkImageEncoder.cpp \
80	src/images/SkImageRef.cpp \
81	src/images/SkImageRef_GlobalPool.cpp \
82	src/images/SkImageRefPool.cpp \
83	src/images/SkJpegUtility.cpp \
84	src/images/SkBitmapRegionDecoder.cpp \
85	src/images/SkMovie.cpp \
86	src/images/SkMovie_gif.cpp \
87	src/images/SkPageFlipper.cpp \
88	src/images/SkScaledBitmapSampler.cpp \
89	src/images/SkCreateRLEPixelRef.cpp \
90	src/images/SkImageDecoder_Factory.cpp \
91	src/images/SkImageEncoder_Factory.cpp \
92	src/ports/SkFontHost_android.cpp \
93	src/ports/SkFontHost_gamma.cpp \
94	src/ports/SkFontHost_FreeType.cpp \
95	src/ports/SkFontHost_tables.cpp \
96	src/ports/SkGlobals_global.cpp \
97	src/ports/SkImageRef_ashmem.cpp \
98	src/ports/SkOSFile_stdio.cpp \
99	src/ports/SkTime_Unix.cpp \
100	src/core/SkAlphaRuns.cpp \
101	src/core/SkBitmap.cpp \
102	src/core/SkBitmap_scroll.cpp \
103	src/core/SkBitmapProcShader.cpp \
104	src/core/SkBitmapProcState.cpp \
105	src/core/SkBitmapProcState_matrixProcs.cpp \
106	src/core/SkBitmapSampler.cpp \
107	src/core/SkBlitRow_D16.cpp \
108	src/core/SkBlitRow_D32.cpp \
109	src/core/SkBlitRow_D4444.cpp \
110	src/core/SkBlitter.cpp \
111	src/core/SkBlitter_4444.cpp \
112	src/core/SkBlitter_A1.cpp \
113	src/core/SkBlitter_A8.cpp \
114	src/core/SkBlitter_ARGB32.cpp \
115	src/core/SkBlitter_RGB16.cpp \
116	src/core/SkBlitter_Sprite.cpp \
117	src/core/SkCanvas.cpp \
118	src/core/SkClampRange.cpp \
119	src/core/SkClipStack.cpp \
120	src/core/SkColor.cpp \
121	src/core/SkColorFilter.cpp \
122	src/core/SkColorTable.cpp \
123	src/core/SkComposeShader.cpp \
124	src/core/SkCubicClipper.cpp \
125	src/core/SkDeque.cpp \
126	src/core/SkDevice.cpp \
127	src/core/SkDither.cpp \
128	src/core/SkDraw.cpp \
129	src/core/SkEdge.cpp \
130	src/core/SkEdgeBuilder.cpp \
131	src/core/SkEdgeClipper.cpp \
132	src/core/SkFilterProc.cpp \
133	src/core/SkFlattenable.cpp \
134	src/core/SkGeometry.cpp \
135	src/core/SkGlobals.cpp \
136	src/core/SkGlyphCache.cpp \
137	src/core/SkGraphics.cpp \
138	src/core/SkLineClipper.cpp \
139	src/core/SkMMapStream.cpp \
140	src/core/SkMask.cpp \
141	src/core/SkMaskFilter.cpp \
142	src/core/SkMath.cpp \
143	src/core/SkMatrix.cpp \
144	src/core/SkMemory_stdlib.cpp \
145	src/core/SkMetaData.cpp \
146	src/core/SkPackBits.cpp \
147	src/core/SkPaint.cpp \
148	src/core/SkPath.cpp \
149	src/core/SkPathEffect.cpp \
150	src/core/SkPathHeap.cpp \
151	src/core/SkPathMeasure.cpp \
152	src/core/SkPicture.cpp \
153	src/core/SkPictureFlat.cpp \
154	src/core/SkPicturePlayback.cpp \
155	src/core/SkPictureRecord.cpp \
156	src/core/SkPixelRef.cpp \
157	src/core/SkProcSpriteBlitter.cpp \
158	src/core/SkPtrRecorder.cpp \
159	src/core/SkQuadClipper.cpp \
160	src/core/SkRasterizer.cpp \
161	src/core/SkRefDict.cpp \
162	src/core/SkRegion_path.cpp \
163	src/core/SkScalerContext.cpp \
164	src/core/SkScan.cpp \
165	src/core/SkScan_AntiPath.cpp \
166	src/core/SkScan_Antihair.cpp \
167	src/core/SkScan_Hairline.cpp \
168	src/core/SkScan_Path.cpp \
169	src/core/SkShader.cpp \
170	src/core/SkShape.cpp \
171	src/core/SkSpriteBlitter_ARGB32.cpp \
172	src/core/SkSpriteBlitter_RGB16.cpp \
173	src/core/SkStream.cpp \
174	src/core/SkStroke.cpp \
175	src/core/SkStrokerPriv.cpp \
176	src/core/SkTSearch.cpp \
177	src/core/SkTypeface.cpp \
178	src/core/SkTypefaceCache.cpp \
179	src/core/SkUnPreMultiply.cpp \
180	src/core/SkXfermode.cpp \
181	src/core/SkWriter32.cpp \
182	src/utils/SkBoundaryPatch.cpp \
183	src/utils/SkCamera.cpp \
184	src/utils/SkDumpCanvas.cpp \
185	src/utils/SkEGLContext_none.cpp \
186	src/utils/SkInterpolator.cpp \
187	src/utils/SkLayer.cpp \
188	src/utils/SkOSFile.cpp \
189	src/utils/SkMeshUtils.cpp \
190	src/utils/SkNinePatch.cpp \
191	src/utils/SkParse.cpp \
192	src/utils/SkParsePath.cpp \
193	src/utils/SkProxyCanvas.cpp \
194	src/utils/SkUnitMappers.cpp
195
196ifeq ($(TARGET_ARCH),arm)
197
198ifeq ($(ARCH_ARM_HAVE_NEON),true)
199LOCAL_SRC_FILES += \
200	src/opts/memset16_neon.S \
201	src/opts/memset32_neon.S
202endif
203
204LOCAL_SRC_FILES += \
205	src/opts/SkBlitRow_opts_arm.cpp \
206	src/opts/SkBitmapProcState_opts_arm.cpp \
207	src/opts/opts_check_arm.cpp \
208	src/opts/memset.arm.S
209else
210LOCAL_SRC_FILES += \
211	src/opts/SkBlitRow_opts_none.cpp \
212	src/opts/SkBitmapProcState_opts_none.cpp
213endif
214
215# these are for emoji support, needed by webkit
216LOCAL_SRC_FILES += \
217	emoji/EmojiFont.cpp
218
219LOCAL_SHARED_LIBRARIES := \
220	libcutils \
221  libemoji \
222	libjpeg \
223	libutils \
224	libz
225
226LOCAL_STATIC_LIBRARIES := \
227	libft2 \
228	libpng \
229	libgif \
230	libwebp-decode
231
232LOCAL_C_INCLUDES += \
233	$(LOCAL_PATH)/src/core \
234	$(LOCAL_PATH)/include/core \
235	$(LOCAL_PATH)/include/effects \
236	$(LOCAL_PATH)/include/images \
237	$(LOCAL_PATH)/include/utils \
238	$(LOCAL_PATH)/include/xml \
239	external/freetype/include \
240	external/zlib \
241	external/libpng \
242	external/giflib \
243	external/jpeg \
244	external/webp/include \
245	frameworks/opt/emoji
246
247ifeq ($(NO_FALLBACK_FONT),true)
248	LOCAL_CFLAGS += -DNO_FALLBACK_FONT
249endif
250
251LOCAL_LDLIBS += -lpthread
252
253LOCAL_MODULE:= libskia
254
255include $(BUILD_SHARED_LIBRARY)
256
257#############################################################
258# Build the skia gpu (ganesh) library
259#
260
261include $(CLEAR_VARS)
262
263LOCAL_ARM_MODE := arm
264
265ifneq ($(ARCH_ARM_HAVE_VFP),true)
266       LOCAL_CFLAGS += -DSK_SOFTWARE_FLOAT
267endif
268
269ifeq ($(ARCH_ARM_HAVE_NEON),true)
270       LOCAL_CFLAGS += -D__ARM_HAVE_NEON
271endif
272
273LOCAL_SRC_FILES:= \
274  gpu/src/GrAllocPool.cpp \
275  gpu/src/GrAtlas.cpp \
276  gpu/src/GrClip.cpp \
277  gpu/src/GrContext.cpp \
278  gpu/src/GrCreatePathRenderer_none.cpp \
279  gpu/src/GrDrawTarget.cpp \
280  gpu/src/GrGLDefaultInterface_none.cpp \
281  gpu/src/GrGLIndexBuffer.cpp	\
282  gpu/src/GrGLInterface.cpp \
283  gpu/src/GrGLProgram.cpp \
284  gpu/src/GrGLTexture.cpp \
285  gpu/src/GrGLVertexBuffer.cpp \
286  gpu/src/GrGpu.cpp \
287  gpu/src/GrGpuGLFixed.cpp \
288  gpu/src/GrGpuFactory.cpp \
289  gpu/src/GrGLUtil.cpp \
290  gpu/src/GrGpuGL.cpp \
291  gpu/src/GrGpuGLShaders.cpp \
292  gpu/src/GrInOrderDrawBuffer.cpp \
293  gpu/src/GrMatrix.cpp \
294  gpu/src/GrMemory.cpp \
295  gpu/src/GrPathUtils.cpp \
296  gpu/src/GrRectanizer_fifo.cpp \
297  gpu/src/GrResource.cpp \
298  gpu/src/GrTexture.cpp \
299  gpu/src/GrTextureCache.cpp \
300  gpu/src/GrTextContext.cpp \
301  gpu/src/GrTextStrike.cpp \
302  gpu/src/GrBufferAllocPool.cpp\
303  gpu/src/GrPathRenderer.cpp \
304  gpu/src/GrStencil.cpp \
305  src/gpu/SkGpuCanvas.cpp	\
306  src/gpu/SkGpuDevice.cpp \
307  src/gpu/SkGr.cpp \
308  src/gpu/SkGrTexturePixelRef.cpp \
309  src/gpu/SkGrFontScaler.cpp \
310	src/gpu/GrPrintf_skia.cpp
311
312LOCAL_SHARED_LIBRARIES := \
313  libcutils \
314  libutils \
315  libskia \
316  libEGL \
317  libGLESv2
318
319LOCAL_C_INCLUDES += \
320  $(LOCAL_PATH)/gpu/include \
321  $(LOCAL_PATH)/gpu/src \
322  $(LOCAL_PATH)/include/core \
323  $(LOCAL_PATH)/include/gpu \
324  $(LOCAL_PATH)/src/core
325
326LOCAL_LDLIBS += -lpthread
327
328LOCAL_MODULE:= libskiagpu
329LOCAL_MODULE_TAGS := optional
330
331include $(BUILD_STATIC_LIBRARY)
332
333#############################################################
334# Build the skia tools
335#
336
337# benchmark (timings)
338include $(BASE_PATH)/bench/Android.mk
339
340# golden-master (fidelity / regression test)
341include $(BASE_PATH)/gm/Android.mk
342
343# unit-tests
344include $(BASE_PATH)/tests/Android.mk
345