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