From aa3338fcb20ab0e5d389351835bfe58ca819d33a Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Mon, 23 Apr 2012 13:46:21 +0000 Subject: 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 git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4069 74dad513-b988-da41-8d7b-12977e46ad98 --- aconfigure | 314 +++++++++++++++++++++++++++---------------------------------- 1 file changed, 138 insertions(+), 176 deletions(-) (limited to 'aconfigure') diff --git a/aconfigure b/aconfigure index 2ecb1d37..dd78a80a 100755 --- a/aconfigure +++ b/aconfigure @@ -605,6 +605,8 @@ openssl_h_present ac_no_ssl ac_v4l2_ldflags ac_v4l2_cflags +PKG_CONFIG +SAVED_PKG_CONFIG_PATH ac_ffmpeg_ldflags ac_ffmpeg_cflags ac_has_ffmpeg @@ -6042,154 +6044,110 @@ else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5 -$as_echo_n "checking for deflate in -lz... " >&6; } -if test "${ac_cv_lib_z_deflate+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lz $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char deflate (); -int -main () -{ -return deflate (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_z_deflate=yes -else - ac_cv_lib_z_deflate=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5 -$as_echo "$ac_cv_lib_z_deflate" >&6; } -if test "x$ac_cv_lib_z_deflate" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBZ 1 -_ACEOF - - LIBS="-lz $LIBS" + FFMPEG_PREFIX="" -fi + SAVED_PKG_CONFIG_PATH=$PKG_CONFIG_PATH + if test "x$with_ffmpeg" != "xno" -a "x$with_ffmpeg" != "x"; then + FFMPEG_PREFIX=$with_ffmpeg + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using ffmpeg prefix... $FFMPEG_PREFIX" >&5 +$as_echo "Using ffmpeg prefix... $FFMPEG_PREFIX" >&6; } + PKG_CONFIG_PATH=$FFMPEG_PREFIX/lib/pkgconfig + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for x264_free in -lx264" >&5 -$as_echo_n "checking for x264_free in -lx264... " >&6; } -if test "${ac_cv_lib_x264_x264_free+set}" = set; then : + for ac_prog in pkg-config "python pkgconfig.py" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lx264 $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char x264_free (); -int -main () -{ -return x264_free (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_x264_x264_free=yes + if test -n "$PKG_CONFIG"; then + ac_cv_prog_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test. else - ac_cv_lib_x264_x264_free=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PKG_CONFIG="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_x264_x264_free" >&5 -$as_echo "$ac_cv_lib_x264_x264_free" >&6; } -if test "x$ac_cv_lib_x264_x264_free" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBX264 1 -_ACEOF +PKG_CONFIG=$ac_cv_prog_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - LIBS="-lx264 $LIBS" -fi + test -n "$PKG_CONFIG" && break +done +test -n "$PKG_CONFIG" || PKG_CONFIG="none" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzDecompressInit in -lbz2" >&5 -$as_echo_n "checking for BZ2_bzDecompressInit in -lbz2... " >&6; } -if test "${ac_cv_lib_bz2_BZ2_bzDecompressInit+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbz2 $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + if test "$PKG_CONFIG" != "none"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking ffmpeg packages" >&5 +$as_echo_n "checking ffmpeg packages... " >&6; } + av_pkg="" + if $PKG_CONFIG --exists libdevice; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVDEVICE=1" + av_pkg="$av_pkg libdevice" + fi + if $PKG_CONFIG --exists libavformat; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVFORMAT=1" + av_pkg="$av_pkg libavformat" + fi + if $PKG_CONFIG --exists libavcodec; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCODEC=1" + av_pkg="$av_pkg libavcodec" + fi + if $PKG_CONFIG --exists libswscale; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBSWSCALE=1" + av_pkg="$av_pkg libswscale" + fi + if $PKG_CONFIG --exists libavutil; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVUTIL=1" + av_pkg="$av_pkg libavutil" + fi + if $PKG_CONFIG --exists libavcore; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCORE=1" + av_pkg="$av_pkg libavcore" + fi -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char BZ2_bzDecompressInit (); -int -main () -{ -return BZ2_bzDecompressInit (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_bz2_BZ2_bzDecompressInit=yes -else - ac_cv_lib_bz2_BZ2_bzDecompressInit=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bz2_BZ2_bzDecompressInit" >&5 -$as_echo "$ac_cv_lib_bz2_BZ2_bzDecompressInit" >&6; } -if test "x$ac_cv_lib_bz2_BZ2_bzDecompressInit" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBBZ2 1 -_ACEOF + if test "x$av_pkg" == "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none detected (check the prefix)! **" >&5 +$as_echo "none detected (check the prefix)! **" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $av_pkg" >&5 +$as_echo "$av_pkg" >&6; } + fi - LIBS="-lbz2 $LIBS" + ac_ffmpeg_cflags="$ac_ffmpeg_cflags `$PKG_CONFIG --cflags $av_pkg`" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags `$PKG_CONFIG --libs $av_pkg`" -fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: 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 ***" >&5 +$as_echo "*** 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 ***" >&6; } - FFMPEG_PREFIX="" - if test "x$with_ffmpeg" != "xno" -a "x$with_ffmpeg" != "x"; then - FFMPEG_PREFIX=$with_ffmpeg - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using ffmpeg prefix... $FFMPEG_PREFIX" >&5 -$as_echo "Using ffmpeg prefix... $FFMPEG_PREFIX" >&6; } LIBS="-L$FFMPEG_PREFIX/lib $LIBS" LDFLAGS="-L$FFMPEG_PREFIX/lib $LDFLAGS" CFLAGS="-I$FFMPEG_PREFIX/include $CFLAGS" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for avdevice_version in -lavdevice" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for avdevice_version in -lavdevice" >&5 $as_echo_n "checking for avdevice_version in -lavdevice... " >&6; } if test "${ac_cv_lib_avdevice_avdevice_version+set}" = set; then : $as_echo_n "(cached) " >&6 @@ -6227,19 +6185,18 @@ fi $as_echo "$ac_cv_lib_avdevice_avdevice_version" >&6; } if test "x$ac_cv_lib_avdevice_avdevice_version" = x""yes; then : ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVDEVICE=1" - ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavdevice" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavdevice" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for av_register_all in -lavformat" >&5 -$as_echo_n "checking for av_register_all in -lavformat... " >&6; } -if test "${ac_cv_lib_avformat_av_register_all+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for av_malloc in -lavutil" >&5 +$as_echo_n "checking for av_malloc in -lavutil... " >&6; } +if test "${ac_cv_lib_avutil_av_malloc+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lavformat -lavcodec -lavutil - $LIBS" +LIBS="-lavutil $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -6249,40 +6206,41 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char av_register_all (); +char av_malloc (); int main () { -return av_register_all (); +return av_malloc (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_avformat_av_register_all=yes + ac_cv_lib_avutil_av_malloc=yes else - ac_cv_lib_avformat_av_register_all=no + ac_cv_lib_avutil_av_malloc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avformat_av_register_all" >&5 -$as_echo "$ac_cv_lib_avformat_av_register_all" >&6; } -if test "x$ac_cv_lib_avformat_av_register_all" = x""yes; then : - ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVFORMAT=1" - ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavformat" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avutil_av_malloc" >&5 +$as_echo "$ac_cv_lib_avutil_av_malloc" >&6; } +if test "x$ac_cv_lib_avutil_av_malloc" = x""yes; then : + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVUTIL=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavutil" + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for avcodec_init in -lavcodec" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for avcodec_init in -lavcodec" >&5 $as_echo_n "checking for avcodec_init in -lavcodec... " >&6; } if test "${ac_cv_lib_avcodec_avcodec_init+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lavcodec -lavutil - $LIBS" + $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -6314,18 +6272,18 @@ fi $as_echo "$ac_cv_lib_avcodec_avcodec_init" >&6; } if test "x$ac_cv_lib_avcodec_avcodec_init" = x""yes; then : ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCODEC=1" - ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavcodec" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavcodec" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sws_scale in -lswscale" >&5 -$as_echo_n "checking for sws_scale in -lswscale... " >&6; } -if test "${ac_cv_lib_swscale_sws_scale+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for av_register_all in -lavformat" >&5 +$as_echo_n "checking for av_register_all in -lavformat... " >&6; } +if test "${ac_cv_lib_avformat_av_register_all+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lswscale -lavutil - $LIBS" +LIBS="-lavformat -lavcodec -lavutil + $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -6335,39 +6293,40 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char sws_scale (); +char av_register_all (); int main () { -return sws_scale (); +return av_register_all (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_swscale_sws_scale=yes + ac_cv_lib_avformat_av_register_all=yes else - ac_cv_lib_swscale_sws_scale=no + ac_cv_lib_avformat_av_register_all=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_swscale_sws_scale" >&5 -$as_echo "$ac_cv_lib_swscale_sws_scale" >&6; } -if test "x$ac_cv_lib_swscale_sws_scale" = x""yes; then : - ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBSWSCALE=1" - ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lswscale" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avformat_av_register_all" >&5 +$as_echo "$ac_cv_lib_avformat_av_register_all" >&6; } +if test "x$ac_cv_lib_avformat_av_register_all" = x""yes; then : + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVFORMAT=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavformat" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for av_malloc in -lavutil" >&5 -$as_echo_n "checking for av_malloc in -lavutil... " >&6; } -if test "${ac_cv_lib_avutil_av_malloc+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sws_scale in -lswscale" >&5 +$as_echo_n "checking for sws_scale in -lswscale... " >&6; } +if test "${ac_cv_lib_swscale_sws_scale+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lavutil $LIBS" +LIBS="-lswscale -lavutil + $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -6377,34 +6336,33 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char av_malloc (); +char sws_scale (); int main () { -return av_malloc (); +return sws_scale (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_avutil_av_malloc=yes + ac_cv_lib_swscale_sws_scale=yes else - ac_cv_lib_avutil_av_malloc=no + ac_cv_lib_swscale_sws_scale=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avutil_av_malloc" >&5 -$as_echo "$ac_cv_lib_avutil_av_malloc" >&6; } -if test "x$ac_cv_lib_avutil_av_malloc" = x""yes; then : - ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVUTIL=1" - ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavutil" - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_swscale_sws_scale" >&5 +$as_echo "$ac_cv_lib_swscale_sws_scale" >&6; } +if test "x$ac_cv_lib_swscale_sws_scale" = x""yes; then : + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBSWSCALE=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lswscale" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for avcore_version in -lavcore" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for avcore_version in -lavcore" >&5 $as_echo_n "checking for avcore_version in -lavcore... " >&6; } if test "${ac_cv_lib_avcore_avcore_version+set}" = set; then : $as_echo_n "(cached) " >&6 @@ -6442,12 +6400,16 @@ fi $as_echo "$ac_cv_lib_avcore_avcore_version" >&6; } if test "x$ac_cv_lib_avcore_avcore_version" = x""yes; then : ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCORE=1" - ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavcore" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavcore" fi + + fi + LIBS="$LIBS $ac_ffmpeg_ldflags" + PKG_CONFIG_PATH=$SAVED_PKG_CONFIG_PATH fi -- cgit v1.2.3