1################################################################################
2#
3# imagemagick
4#
5################################################################################
6
7IMAGEMAGICK_VERSION = 7.1.1-31
8IMAGEMAGICK_SITE = $(call github,ImageMagick,ImageMagick,$(IMAGEMAGICK_VERSION))
9IMAGEMAGICK_LICENSE = Apache-2.0
10IMAGEMAGICK_LICENSE_FILES = LICENSE
11IMAGEMAGICK_CPE_ID_VENDOR = imagemagick
12
13IMAGEMAGICK_INSTALL_STAGING = YES
14IMAGEMAGICK_CONFIG_SCRIPTS = \
15	$(addsuffix -config,MagickCore MagickWand)
16
17ifeq ($(BR2_INSTALL_LIBSTDCPP)$(BR2_USE_WCHAR),yy)
18IMAGEMAGICK_CONFIG_SCRIPTS += Magick++-config
19endif
20
21IMAGEMAGICK_CONF_ENV = \
22	ac_cv_sys_file_offset_bits=64 \
23	ax_cv_check_cl_libcl=no
24
25IMAGEMAGICK_CONF_OPTS = \
26	--program-transform-name='s,,,' \
27	--disable-opencl \
28	--disable-openmp \
29	--without-djvu \
30	--without-dps \
31	--without-flif \
32	--without-fpx \
33	--without-gslib \
34	--without-gvc \
35	--without-jbig \
36	--without-jxl \
37	--without-lqr \
38	--without-openexr \
39	--without-openjp2 \
40	--without-perl \
41	--without-raqm \
42	--without-wmf \
43	--without-x \
44	--with-gs-font-dir=/usr/share/fonts/gs
45
46IMAGEMAGICK_DEPENDENCIES = host-pkgconf
47
48ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
49# Like postgreSQL, imagemagick does not build against uClibc with
50# locales enabled, due to an uClibc bug, see
51# http://lists.uclibc.org/pipermail/uclibc/2014-April/048326.html
52# so overwrite automatic detection and disable locale support
53IMAGEMAGICK_CONF_ENV += ac_cv_func_newlocale=no
54endif
55
56ifeq ($(BR2_PACKAGE_FONTCONFIG),y)
57IMAGEMAGICK_CONF_OPTS += --with-fontconfig
58IMAGEMAGICK_DEPENDENCIES += fontconfig
59else
60IMAGEMAGICK_CONF_OPTS += --without-fontconfig
61endif
62
63ifeq ($(BR2_PACKAGE_FREETYPE),y)
64IMAGEMAGICK_CONF_OPTS += --with-freetype
65IMAGEMAGICK_CONF_ENV += \
66	ac_cv_path_freetype_config=$(STAGING_DIR)/usr/bin/freetype-config
67IMAGEMAGICK_DEPENDENCIES += freetype
68else
69IMAGEMAGICK_CONF_OPTS += --without-freetype
70endif
71
72ifeq ($(BR2_PACKAGE_JPEG),y)
73IMAGEMAGICK_CONF_OPTS += --with-jpeg
74IMAGEMAGICK_DEPENDENCIES += jpeg
75else
76IMAGEMAGICK_CONF_OPTS += --without-jpeg
77endif
78
79ifeq ($(BR2_PACKAGE_LCMS2),y)
80IMAGEMAGICK_CONF_OPTS += --with-lcms
81IMAGEMAGICK_DEPENDENCIES += lcms2
82else
83IMAGEMAGICK_CONF_OPTS += --without-lcms
84endif
85
86ifeq ($(BR2_PACKAGE_LIBHEIF),y)
87IMAGEMAGICK_CONF_OPTS += --with-heic
88IMAGEMAGICK_DEPENDENCIES += libheif
89else
90IMAGEMAGICK_CONF_OPTS += --without-heic
91endif
92
93ifeq ($(BR2_PACKAGE_LIBPNG),y)
94IMAGEMAGICK_CONF_OPTS += --with-png
95IMAGEMAGICK_DEPENDENCIES += libpng
96else
97IMAGEMAGICK_CONF_OPTS += --without-png
98endif
99
100ifeq ($(BR2_PACKAGE_LIBRAW),y)
101IMAGEMAGICK_CONF_OPTS += --with-raw
102IMAGEMAGICK_DEPENDENCIES += libraw
103else
104IMAGEMAGICK_CONF_OPTS += --without-raw
105endif
106
107ifeq ($(BR2_PACKAGE_LIBRSVG),y)
108IMAGEMAGICK_CONF_OPTS += --with-rsvg
109IMAGEMAGICK_DEPENDENCIES += librsvg
110else
111IMAGEMAGICK_CONF_OPTS += --without-rsvg
112endif
113
114ifeq ($(BR2_PACKAGE_LIBXML2),y)
115IMAGEMAGICK_CONF_OPTS += --with-xml
116IMAGEMAGICK_CONF_ENV += ac_cv_path_xml2_config=$(STAGING_DIR)/usr/bin/xml2-config
117IMAGEMAGICK_DEPENDENCIES += libxml2
118else
119IMAGEMAGICK_CONF_OPTS += --without-xml
120endif
121
122ifeq ($(BR2_PACKAGE_LIBZIP),y)
123IMAGEMAGICK_CONF_OPTS += --with-zip
124IMAGEMAGICK_DEPENDENCIES += libzip
125else
126IMAGEMAGICK_CONF_OPTS += --without-zip
127endif
128
129ifeq ($(BR2_PACKAGE_ZSTD),y)
130IMAGEMAGICK_CONF_OPTS += --with-zstd
131IMAGEMAGICK_DEPENDENCIES += zstd
132else
133IMAGEMAGICK_CONF_OPTS += --without-zstd
134endif
135
136ifeq ($(BR2_PACKAGE_PANGO),y)
137IMAGEMAGICK_CONF_OPTS += --with-pango
138IMAGEMAGICK_DEPENDENCIES += pango
139else
140IMAGEMAGICK_CONF_OPTS += --without-pango
141endif
142
143ifeq ($(BR2_PACKAGE_TIFF),y)
144IMAGEMAGICK_CONF_OPTS += --with-tiff
145IMAGEMAGICK_DEPENDENCIES += tiff
146else
147IMAGEMAGICK_CONF_OPTS += --without-tiff
148endif
149
150ifeq ($(BR2_PACKAGE_XZ),y)
151IMAGEMAGICK_CONF_OPTS += --with-lzma
152IMAGEMAGICK_DEPENDENCIES += xz
153else
154IMAGEMAGICK_CONF_OPTS += --without-lzma
155endif
156
157ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y)
158# configure script misdetects these leading to build errors
159IMAGEMAGICK_CONF_ENV += ac_cv_func_creal=yes ac_cv_func_cimag=yes
160IMAGEMAGICK_CONF_OPTS += --with-fftw
161IMAGEMAGICK_DEPENDENCIES += fftw-double
162else
163IMAGEMAGICK_CONF_OPTS += --without-fftw
164endif
165
166ifeq ($(BR2_PACKAGE_WEBP),y)
167IMAGEMAGICK_CONF_OPTS += --with-webp
168IMAGEMAGICK_DEPENDENCIES += webp
169else
170IMAGEMAGICK_CONF_OPTS += --without-webp
171endif
172
173ifeq ($(BR2_PACKAGE_ZLIB),y)
174IMAGEMAGICK_CONF_OPTS += --with-zlib
175IMAGEMAGICK_DEPENDENCIES += zlib
176else
177IMAGEMAGICK_CONF_OPTS += --without-zlib
178endif
179
180ifeq ($(BR2_PACKAGE_BZIP2),y)
181IMAGEMAGICK_CONF_OPTS += --with-bzlib
182IMAGEMAGICK_DEPENDENCIES += bzip2
183else
184IMAGEMAGICK_CONF_OPTS += --without-bzlib
185endif
186
187ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
188IMAGEMAGICK_CONF_OPTS += --with-utilities
189else
190IMAGEMAGICK_CONF_OPTS += --without-utilities
191endif
192
193HOST_IMAGEMAGICK_CONF_OPTS = \
194	--disable-opencl \
195	--disable-openmp \
196	--without-djvu \
197	--without-dps \
198	--without-flif \
199	--without-fpx \
200	--without-gslib \
201	--without-gvc \
202	--without-heic \
203	--without-jbig \
204	--without-jxl \
205	--without-lqr \
206	--without-openexr \
207	--without-openjp2 \
208	--without-perl \
209	--without-raqm \
210	--without-raw \
211	--without-wmf \
212	--without-x \
213	--without-zip \
214	--without-zstd \
215	--without-bzlib \
216	--without-fftw \
217	--without-lcms \
218	--without-lzma \
219	--without-tiff \
220	--without-webp \
221	--with-jpeg \
222	--with-png \
223	--with-zlib
224
225# uses clock_gettime, which was provided by librt in glibc < 2.17
226HOST_IMAGEMAGICK_CONF_ENV = \
227	LIBS="-lrt" \
228	ax_cv_check_cl_libcl=no
229
230HOST_IMAGEMAGICK_DEPENDENCIES = \
231	host-libjpeg \
232	host-libpng \
233	host-pkgconf \
234	host-zlib
235
236ifeq ($(BR2_PACKAGE_HOST_IMAGEMAGICK_SVG),y)
237HOST_IMAGEMAGICK_DEPENDENCIES += \
238	host-fontconfig \
239	host-freetype \
240	host-librsvg \
241	host-pango
242HOST_IMAGEMAGICK_CONF_ENV += ac_cv_path_xml2_config=$(HOST_DIR)/bin/xml2-config
243HOST_IMAGEMAGICK_CONF_OPTS += \
244	--with-fontconfig \
245	--with-freetype \
246	--with-pango \
247	--with-rsvg
248else
249HOST_IMAGEMAGICK_CONF_OPTS += \
250	--without-fontconfig \
251	--without-freetype \
252	--without-pango \
253	--without-rsvg
254endif
255
256ifeq ($(BR2_PACKAGE_HOST_IMAGEMAGICK_XML),y)
257HOST_IMAGEMAGICK_CONF_OPTS += --with-xml
258HOST_IMAGEMAGICK_DEPENDENCIES += host-libxml2
259else
260HOST_IMAGEMAGICK_CONF_OPTS += --without-xml
261endif
262
263$(eval $(autotools-package))
264$(eval $(host-autotools-package))
265