Blame configure.ac

Packit 9c6abc
AC_INIT([libwebp], [1.0.0],
Packit 9c6abc
        [https://bugs.chromium.org/p/webp],,
Packit 9c6abc
        [http://developers.google.com/speed/webp])
Packit 9c6abc
AC_CANONICAL_HOST
Packit 9c6abc
AC_PREREQ([2.60])
Packit 9c6abc
AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
Packit 9c6abc
Packit 9c6abc
dnl === automake >= 1.12 requires this for 'unusual archivers' support.
Packit 9c6abc
dnl === it must occur before LT_INIT (AC_PROG_LIBTOOL).
Packit 9c6abc
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
Packit 9c6abc
Packit 9c6abc
AC_PROG_LIBTOOL
Packit 9c6abc
AC_PROG_SED
Packit 9c6abc
AM_PROG_CC_C_O
Packit 9c6abc
Packit 9c6abc
dnl === Enable less verbose output when building.
Packit 9c6abc
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
Packit 9c6abc
Packit 9c6abc
dnl == test endianness
Packit 9c6abc
AC_C_BIGENDIAN
Packit 9c6abc
Packit 9c6abc
dnl === SET_IF_UNSET(shell_var, value)
Packit 9c6abc
dnl ===   Set the shell variable 'shell_var' to 'value' if it is unset.
Packit 9c6abc
AC_DEFUN([SET_IF_UNSET], [test "${$1+set}" = "set" || $1=$2])
Packit 9c6abc
Packit 9c6abc
AC_ARG_ENABLE([everything],
Packit 9c6abc
              AS_HELP_STRING([--enable-everything],
Packit 9c6abc
                             [Enable all optional targets. These can still be
Packit 9c6abc
                              disabled with --disable-target]),
Packit 9c6abc
              [SET_IF_UNSET([enable_libwebpdecoder], [$enableval])
Packit 9c6abc
               SET_IF_UNSET([enable_libwebpdemux], [$enableval])
Packit 9c6abc
               SET_IF_UNSET([enable_libwebpextras], [$enableval])
Packit 9c6abc
               SET_IF_UNSET([enable_libwebpmux], [$enableval])])
Packit 9c6abc
Packit 9c6abc
dnl === If --enable-asserts is not defined, define NDEBUG
Packit 9c6abc
Packit 9c6abc
AC_MSG_CHECKING(whether asserts are enabled)
Packit 9c6abc
AC_ARG_ENABLE([asserts],
Packit 9c6abc
              AS_HELP_STRING([--enable-asserts],
Packit 9c6abc
                             [Enable assert checks]))
Packit 9c6abc
if test "x${enable_asserts-no}" = "xno"; then
Packit 9c6abc
  AM_CPPFLAGS="${AM_CPPFLAGS} -DNDEBUG"
Packit 9c6abc
fi
Packit 9c6abc
AC_MSG_RESULT(${enable_asserts-no})
Packit 9c6abc
AC_SUBST([AM_CPPFLAGS])
Packit 9c6abc
Packit 9c6abc
AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=DIR],
Packit 9c6abc
            [Path to the pkgconfig directory @<:@LIBDIR/pkgconfig@:>@]),
Packit 9c6abc
            [pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig'])
Packit 9c6abc
AC_SUBST([pkgconfigdir])
Packit 9c6abc
Packit 9c6abc
dnl === TEST_AND_ADD_CFLAGS(var, flag)
Packit 9c6abc
dnl ===   Checks whether $CC supports 'flag' and adds it to 'var'
Packit 9c6abc
dnl ===   on success.
Packit 9c6abc
AC_DEFUN([TEST_AND_ADD_CFLAGS],
Packit 9c6abc
         [SAVED_CFLAGS="$CFLAGS"
Packit 9c6abc
          CFLAGS="-Werror $2"
Packit 9c6abc
          AC_MSG_CHECKING([whether $CC supports $2])
Packit 9c6abc
          dnl Note AC_LANG_PROGRAM([]) uses an old-style main definition.
Packit 9c6abc
          AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main(void) { return 0; }])],
Packit 9c6abc
                            [AC_MSG_RESULT([yes])]
Packit 9c6abc
                            dnl Simply append the variable avoiding a
Packit 9c6abc
                            dnl compatibility ifdef for AS_VAR_APPEND as this
Packit 9c6abc
                            dnl variable shouldn't grow all that large.
Packit 9c6abc
                            [$1="${$1} $2"],
Packit 9c6abc
                            [AC_MSG_RESULT([no])])
Packit 9c6abc
          CFLAGS="$SAVED_CFLAGS"])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-fvisibility=hidden])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wall])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wconstant-conversion])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wdeclaration-after-statement])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wextra])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wfloat-conversion])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wformat -Wformat-nonliteral])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wformat -Wformat-security])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wmissing-declarations])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wmissing-prototypes])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wold-style-definition])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wparentheses-equality])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wshadow])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wshorten-64-to-32])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wundef])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wunreachable-code])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wunused-but-set-variable])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wunused])
Packit 9c6abc
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wvla])
Packit 9c6abc
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62040
Packit 9c6abc
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61622
Packit 9c6abc
AS_IF([test "$GCC" = "yes" ], [
Packit 9c6abc
       gcc_version=`$CC -dumpversion`
Packit 9c6abc
       gcc_wht_bug=""
Packit 9c6abc
       case "$host_cpu" in
Packit 9c6abc
         aarch64|arm64)
Packit 9c6abc
          case "$gcc_version" in
Packit 9c6abc
            4.9|4.9.0|4.9.1) gcc_wht_bug=yes ;;
Packit 9c6abc
          esac
Packit 9c6abc
       esac
Packit 9c6abc
       AS_IF([test "$gcc_wht_bug" = "yes"], [
Packit 9c6abc
              TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-frename-registers])])])
Packit 9c6abc
# Use -flax-vector-conversions, if available, when building intrinsics with
Packit 9c6abc
# older versions of gcc. The flag appeared in 4.3.x, but if backported, and
Packit 9c6abc
# -fno-lax-vector-conversions is set, errors may occur with the intrinsics
Packit 9c6abc
# files along with the older system includes, e.g., emmintrin.h.
Packit 9c6abc
# Originally observed with cc (GCC) 4.2.1 20070831 patched [FreeBSD] (9.3).
Packit 9c6abc
# https://bugs.chromium.org/p/webp/issues/detail?id=274
Packit 9c6abc
AS_IF([test "$GCC" = "yes" ], [
Packit 9c6abc
       case "$host_cpu" in
Packit 9c6abc
         amd64|i?86|x86_64)
Packit 9c6abc
           AC_COMPILE_IFELSE(
Packit 9c6abc
             dnl only check for -flax-vector-conversions with older gcc, skip
Packit 9c6abc
             dnl clang as it reports itself as 4.2.1, but the flag isn't needed.
Packit 9c6abc
             [AC_LANG_SOURCE([#if !defined(__clang__) && defined(__GNUC__) && \
Packit 9c6abc
                                  ((__GNUC__ << 8) | __GNUC_MINOR__) < 0x403
Packit 9c6abc
                              #error old gcc
Packit 9c6abc
                              #endif
Packit 9c6abc
                              int main(void) { return 0; }
Packit 9c6abc
                             ])],,
Packit 9c6abc
              [TEST_AND_ADD_CFLAGS([INTRINSICS_CFLAGS],
Packit 9c6abc
                                   [-flax-vector-conversions])])
Packit 9c6abc
           ;;
Packit 9c6abc
       esac])
