Cope with some changes in the locations of the libavformat and libswscale headers.
[synfig.git] / synfig-core / trunk / configure.ac
index 0d2c62e..882f16d 100644 (file)
@@ -247,6 +247,17 @@ if test $with_libavcodec = "yes" ; then {
 
 
 if test $with_libavcodec = "yes" ; then {
+
+       # Need to check both the new and old locations for the avformat header
+       # Need to save flags, add avformat flags, check headers and restore flags
+       ac_save_CPPFLAGS="$CPPFLAGS"
+       ac_save_CFLAGS="$CFLAGS"
+       CPPFLAGS="${CPPFLAGS} ${LIBAVCODEC_CFLAGS}"
+       CFLAGS="${CFLAGS} ${LIBAVCODEC_CFLAGS}"
+       AC_CHECK_HEADERS(libavformat/avformat.h avformat.h ffmpeg/avformat.h)
+       CPPFLAGS="${ac_save_CPPFLAGS}"
+       CFLAGS="${ac_save_CFLAGS}"
+
        AC_ARG_WITH(libswscale,
                [AS_HELP_STRING([--without-libswscale],
                        [disable support for libswscale (Default=auto)])],
@@ -255,23 +266,30 @@ if test $with_libavcodec = "yes" ; then {
        )
 
        if test $with_libswscale != "no" ; then {
-               AC_CHECK_LIB(swscale, sws_getContext, [], [echo no; with_libswscale="no"], [])
+               PKG_CHECK_MODULES(LIBSWSCALE, [libswscale], [], [echo no; with_libswscale="no"])
        } ; fi
 
        if test $with_libswscale = "yes" ; then {
-               LIBAVCODEC_LIBS="$LIBAVCODEC_LIBS -lswscale"
-               AM_CONDITIONAL(HAVE_LIBSWSCALE, true)
+               AC_DEFINE(WITH_LIBSWSCALE, [], [enable libswscale support])
+
+               # Need to check both the new and old locations for the swscale header
+               # Need to save flags, add swscale flags, check headers and restore flags
+               ac_save_CPPFLAGS="$CPPFLAGS"
+               ac_save_CFLAGS="$CFLAGS"
+               CPPFLAGS="${CPPFLAGS} ${LIBSWSCALE_CFLAGS}"
+               CFLAGS="${CFLAGS} ${LIBSWSCALE_CFLAGS}"
+               AC_CHECK_HEADERS(libswscale/swscale.h swscale.h ffmpeg/swscale.h)
+               CPPFLAGS="${ac_save_CPPFLAGS}"
+               CFLAGS="${ac_save_CFLAGS}"
        } else {
-               AM_CONDITIONAL(HAVE_LIBSWSCALE, false)
                AC_CHECK_LIB(avcodec, img_convert,
                        [AC_MSG_RESULT([ *** Using deprecated function img_convert.])],
                        [AC_MSG_FAILURE([Neither libswscale nor function img_convert was found.])],
                        []
                )
        } ; fi
-} else {
-       AM_CONDITIONAL(HAVE_LIBSWSCALE, false)
 } ; fi
+AM_CONDITIONAL(WITH_LIBSWSCALE, test "x$with_libswscale" = "xyes")
 
 
 # FREETYPE2 CHECK--------------------