Ignore:
Timestamp:
Apr 23, 2012 1:46:21 PM (12 years ago)
Author:
bennylp
Message:

Re #1469: Changed aconfigure to use pkg-config to detect ffmpeg dependencies. On systems where pkg-config is not available (such as Mac OS X), use the supplemented pkgconfig.py Python script. If Python is not available, users then need to configure CFLAGS and LDFLAGS manually prior to running configure

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/aconfigure.ac

    r3999 r4069  
    852852                AC_SUBST(ac_ffmpeg_ldflags) 
    853853 
    854                 dnl # libz, needed by newer ffmpeg 
    855                 AC_CHECK_LIB(z, deflate) 
    856                 AC_CHECK_LIB(x264, x264_free) 
    857  
    858                 dnl # libbz2, needed by matroskadec.o in ffmpeg 0.9 in mac os 
    859                 AC_CHECK_LIB(bz2, BZ2_bzDecompressInit) 
    860  
    861854                FFMPEG_PREFIX="" 
     855                AC_SUBST(SAVED_PKG_CONFIG_PATH) 
     856                SAVED_PKG_CONFIG_PATH=$PKG_CONFIG_PATH 
    862857                if test "x$with_ffmpeg" != "xno" -a "x$with_ffmpeg" != "x"; then 
    863858                        FFMPEG_PREFIX=$with_ffmpeg 
    864859                        AC_MSG_RESULT([Using ffmpeg prefix... $FFMPEG_PREFIX]) 
     860                        PKG_CONFIG_PATH=$FFMPEG_PREFIX/lib/pkgconfig 
     861                fi 
     862 
     863                AC_CHECK_PROGS(PKG_CONFIG,pkg-config "python pkgconfig.py",none) 
     864 
     865                if test "$PKG_CONFIG" != "none"; then 
     866                        AC_MSG_CHECKING([ffmpeg packages]) 
     867                        av_pkg="" 
     868                        if $PKG_CONFIG --exists libdevice; then 
     869                                ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVDEVICE=1" 
     870                                av_pkg="$av_pkg libdevice" 
     871                        fi 
     872                        if $PKG_CONFIG --exists libavformat; then 
     873                                ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVFORMAT=1" 
     874                                av_pkg="$av_pkg libavformat" 
     875                        fi 
     876                        if $PKG_CONFIG --exists libavcodec; then 
     877                                ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCODEC=1" 
     878                                av_pkg="$av_pkg libavcodec" 
     879                        fi 
     880                        if $PKG_CONFIG --exists libswscale; then 
     881                                ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBSWSCALE=1" 
     882                                av_pkg="$av_pkg libswscale" 
     883                        fi 
     884                        if $PKG_CONFIG --exists libavutil; then 
     885                                ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVUTIL=1" 
     886                                av_pkg="$av_pkg libavutil" 
     887                        fi 
     888                        if $PKG_CONFIG --exists libavcore; then 
     889                                ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCORE=1" 
     890                                av_pkg="$av_pkg libavcore" 
     891                        fi 
     892                         
     893                        if test "x$av_pkg" == "x"; then 
     894                           AC_MSG_RESULT([none detected (check the prefix)! **]) 
     895                        else 
     896                           AC_MSG_RESULT([$av_pkg]) 
     897                        fi 
     898                         
     899                        ac_ffmpeg_cflags="$ac_ffmpeg_cflags `$PKG_CONFIG --cflags $av_pkg`" 
     900                        ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags `$PKG_CONFIG --libs $av_pkg`" 
     901 
     902                else 
     903                        dnl # 
     904                        dnl # Use hardcoded values to configure ffmpeg 
     905                        dnl # 
     906                         
     907                        AC_MSG_RESULT([*** Warning: neither pkg-config nor python is available, ffmpeg dependency cannot be calculated. If ffmpeg libraries are not detected, you need to specify the correct CFLAGS and LDFLAGS settings for ffmpeg prior to invoking configure ***]) 
     908                         
    865909                        LIBS="-L$FFMPEG_PREFIX/lib $LIBS" 
    866910                        LDFLAGS="-L$FFMPEG_PREFIX/lib $LDFLAGS" 
    867911                        CFLAGS="-I$FFMPEG_PREFIX/include $CFLAGS" 
     912                         
     913                        AC_CHECK_LIB(avdevice, 
     914                                     avdevice_version, 
     915                                     [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVDEVICE=1" 
     916                                      ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavdevice" 
     917                                     ] 
     918                                     ) 
     919                        AC_CHECK_LIB(avutil, 
     920                                     av_malloc, 
     921                                     [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVUTIL=1" 
     922                                      ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavutil" 
     923                                     ] 
     924                                     ) 
     925                        AC_CHECK_LIB(avcodec, 
     926                                     avcodec_init, 
     927                                     [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCODEC=1" 
     928                                      ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavcodec" 
     929                                     ], 
     930                                     [], 
     931                                     [-lavutil] 
     932                                     ) 
     933                        AC_CHECK_LIB(avformat, 
     934                                     av_register_all, 
     935                                     [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVFORMAT=1" 
     936                                      ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavformat" 
     937                                     ], 
     938                                     [], 
     939                                     [-lavcodec -lavutil] 
     940                                     ) 
     941                        AC_CHECK_LIB(swscale, 
     942                                     sws_scale, 
     943                                     [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBSWSCALE=1" 
     944                                      ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lswscale" 
     945                                     ], 
     946                                     [], 
     947                                     [-lavutil] 
     948                                     ) 
     949                        AC_CHECK_LIB(avcore, 
     950                                     avcore_version, 
     951                                     [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCORE=1" 
     952                                      ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavcore" 
     953                                     ] 
     954                                     ) 
     955                         
    868956                fi 
    869  
    870                 AC_CHECK_LIB(avdevice, 
    871                              avdevice_version, 
    872                              [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVDEVICE=1" 
    873                               ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavdevice" 
    874                              ] 
    875                              ) 
    876                 AC_CHECK_LIB(avformat, 
    877                              av_register_all, 
    878                              [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVFORMAT=1" 
    879                               ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavformat" 
    880                              ], 
    881                              [], 
    882                              [-lavcodec -lavutil] 
    883                              ) 
    884                 AC_CHECK_LIB(avcodec, 
    885                              avcodec_init, 
    886                              [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCODEC=1" 
    887                               ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavcodec" 
    888                              ], 
    889                              [], 
    890                              [-lavutil] 
    891                              ) 
    892                 AC_CHECK_LIB(swscale, 
    893                              sws_scale, 
    894                              [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBSWSCALE=1" 
    895                               ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lswscale" 
    896                              ], 
    897                              [], 
    898                              [-lavutil] 
    899                              ) 
    900                 AC_CHECK_LIB(avutil, 
    901                              av_malloc, 
    902                              [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVUTIL=1" 
    903                               ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavutil" 
    904                              ] 
    905                              ) 
    906                 AC_CHECK_LIB(avcore, 
    907                              avcore_version, 
    908                              [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCORE=1" 
    909                               ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavcore" 
    910                              ] 
    911                              ) 
     957                 
    912958                LIBS="$LIBS $ac_ffmpeg_ldflags" 
     959                PKG_CONFIG_PATH=$SAVED_PKG_CONFIG_PATH 
    913960              ] 
    914961              ) 
Note: See TracChangeset for help on using the changeset viewer.