Packit 9c6abc
AC_SUBST([AM_CFLAGS])
Packit 9c6abc
Packit 9c6abc
dnl === Check for machine specific flags
Packit 9c6abc
AC_ARG_ENABLE([avx2],
Packit 9c6abc
              AS_HELP_STRING([--disable-avx2],
Packit 9c6abc
                             [Disable detection of AVX2 support
Packit 9c6abc
                              @<:@default=auto@:>@]))
Packit 9c6abc
Packit 9c6abc
AS_IF([test "x$enable_avx2" != "xno" -a "x$enable_sse4_1" != "xno" \
Packit 9c6abc
         -a "x$enable_sse2" != "xno"], [
Packit 9c6abc
  AVX2_CFLAGS="$INTRINSICS_CFLAGS $AVX2_FLAGS"
Packit 9c6abc
  TEST_AND_ADD_CFLAGS([AVX2_FLAGS], [-mavx2])
Packit 9c6abc
  AS_IF([test -n "$AVX2_FLAGS"], [
Packit 9c6abc
    SAVED_CFLAGS=$CFLAGS
Packit 9c6abc
    CFLAGS="$CFLAGS $AVX2_FLAGS"
Packit 9c6abc
    AC_CHECK_HEADER([immintrin.h],
Packit 9c6abc
                    [AC_DEFINE(WEBP_HAVE_AVX2, [1],
Packit 9c6abc
                     [Set to 1 if AVX2 is supported])],
Packit 9c6abc
                    [AVX2_FLAGS=""],
Packit 9c6abc
                    dnl it's illegal to directly include avx2intrin.h, but it's
Packit 9c6abc
                    dnl included conditionally in immintrin.h, tricky!
Packit 9c6abc
                    [#ifndef __AVX2__
Packit 9c6abc
                     #error avx2 is not enabled
Packit 9c6abc
                     #endif
Packit 9c6abc
                    ])
Packit 9c6abc
    CFLAGS=$SAVED_CFLAGS])
Packit 9c6abc
  AC_SUBST([AVX2_FLAGS])])
Packit 9c6abc
Packit 9c6abc
AC_ARG_ENABLE([sse4.1],
Packit 9c6abc
              AS_HELP_STRING([--disable-sse4.1],
Packit 9c6abc
                             [Disable detection of SSE4.1 support
Packit 9c6abc
                              @<:@default=auto@:>@]))
Packit 9c6abc
Packit 9c6abc
AS_IF([test "x$enable_sse4_1" != "xno" -a "x$enable_sse2" != "xno"], [
Packit 9c6abc
  SSE41_FLAGS="$INTRINSICS_CFLAGS $SSE41_FLAGS"
Packit 9c6abc
  TEST_AND_ADD_CFLAGS([SSE41_FLAGS], [-msse4.1])
Packit 9c6abc
  AS_IF([test -n "$SSE41_FLAGS"], [
Packit 9c6abc
    SAVED_CFLAGS=$CFLAGS
Packit 9c6abc
    CFLAGS="$CFLAGS $SSE41_FLAGS"
Packit 9c6abc
    AC_CHECK_HEADER([smmintrin.h],
Packit 9c6abc
                    [AC_DEFINE(WEBP_HAVE_SSE41, [1],
Packit 9c6abc
                     [Set to 1 if SSE4.1 is supported])],
Packit 9c6abc
                    [SSE41_FLAGS=""])
Packit 9c6abc
    CFLAGS=$SAVED_CFLAGS])
Packit 9c6abc
  AC_SUBST([SSE41_FLAGS])])
Packit 9c6abc
Packit 9c6abc
AC_ARG_ENABLE([sse2],
Packit 9c6abc
              AS_HELP_STRING([--disable-sse2],
Packit 9c6abc
                             [Disable detection of SSE2 support
Packit 9c6abc
                              @<:@default=auto@:>@]))
Packit 9c6abc
Packit 9c6abc
AS_IF([test "x$enable_sse2" != "xno"], [
Packit 9c6abc
  SSE2_FLAGS="$INTRINSICS_CFLAGS $SSE2_FLAGS"
Packit 9c6abc
  TEST_AND_ADD_CFLAGS([SSE2_FLAGS], [-msse2])
Packit 9c6abc
  AS_IF([test -n "$SSE2_FLAGS"], [
Packit 9c6abc
    SAVED_CFLAGS=$CFLAGS
Packit 9c6abc
    CFLAGS="$CFLAGS $SSE2_FLAGS"
Packit 9c6abc
    AC_CHECK_HEADER([emmintrin.h],
Packit 9c6abc
                    [AC_DEFINE(WEBP_HAVE_SSE2, [1],
Packit 9c6abc
                     [Set to 1 if SSE2 is supported])],
Packit 9c6abc
                    [SSE2_FLAGS=""])
Packit 9c6abc
    CFLAGS=$SAVED_CFLAGS])
Packit 9c6abc
  AC_SUBST([SSE2_FLAGS])])
Packit 9c6abc
Packit 9c6abc
AC_ARG_ENABLE([neon],
Packit 9c6abc
              AS_HELP_STRING([--disable-neon],
Packit 9c6abc
                             [Disable detection of NEON support
Packit 9c6abc
                              @<:@default=auto@:>@]))
Packit 9c6abc
Packit 9c6abc
AC_ARG_ENABLE([neon_rtcd],
Packit 9c6abc
              AS_HELP_STRING([--disable-neon-rtcd],
Packit 9c6abc
                             [Disable runtime detection of NEON support via
Packit 9c6abc
                              /proc/cpuinfo on Linux hosts
Packit 9c6abc
                              @<:@default=auto@:>@]))
