[go: up one dir, main page]

blob: 292a062a7bb5b6002d1d19b091d3d601dc6c9155 [file] [log] [blame]
James Zernce53efd2025-06-30 18:59:381AC_INIT([libwebp], [1.6.0],
James Zerncaa19e52024-07-18 23:27:002 [https://issues.webmproject.org],,
James Zernb6f756e2021-11-17 19:16:583 [https://developers.google.com/speed/webp])
Timothy Gu63c2fc02014-08-06 03:55:044AC_CANONICAL_HOST
James Zern34b02f82014-07-02 03:02:585AC_PREREQ([2.60])
James Zerna69b8932012-03-29 05:46:126AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
James Zernbc9f5fb2013-04-03 01:45:027
8dnl === automake >= 1.12 requires this for 'unusual archivers' support.
9dnl === it must occur before LT_INIT (AC_PROG_LIBTOOL).
10m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
11
James Zernefa07312022-04-02 17:50:2612dnl === AC_PROG_LIBTOOL is deprecated.
13m4_ifdef([LT_INIT], [LT_INIT], [AC_PROG_LIBTOOL])
James Zern0104d732016-10-05 07:03:1414AC_PROG_SED
Pascal Massimino1dc46112011-02-01 06:00:3315AM_PROG_CC_C_O
16
James Zerna69b8932012-03-29 05:46:1217dnl === Enable less verbose output when building.
James Zern4e094ac2013-02-26 00:11:1418m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
James Zerna69b8932012-03-29 05:46:1219
James Zern380cca42014-06-28 19:27:1720dnl == test endianness
21AC_C_BIGENDIAN
22
James Zern20aa7a82013-05-02 01:13:5523dnl === SET_IF_UNSET(shell_var, value)
24dnl === Set the shell variable 'shell_var' to 'value' if it is unset.
25AC_DEFUN([SET_IF_UNSET], [test "${$1+set}" = "set" || $1=$2])
26
27AC_ARG_ENABLE([everything],
28 AS_HELP_STRING([--enable-everything],
29 [Enable all optional targets. These can still be
30 disabled with --disable-target]),
Maryla29cc95c2022-02-18 10:19:1831 [SET_IF_UNSET([enable_libsharpyuv], [$enableval])
32 SET_IF_UNSET([enable_libwebpdecoder], [$enableval])
James Zern20aa7a82013-05-02 01:13:5533 SET_IF_UNSET([enable_libwebpdemux], [$enableval])
James Zern5c176d22015-03-06 07:48:4634 SET_IF_UNSET([enable_libwebpextras], [$enableval])
James Zern20aa7a82013-05-02 01:13:5535 SET_IF_UNSET([enable_libwebpmux], [$enableval])])
36
James Zern9df23dd2021-07-03 22:37:4837dnl === Check whether libwebpmux should be built
38AC_MSG_CHECKING(whether libwebpmux is to be built)
39AC_ARG_ENABLE([libwebpmux],
James Zernf70819d2021-07-03 22:53:1740 AS_HELP_STRING([--disable-libwebpmux],
41 [Disable libwebpmux @<:@default=no@:>@]),
42 [], [enable_libwebpmux=yes])
James Zern9df23dd2021-07-03 22:37:4843AC_MSG_RESULT(${enable_libwebpmux-no})
44AM_CONDITIONAL([BUILD_MUX], [test "$enable_libwebpmux" = "yes"])
45
46dnl === Check whether libwebpdemux should be built
47AC_MSG_CHECKING(whether libwebpdemux is to be built)
48AC_ARG_ENABLE([libwebpdemux],
49 AS_HELP_STRING([--disable-libwebpdemux],
50 [Disable libwebpdemux @<:@default=no@:>@]),
51 [], [enable_libwebpdemux=yes])
52AC_MSG_RESULT(${enable_libwebpdemux-no})
53AM_CONDITIONAL([BUILD_DEMUX], [test "$enable_libwebpdemux" = "yes"])
54
55dnl === Check whether decoder library should be built.
56AC_MSG_CHECKING(whether decoder library is to be built)
57AC_ARG_ENABLE([libwebpdecoder],
58 AS_HELP_STRING([--enable-libwebpdecoder],
59 [Build libwebpdecoder @<:@default=no@:>@]))
60AC_MSG_RESULT(${enable_libwebpdecoder-no})
61AM_CONDITIONAL([BUILD_LIBWEBPDECODER], [test "$enable_libwebpdecoder" = "yes"])
62
63dnl === Check whether libwebpextras should be built
64AC_MSG_CHECKING(whether libwebpextras is to be built)
65AC_ARG_ENABLE([libwebpextras],
66 AS_HELP_STRING([--enable-libwebpextras],
67 [Build libwebpextras @<:@default=no@:>@]))
68AC_MSG_RESULT(${enable_libwebpextras-no})
69AM_CONDITIONAL([BUILD_EXTRAS], [test "$enable_libwebpextras" = "yes"])
70
James Zernb9d80fa2015-12-16 21:15:5371dnl === If --enable-asserts is not defined, define NDEBUG
72
73AC_MSG_CHECKING(whether asserts are enabled)
74AC_ARG_ENABLE([asserts],
75 AS_HELP_STRING([--enable-asserts],
76 [Enable assert checks]))
77if test "x${enable_asserts-no}" = "xno"; then
78 AM_CPPFLAGS="${AM_CPPFLAGS} -DNDEBUG"
79fi
80AC_MSG_RESULT(${enable_asserts-no})
81AC_SUBST([AM_CPPFLAGS])
82
James Zernbfbcc602012-04-24 00:57:1283AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=DIR],
84 [Path to the pkgconfig directory @<:@LIBDIR/pkgconfig@:>@]),
Pascal Massimino217ec7f2012-04-12 07:13:0685 [pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig'])
Pascal Massiminoc5fa7262011-03-26 17:15:4486AC_SUBST([pkgconfigdir])
87
Pascal Massimino96201e52015-11-06 06:47:0388dnl === TEST_AND_ADD_CFLAGS(var, flag)
89dnl === Checks whether $CC supports 'flag' and adds it to 'var'
90dnl === on success.
91AC_DEFUN([TEST_AND_ADD_CFLAGS],
92 [SAVED_CFLAGS="$CFLAGS"
93 CFLAGS="-Werror $2"
94 AC_MSG_CHECKING([whether $CC supports $2])
James Zern8ecec682013-05-07 00:18:2795 dnl Note AC_LANG_PROGRAM([]) uses an old-style main definition.
96 AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main(void) { return 0; }])],
97 [AC_MSG_RESULT([yes])]
James Zerna00380d2013-06-05 06:45:1098 dnl Simply append the variable avoiding a
99 dnl compatibility ifdef for AS_VAR_APPEND as this
100 dnl variable shouldn't grow all that large.
Pascal Massimino96201e52015-11-06 06:47:03101 [$1="${$1} $2"],
James Zern8ecec682013-05-07 00:18:27102 [AC_MSG_RESULT([no])])
Pascal Massimino96201e52015-11-06 06:47:03103 CFLAGS="$SAVED_CFLAGS"])
James Zern846caff2015-12-15 06:55:01104TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-fvisibility=hidden])
Pascal Massimino96201e52015-11-06 06:47:03105TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wall])
James Zern93b12752017-05-12 15:02:06106TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wconstant-conversion])
Pascal Massimino96201e52015-11-06 06:47:03107TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wdeclaration-after-statement])
108TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wextra])
James Zernf4b9bc92024-02-16 02:10:26109TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wextra-semi-stmt])
James Zern3dc28d72016-06-16 06:53:48110TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wfloat-conversion])
James Zernd41b8c42016-05-03 02:30:29111TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wformat -Wformat-nonliteral])
112TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wformat -Wformat-security])
Pascal Massimino96201e52015-11-06 06:47:03113TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wmissing-declarations])
114TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wmissing-prototypes])
115TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wold-style-definition])
James Zern7b012982017-06-15 23:07:07116TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wparentheses-equality])
James Zern9769bb72025-08-14 19:03:57117TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wself-assign])
Pascal Massimino96201e52015-11-06 06:47:03118TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wshadow])
James Zern71a17e52015-12-03 07:01:59119TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wshorten-64-to-32])
James Zern1fb9f3d2024-02-22 21:58:19120TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wstrict-prototypes])
James Zern62486a22017-07-11 22:37:32121TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wundef])
James Zern411d3672020-10-27 01:43:55122TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wunreachable-code-aggressive])
James Zern71a17e52015-12-03 07:01:59123TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wunreachable-code])
Pascal Massimino96201e52015-11-06 06:47:03124TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wunused-but-set-variable])
125TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wunused])
126TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wvla])
James Zerne2b8cec2014-08-12 02:41:05127# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62040
128# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61622
129AS_IF([test "$GCC" = "yes" ], [
130 gcc_version=`$CC -dumpversion`
131 gcc_wht_bug=""
132 case "$host_cpu" in
133 aarch64|arm64)
134 case "$gcc_version" in
135 4.9|4.9.0|4.9.1) gcc_wht_bug=yes ;;
136 esac
137 esac
138 AS_IF([test "$gcc_wht_bug" = "yes"], [
Pascal Massimino96201e52015-11-06 06:47:03139 TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-frename-registers])])])
James Zern9eeabc02015-11-26 08:26:24140# Use -flax-vector-conversions, if available, when building intrinsics with
141# older versions of gcc. The flag appeared in 4.3.x, but if backported, and
142# -fno-lax-vector-conversions is set, errors may occur with the intrinsics
143# files along with the older system includes, e.g., emmintrin.h.
144# Originally observed with cc (GCC) 4.2.1 20070831 patched [FreeBSD] (9.3).
145# https://bugs.chromium.org/p/webp/issues/detail?id=274
146AS_IF([test "$GCC" = "yes" ], [
147 case "$host_cpu" in
148 amd64|i?86|x86_64)
149 AC_COMPILE_IFELSE(
150 dnl only check for -flax-vector-conversions with older gcc, skip
151 dnl clang as it reports itself as 4.2.1, but the flag isn't needed.
152 [AC_LANG_SOURCE([#if !defined(__clang__) && defined(__GNUC__) && \
153 ((__GNUC__ << 8) | __GNUC_MINOR__) < 0x403
154 #error old gcc
155 #endif
156 int main(void) { return 0; }
157 ])],,
158 [TEST_AND_ADD_CFLAGS([INTRINSICS_CFLAGS],
159 [-flax-vector-conversions])])
160 ;;
161 esac])
James Zern8ecec682013-05-07 00:18:27162AC_SUBST([AM_CFLAGS])
163
James Zern6450c482014-07-05 04:48:36164dnl === Check for machine specific flags
Vincent Rabaudf2b3f522025-03-28 10:44:03165AC_ARG_ENABLE([avx2],
166 AS_HELP_STRING([--disable-avx2],
167 [Disable detection of AVX2 support
168 @<:@default=auto@:>@]))
169
170AS_IF([test "x$enable_avx2" != "xno" -a "x$enable_sse4_1" != "xno"
171 -a "x$enable_sse2" != "xno"], [
172 AVX2_FLAGS="$INTRINSICS_CFLAGS $AVX2_FLAGS"
173 TEST_AND_ADD_CFLAGS([AVX2_FLAGS], [-mavx2])
174 AS_IF([test -n "$AVX2_FLAGS"], [
175 SAVED_CFLAGS=$CFLAGS
176 CFLAGS="$CFLAGS $AVX2_FLAGS"
177 AC_CHECK_HEADER([immintrin.h],
178 [AC_DEFINE(WEBP_HAVE_AVX2, [1],
179 [Set to 1 if AVX2 is supported])],
180 [AVX2_FLAGS=""])
181 CFLAGS=$SAVED_CFLAGS])
182 AC_SUBST([AVX2_FLAGS])])
183
James Zern46305ca2015-03-26 06:14:17184AC_ARG_ENABLE([sse4.1],
185 AS_HELP_STRING([--disable-sse4.1],
186 [Disable detection of SSE4.1 support
187 @<:@default=auto@:>@]))
188
189AS_IF([test "x$enable_sse4_1" != "xno" -a "x$enable_sse2" != "xno"], [
James Zern9eeabc02015-11-26 08:26:24190 SSE41_FLAGS="$INTRINSICS_CFLAGS $SSE41_FLAGS"
Pascal Massimino96201e52015-11-06 06:47:03191 TEST_AND_ADD_CFLAGS([SSE41_FLAGS], [-msse4.1])
James Zern46305ca2015-03-26 06:14:17192 AS_IF([test -n "$SSE41_FLAGS"], [
193 SAVED_CFLAGS=$CFLAGS
194 CFLAGS="$CFLAGS $SSE41_FLAGS"
195 AC_CHECK_HEADER([smmintrin.h],
196 [AC_DEFINE(WEBP_HAVE_SSE41, [1],
197 [Set to 1 if SSE4.1 is supported])],
198 [SSE41_FLAGS=""])
199 CFLAGS=$SAVED_CFLAGS])
200 AC_SUBST([SSE41_FLAGS])])
201
202AC_ARG_ENABLE([sse2],
203 AS_HELP_STRING([--disable-sse2],
204 [Disable detection of SSE2 support
205 @<:@default=auto@:>@]))
206
207AS_IF([test "x$enable_sse2" != "xno"], [
James Zern9eeabc02015-11-26 08:26:24208 SSE2_FLAGS="$INTRINSICS_CFLAGS $SSE2_FLAGS"
Pascal Massimino96201e52015-11-06 06:47:03209 TEST_AND_ADD_CFLAGS([SSE2_FLAGS], [-msse2])
James Zern46305ca2015-03-26 06:14:17210 AS_IF([test -n "$SSE2_FLAGS"], [
211 SAVED_CFLAGS=$CFLAGS
212 CFLAGS="$CFLAGS $SSE2_FLAGS"
213 AC_CHECK_HEADER([emmintrin.h],
214 [AC_DEFINE(WEBP_HAVE_SSE2, [1],
215 [Set to 1 if SSE2 is supported])],
216 [SSE2_FLAGS=""])
217 CFLAGS=$SAVED_CFLAGS])
218 AC_SUBST([SSE2_FLAGS])])
James Zern6e61a3a2014-06-08 02:44:08219
James Zern74fb56f2016-04-19 06:31:42220AC_ARG_ENABLE([neon],
221 AS_HELP_STRING([--disable-neon],
222 [Disable detection of NEON support
223 @<:@default=auto@:>@]))
224
225AC_ARG_ENABLE([neon_rtcd],
226 AS_HELP_STRING([--disable-neon-rtcd],
227 [Disable runtime detection of NEON support via
228 /proc/cpuinfo on Linux hosts
229 @<:@default=auto@:>@]))
230# For ARM(7) hosts:
231# Both NEON flags unset and NEON support detected = build all modules with NEON
232# NEON detected with the use of -mfpu=neon = build only NEON modules with NEON
233AS_IF([test "x$enable_neon" != "xno"], [
234 case "$host_cpu" in
235 arm|armv7*)
James Zern0104d732016-10-05 07:03:14236 # Test for NEON support without flags before falling back to -mfpu=neon
237 for flag in '' '-mfpu=neon'; do
238 LOCAL_NEON_FLAGS="$INTRINSICS_CFLAGS $NEON_FLAGS"
239 TEST_AND_ADD_CFLAGS([LOCAL_NEON_FLAGS], [$flag])
240 SAVED_CFLAGS=$CFLAGS
241 CFLAGS="$CFLAGS $LOCAL_NEON_FLAGS"
242
243 dnl Note AC_LANG_PROGRAM([]) uses an old-style main definition.
244 AC_COMPILE_IFELSE([AC_LANG_SOURCE([
245 #include <arm_neon.h>
246 int main(void) {
247 int8x8_t v = vdup_n_s8(0);
248 (void)v;
249 return 0;
250 }])],
251 [NEON_FLAGS="$(echo $LOCAL_NEON_FLAGS | $SED 's/^ *//')"
252 AS_IF([test -n "$NEON_FLAGS"], [
253 AS_IF([test "${host_os%%-*}" = "linux" -o \
254 "x$enable_neon_rtcd" = "xno"], [
255 CFLAGS=$SAVED_CFLAGS
256 AC_DEFINE(WEBP_HAVE_NEON, [1], [Set to 1 if NEON is supported])
257 break
258 ],[
259 AC_MSG_WARN(m4_normalize([NEON runtime cpu-detection is
260 unavailable for ${host_os%%-*}. Force
261 with CFLAGS=-mfpu=neon or
262 --disable-neon-rtcd.]))
263 enable_neon_rtcd=no
264 NEON_FLAGS=""
265 ])
266 ],[
267 CFLAGS=$SAVED_CFLAGS
268 AC_DEFINE(WEBP_HAVE_NEON, [1], [Set to 1 if NEON is supported])
269 break
270 ])])
271 CFLAGS=$SAVED_CFLAGS
272 done
273
274 AS_IF([test -n "$NEON_FLAGS"], [
275 # If NEON is available and rtcd is disabled apply NEON_FLAGS globally.
276 AS_IF([test "x$enable_neon_rtcd" = "xno"], [
277 AM_CFLAGS="$AM_CFLAGS $NEON_FLAGS"
278 NEON_FLAGS=""],
279 [AC_DEFINE(WEBP_HAVE_NEON_RTCD, [1],
280 [Set to 1 if runtime detection of NEON is enabled])])])
James Zernc6d1db42017-08-02 01:33:50281
282 case "$host_os" in
283 *android*) AC_CHECK_HEADERS([cpu-features.h]) ;;
284 esac
285 ;;
James Zernece18e52021-07-17 02:27:32286 aarch64*|arm64*)
287 AC_DEFINE(WEBP_HAVE_NEON, [1], [Set to 1 if NEON is supported])
288 ;;
James Zernc6d1db42017-08-02 01:33:50289 esac
290 AC_SUBST([NEON_FLAGS])])
James Zern74fb56f2016-04-19 06:31:42291
James Zernb8307cc2013-04-24 21:40:58292dnl === CLEAR_LIBVARS([var_pfx])
293dnl === Clears <var_pfx>_{INCLUDES,LIBS}.
294AC_DEFUN([CLEAR_LIBVARS], [$1_INCLUDES=""; $1_LIBS=""])
295
James Zernab22a072012-07-03 01:50:53296dnl === WITHLIB_OPTION([opt_pfx], [outvar_pfx])
297dnl === Defines --with-<opt_pfx>{include,lib}dir options which set
298dnl === the variables <outvar_pfx>_{INCLUDES,LIBS}.
299AC_DEFUN([WITHLIB_OPTION],
300 [AC_ARG_WITH([$1includedir],
301 AS_HELP_STRING([--with-$1includedir=DIR],
302 [use $2 includes from DIR]),
303 $2_INCLUDES="-I$withval")
304 AC_ARG_WITH([$1libdir],
305 AS_HELP_STRING([--with-$1libdir=DIR],
306 [use $2 libraries from DIR]),
307 [$2_LIBS="-L$withval"])])
308
James Zernb8307cc2013-04-24 21:40:58309dnl === LIBCHECK_PROLOGUE([var_pfx])
310dnl === Caches the current values of CPPFLAGS/LIBS in SAVED_* then
311dnl === prepends the current values with <var_pfx>_{INCLUDES,LIBS}.
312AC_DEFUN([LIBCHECK_PROLOGUE],
313 [SAVED_CPPFLAGS=$CPPFLAGS
314 SAVED_LIBS=$LIBS
315 CPPFLAGS="$$1_INCLUDES $CPPFLAGS"
316 LIBS="$$1_LIBS $LIBS"])
317
318dnl === LIBCHECK_EPILOGUE([var_pfx])
319dnl === Restores the values of CPPFLAGS/LIBS from SAVED_* and exports
320dnl === <var_pfx>_{INCLUDES,LIBS} with AC_SUBST.
321AC_DEFUN([LIBCHECK_EPILOGUE],
322 [AC_SUBST($1_LIBS)
323 AC_SUBST($1_INCLUDES)
324 CPPFLAGS=$SAVED_CPPFLAGS
325 LIBS=$SAVED_LIBS])
326
James Zern67814232014-07-04 23:56:41327dnl === Check for gcc builtins
328
329dnl === CHECK_FOR_BUILTIN([builtin], [param], [define])
330dnl === links a C AC_LANG_PROGRAM, with <builtin>(<param>)
331dnl === AC_DEFINE'ing <define> if successful.
332AC_DEFUN([CHECK_FOR_BUILTIN],
333 [AC_LANG_PUSH([C])
334 AC_MSG_CHECKING([for $1])
James Zernb74657f2016-01-29 07:32:33335 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [(void)$1($2)])],
James Zern67814232014-07-04 23:56:41336 [AC_MSG_RESULT([yes])
337 AC_DEFINE([$3], [1],
338 [Set to 1 if $1 is available])],
339 [AC_MSG_RESULT([no])]),
340 AC_LANG_POP])
341
342dnl AC_CHECK_FUNC doesn't work with builtin's.
343CHECK_FOR_BUILTIN([__builtin_bswap16], [1u << 15], [HAVE_BUILTIN_BSWAP16])
344CHECK_FOR_BUILTIN([__builtin_bswap32], [1u << 31], [HAVE_BUILTIN_BSWAP32])
345CHECK_FOR_BUILTIN([__builtin_bswap64], [1ull << 63], [HAVE_BUILTIN_BSWAP64])
346
James Zern1d40a8b2012-07-12 22:56:41347dnl === Check for pthread support
348AC_ARG_ENABLE([threading],
349 AS_HELP_STRING([--disable-threading],
350 [Disable detection of thread support]),,
351 [enable_threading=yes])
352if test "$enable_threading" = "yes"; then
353 AC_MSG_NOTICE([checking for threading support...])
354 AX_PTHREAD([AC_DEFINE([WEBP_USE_THREAD], [1],
355 [Undefine this to disable thread support.])
356 LIBS="$PTHREAD_LIBS $LIBS"
357 CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
358 CC="$PTHREAD_CC"
359 ],
James Zern40b086f2014-07-20 21:56:37360 [AC_CHECK_FUNC([_beginthreadex],
361 [AC_DEFINE([WEBP_USE_THREAD], [1],
362 [Undefine this to disable thread
363 support.])],
364 [enable_threading=no])])
James Zern1d40a8b2012-07-12 22:56:41365fi
366AC_MSG_NOTICE([checking if threading is enabled... ${enable_threading-no}])
367
James Zerne676b042013-05-01 21:47:56368dnl === check for OpenGL/GLUT support ===
James Zerne676b042013-05-01 21:47:56369
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48370AC_ARG_ENABLE([gl], AS_HELP_STRING([--disable-gl],
371 [Disable detection of OpenGL support
372 @<:@default=auto@:>@]))
373AS_IF([test "x$enable_gl" != "xno"], [
374 CLEAR_LIBVARS([GL])
375 WITHLIB_OPTION([gl], [GL])
James Zerne676b042013-05-01 21:47:56376
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48377 LIBCHECK_PROLOGUE([GL])
James Zerne676b042013-05-01 21:47:56378
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48379 glut_cflags="none"
380 glut_ldflags="none"
381 case $host_os in
382 darwin*)
383 # Special case for OSX builds. Append these to give the user a chance to
384 # override with --with-gl*
385 glut_cflags="$glut_cflags|-framework GLUT -framework OpenGL"
386 glut_ldflags="$glut_ldflags|-framework GLUT -framework OpenGL"
James Zernb672bdf2018-03-31 07:24:53387 # quiet deprecation warnings for glut
388 TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wno-deprecated-declarations])
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48389 ;;
James Zerne676b042013-05-01 21:47:56390 esac
James Zerne676b042013-05-01 21:47:56391
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48392 GLUT_SAVED_CPPFLAGS="$CPPFLAGS"
James Zerne676b042013-05-01 21:47:56393 SAVED_IFS="$IFS"
394 IFS="|"
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48395 for flag in $glut_cflags; do
James Zerne676b042013-05-01 21:47:56396 # restore IFS immediately as the autoconf macros may need the default.
397 IFS="$SAVED_IFS"
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48398 unset ac_cv_header_GL_glut_h
399 unset ac_cv_header_OpenGL_glut_h
James Zerne676b042013-05-01 21:47:56400
401 case $flag in
402 none) ;;
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48403 *) CPPFLAGS="$flag $CPPFLAGS";;
James Zerne676b042013-05-01 21:47:56404 esac
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48405 AC_CHECK_HEADERS([GL/glut.h GLUT/glut.h OpenGL/glut.h],
406 [glut_headers=yes;
407 test "$flag" = "none" || GL_INCLUDES="$CPPFLAGS";
408 break])
409 CPPFLAGS="$GLUT_SAVED_CPPFLAGS"
410 test "$glut_headers" = "yes" && break
James Zerne676b042013-05-01 21:47:56411 done
412 IFS="$SAVED_IFS"
James Zerne676b042013-05-01 21:47:56413
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48414 if test "$glut_headers" = "yes"; then
415 AC_LANG_PUSH([C])
416 GLUT_SAVED_LDFLAGS="$LDFLAGS"
417 SAVED_IFS="$IFS"
418 IFS="|"
419 for flag in $glut_ldflags; do
420 # restore IFS immediately as the autoconf macros may need the default.
421 IFS="$SAVED_IFS"
422 unset ac_cv_search_glBegin
James Zerne676b042013-05-01 21:47:56423
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48424 case $flag in
425 none) ;;
426 *) LDFLAGS="$flag $LDFLAGS";;
427 esac
428
429 # find libGL
430 GL_SAVED_LIBS="$LIBS"
James Zern10f42572014-06-28 19:10:31431 AC_SEARCH_LIBS([glBegin], [GL OpenGL opengl32])
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48432 LIBS="$GL_SAVED_LIBS"
433
434 # A direct link to libGL may not be necessary on e.g., linux.
435 GLUT_SAVED_LIBS="$LIBS"
436 for lib in "" "-lglut" "-lglut $ac_cv_search_glBegin"; do
437 LIBS="$lib"
438 AC_LINK_IFELSE(
439 [AC_LANG_PROGRAM([
440 #ifdef __cplusplus
441 # define EXTERN_C extern "C"
442 #else
443 # define EXTERN_C
444 #endif
445 EXTERN_C char glOrtho();
446 EXTERN_C char glutMainLoop();
447 ],[
448 glOrtho();
449 glutMainLoop();
450 ])
451 ],
452 AC_DEFINE(WEBP_HAVE_GL, [1],
453 [Set to 1 if OpenGL is supported])
454 [glut_support=yes], []
455 )
456 if test "$glut_support" = "yes"; then
457 GL_LIBS="$LDFLAGS $lib"
458 break
459 fi
460 done
461 LIBS="$GLUT_SAVED_LIBS"
462 LDFLAGS="$GLUT_SAVED_LDFLAGS"
463 test "$glut_support" = "yes" && break
464 done
465 IFS="$SAVED_IFS"
466 AC_LANG_POP
467 fi
468
469 LIBCHECK_EPILOGUE([GL])
470
471 if test "$glut_support" = "yes" -a "$enable_libwebpdemux" = "yes"; then
472 build_vwebp=yes
James Zerndc7e2b42021-07-03 22:51:23473 else
474 AC_MSG_NOTICE(
475 m4_normalize([Not building vwebp.
476 OpenGL libraries and --enable-libwebpdemux are required.]))
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48477 fi
478])
James Zerne676b042013-05-01 21:47:56479AM_CONDITIONAL([BUILD_VWEBP], [test "$build_vwebp" = "yes"])
480
Pascal Massimino6524fcd2017-01-30 12:33:35481dnl === check for SDL support ===
482
483AC_ARG_ENABLE([sdl],
484 AS_HELP_STRING([--disable-sdl],
485 [Disable detection of SDL support
486 @<:@default=auto@:>@]))
487AS_IF([test "x$enable_sdl" != "xno"], [
488 CLEAR_LIBVARS([SDL])
Vincent Rabaud24d7f9c2023-09-28 08:18:23489 AC_PATH_PROGS([LIBSDL_CONFIG], [sdl2-config])
James Zerndaa9fca2018-03-31 06:18:55490 if test -n "$LIBSDL_CONFIG"; then
491 SDL_INCLUDES=`$LIBSDL_CONFIG --cflags`
492 SDL_LIBS="`$LIBSDL_CONFIG --libs`"
493 fi
494
Pascal Massimino6524fcd2017-01-30 12:33:35495 WITHLIB_OPTION([sdl], [SDL])
496
James Zern0265ced2017-07-11 22:38:18497 sdl_header="no"
Pascal Massimino6524fcd2017-01-30 12:33:35498 LIBCHECK_PROLOGUE([SDL])
Vincent Rabaud24d7f9c2023-09-28 08:18:23499 AC_CHECK_HEADER([SDL2/SDL.h], [sdl_header="SDL2/SDL.h"],
500 [AC_MSG_WARN(SDL2 library not available - no SDL.h)])
James Zern0265ced2017-07-11 22:38:18501 if test x"$sdl_header" != "xno"; then
James Zerndaa9fca2018-03-31 06:18:55502 AC_LANG_PUSH(C)
503 SDL_SAVED_LIBS="$LIBS"
Vincent Rabaud24d7f9c2023-09-28 08:18:23504 for lib in "" "-lSDL2" "-lSDL2main -lSDL2"; do
James Zerndaa9fca2018-03-31 06:18:55505 LIBS="$SDL_SAVED_LIBS $lib"
506 # Perform a full link to ensure SDL_main is resolved if needed.
507 AC_LINK_IFELSE(
508 [AC_LANG_SOURCE([
509 #include <$sdl_header>
510 int main(int argc, char** argv) {
511 SDL_Init(0);
512 return 0;
513 }])],
514 [SDL_LIBS="$LDFLAGS $LIBS"
515 SDL_INCLUDES="$SDL_INCLUDES -DWEBP_HAVE_SDL"
516 AC_DEFINE(WEBP_HAVE_SDL, [1],
517 [Set to 1 if SDL library is installed])
518 sdl_support=yes]
519 )
520 if test x"$sdl_support" = "xyes"; then
521 break
522 fi
523 done
524 # LIBS is restored by LIBCHECK_EPILOGUE
525 AC_LANG_POP
James Zern0265ced2017-07-11 22:38:18526 if test x"$sdl_header" = "xSDL.h"; then
Pascal Massimino6524fcd2017-01-30 12:33:35527 SDL_INCLUDES="$SDL_INCLUDES -DWEBP_HAVE_JUST_SDL_H"
528 fi
529 fi
530 LIBCHECK_EPILOGUE([SDL])
531
James Zerndaa9fca2018-03-31 06:18:55532 if test x"$sdl_support" = "xyes"; then
Pascal Massimino6524fcd2017-01-30 12:33:35533 build_vwebp_sdl=yes
James Zerndaa9fca2018-03-31 06:18:55534 else
James Zerndc7e2b42021-07-03 22:51:23535 AC_MSG_NOTICE([Not building vwebp-sdl. SDL library is required.])
Pascal Massimino6524fcd2017-01-30 12:33:35536 fi
537])
538
539AM_CONDITIONAL([BUILD_VWEBP_SDL], [test "$build_vwebp_sdl" = "yes"])
540
Pascal Massimino1dc46112011-02-01 06:00:33541dnl === check for PNG support ===
542
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48543AC_ARG_ENABLE([png], AS_HELP_STRING([--disable-png],
544 [Disable detection of PNG format support
545 @<:@default=auto@:>@]))
546AS_IF([test "x$enable_png" != "xno"], [
547 CLEAR_LIBVARS([PNG])
James Zernbe70b862014-09-10 05:55:29548 AC_PATH_PROGS([LIBPNG_CONFIG],
549 [libpng-config libpng16-config libpng15-config libpng14-config \
550 libpng12-config])
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48551 if test -n "$LIBPNG_CONFIG"; then
552 PNG_INCLUDES=`$LIBPNG_CONFIG --cflags`
James Zernbe70b862014-09-10 05:55:29553 PNG_LIBS="`$LIBPNG_CONFIG --ldflags`"
Pascal Massimino1dc46112011-02-01 06:00:33554 fi
Pascal Massimino1dc46112011-02-01 06:00:33555
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48556 WITHLIB_OPTION([png], [PNG])
Pascal Massimino1dc46112011-02-01 06:00:33557
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48558 LIBCHECK_PROLOGUE([PNG])
559 AC_CHECK_HEADER(png.h,
560 AC_SEARCH_LIBS(png_get_libpng_ver, [png],
561 [test "$ac_cv_search_png_get_libpng_ver" = "none required" \
562 || PNG_LIBS="$PNG_LIBS $ac_cv_search_png_get_libpng_ver"
563 PNG_INCLUDES="$PNG_INCLUDES -DWEBP_HAVE_PNG"
564 AC_DEFINE(WEBP_HAVE_PNG, [1],
565 [Set to 1 if PNG library is installed])
566 png_support=yes
567 ],
568 [AC_MSG_WARN(Optional png library not found)
569 PNG_LIBS=""
570 PNG_INCLUDES=""
571 ],
572 [$MATH_LIBS]),
573 [AC_MSG_WARN(png library not available - no png.h)
574 PNG_LIBS=""
575 PNG_INCLUDES=""
576 ],
577 )
578 LIBCHECK_EPILOGUE([PNG])
579])
Pascal Massiminoa31f8432011-08-02 00:05:57580
Pascal Massiminof61d14a2011-02-19 07:33:46581dnl === check for JPEG support ===
582
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48583AC_ARG_ENABLE([jpeg],
584 AS_HELP_STRING([--disable-jpeg],
585 [Disable detection of JPEG format support
586 @<:@default=auto@:>@]))
587AS_IF([test "x$enable_jpeg" != "xno"], [
588 CLEAR_LIBVARS([JPEG])
589 WITHLIB_OPTION([jpeg], [JPEG])
Pascal Massiminof61d14a2011-02-19 07:33:46590
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48591 LIBCHECK_PROLOGUE([JPEG])
592 AC_CHECK_HEADER(jpeglib.h,
593 AC_CHECK_LIB(jpeg, jpeg_set_defaults,
594 [JPEG_LIBS="$JPEG_LIBS -ljpeg"
595 JPEG_INCLUDES="$JPEG_INCLUDES -DWEBP_HAVE_JPEG"
596 AC_DEFINE(WEBP_HAVE_JPEG, [1],
597 [Set to 1 if JPEG library is installed])
598 jpeg_support=yes
599 ],
600 AC_MSG_WARN(Optional jpeg library not found),
601 [$MATH_LIBS]),
602 AC_MSG_WARN(jpeg library not available - no jpeglib.h)
603 )
604 LIBCHECK_EPILOGUE([JPEG])
605])
Pascal Massiminoa31f8432011-08-02 00:05:57606
James Zernc17699b2012-07-03 01:01:49607dnl === check for TIFF support ===
608
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48609AC_ARG_ENABLE([tiff],
610 AS_HELP_STRING([--disable-tiff],
611 [Disable detection of TIFF format support
612 @<:@default=auto@:>@]))
613AS_IF([test "x$enable_tiff" != "xno"], [
614 CLEAR_LIBVARS([TIFF])
615 WITHLIB_OPTION([tiff], [TIFF])
James Zernc17699b2012-07-03 01:01:49616
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48617 LIBCHECK_PROLOGUE([TIFF])
618 AC_CHECK_HEADER(tiffio.h,
619 AC_CHECK_LIB(tiff, TIFFGetVersion,
620 [TIFF_LIBS="$TIFF_LIBS -ltiff"
621 TIFF_INCLUDES="$TIFF_INCLUDES -DWEBP_HAVE_TIFF"
622 AC_DEFINE(WEBP_HAVE_TIFF, [1],
623 [Set to 1 if TIFF library is installed])
624 tiff_support=yes
625 ],
626 AC_MSG_WARN(Optional tiff library not found),
627 [$MATH_LIBS]),
628 AC_MSG_WARN(tiff library not available - no tiffio.h)
629 )
630 LIBCHECK_EPILOGUE([TIFF])
631])
James Zernc17699b2012-07-03 01:01:49632
Urvang Joshic40efca2012-11-15 19:04:12633dnl === check for GIF support ===
634
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48635AC_ARG_ENABLE([gif], AS_HELP_STRING([--disable-gif],
636 [Disable detection of GIF format support
637 @<:@default=auto@:>@]))
638AS_IF([test "x$enable_gif" != "xno"], [
639 CLEAR_LIBVARS([GIF])
640 WITHLIB_OPTION([gif], [GIF])
Urvang Joshic40efca2012-11-15 19:04:12641
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48642 LIBCHECK_PROLOGUE([GIF])
643 AC_CHECK_HEADER(gif_lib.h,
644 AC_CHECK_LIB([gif], [DGifOpenFileHandle],
645 [GIF_LIBS="$GIF_LIBS -lgif"
646 AC_DEFINE(WEBP_HAVE_GIF, [1],
647 [Set to 1 if GIF library is installed])
648 gif_support=yes
649 ],
650 AC_MSG_WARN(Optional gif library not found),
651 [$MATH_LIBS]),
652 AC_MSG_WARN(gif library not available - no gif_lib.h)
653 )
654 LIBCHECK_EPILOGUE([GIF])
Urvang Joshic40efca2012-11-15 19:04:12655
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48656 if test "$gif_support" = "yes" -a \
Urvang Joshiacd7b5a2015-05-01 23:11:49657 "$enable_libwebpdemux" = "yes"; then
Pascal Massimino501ef6e2017-08-28 13:56:57658 build_anim_diff=yes
James Zerndc7e2b42021-07-03 22:51:23659 else
660 AC_MSG_NOTICE(
661 [Not building anim_diff. libgif and --enable-libwebpdemux are required.])
Urvang Joshiacd7b5a2015-05-01 23:11:49662 fi
663
664 if test "$gif_support" = "yes" -a \
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48665 "$enable_libwebpmux" = "yes"; then
666 build_gif2webp=yes
James Zerndc7e2b42021-07-03 22:51:23667 else
668 AC_MSG_NOTICE(
669 [Not building gif2webp. libgif and --enable-libwebpmux are required.])
Paweł Hajdan, Jr73a304e2014-01-21 19:33:48670 fi
671])
Pascal Massimino501ef6e2017-08-28 13:56:57672AM_CONDITIONAL([BUILD_ANIMDIFF], [test "${build_anim_diff}" = "yes"])
James Zernbd56a012012-11-17 02:59:46673AM_CONDITIONAL([BUILD_GIF2WEBP], [test "${build_gif2webp}" = "yes"])
Urvang Joshic40efca2012-11-15 19:04:12674
Pascal Massimino641cedc2017-03-02 16:45:42675if test "$enable_libwebpdemux" = "yes" -a "$enable_libwebpmux" = "yes"; then
Pascal Massimino03f40952016-12-02 10:44:17676 build_img2webp=yes
James Zerndc7e2b42021-07-03 22:51:23677else
678 AC_MSG_NOTICE(
679 m4_normalize([Not building img2webp.
680 --enable-libwebpdemux & --enable-libwebpmux are required.]))
Pascal Massimino03f40952016-12-02 10:44:17681fi
682AM_CONDITIONAL([BUILD_IMG2WEBP], [test "${build_img2webp}" = "yes"])
683
Pascal Massimino274daf52017-03-14 09:00:43684if test "$enable_libwebpmux" = "yes"; then
685 build_webpinfo=yes
James Zerndc7e2b42021-07-03 22:51:23686else
687 AC_MSG_NOTICE([Not building webpinfo. --enable-libwebpdemux is required.])
Pascal Massimino274daf52017-03-14 09:00:43688fi
689AM_CONDITIONAL([BUILD_WEBPINFO], [test "${build_webpinfo}" = "yes"])
690
James Zern31f9dc62011-06-07 00:56:50691dnl === check for WIC support ===
692
James Zerna01e04f2013-12-07 19:56:34693AC_ARG_ENABLE([wic],
694 AS_HELP_STRING([--disable-wic],
695 [Disable Windows Imaging Component (WIC) detection.
696 @<:@default=auto@:>@]),,
697 [enable_wic=yes])
698
Timothy Gu63c2fc02014-08-06 03:55:04699case $host_os in
700mingw*)
701if test "$enable_wic" = "yes"; then
James Zern31f9dc62011-06-07 00:56:50702 AC_CHECK_HEADERS([wincodec.h shlwapi.h windows.h])
703 if test "$ac_cv_header_wincodec_h" = "yes"; then
704 AC_MSG_CHECKING(for Windows Imaging Component support)
Pascal Massiminoa31f8432011-08-02 00:05:57705 SAVED_LIBS=$LIBS
James Zern31f9dc62011-06-07 00:56:50706 LIBS="-lshlwapi -lole32 $LIBS"
707 # match include structure from [cd]webp.c
708 wic_headers="
709 #define INITGUID
710 #define CINTERFACE
711 #define COBJMACROS
712 #define _WIN32_IE 0x500
713
714 #include <shlwapi.h>
715 #include <windows.h>
716 #include <wincodec.h>
717 "
718 # test for functions from each lib and the GUID is created properly
719 wic_main="
720 int main(void) {
721 CLSID_WICImagingFactory;
722 CoInitialize(NULL);
723 SHCreateStreamOnFile(NULL, 0, NULL);
724 return 0;
725 }
726 "
727 AC_LANG_PUSH(C)
728 AC_LINK_IFELSE(
729 [AC_LANG_SOURCE([
730 $wic_headers
731 $wic_main])],
732 [wic_support=yes],
733 [wic_support=no]
734 )
735 AC_LANG_POP
736
Pascal Massiminoa31f8432011-08-02 00:05:57737 test "$wic_support" = "yes" || LIBS=$SAVED_LIBS
James Zern31f9dc62011-06-07 00:56:50738 AC_MSG_RESULT(${wic_support-no})
739 fi
740fi
Timothy Gu63c2fc02014-08-06 03:55:04741esac
James Zern31f9dc62011-06-07 00:56:50742
skal663a6d92017-08-01 01:53:29743dnl === If --enable-swap-16bit-csp is defined, add -DWEBP_SWAP_16BIT_CSP=1
Vikas Arora94a48b42013-01-19 00:23:09744
745USE_SWAP_16BIT_CSP=""
746AC_MSG_CHECKING(if --enable-swap-16bit-csp option is specified)
747AC_ARG_ENABLE([swap-16bit-csp],
748 AS_HELP_STRING([--enable-swap-16bit-csp],
749 [Enable byte swap for 16 bit colorspaces]))
750if test "$enable_swap_16bit_csp" = "yes"; then
skal663a6d92017-08-01 01:53:29751 USE_SWAP_16BIT_CSP="-DWEBP_SWAP_16BIT_CSP=1"
Vikas Arora94a48b42013-01-19 00:23:09752fi
753AC_MSG_RESULT(${enable_swap_16bit_csp-no})
754AC_SUBST(USE_SWAP_16BIT_CSP)
755
Vincent Rabauda80fcc42017-08-31 12:02:05756dnl === If --disable-near-lossless is defined, add -DWEBP_NEAR_LOSSLESS=0
757
758AC_DEFINE(WEBP_NEAR_LOSSLESS, [1], [Enable near lossless encoding])
759AC_MSG_CHECKING(if --disable-near-lossless option is specified)
760AC_ARG_ENABLE([near_lossless],
761 AS_HELP_STRING([--disable-near-lossless],
762 [Disable near lossless encoding]),
763 [], [enable_near_lossless=yes])
764if test "$enable_near_lossless" = "no"; then
765 AC_DEFINE(WEBP_NEAR_LOSSLESS, [0], [Enable near lossless encoding])
766 AC_MSG_RESULT([yes])
767else
768 AC_MSG_RESULT([no])
769fi
770
Pascal Massimino79cc49f2011-05-04 22:17:54771dnl =========================
772
James Zern28aedcb2022-10-24 23:44:42773dnl Add an empty webp_libname_prefix variable for use in *.pc.in.
774AC_SUBST([webp_libname_prefix])
Pascal Massimino6421a7a2011-01-06 15:25:43775AC_CONFIG_MACRO_DIR([m4])
James Zern32b31372014-06-11 00:53:44776AC_CONFIG_HEADERS([src/webp/config.h])
Pascal Massiminoe06ac082011-09-02 21:30:08777AC_CONFIG_FILES([Makefile src/Makefile man/Makefile \
James Zernc379b552016-07-19 23:02:55778 examples/Makefile extras/Makefile imageio/Makefile \
Christopher Degawa7deee812022-08-02 20:46:19779 sharpyuv/Makefile sharpyuv/libsharpyuv.pc \
James Zernc379b552016-07-19 23:02:55780 src/dec/Makefile src/enc/Makefile src/dsp/Makefile \
Urvang Joshi23782f92012-11-19 19:21:37781 src/demux/Makefile src/mux/Makefile \
James Zernad497fb2016-07-19 22:23:08782 src/utils/Makefile \
James Zern26ca8432013-03-05 03:14:06783 src/libwebp.pc src/libwebpdecoder.pc \
James Zernad497fb2016-07-19 22:23:08784 src/demux/libwebpdemux.pc src/mux/libwebpmux.pc])
Pascal Massiminof61d14a2011-02-19 07:33:46785
Ozkan Sezer84878602024-03-05 22:11:55786dnl fix exports from MinGW builds
787AC_CONFIG_COMMANDS_POST([$SED -i 's/-DDLL_EXPORT/-DWEBP_DLL/' config.status])
Pascal Massiminoc3f41cb2010-09-30 13:34:38788AC_OUTPUT
James Zernbd56a012012-11-17 02:59:46789
790AC_MSG_NOTICE([
791WebP Configuration Summary
792--------------------------
793
794Shared libraries: ${enable_shared}
795Static libraries: ${enable_static}
Pascal Massiminofb3acf12014-07-21 07:21:50796Threading support: ${enable_threading-no}
James Zernbd56a012012-11-17 02:59:46797libwebp: yes
Vikas Arora0aeba522013-01-23 00:22:20798libwebpdecoder: ${enable_libwebpdecoder-no}
James Zerna0a66482013-03-16 03:55:54799libwebpdemux: ${enable_libwebpdemux-no}
800libwebpmux: ${enable_libwebpmux-no}
James Zern5c176d22015-03-06 07:48:46801libwebpextras: ${enable_libwebpextras-no}
James Zernbd56a012012-11-17 02:59:46802
803Tools:
Pascal Massimino641cedc2017-03-02 16:45:42804cwebp : ${enable_libwebpdemux-no}
James Zernbd56a012012-11-17 02:59:46805 Input format support
806 ====================
807 JPEG : ${jpeg_support-no}
808 PNG : ${png_support-no}
809 TIFF : ${tiff_support-no}
810 WIC : ${wic_support-no}
Pascal Massimino641cedc2017-03-02 16:45:42811dwebp : ${enable_libwebpdemux-no}
James Zernbd56a012012-11-17 02:59:46812 Output format support
813 =====================
814 PNG : ${png_support-no}
815 WIC : ${wic_support-no}
Pascal Massimino79ff0342013-09-12 11:03:51816GIF support : ${gif_support-no}
Pascal Massimino501ef6e2017-08-28 13:56:57817anim_diff : ${build_anim_diff-no}
Pascal Massimino79ff0342013-09-12 11:03:51818gif2webp : ${build_gif2webp-no}
Pascal Massimino03f40952016-12-02 10:44:17819img2webp : ${build_img2webp-no}
Pascal Massimino79ff0342013-09-12 11:03:51820webpmux : ${enable_libwebpmux-no}
821vwebp : ${build_vwebp-no}
Pascal Massimino274daf52017-03-14 09:00:43822webpinfo : ${build_webpinfo-no}
Pascal Massimino6524fcd2017-01-30 12:33:35823SDL support : ${sdl_support-no}
824vwebp_sdl : ${build_vwebp_sdl-no}
James Zernbd56a012012-11-17 02:59:46825])