-
Notifications
You must be signed in to change notification settings - Fork 188
/
Android.mk
171 lines (138 loc) · 4.7 KB
/
Android.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
SDL_IMAGE_LOCAL_PATH := $(call my-dir)
# Enable this if you want PNG and JPG support with minimal dependencies
USE_STBIMAGE ?= true
# The additional formats below require downloading third party dependencies,
# using the external/download.sh script.
# Enable this if you want to support loading AVIF images
# The library path should be a relative path to this directory.
SUPPORT_AVIF ?= false
AVIF_LIBRARY_PATH := external/libavif
DAV1D_LIBRARY_PATH := external/dav1d
# Enable this if you want to support loading JPEG images using libjpeg
# The library path should be a relative path to this directory.
SUPPORT_JPG ?= false
SUPPORT_SAVE_JPG ?= true
JPG_LIBRARY_PATH := external/jpeg
# Enable this if you want to support loading JPEG-XL images
# The library path should be a relative path to this directory.
SUPPORT_JXL ?= false
JXL_LIBRARY_PATH := external/libjxl
# Enable this if you want to support loading PNG images using libpng
# The library path should be a relative path to this directory.
SUPPORT_PNG ?= false
SUPPORT_SAVE_PNG ?= true
PNG_LIBRARY_PATH := external/libpng
# Enable this if you want to support loading WebP images
# The library path should be a relative path to this directory.
SUPPORT_WEBP ?= false
WEBP_LIBRARY_PATH := external/libwebp
# Build the library
ifeq ($(SUPPORT_AVIF),true)
include $(SDL_IMAGE_LOCAL_PATH)/$(AVIF_LIBRARY_PATH)/Android.mk
include $(SDL_IMAGE_LOCAL_PATH)/$(DAV1D_LIBRARY_PATH)/Android.mk
endif
# Build the library
ifeq ($(SUPPORT_JPG),true)
include $(SDL_IMAGE_LOCAL_PATH)/$(JPG_LIBRARY_PATH)/Android.mk
endif
# Build the library
ifeq ($(SUPPORT_JXL),true)
include $(SDL_IMAGE_LOCAL_PATH)/$(JXL_LIBRARY_PATH)/Android.mk
endif
# Build the library
ifeq ($(SUPPORT_PNG),true)
include $(SDL_IMAGE_LOCAL_PATH)/$(PNG_LIBRARY_PATH)/Android.mk
endif
# Build the library
ifeq ($(SUPPORT_WEBP),true)
include $(SDL_IMAGE_LOCAL_PATH)/$(WEBP_LIBRARY_PATH)/Android.mk
endif
# Restore local path
LOCAL_PATH := $(SDL_IMAGE_LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE := SDL3_image
LOCAL_SRC_FILES := \
src/IMG.c \
src/IMG_avif.c \
src/IMG_bmp.c \
src/IMG_gif.c \
src/IMG_jpg.c \
src/IMG_jxl.c \
src/IMG_lbm.c \
src/IMG_pcx.c \
src/IMG_png.c \
src/IMG_pnm.c \
src/IMG_qoi.c \
src/IMG_stb.c \
src/IMG_svg.c \
src/IMG_tga.c \
src/IMG_tif.c \
src/IMG_webp.c \
src/IMG_WIC.c \
src/IMG_xcf.c \
src/IMG_xpm.c.arm \
src/IMG_xv.c
LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
LOCAL_CFLAGS := -DLOAD_BMP -DLOAD_GIF -DLOAD_LBM -DLOAD_PCX -DLOAD_PNM \
-DLOAD_SVG -DLOAD_TGA -DLOAD_XCF -DLOAD_XPM -DLOAD_XV \
-DLOAD_QOI
LOCAL_LDLIBS :=
LOCAL_LDFLAGS := -Wl,--no-undefined -Wl,--version-script=$(LOCAL_PATH)/src/SDL_image.sym
LOCAL_STATIC_LIBRARIES :=
LOCAL_SHARED_LIBRARIES := SDL3
ifeq ($(USE_STBIMAGE),true)
LOCAL_CFLAGS += -DLOAD_JPG -DLOAD_PNG -DUSE_STBIMAGE
endif
ifeq ($(SUPPORT_AVIF),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(AVIF_LIBRARY_PATH)/include
LOCAL_CFLAGS += -DLOAD_AVIF
LOCAL_STATIC_LIBRARIES += avif
LOCAL_WHOLE_STATIC_LIBRARIES += dav1d dav1d-8bit dav1d-16bit
endif
ifeq ($(SUPPORT_JPG),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(JPG_LIBRARY_PATH) \
$(LOCAL_PATH)/$(JPG_LIBRARY_PATH)/android
LOCAL_CFLAGS += -DLOAD_JPG
LOCAL_STATIC_LIBRARIES += jpeg
ifeq ($(SUPPORT_SAVE_JPG),true)
LOCAL_CFLAGS += -DSDL_IMAGE_SAVE_JPG=1
else
LOCAL_CFLAGS += -DSDL_IMAGE_SAVE_JPG=0
endif
endif
ifeq ($(SUPPORT_JXL),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(JXL_LIBRARY_PATH)/lib/include \
$(LOCAL_PATH)/$(JXL_LIBRARY_PATH)/android
LOCAL_CFLAGS += -DLOAD_JXL
LOCAL_STATIC_LIBRARIES += jxl
endif
ifeq ($(SUPPORT_PNG),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(PNG_LIBRARY_PATH) \
$(LOCAL_PATH)/$(PNG_LIBRARY_PATH)/android
LOCAL_CFLAGS += -DLOAD_PNG
LOCAL_STATIC_LIBRARIES += png
LOCAL_LDLIBS += -lz
ifeq ($(SUPPORT_SAVE_PNG),true)
LOCAL_CFLAGS += -DSDL_IMAGE_SAVE_PNG=1
else
LOCAL_CFLAGS += -DSDL_IMAGE_SAVE_PNG=0
endif
endif
ifeq ($(SUPPORT_WEBP),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(WEBP_LIBRARY_PATH)/src
LOCAL_CFLAGS += -DLOAD_WEBP
LOCAL_STATIC_LIBRARIES += webpdemux
LOCAL_STATIC_LIBRARIES += webp
endif
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/include
include $(BUILD_SHARED_LIBRARY)
###########################
#
# SDL3_image static library
#
###########################
LOCAL_MODULE := SDL3_image_static
LOCAL_MODULE_FILENAME := libSDL3_image
LOCAL_LDLIBS :=
LOCAL_EXPORT_LDLIBS :=
include $(BUILD_STATIC_LIBRARY)