Packit 9c6abc
# For ARM(7) hosts:
Packit 9c6abc
# Both NEON flags unset and NEON support detected = build all modules with NEON
Packit 9c6abc
# NEON detected with the use of -mfpu=neon = build only NEON modules with NEON
Packit 9c6abc
AS_IF([test "x$enable_neon" != "xno"], [
Packit 9c6abc
  case "$host_cpu" in
Packit 9c6abc
    arm|armv7*)
Packit 9c6abc
      # Test for NEON support without flags before falling back to -mfpu=neon
Packit 9c6abc
      for flag in '' '-mfpu=neon'; do
Packit 9c6abc
        LOCAL_NEON_FLAGS="$INTRINSICS_CFLAGS $NEON_FLAGS"
Packit 9c6abc
        TEST_AND_ADD_CFLAGS([LOCAL_NEON_FLAGS], [$flag])
Packit 9c6abc
        SAVED_CFLAGS=$CFLAGS
Packit 9c6abc
        CFLAGS="$CFLAGS $LOCAL_NEON_FLAGS"
Packit 9c6abc
Packit 9c6abc
        dnl Note AC_LANG_PROGRAM([]) uses an old-style main definition.
Packit 9c6abc
        AC_COMPILE_IFELSE([AC_LANG_SOURCE([
Packit 9c6abc
          #include <arm_neon.h>
Packit 9c6abc
          int main(void) {
Packit 9c6abc
            int8x8_t v = vdup_n_s8(0);
Packit 9c6abc
            (void)v;
Packit 9c6abc
            return 0;
Packit 9c6abc
          }])],
Packit 9c6abc
          [NEON_FLAGS="$(echo $LOCAL_NEON_FLAGS | $SED 's/^ *//')"
Packit 9c6abc
           AS_IF([test -n "$NEON_FLAGS"], [
Packit 9c6abc
             AS_IF([test "${host_os%%-*}" = "linux" -o \
Packit 9c6abc
                         "x$enable_neon_rtcd" = "xno"], [
Packit 9c6abc
               CFLAGS=$SAVED_CFLAGS
Packit 9c6abc
               AC_DEFINE(WEBP_HAVE_NEON, [1], [Set to 1 if NEON is supported])
Packit 9c6abc
               break
Packit 9c6abc
             ],[
Packit 9c6abc
               AC_MSG_WARN(m4_normalize([NEON runtime cpu-detection is
Packit 9c6abc
                                         unavailable for ${host_os%%-*}. Force
Packit 9c6abc
                                         with CFLAGS=-mfpu=neon or
Packit 9c6abc
                                         --disable-neon-rtcd.]))
Packit 9c6abc
               enable_neon_rtcd=no
Packit 9c6abc
               NEON_FLAGS=""
Packit 9c6abc
             ])
Packit 9c6abc
           ],[
Packit 9c6abc
             CFLAGS=$SAVED_CFLAGS
Packit 9c6abc
             AC_DEFINE(WEBP_HAVE_NEON, [1], [Set to 1 if NEON is supported])
Packit 9c6abc
             break
Packit 9c6abc
           ])])
Packit 9c6abc
        CFLAGS=$SAVED_CFLAGS
Packit 9c6abc
      done
Packit 9c6abc
Packit 9c6abc
      AS_IF([test -n "$NEON_FLAGS"], [
Packit 9c6abc
        # If NEON is available and rtcd is disabled apply NEON_FLAGS globally.
Packit 9c6abc
        AS_IF([test "x$enable_neon_rtcd" = "xno"], [
Packit 9c6abc
          AM_CFLAGS="$AM_CFLAGS $NEON_FLAGS"
Packit 9c6abc
          NEON_FLAGS=""],
Packit 9c6abc
          [AC_DEFINE(WEBP_HAVE_NEON_RTCD, [1],
Packit 9c6abc
                     [Set to 1 if runtime detection of NEON is enabled])])])
Packit 9c6abc
Packit 9c6abc
      case "$host_os" in
Packit 9c6abc
        *android*) AC_CHECK_HEADERS([cpu-features.h]) ;;
Packit 9c6abc
      esac
Packit 9c6abc
      ;;
Packit 9c6abc
  esac
Packit 9c6abc
  AC_SUBST([NEON_FLAGS])])
Packit 9c6abc
Packit 9c6abc
dnl === CLEAR_LIBVARS([var_pfx])
Packit 9c6abc
dnl ===   Clears <var_pfx>_{INCLUDES,LIBS}.
Packit 9c6abc
AC_DEFUN([CLEAR_LIBVARS], [$1_INCLUDES=""; $1_LIBS=""])
Packit 9c6abc
Packit 9c6abc
dnl === WITHLIB_OPTION([opt_pfx], [outvar_pfx])
Packit 9c6abc
dnl ===   Defines --with-<opt_pfx>{include,lib}dir options which set
Packit 9c6abc
dnl ===   the variables <outvar_pfx>_{INCLUDES,LIBS}.
Packit 9c6abc
AC_DEFUN([WITHLIB_OPTION],
Packit 9c6abc
  [AC_ARG_WITH([$1includedir],
Packit 9c6abc
               AS_HELP_STRING([--with-$1includedir=DIR],
Packit 9c6abc
                              [use $2 includes from DIR]),
Packit 9c6abc
               $2_INCLUDES="-I$withval")
Packit 9c6abc
   AC_ARG_WITH([$1libdir],
Packit 9c6abc
               AS_HELP_STRING([--with-$1libdir=DIR],
Packit 9c6abc
                              [use $2 libraries from DIR]),
Packit 9c6abc
               [$2_LIBS="-L$withval"])])
Packit 9c6abc
Packit 9c6abc
dnl === LIBCHECK_PROLOGUE([var_pfx])
Packit 9c6abc
dnl ===   Caches the current values of CPPFLAGS/LIBS in SAVED_* then
Packit 9c6abc
dnl ===   prepends the current values with <var_pfx>_{INCLUDES,LIBS}.
Packit 9c6abc
AC_DEFUN([LIBCHECK_PROLOGUE],
Packit 9c6abc
         [SAVED_CPPFLAGS=$CPPFLAGS
Packit 9c6abc
          SAVED_LIBS=$LIBS
Packit 9c6abc
          CPPFLAGS="$$1_INCLUDES $CPPFLAGS"
Packit 9c6abc
          LIBS="$$1_LIBS $LIBS"])
Packit 9c6abc
Packit 9c6abc
dnl === LIBCHECK_EPILOGUE([var_pfx])
Packit 9c6abc
dnl ===   Restores the values of CPPFLAGS/LIBS from SAVED_* and exports
Packit 9c6abc
dnl ===   <var_pfx>_{INCLUDES,LIBS} with AC_SUBST.
Packit 9c6abc
AC_DEFUN([LIBCHECK_EPILOGUE],
Packit 9c6abc
         [AC_SUBST($1_LIBS)
Packit 9c6abc
          AC_SUBST($1_INCLUDES)
Packit 9c6abc
          CPPFLAGS=$SAVED_CPPFLAGS
Packit 9c6abc
          LIBS=$SAVED_LIBS])
