The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 1 | LOCAL_PATH:= $(call my-dir) |
| 2 | |
| 3 | # We need to build this for both the device (as a shared library) |
| 4 | # and the host (as a static library for tools to use). |
| 5 | |
| 6 | common_SRC_FILES := \ |
| 7 | png.c \ |
| 8 | pngerror.c \ |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 9 | pngget.c \ |
| 10 | pngmem.c \ |
| 11 | pngpread.c \ |
| 12 | pngread.c \ |
| 13 | pngrio.c \ |
| 14 | pngrtran.c \ |
| 15 | pngrutil.c \ |
| 16 | pngset.c \ |
| 17 | pngtrans.c \ |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 18 | pngwio.c \ |
| 19 | pngwrite.c \ |
| 20 | pngwtran.c \ |
Chris Craik | b50c217 | 2013-07-29 15:28:30 -0700 | [diff] [blame] | 21 | pngwutil.c \ |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 22 | |
sireesh | 282702a | 2014-06-18 14:16:48 +0530 | [diff] [blame] | 23 | ifeq ($(ARCH_ARM_HAVE_NEON),true) |
Riley Andrews | b439741 | 2014-08-19 17:21:02 -0700 | [diff] [blame] | 24 | my_cflags_arm := -DPNG_ARM_NEON_OPT=2 |
sireesh | 282702a | 2014-06-18 14:16:48 +0530 | [diff] [blame] | 25 | endif |
Stephen Hines | bdcf23a | 2014-04-17 16:25:53 -0700 | [diff] [blame] | 26 | |
Riley Andrews | b439741 | 2014-08-19 17:21:02 -0700 | [diff] [blame] | 27 | my_cflags_arm64 := -DPNG_ARM_NEON_OPT=2 |
sireesh | 43608cf | 2014-06-26 13:09:53 +0530 | [diff] [blame] | 28 | |
Stephen Hines | bdcf23a | 2014-04-17 16:25:53 -0700 | [diff] [blame] | 29 | # BUG: http://llvm.org/PR19472 - SLP vectorization (on ARM at least) crashes |
| 30 | # when we can't lower a vectorized bswap. |
| 31 | my_cflags_arm += -fno-slp-vectorize |
| 32 | |
Ying Wang | 3446b93 | 2014-02-27 14:05:59 -0800 | [diff] [blame] | 33 | my_src_files_arm := \ |
Sireesh Tripurari | b478e66 | 2014-05-09 15:15:10 +0530 | [diff] [blame] | 34 | arm/arm_init.c \ |
| 35 | arm/filter_neon.S \ |
| 36 | arm/filter_neon_intrinsics.c |
Chris Craik | b50c217 | 2013-07-29 15:28:30 -0700 | [diff] [blame] | 37 | |
| 38 | |
| 39 | common_CFLAGS := -std=gnu89 #-fvisibility=hidden ## -fomit-frame-pointer |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 40 | |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 41 | # For the host |
| 42 | # ===================================================== |
| 43 | |
| 44 | include $(CLEAR_VARS) |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 45 | LOCAL_SRC_FILES := $(common_SRC_FILES) |
| 46 | LOCAL_CFLAGS += $(common_CFLAGS) |
Tim Murray | 43d98c9 | 2014-04-23 15:34:05 -0700 | [diff] [blame] | 47 | LOCAL_ASFLAGS += $(common_ASFLAGS) |
Trevor Drake | b74a801 | 2015-02-22 21:33:27 +0000 | [diff] [blame] | 48 | LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) |
Narayan Kamath | 4e7f18a | 2015-02-25 17:03:58 +0000 | [diff] [blame] | 49 | LOCAL_STATIC_LIBRARIES := libz |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 50 | LOCAL_MODULE:= libpng |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 51 | include $(BUILD_HOST_STATIC_LIBRARY) |
| 52 | |
| 53 | |
Stephen Hines | b5e7fb4 | 2013-06-26 15:15:33 -0700 | [diff] [blame] | 54 | # For the device (static) |
| 55 | # ===================================================== |
| 56 | |
| 57 | include $(CLEAR_VARS) |
| 58 | LOCAL_CLANG := true |
| 59 | LOCAL_SRC_FILES := $(common_SRC_FILES) |
| 60 | LOCAL_CFLAGS += $(common_CFLAGS) -ftrapv |
Ying Wang | 3446b93 | 2014-02-27 14:05:59 -0800 | [diff] [blame] | 61 | LOCAL_CFLAGS_arm := $(my_cflags_arm) |
Tim Murray | 43d98c9 | 2014-04-23 15:34:05 -0700 | [diff] [blame] | 62 | LOCAL_ASFLAGS += $(common_ASFLAGS) |
Ying Wang | 3446b93 | 2014-02-27 14:05:59 -0800 | [diff] [blame] | 63 | LOCAL_SRC_FILES_arm := $(my_src_files_arm) |
sireesh | 43608cf | 2014-06-26 13:09:53 +0530 | [diff] [blame] | 64 | LOCAL_CFLAGS_arm64 := $(my_cflags_arm64) |
| 65 | LOCAL_SRC_FILES_arm64 := $(my_src_files_arm) |
Dan Albert | 1afb070 | 2014-10-21 11:10:48 -0700 | [diff] [blame] | 66 | LOCAL_ADDRESS_SANITIZER := false |
Trevor Drake | b74a801 | 2015-02-22 21:33:27 +0000 | [diff] [blame] | 67 | LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) |
| 68 | LOCAL_SHARED_LIBRARIES := libz |
Stephen Hines | b5e7fb4 | 2013-06-26 15:15:33 -0700 | [diff] [blame] | 69 | LOCAL_MODULE:= libpng |
Stephen Hines | b5e7fb4 | 2013-06-26 15:15:33 -0700 | [diff] [blame] | 70 | include $(BUILD_STATIC_LIBRARY) |
| 71 | |
| 72 | # For the device (shared) |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 73 | # ===================================================== |
| 74 | |
| 75 | include $(CLEAR_VARS) |
Stephen Hines | deba48b | 2012-08-03 17:25:20 -0700 | [diff] [blame] | 76 | LOCAL_CLANG := true |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 77 | LOCAL_SRC_FILES := $(common_SRC_FILES) |
Geremy Condra | 14cab86 | 2012-06-05 15:17:48 -0700 | [diff] [blame] | 78 | LOCAL_CFLAGS += $(common_CFLAGS) -ftrapv |
Ying Wang | 3446b93 | 2014-02-27 14:05:59 -0800 | [diff] [blame] | 79 | LOCAL_CFLAGS_arm := $(my_cflags_arm) |
Tim Murray | 43d98c9 | 2014-04-23 15:34:05 -0700 | [diff] [blame] | 80 | LOCAL_ASFLAGS += $(common_ASFLAGS) |
Ying Wang | 3446b93 | 2014-02-27 14:05:59 -0800 | [diff] [blame] | 81 | LOCAL_SRC_FILES_arm := $(my_src_files_arm) |
sireesh | 43608cf | 2014-06-26 13:09:53 +0530 | [diff] [blame] | 82 | LOCAL_CFLAGS_arm64 := $(my_cflags_arm64) |
| 83 | LOCAL_SRC_FILES_arm64 := $(my_src_files_arm) |
Trevor Drake | b74a801 | 2015-02-22 21:33:27 +0000 | [diff] [blame] | 84 | LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) |
| 85 | LOCAL_SHARED_LIBRARIES := libz |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 86 | LOCAL_MODULE:= libpng |
Stephen Hines | b5e7fb4 | 2013-06-26 15:15:33 -0700 | [diff] [blame] | 87 | include $(BUILD_SHARED_LIBRARY) |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 88 | |
Geremy Condra | 14cab86 | 2012-06-05 15:17:48 -0700 | [diff] [blame] | 89 | # For testing |
| 90 | # ===================================================== |
The Android Open Source Project | 893912b | 2009-03-03 19:30:05 -0800 | [diff] [blame] | 91 | |
Geremy Condra | 14cab86 | 2012-06-05 15:17:48 -0700 | [diff] [blame] | 92 | include $(CLEAR_VARS) |
Stephen Hines | b5e7fb4 | 2013-06-26 15:15:33 -0700 | [diff] [blame] | 93 | LOCAL_CLANG := true |
Stephen Hines | b5e7fb4 | 2013-06-26 15:15:33 -0700 | [diff] [blame] | 94 | LOCAL_SRC_FILES:= pngtest.c |
Geremy Condra | 14cab86 | 2012-06-05 15:17:48 -0700 | [diff] [blame] | 95 | LOCAL_MODULE := pngtest |
Stephen Hines | b5e7fb4 | 2013-06-26 15:15:33 -0700 | [diff] [blame] | 96 | LOCAL_SHARED_LIBRARIES:= libpng libz |
Geremy Condra | 14cab86 | 2012-06-05 15:17:48 -0700 | [diff] [blame] | 97 | LOCAL_MODULE_TAGS := debug |
| 98 | include $(BUILD_EXECUTABLE) |