1893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLOCAL_PATH:= $(call my-dir)
2893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
3893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# We need to build this for both the device (as a shared library)
4893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# and the host (as a static library for tools to use).
5893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
6893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectcommon_SRC_FILES := \
7893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	png.c \
8893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngerror.c \
9893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngget.c \
10893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngmem.c \
11893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngpread.c \
12893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngread.c \
13893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngrio.c \
14893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngrtran.c \
15893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngrutil.c \
16893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngset.c \
17893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngtrans.c \
18893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngwio.c \
19893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngwrite.c \
20893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project	pngwtran.c \
21b50c217251b086440efcdb273c22f86a06c80cbaChris Craik	pngwutil.c \
22893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
23282702a927196cccbdf7ada46e7243df14638a35sireeshifeq ($(ARCH_ARM_HAVE_NEON),true)
24b43974131d78bade0d174820aba22a97d986086aRiley Andrewsmy_cflags_arm := -DPNG_ARM_NEON_OPT=2
25282702a927196cccbdf7ada46e7243df14638a35sireeshendif
26bdcf23a86887898898df425b4ef282dc3f035ddfStephen Hines
27b43974131d78bade0d174820aba22a97d986086aRiley Andrewsmy_cflags_arm64 := -DPNG_ARM_NEON_OPT=2
2843608cfba1024f3d1bfe3d0b4db58adece411cd9sireesh
29bdcf23a86887898898df425b4ef282dc3f035ddfStephen Hines# BUG: http://llvm.org/PR19472 - SLP vectorization (on ARM at least) crashes
30bdcf23a86887898898df425b4ef282dc3f035ddfStephen Hines# when we can't lower a vectorized bswap.
31bdcf23a86887898898df425b4ef282dc3f035ddfStephen Hinesmy_cflags_arm += -fno-slp-vectorize
32bdcf23a86887898898df425b4ef282dc3f035ddfStephen Hines
333446b93c40f62058a34e8ffee6fe44962cfa0d15Ying Wangmy_src_files_arm := \
34b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari			arm/arm_init.c \
35b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari			arm/filter_neon.S \
36b478e66e7c2621eef5f465e4629ce642db00716bSireesh Tripurari			arm/filter_neon_intrinsics.c
37b50c217251b086440efcdb273c22f86a06c80cbaChris Craik
38b50c217251b086440efcdb273c22f86a06c80cbaChris Craik
39b50c217251b086440efcdb273c22f86a06c80cbaChris Craikcommon_CFLAGS := -std=gnu89 #-fvisibility=hidden ## -fomit-frame-pointer
40671f9cd672375a3ceb873a4982744aa730ad1bafRaphael Moll
41893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# For the host
42893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# =====================================================
43893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
44893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectinclude $(CLEAR_VARS)
45893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLOCAL_SRC_FILES := $(common_SRC_FILES)
46893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLOCAL_CFLAGS += $(common_CFLAGS)
4743d98c911f71b24901570feb85cb1f8fd7f70fe5Tim MurrayLOCAL_ASFLAGS += $(common_ASFLAGS)
48b74a801b7043a266412300a9382debe08b154e27Trevor DrakeLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
494e7f18a26cbb842e7fda3e9bd9c1378a5a67e210Narayan KamathLOCAL_STATIC_LIBRARIES := libz
50893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLOCAL_MODULE:= libpng
51893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectinclude $(BUILD_HOST_STATIC_LIBRARY)
52893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
53893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
54b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen Hines# For the device (static)
55b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen Hines# =====================================================
56b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen Hines
57b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen Hinesinclude $(CLEAR_VARS)
58b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen HinesLOCAL_CLANG := true
59b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen HinesLOCAL_SRC_FILES := $(common_SRC_FILES)
60b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen HinesLOCAL_CFLAGS += $(common_CFLAGS) -ftrapv
613446b93c40f62058a34e8ffee6fe44962cfa0d15Ying WangLOCAL_CFLAGS_arm := $(my_cflags_arm)
6243d98c911f71b24901570feb85cb1f8fd7f70fe5Tim MurrayLOCAL_ASFLAGS += $(common_ASFLAGS)
633446b93c40f62058a34e8ffee6fe44962cfa0d15Ying WangLOCAL_SRC_FILES_arm := $(my_src_files_arm)
6443608cfba1024f3d1bfe3d0b4db58adece411cd9sireeshLOCAL_CFLAGS_arm64 := $(my_cflags_arm64)
6543608cfba1024f3d1bfe3d0b4db58adece411cd9sireeshLOCAL_SRC_FILES_arm64 := $(my_src_files_arm)
661afb0701ab5098f30919edfcf8f89ce012380261Dan AlbertLOCAL_ADDRESS_SANITIZER := false
67b74a801b7043a266412300a9382debe08b154e27Trevor DrakeLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
68b74a801b7043a266412300a9382debe08b154e27Trevor DrakeLOCAL_SHARED_LIBRARIES := libz
69b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen HinesLOCAL_MODULE:= libpng
70b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen Hinesinclude $(BUILD_STATIC_LIBRARY)
71b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen Hines
72b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen Hines# For the device (shared)
73893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project# =====================================================
74893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
75893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Projectinclude $(CLEAR_VARS)
76deba48b32d593851724bdce88dd9b754c4722645Stephen HinesLOCAL_CLANG := true
77893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLOCAL_SRC_FILES := $(common_SRC_FILES)
7814cab8628b01f030647fb0a42dac7a5c031bb50eGeremy CondraLOCAL_CFLAGS += $(common_CFLAGS) -ftrapv
793446b93c40f62058a34e8ffee6fe44962cfa0d15Ying WangLOCAL_CFLAGS_arm := $(my_cflags_arm)
8043d98c911f71b24901570feb85cb1f8fd7f70fe5Tim MurrayLOCAL_ASFLAGS += $(common_ASFLAGS)
813446b93c40f62058a34e8ffee6fe44962cfa0d15Ying WangLOCAL_SRC_FILES_arm := $(my_src_files_arm)
8243608cfba1024f3d1bfe3d0b4db58adece411cd9sireeshLOCAL_CFLAGS_arm64 := $(my_cflags_arm64)
8343608cfba1024f3d1bfe3d0b4db58adece411cd9sireeshLOCAL_SRC_FILES_arm64 := $(my_src_files_arm)
84b74a801b7043a266412300a9382debe08b154e27Trevor DrakeLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
85b74a801b7043a266412300a9382debe08b154e27Trevor DrakeLOCAL_SHARED_LIBRARIES := libz
86893912bfc2683463dc3e2c445336752d012563d3The Android Open Source ProjectLOCAL_MODULE:= libpng
87b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen Hinesinclude $(BUILD_SHARED_LIBRARY)
88893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
8914cab8628b01f030647fb0a42dac7a5c031bb50eGeremy Condra# For testing
9014cab8628b01f030647fb0a42dac7a5c031bb50eGeremy Condra# =====================================================
91893912bfc2683463dc3e2c445336752d012563d3The Android Open Source Project
9214cab8628b01f030647fb0a42dac7a5c031bb50eGeremy Condrainclude $(CLEAR_VARS)
93b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen HinesLOCAL_CLANG := true
94b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen HinesLOCAL_SRC_FILES:= pngtest.c
9514cab8628b01f030647fb0a42dac7a5c031bb50eGeremy CondraLOCAL_MODULE := pngtest
96b5e7fb4c103b3898cb78e9f7615cf7893626a5e9Stephen HinesLOCAL_SHARED_LIBRARIES:= libpng libz
9714cab8628b01f030647fb0a42dac7a5c031bb50eGeremy CondraLOCAL_MODULE_TAGS := debug
9814cab8628b01f030647fb0a42dac7a5c031bb50eGeremy Condrainclude $(BUILD_EXECUTABLE)
99