Packit 9c6abc
Packit 9c6abc
dnl === Check for gcc builtins
Packit 9c6abc
Packit 9c6abc
dnl === CHECK_FOR_BUILTIN([builtin], [param], [define])
Packit 9c6abc
dnl ===   links a C AC_LANG_PROGRAM, with <builtin>(<param>)
Packit 9c6abc
dnl ===   AC_DEFINE'ing <define> if successful.
Packit 9c6abc
AC_DEFUN([CHECK_FOR_BUILTIN],
Packit 9c6abc
         [AC_LANG_PUSH([C])
Packit 9c6abc
          AC_MSG_CHECKING([for $1])
Packit 9c6abc
          AC_LINK_IFELSE([AC_LANG_PROGRAM([], [(void)$1($2)])],
Packit 9c6abc
                         [AC_MSG_RESULT([yes])
Packit 9c6abc
                          AC_DEFINE([$3], [1],
Packit 9c6abc
                                    [Set to 1 if $1 is available])],
Packit 9c6abc
                         [AC_MSG_RESULT([no])]),
Packit 9c6abc
          AC_LANG_POP])
Packit 9c6abc
Packit 9c6abc
dnl AC_CHECK_FUNC doesn't work with builtin's.
Packit 9c6abc
CHECK_FOR_BUILTIN([__builtin_bswap16], [1u << 15], [HAVE_BUILTIN_BSWAP16])
Packit 9c6abc
CHECK_FOR_BUILTIN([__builtin_bswap32], [1u << 31], [HAVE_BUILTIN_BSWAP32])
Packit 9c6abc
CHECK_FOR_BUILTIN([__builtin_bswap64], [1ull << 63], [HAVE_BUILTIN_BSWAP64])
Packit 9c6abc
Packit 9c6abc
dnl === Check for pthread support
Packit 9c6abc
AC_ARG_ENABLE([threading],
Packit 9c6abc
              AS_HELP_STRING([--disable-threading],
Packit 9c6abc
                             [Disable detection of thread support]),,
Packit 9c6abc
              [enable_threading=yes])
Packit 9c6abc
if test "$enable_threading" = "yes"; then
Packit 9c6abc
  AC_MSG_NOTICE([checking for threading support...])
Packit 9c6abc
  AX_PTHREAD([AC_DEFINE([WEBP_USE_THREAD], [1],
Packit 9c6abc
                        [Undefine this to disable thread support.])
Packit 9c6abc
              LIBS="$PTHREAD_LIBS $LIBS"
Packit 9c6abc
              CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
Packit 9c6abc
              CC="$PTHREAD_CC"
Packit 9c6abc
             ],
Packit 9c6abc
             [AC_CHECK_FUNC([_beginthreadex],
Packit 9c6abc
                            [AC_DEFINE([WEBP_USE_THREAD], [1],
Packit 9c6abc
                                       [Undefine this to disable thread
Packit 9c6abc
                                        support.])],
Packit 9c6abc
                            [enable_threading=no])])
Packit 9c6abc
fi
Packit 9c6abc
AC_MSG_NOTICE([checking if threading is enabled... ${enable_threading-no}])
Packit 9c6abc
Packit 9c6abc
dnl === check for OpenGL/GLUT support ===
Packit 9c6abc
Packit 9c6abc
AC_ARG_ENABLE([gl], AS_HELP_STRING([--disable-gl],
Packit 9c6abc
                                   [Disable detection of OpenGL support
Packit 9c6abc
                                    @<:@default=auto@:>@]))
Packit 9c6abc
AS_IF([test "x$enable_gl" != "xno"], [
Packit 9c6abc
  CLEAR_LIBVARS([GL])
Packit 9c6abc
  WITHLIB_OPTION([gl], [GL])
Packit 9c6abc
Packit 9c6abc
  LIBCHECK_PROLOGUE([GL])
Packit 9c6abc
Packit 9c6abc
  glut_cflags="none"
Packit 9c6abc
  glut_ldflags="none"
Packit 9c6abc
  case $host_os in
Packit 9c6abc
    darwin*)
Packit 9c6abc
      # Special case for OSX builds. Append these to give the user a chance to
Packit 9c6abc
      # override with --with-gl*
Packit 9c6abc
      glut_cflags="$glut_cflags|-framework GLUT -framework OpenGL"
Packit 9c6abc
      glut_ldflags="$glut_ldflags|-framework GLUT -framework OpenGL"
Packit 9c6abc
      # quiet deprecation warnings for glut
Packit 9c6abc
      TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wno-deprecated-declarations])
Packit 9c6abc
      ;;
Packit 9c6abc
  esac
Packit 9c6abc
Packit 9c6abc
  GLUT_SAVED_CPPFLAGS="$CPPFLAGS"
Packit 9c6abc
  SAVED_IFS="$IFS"
Packit 9c6abc
  IFS="|"
Packit 9c6abc
  for flag in $glut_cflags; do
Packit 9c6abc
    # restore IFS immediately as the autoconf macros may need the default.
Packit 9c6abc
    IFS="$SAVED_IFS"
Packit 9c6abc
    unset ac_cv_header_GL_glut_h
Packit 9c6abc
    unset ac_cv_header_OpenGL_glut_h
Packit 9c6abc
Packit 9c6abc
    case $flag in
Packit 9c6abc
      none) ;;
Packit 9c6abc
      *) CPPFLAGS="$flag $CPPFLAGS";;
Packit 9c6abc
    esac
Packit 9c6abc
    AC_CHECK_HEADERS([GL/glut.h GLUT/glut.h OpenGL/glut.h],
Packit 9c6abc
                     [glut_headers=yes;
Packit 9c6abc
                      test "$flag" = "none" || GL_INCLUDES="$CPPFLAGS";
Packit 9c6abc
                      break])
Packit 9c6abc
    CPPFLAGS="$GLUT_SAVED_CPPFLAGS"
Packit 9c6abc
    test "$glut_headers" = "yes" && break
Packit 9c6abc
  done
Packit 9c6abc
  IFS="$SAVED_IFS"
Packit 9c6abc
Packit 9c6abc
  if test "$glut_headers" = "yes"; then
Packit 9c6abc
    AC_LANG_PUSH([C])
Packit 9c6abc
    GLUT_SAVED_LDFLAGS="$LDFLAGS"
Packit 9c6abc
    SAVED_IFS="$IFS"
Packit 9c6abc
    IFS="|"
Packit 9c6abc
    for flag in $glut_ldflags; do
Packit 9c6abc
      # restore IFS immediately as the autoconf macros may need the default.
Packit 9c6abc
      IFS="$SAVED_IFS"
Packit 9c6abc
      unset ac_cv_search_glBegin
Packit 9c6abc
Packit 9c6abc
      case $flag in
Packit 9c6abc
        none) ;;
Packit 9c6abc
        *) LDFLAGS="$flag $LDFLAGS";;
Packit 9c6abc
      esac
Packit 9c6abc
Packit 9c6abc
      # find libGL
Packit 9c6abc
      GL_SAVED_LIBS="$LIBS"
