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