mirror of
https://github.com/webmproject/libwebp.git
synced 2024-11-20 04:18:26 +01:00
31f9dc6fdd
Replace usage of _WIN32 in examples as this does not guarantee the presence of wincodec.h. mingw-w64 notably includes wincodec.h, though other releases do not. Under cygwin the following can be used for a WIC enabled binary: ./configure --target=i686-pc-mingw32 CC=i686-w64-mingw32-gcc.exe Change-Id: Ica6a714c3356a8eaf88486a1c3f5aa6adde394c0
141 lines
4.1 KiB
Plaintext
141 lines
4.1 KiB
Plaintext
AC_INIT([webpdecode], [0.1])
|
|
AC_CANONICAL_TARGET
|
|
AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
|
|
AC_PROG_LIBTOOL
|
|
AM_PROG_CC_C_O
|
|
|
|
AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH],
|
|
[Path to the pkgconfig directory [[LIBDIR/pkgconfig]]]),
|
|
[pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig'])
|
|
AC_SUBST([pkgconfigdir])
|
|
|
|
dnl === Check libz is present
|
|
|
|
if test "$enable_experimental" = "yes"; then
|
|
AC_CHECK_HEADER(zlib.h,
|
|
AC_CHECK_LIB(z, gzsetparams,,AC_MSG_ERROR(zlib library not found)),
|
|
AC_MSG_ERROR(zlib not available - no zlib.h)
|
|
)
|
|
fi
|
|
|
|
dnl === check for PNG support ===
|
|
|
|
PNG_INCLUDES=""
|
|
PNG_LIBS=""
|
|
AC_PATH_PROG(LIBPNG_CONFIG, libpng-config)
|
|
if test -n "$LIBPNG_CONFIG"; then
|
|
PNG_INCLUDES=`$LIBPNG_CONFIG --cflags`
|
|
PNG_PREFIX=`$LIBPNG_CONFIG --prefix`
|
|
if test "${PNG_PREFIX}/lib" != "/usr/lib" ; then
|
|
PNG_LIBS="-L${PNG_PREFIX}/lib"
|
|
fi
|
|
fi
|
|
|
|
AC_ARG_WITH(pngincludedir,
|
|
[--with-pngincludedir=DIR use PNG includes from DIR],
|
|
PNG_INCLUDES="-I$withval")
|
|
AC_ARG_WITH(pnglibdir,
|
|
[--with-pnglibdir=DIR use PNG libraries from DIR],
|
|
[PNG_LIBS="-L$withval"])
|
|
|
|
AC_CHECK_HEADER(png.h,
|
|
AC_CHECK_LIB(png, main,
|
|
[PNG_LIBS="$PNG_LIBS -lpng"
|
|
PNG_INCLUDES="$PNG_INCLUDES -DWEBP_HAVE_PNG"
|
|
AC_DEFINE(WEBP_HAVE_PNG, [1], [Set to 1 if PNG library is installed])
|
|
],
|
|
AC_MSG_WARN(Optional png library not found),
|
|
[$MATH_LIBS]),
|
|
AC_MSG_WARN(png library not available - no png.h)
|
|
)
|
|
AC_SUBST(PNG_LIBS)
|
|
AC_SUBST(PNG_INCLUDES)
|
|
|
|
dnl === check for JPEG support ===
|
|
|
|
JPEG_INCLUDES=""
|
|
JPEG_LIBS=""
|
|
AC_ARG_WITH(jpegincludedir,
|
|
[--with-jpegincludedir=DIR use JPEG includes from DIR],
|
|
JPEG_INCLUDES="-I$withval")
|
|
AC_ARG_WITH(jpeglibdir,
|
|
[--with-jpeglibdir=DIR use JPEG libraries from DIR],
|
|
[JPEG_LIBS="-L$withval"])
|
|
|
|
AC_CHECK_HEADER(jpeglib.h,
|
|
AC_CHECK_LIB(jpeg, jpeg_set_defaults,
|
|
[JPEG_LIBS="$JPEG_LIBS -ljpeg"
|
|
JPEG_INCLUDES="$JPEG_INCLUDES -DWEBP_HAVE_JPEG"
|
|
AC_DEFINE(WEBP_HAVE_JPEG, [1], [Set to 1 if JPEG library is installed])
|
|
],
|
|
AC_MSG_WARN(Optional jpeg library not found),
|
|
[$MATH_LIBS]),
|
|
AC_MSG_WARN(jpeg library not available - no jpeglib.h)
|
|
)
|
|
AC_SUBST(JPEG_LIBS)
|
|
AC_SUBST(JPEG_INCLUDES)
|
|
|
|
dnl === check for WIC support ===
|
|
|
|
if test "$target_os" = "mingw32"; then
|
|
AC_CHECK_HEADERS([wincodec.h shlwapi.h windows.h])
|
|
if test "$ac_cv_header_wincodec_h" = "yes"; then
|
|
AC_MSG_CHECKING(for Windows Imaging Component support)
|
|
saved_LIBS=$LIBS
|
|
LIBS="-lshlwapi -lole32 $LIBS"
|
|
# match include structure from [cd]webp.c
|
|
wic_headers="
|
|
#define INITGUID
|
|
#define CINTERFACE
|
|
#define COBJMACROS
|
|
#define _WIN32_IE 0x500
|
|
|
|
#include <shlwapi.h>
|
|
#include <windows.h>
|
|
#include <wincodec.h>
|
|
"
|
|
# test for functions from each lib and the GUID is created properly
|
|
wic_main="
|
|
int main(void) {
|
|
CLSID_WICImagingFactory;
|
|
CoInitialize(NULL);
|
|
SHCreateStreamOnFile(NULL, 0, NULL);
|
|
return 0;
|
|
}
|
|
"
|
|
AC_LANG_PUSH(C)
|
|
AC_LINK_IFELSE(
|
|
[AC_LANG_SOURCE([
|
|
$wic_headers
|
|
$wic_main])],
|
|
[wic_support=yes],
|
|
[wic_support=no]
|
|
)
|
|
AC_LANG_POP
|
|
|
|
test "$wic_support" = "yes" || LIBS=$saved_LIBS
|
|
AC_MSG_RESULT(${wic_support-no})
|
|
fi
|
|
fi
|
|
|
|
dnl === If --enable-experimental is defined, add the flag WEBP_EXPERIMENTAL_FEATURES
|
|
|
|
USE_EXPERIMENTAL_CODE=""
|
|
AC_MSG_CHECKING(if --enable-experimental option is specified)
|
|
AC_ARG_ENABLE(experimental, [ --enable-experimental Activate experimental features])
|
|
if test "$enable_experimental" = "yes"; then
|
|
AC_DEFINE(EXPERIMENTAL,,[Enable experimental code])
|
|
USE_EXPERIMENTAL_CODE="-DWEBP_EXPERIMENTAL_FEATURES"
|
|
fi
|
|
AC_MSG_RESULT(${enable_experimental-no})
|
|
AC_SUBST(USE_EXPERIMENTAL_CODE)
|
|
|
|
dnl =========================
|
|
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
AC_CONFIG_HEADERS([config.h])
|
|
AC_CONFIG_FILES([Makefile src/Makefile man/Makefile examples/Makefile src/dec/Makefile src/enc/Makefile src/libwebp.pc])
|
|
|
|
|
|
AC_OUTPUT
|