Packit 9c6abc
      AC_SEARCH_LIBS([glBegin], [GL OpenGL opengl32])
Packit 9c6abc
      LIBS="$GL_SAVED_LIBS"
Packit 9c6abc
Packit 9c6abc
      # A direct link to libGL may not be necessary on e.g., linux.
Packit 9c6abc
      GLUT_SAVED_LIBS="$LIBS"
Packit 9c6abc
      for lib in "" "-lglut" "-lglut $ac_cv_search_glBegin"; do
Packit 9c6abc
        LIBS="$lib"
Packit 9c6abc
        AC_LINK_IFELSE(
Packit 9c6abc
          [AC_LANG_PROGRAM([
Packit 9c6abc
             #ifdef __cplusplus
Packit 9c6abc
             # define EXTERN_C extern "C"
Packit 9c6abc
             #else
Packit 9c6abc
             # define EXTERN_C
Packit 9c6abc
             #endif
Packit 9c6abc
             EXTERN_C char glOrtho();
Packit 9c6abc
             EXTERN_C char glutMainLoop();
Packit 9c6abc
            ],[
Packit 9c6abc
             glOrtho();
Packit 9c6abc
             glutMainLoop();
Packit 9c6abc
            ])
Packit 9c6abc
          ],
Packit 9c6abc
          AC_DEFINE(WEBP_HAVE_GL, [1],
Packit 9c6abc
                    [Set to 1 if OpenGL is supported])
Packit 9c6abc
          [glut_support=yes], []
Packit 9c6abc
        )
Packit 9c6abc
        if test "$glut_support" = "yes"; then
Packit 9c6abc
          GL_LIBS="$LDFLAGS $lib"
Packit 9c6abc
          break
Packit 9c6abc
        fi
Packit 9c6abc
      done
Packit 9c6abc
      LIBS="$GLUT_SAVED_LIBS"
Packit 9c6abc
      LDFLAGS="$GLUT_SAVED_LDFLAGS"
Packit 9c6abc
      test "$glut_support" = "yes" && break
Packit 9c6abc
    done
Packit 9c6abc
    IFS="$SAVED_IFS"
Packit 9c6abc
    AC_LANG_POP
Packit 9c6abc
  fi
Packit 9c6abc
Packit 9c6abc
  LIBCHECK_EPILOGUE([GL])
Packit 9c6abc
Packit 9c6abc
  if test "$glut_support" = "yes" -a "$enable_libwebpdemux" = "yes"; then
Packit 9c6abc
    build_vwebp=yes
Packit 9c6abc
  fi
Packit 9c6abc
])
Packit 9c6abc
AM_CONDITIONAL([BUILD_VWEBP], [test "$build_vwebp" = "yes"])
Packit 9c6abc
Packit 9c6abc
dnl === check for SDL support ===
Packit 9c6abc
Packit 9c6abc
AC_ARG_ENABLE([sdl],
Packit 9c6abc
              AS_HELP_STRING([--disable-sdl],
Packit 9c6abc
                             [Disable detection of SDL support
Packit 9c6abc
                              @<:@default=auto@:>@]))
Packit 9c6abc
AS_IF([test "x$enable_sdl" != "xno"], [
Packit 9c6abc
  CLEAR_LIBVARS([SDL])
Packit 9c6abc
  AC_PATH_PROGS([LIBSDL_CONFIG], [sdl-config])
Packit 9c6abc
  if test -n "$LIBSDL_CONFIG"; then
Packit 9c6abc
    SDL_INCLUDES=`$LIBSDL_CONFIG --cflags`
Packit 9c6abc
    SDL_LIBS="`$LIBSDL_CONFIG --libs`"
Packit 9c6abc
  fi
Packit 9c6abc
Packit 9c6abc
  WITHLIB_OPTION([sdl], [SDL])
Packit 9c6abc
Packit 9c6abc
  sdl_header="no"
Packit 9c6abc
  LIBCHECK_PROLOGUE([SDL])
Packit 9c6abc
  AC_CHECK_HEADER([SDL/SDL.h], [sdl_header="SDL/SDL.h"],
Packit 9c6abc
                  [AC_CHECK_HEADER([SDL.h], [sdl_header="SDL.h"],
Packit 9c6abc
                  [AC_MSG_WARN(SDL library not available - no sdl.h)])])
Packit 9c6abc
  if test x"$sdl_header" != "xno"; then
Packit 9c6abc
    AC_LANG_PUSH(C)
Packit 9c6abc
    SDL_SAVED_LIBS="$LIBS"
Packit 9c6abc
    for lib in "" "-lSDL" "-lSDLmain -lSDL"; do
Packit 9c6abc
      LIBS="$SDL_SAVED_LIBS $lib"
Packit 9c6abc
      # Perform a full link to ensure SDL_main is resolved if needed.
Packit 9c6abc
      AC_LINK_IFELSE(
Packit 9c6abc
        [AC_LANG_SOURCE([
Packit 9c6abc
           #include <$sdl_header>
Packit 9c6abc
           int main(int argc, char** argv) {
Packit 9c6abc
             SDL_Init(0);
Packit 9c6abc
             return 0;
Packit 9c6abc
           }])],
Packit 9c6abc
        [SDL_LIBS="$LDFLAGS $LIBS"
Packit 9c6abc
         SDL_INCLUDES="$SDL_INCLUDES -DWEBP_HAVE_SDL"
Packit 9c6abc
         AC_DEFINE(WEBP_HAVE_SDL, [1],
Packit 9c6abc
                   [Set to 1 if SDL library is installed])
Packit 9c6abc
         sdl_support=yes]
Packit 9c6abc
      )
Packit 9c6abc
      if test x"$sdl_support" = "xyes"; then
Packit 9c6abc
        break
Packit 9c6abc
      fi
Packit 9c6abc
    done
Packit 9c6abc
    # LIBS is restored by LIBCHECK_EPILOGUE
Packit 9c6abc
    AC_LANG_POP
Packit 9c6abc
    if test x"$sdl_header" = "xSDL.h"; then
Packit 9c6abc
      SDL_INCLUDES="$SDL_INCLUDES -DWEBP_HAVE_JUST_SDL_H"
Packit 9c6abc
    fi
Packit 9c6abc
  fi
Packit 9c6abc
  LIBCHECK_EPILOGUE([SDL])
Packit 9c6abc
Packit 9c6abc
  if test x"$sdl_support" = "xyes"; then
Packit 9c6abc
    build_vwebp_sdl=yes
Packit 9c6abc
  else
Packit 9c6abc
    AC_MSG_WARN(Optional SDL library not found)
Packit 9c6abc
  fi
Packit 9c6abc
])
Packit 9c6abc
Packit 9c6abc
AM_CONDITIONAL([BUILD_VWEBP_SDL], [test "$build_vwebp_sdl" = "yes"])
Packit 9c6abc
Packit 9c6abc
dnl === check for PNG support ===
Packit 9c6abc
Packit 9c6abc
AC_ARG_ENABLE([png], AS_HELP_STRING([--disable-png],
Packit 9c6abc
                                    [Disable detection of PNG format support
Packit 9c6abc
                                     @<:@default=auto@:>@]))
Packit 9c6abc
AS_IF([test "x$enable_png" != "xno"], [
Packit 9c6abc
  CLEAR_LIBVARS([PNG])
Packit 9c6abc
  AC_PATH_PROGS([LIBPNG_CONFIG],
Packit 9c6abc
                [libpng-config libpng16-config libpng15-config libpng14-config \
Packit 9c6abc
                 libpng12-config])
Packit 9c6abc
  if test -n "$LIBPNG_CONFIG"; then
Packit 9c6abc
    PNG_INCLUDES=`$LIBPNG_CONFIG --cflags`
Packit 9c6abc
    PNG_LIBS="`$LIBPNG_CONFIG --ldflags`"
Packit 9c6abc
  fi
Packit 9c6abc
Packit 9c6abc
  WITHLIB_OPTION([png], [PNG])
Packit 9c6abc
Packit 9c6abc
  LIBCHECK_PROLOGUE([PNG])
Packit 9c6abc
  AC_CHECK_HEADER(png.h,
Packit 9c6abc
    AC_SEARCH_LIBS(png_get_libpng_ver, [png],
Packit 9c6abc
                   [test "$ac_cv_search_png_get_libpng_ver" = "none required" \
Packit 9c6abc
                      || PNG_LIBS="$PNG_LIBS $ac_cv_search_png_get_libpng_ver"
Packit 9c6abc
                    PNG_INCLUDES="$PNG_INCLUDES -DWEBP_HAVE_PNG"
Packit 9c6abc
                    AC_DEFINE(WEBP_HAVE_PNG, [1],
Packit 9c6abc
                              [Set to 1 if PNG library is installed])
Packit 9c6abc
                    png_support=yes
Packit 9c6abc
                   ],
Packit 9c6abc
                   [AC_MSG_WARN(Optional png library not found)
Packit 9c6abc
                    PNG_LIBS=""
Packit 9c6abc
                    PNG_INCLUDES=""
Packit 9c6abc
                   ],
Packit 9c6abc
                   [$MATH_LIBS]),
Packit 9c6abc
    [AC_MSG_WARN(png library not available - no png.h)
Packit 9c6abc
     PNG_LIBS=""
Packit 9c6abc
     PNG_INCLUDES=""
Packit 9c6abc
    ],
Packit 9c6abc
  )
Packit 9c6abc
  LIBCHECK_EPILOGUE([PNG])
Packit 9c6abc
])
Packit 9c6abc
Packit 9c6abc
dnl === check for JPEG support ===
Packit 9c6abc
Packit 9c6abc
AC_ARG_ENABLE([jpeg],
Packit 9c6abc
              AS_HELP_STRING([--disable-jpeg],
Packit 9c6abc
                             [Disable detection of JPEG format support
Packit 9c6abc
                              @<:@default=auto@:>@]))
Packit 9c6abc
AS_IF([test "x$enable_jpeg" != "xno"], [
Packit 9c6abc
  CLEAR_LIBVARS([JPEG])
Packit 9c6abc
  WITHLIB_OPTION([jpeg], [JPEG])
Packit 9c6abc
Packit 9c6abc
  LIBCHECK_PROLOGUE([JPEG])
Packit 9c6abc
  AC_CHECK_HEADER(jpeglib.h,
Packit 9c6abc
    AC_CHECK_LIB(jpeg, jpeg_set_defaults,
Packit 9c6abc
                 [JPEG_LIBS="$JPEG_LIBS -ljpeg"
Packit 9c6abc
                  JPEG_INCLUDES="$JPEG_INCLUDES -DWEBP_HAVE_JPEG"
Packit 9c6abc
                  AC_DEFINE(WEBP_HAVE_JPEG, [1],
Packit 9c6abc
                            [Set to 1 if JPEG library is installed])
Packit 9c6abc
                  jpeg_support=yes
Packit 9c6abc
                 ],
Packit 9c6abc
                 AC_MSG_WARN(Optional jpeg library not found),
Packit 9c6abc
                 [$MATH_LIBS]),
Packit 9c6abc
    AC_MSG_WARN(jpeg library not available - no jpeglib.h)
Packit 9c6abc
  )
Packit 9c6abc
  LIBCHECK_EPILOGUE([JPEG])
Packit 9c6abc
])
Packit 9c6abc
Packit 9c6abc
dnl === check for TIFF support ===
Packit 9c6abc
Packit 9c6abc
AC_ARG_ENABLE([tiff],
Packit 9c6abc
              AS_HELP_STRING([--disable-tiff],
Packit 9c6abc
                             [Disable detection of TIFF format support
Packit 9c6abc
                              @<:@default=auto@:>@]))
Packit 9c6abc
AS_IF([test "x$enable_tiff" != "xno"], [
Packit 9c6abc
  CLEAR_LIBVARS([TIFF])
Packit 9c6abc
  WITHLIB_OPTION([tiff], [TIFF])
Packit 9c6abc
Packit 9c6abc
  LIBCHECK_PROLOGUE([TIFF])
Packit 9c6abc
  AC_CHECK_HEADER(tiffio.h,
Packit 9c6abc
    AC_CHECK_LIB(tiff, TIFFGetVersion,
Packit 9c6abc
                 [TIFF_LIBS="$TIFF_LIBS -ltiff"
Packit 9c6abc
                  TIFF_INCLUDES="$TIFF_INCLUDES -DWEBP_HAVE_TIFF"
Packit 9c6abc
                  AC_DEFINE(WEBP_HAVE_TIFF, [1],
Packit 9c6abc
                            [Set to 1 if TIFF library is installed])
Packit 9c6abc
                  tiff_support=yes
Packit 9c6abc
                 ],
Packit 9c6abc
                 AC_MSG_WARN(Optional tiff library not found),
Packit 9c6abc
                 [$MATH_LIBS]),
Packit 9c6abc
    AC_MSG_WARN(tiff library not available - no tiffio.h)
Packit 9c6abc
  )
Packit 9c6abc
  LIBCHECK_EPILOGUE([TIFF])
Packit 9c6abc
])
Packit 9c6abc
Packit 9c6abc
dnl === check for GIF support ===
Packit 9c6abc
Packit 9c6abc
AC_ARG_ENABLE([gif], AS_HELP_STRING([--disable-gif],
Packit 9c6abc
                                    [Disable detection of GIF format support
Packit 9c6abc
                                     @<:@default=auto@:>@]))
Packit 9c6abc
AS_IF([test "x$enable_gif" != "xno"], [
Packit 9c6abc
  CLEAR_LIBVARS([GIF])
Packit 9c6abc
  WITHLIB_OPTION([gif], [GIF])
Packit 9c6abc
Packit 9c6abc
  LIBCHECK_PROLOGUE([GIF])
Packit 9c6abc
  AC_CHECK_HEADER(gif_lib.h,
Packit 9c6abc
    AC_CHECK_LIB([gif], [DGifOpenFileHandle],
Packit 9c6abc
                 [GIF_LIBS="$GIF_LIBS -lgif"
Packit 9c6abc
                  AC_DEFINE(WEBP_HAVE_GIF, [1],
Packit 9c6abc
                            [Set to 1 if GIF library is installed])
Packit 9c6abc
                  gif_support=yes
Packit 9c6abc
                 ],
Packit 9c6abc
                 AC_MSG_WARN(Optional gif library not found),
Packit 9c6abc
                 [$MATH_LIBS]),
Packit 9c6abc
    AC_MSG_WARN(gif library not available - no gif_lib.h)
Packit 9c6abc
  )
Packit 9c6abc
  LIBCHECK_EPILOGUE([GIF])
Packit 9c6abc
Packit 9c6abc
  if test "$gif_support" = "yes" -a \
Packit 9c6abc
          "$enable_libwebpdemux" = "yes"; then
Packit 9c6abc
    build_anim_diff=yes
Packit 9c6abc
  fi
Packit 9c6abc
Packit 9c6abc
  if test "$gif_support" = "yes" -a \
Packit 9c6abc
          "$enable_libwebpmux" = "yes"; then
Packit 9c6abc
    build_gif2webp=yes
Packit 9c6abc
  fi
Packit 9c6abc
])
Packit 9c6abc
AM_CONDITIONAL([BUILD_ANIMDIFF], [test "${build_anim_diff}" = "yes"])
Packit 9c6abc
AM_CONDITIONAL([BUILD_GIF2WEBP], [test "${build_gif2webp}" = "yes"])
Packit 9c6abc
Packit 9c6abc
if test "$enable_libwebpdemux" = "yes" -a "$enable_libwebpmux" = "yes"; then
Packit 9c6abc
  build_img2webp=yes
Packit 9c6abc
fi
Packit 9c6abc
AM_CONDITIONAL([BUILD_IMG2WEBP], [test "${build_img2webp}" = "yes"])
Packit 9c6abc
Packit 9c6abc
if test "$enable_libwebpmux" = "yes"; then
Packit 9c6abc
  build_webpinfo=yes
Packit 9c6abc
fi
Packit 9c6abc
AM_CONDITIONAL([BUILD_WEBPINFO], [test "${build_webpinfo}" = "yes"])
Packit 9c6abc
Packit 9c6abc
dnl === check for WIC support ===
Packit 9c6abc
Packit 9c6abc
AC_ARG_ENABLE([wic],
Packit 9c6abc
              AS_HELP_STRING([--disable-wic],
Packit 9c6abc
                             [Disable Windows Imaging Component (WIC) detection.
Packit 9c6abc
                              @<:@default=auto@:>@]),,
Packit 9c6abc
              [enable_wic=yes])
Packit 9c6abc
Packit 9c6abc
case $host_os in
Packit 9c6abc
mingw*)
Packit 9c6abc
if test "$enable_wic" = "yes"; then
Packit 9c6abc
  AC_CHECK_HEADERS([wincodec.h shlwapi.h windows.h])
Packit 9c6abc
  if test "$ac_cv_header_wincodec_h" = "yes"; then
Packit 9c6abc
    AC_MSG_CHECKING(for Windows Imaging Component support)
Packit 9c6abc
    SAVED_LIBS=$LIBS
Packit 9c6abc
    LIBS="-lshlwapi -lole32 $LIBS"
Packit 9c6abc
    # match include structure from [cd]webp.c
Packit 9c6abc
    wic_headers="
Packit 9c6abc
      #define INITGUID
Packit 9c6abc
      #define CINTERFACE
Packit 9c6abc
      #define COBJMACROS
Packit 9c6abc
      #define _WIN32_IE 0x500
Packit 9c6abc
Packit 9c6abc
      #include <shlwapi.h>
Packit 9c6abc
      #include <windows.h>
Packit 9c6abc
      #include <wincodec.h>
Packit 9c6abc
      "
Packit 9c6abc
    # test for functions from each lib and the GUID is created properly
Packit 9c6abc
    wic_main="
Packit 9c6abc
      int main(void) {
Packit 9c6abc
        CLSID_WICImagingFactory;
Packit 9c6abc
        CoInitialize(NULL);
Packit 9c6abc
        SHCreateStreamOnFile(NULL, 0, NULL);
Packit 9c6abc
        return 0;
Packit 9c6abc
      }
Packit 9c6abc
      "
Packit 9c6abc
    AC_LANG_PUSH(C)
Packit 9c6abc
    AC_LINK_IFELSE(
Packit 9c6abc
      [AC_LANG_SOURCE([
Packit 9c6abc
         $wic_headers
Packit 9c6abc
         $wic_main])],
Packit 9c6abc
      [wic_support=yes],
Packit 9c6abc
      [wic_support=no]
Packit 9c6abc
    )
Packit 9c6abc
    AC_LANG_POP
Packit 9c6abc
Packit 9c6abc
    test "$wic_support" = "yes" || LIBS=$SAVED_LIBS
Packit 9c6abc
    AC_MSG_RESULT(${wic_support-no})
Packit 9c6abc
  fi
Packit 9c6abc
fi
Packit 9c6abc
esac
Packit 9c6abc
Packit 9c6abc
dnl === If --enable-swap-16bit-csp is defined, add -DWEBP_SWAP_16BIT_CSP=1
Packit 9c6abc
Packit 9c6abc
USE_SWAP_16BIT_CSP=""
Packit 9c6abc
AC_MSG_CHECKING(if --enable-swap-16bit-csp option is specified)
Packit 9c6abc
AC_ARG_ENABLE([swap-16bit-csp],
Packit 9c6abc
              AS_HELP_STRING([--enable-swap-16bit-csp],
Packit 9c6abc
                             [Enable byte swap for 16 bit colorspaces]))
Packit 9c6abc
if test "$enable_swap_16bit_csp" = "yes"; then
Packit 9c6abc
  USE_SWAP_16BIT_CSP="-DWEBP_SWAP_16BIT_CSP=1"
Packit 9c6abc
fi
Packit 9c6abc
AC_MSG_RESULT(${enable_swap_16bit_csp-no})
Packit 9c6abc
AC_SUBST(USE_SWAP_16BIT_CSP)
Packit 9c6abc
Packit 9c6abc
dnl === If --disable-near-lossless is defined, add -DWEBP_NEAR_LOSSLESS=0
Packit 9c6abc
Packit 9c6abc
AC_DEFINE(WEBP_NEAR_LOSSLESS, [1], [Enable near lossless encoding])
Packit 9c6abc
AC_MSG_CHECKING(if --disable-near-lossless option is specified)
Packit 9c6abc
AC_ARG_ENABLE([near_lossless],
Packit 9c6abc
              AS_HELP_STRING([--disable-near-lossless],
Packit 9c6abc
                             [Disable near lossless encoding]),
Packit 9c6abc
              [], [enable_near_lossless=yes])
Packit 9c6abc
if test "$enable_near_lossless" = "no"; then
Packit 9c6abc
  AC_DEFINE(WEBP_NEAR_LOSSLESS, [0], [Enable near lossless encoding])
Packit 9c6abc
  AC_MSG_RESULT([yes])
Packit 9c6abc
else
Packit 9c6abc
  AC_MSG_RESULT([no])
Packit 9c6abc
fi
Packit 9c6abc
Packit 9c6abc
dnl === Check whether libwebpmux should be built
Packit 9c6abc
AC_MSG_CHECKING(whether libwebpmux is to be built)
Packit 9c6abc
AC_ARG_ENABLE([libwebpmux],
Packit 9c6abc
              AS_HELP_STRING([--enable-libwebpmux],
Packit 9c6abc
                             [Build libwebpmux @<:@default=no@:>@]))
Packit 9c6abc
AC_MSG_RESULT(${enable_libwebpmux-no})
Packit 9c6abc
AM_CONDITIONAL([WANT_MUX], [test "$enable_libwebpmux" = "yes"])
Packit 9c6abc
Packit 9c6abc
dnl === Check whether libwebpdemux should be built
Packit 9c6abc
AC_MSG_CHECKING(whether libwebpdemux is to be built)
Packit 9c6abc
AC_ARG_ENABLE([libwebpdemux],
Packit 9c6abc
              AS_HELP_STRING([--disable-libwebpdemux],
Packit 9c6abc
                             [Disable libwebpdemux @<:@default=no@:>@]),
Packit 9c6abc
              [], [enable_libwebpdemux=yes])
Packit 9c6abc
AC_MSG_RESULT(${enable_libwebpdemux-no})
Packit 9c6abc
AM_CONDITIONAL([WANT_DEMUX], [test "$enable_libwebpdemux" = "yes"])
Packit 9c6abc
Packit 9c6abc
dnl === Check whether decoder library should be built.
Packit 9c6abc
AC_MSG_CHECKING(whether decoder library is to be built)
Packit 9c6abc
AC_ARG_ENABLE([libwebpdecoder],
Packit 9c6abc
              AS_HELP_STRING([--enable-libwebpdecoder],
Packit 9c6abc
                             [Build libwebpdecoder @<:@default=no@:>@]))
Packit 9c6abc
AC_MSG_RESULT(${enable_libwebpdecoder-no})
Packit 9c6abc
AM_CONDITIONAL([BUILD_LIBWEBPDECODER], [test "$enable_libwebpdecoder" = "yes"])
Packit 9c6abc
Packit 9c6abc
dnl === Check whether libwebpextras should be built
Packit 9c6abc
AC_MSG_CHECKING(whether libwebpextras is to be built)
Packit 9c6abc
AC_ARG_ENABLE([libwebpextras],
Packit 9c6abc
              AS_HELP_STRING([--enable-libwebpextras],
Packit 9c6abc
                             [Build libwebpextras @<:@default=no@:>@]))
Packit 9c6abc
AC_MSG_RESULT(${enable_libwebpextras-no})
Packit 9c6abc
AM_CONDITIONAL([WANT_EXTRAS], [test "$enable_libwebpextras" = "yes"])
Packit 9c6abc
Packit 9c6abc
dnl =========================
Packit 9c6abc
Packit 9c6abc
AC_CONFIG_MACRO_DIR([m4])
Packit 9c6abc
AC_CONFIG_HEADERS([src/webp/config.h])
Packit 9c6abc
AC_CONFIG_FILES([Makefile src/Makefile man/Makefile \
Packit 9c6abc
                 examples/Makefile extras/Makefile imageio/Makefile \
Packit 9c6abc
                 src/dec/Makefile src/enc/Makefile src/dsp/Makefile \
Packit 9c6abc
                 src/demux/Makefile src/mux/Makefile \
Packit 9c6abc
                 src/utils/Makefile \
Packit 9c6abc
                 src/libwebp.pc src/libwebpdecoder.pc \
Packit 9c6abc
                 src/demux/libwebpdemux.pc src/mux/libwebpmux.pc])
Packit 9c6abc
Packit 9c6abc
Packit 9c6abc
AC_OUTPUT
Packit 9c6abc
Packit 9c6abc
AC_MSG_NOTICE([
Packit 9c6abc
WebP Configuration Summary
Packit 9c6abc
--------------------------
Packit 9c6abc
Packit 9c6abc
Shared libraries: ${enable_shared}
Packit 9c6abc
Static libraries: ${enable_static}
Packit 9c6abc
Threading support: ${enable_threading-no}
Packit 9c6abc
libwebp: yes
Packit 9c6abc
libwebpdecoder: ${enable_libwebpdecoder-no}
Packit 9c6abc
libwebpdemux: ${enable_libwebpdemux-no}
Packit 9c6abc
libwebpmux: ${enable_libwebpmux-no}
Packit 9c6abc
libwebpextras: ${enable_libwebpextras-no}
Packit 9c6abc
Packit 9c6abc
Tools:
Packit 9c6abc
cwebp : ${enable_libwebpdemux-no}
Packit 9c6abc
  Input format support
Packit 9c6abc
  ====================
Packit 9c6abc
  JPEG : ${jpeg_support-no}
Packit 9c6abc
  PNG  : ${png_support-no}
Packit 9c6abc
  TIFF : ${tiff_support-no}
Packit 9c6abc
  WIC  : ${wic_support-no}
Packit 9c6abc
dwebp : ${enable_libwebpdemux-no}
Packit 9c6abc
  Output format support
Packit 9c6abc
  =====================
Packit 9c6abc
  PNG  : ${png_support-no}
Packit 9c6abc
  WIC  : ${wic_support-no}
Packit 9c6abc
GIF support : ${gif_support-no}
Packit 9c6abc
anim_diff   : ${build_anim_diff-no}
Packit 9c6abc
gif2webp    : ${build_gif2webp-no}
Packit 9c6abc
img2webp    : ${build_img2webp-no}
Packit 9c6abc
webpmux     : ${enable_libwebpmux-no}
Packit 9c6abc
vwebp       : ${build_vwebp-no}
Packit 9c6abc
webpinfo    : ${build_webpinfo-no}
Packit 9c6abc
SDL support : ${sdl_support-no}
Packit 9c6abc
vwebp_sdl   : ${build_vwebp_sdl-no}
Packit 9c6abc
])