mirror of
https://github.com/cookiengineer/audacity
synced 2025-04-30 15:49:41 +02:00
84 lines
3.3 KiB
Plaintext
84 lines
3.3 KiB
Plaintext
dnl Todo: Add Audacity / FFmpeg license
|
|
dnl
|
|
dnl Please increment the serial number below whenever you alter this macro
|
|
dnl for the benefit of automatic macro update systems
|
|
# audacity_checklib_ffmpeg.m4 serial 2
|
|
dnl Check for a copy of ffmpeg, whoose headers we will use for the importer
|
|
AC_DEFUN([AUDACITY_CHECKLIB_FFMPEG], [
|
|
AC_ARG_WITH(ffmpeg,
|
|
[AS_HELP_STRING([--with-ffmpeg],
|
|
[use ffmpeg for import and export support ])],
|
|
FFMPEG_ARGUMENT=$withval,
|
|
FFMPEG_ARGUMENT="unspecified")
|
|
|
|
dnl Check for a system copy of ffmpeg to use. For now I'm insiting on a
|
|
dnl current version to make maintenance easier. We need both avcodec and
|
|
dnl avformat, so I'm going to check for both
|
|
|
|
PKG_CHECK_MODULES(AVCODEC, libavcodec >= 51.53,
|
|
avcodec_available_system="yes",
|
|
avcodec_available_system="no")
|
|
PKG_CHECK_MODULES(AVFORMAT, libavformat >= 52.12,
|
|
avformat_available_system="yes",
|
|
avformat_available_system="no")
|
|
PKG_CHECK_MODULES(AVUTIL, libavutil,
|
|
libavutil_available_system="yes",
|
|
libavutil_available_system="no")
|
|
|
|
if test "$avcodec_available_system" = "yes" -a "$avformat_available_system" = "yes" -a "$libavutil_available_system" = "yes"; then
|
|
FFMPEG_SYSTEM_AVAILABLE="yes"
|
|
AC_MSG_NOTICE([FFmpeg library available as system library])
|
|
else
|
|
FFMPEG_SYSTEM_AVAILABLE="no"
|
|
AC_MSG_NOTICE([FFmpeg library NOT available as system library])
|
|
fi
|
|
|
|
dnl see if ffmpeg is available locally, or rather that we have some headers
|
|
dnl in lib-src/ffmpeg/ we can use.
|
|
AC_CHECK_FILE(${srcdir}/lib-src/ffmpeg/libavcodec/avcodec.h,
|
|
avcodec_h_found="yes",
|
|
avcodec_h_found="no")
|
|
|
|
AC_CHECK_FILE(${srcdir}/lib-src/ffmpeg/libavformat/avformat.h,
|
|
avformat_h_found="yes",
|
|
avformat_h_found="no")
|
|
|
|
if test "$avcodec_h_found" = "yes" -a "$avformat_h_found" = "yes"; then
|
|
FFMPEG_LOCAL_AVAILABLE="yes"
|
|
AC_MSG_NOTICE([FFmpeg headers are available in the local tree])
|
|
else
|
|
FFMPEG_LOCAL_AVAILABLE="no"
|
|
AC_MSG_NOTICE([ffmpeg library is NOT available in the local tree])
|
|
fi
|
|
|
|
FFMPEG_MIMETYPES="audio/aac;audio/ac3;audio/mp4;audio/x-ms-wma;video/mpeg;"
|
|
])
|
|
|
|
AC_DEFUN([AUDACITY_CONFIG_FFMPEG], [
|
|
if test "$FFMPEG_USE_LOCAL" = yes; then
|
|
FFMPEG_CFLAGS='-I$(top_srcdir)/lib-src/ffmpeg'
|
|
FFMPEG_LIBS=""
|
|
fi
|
|
if test "$FFMPEG_USE_SYSTEM" = yes; then
|
|
FFMPEG_CFLAGS="$AVCODEC_CFLAGS $AVFORMAT_CFLAGS $AVUTIL_CFLAGS"
|
|
if test "$dynamic_loading" = "no"; then
|
|
FFMPEG_LIBS="$AVCODEC_LIBS $AVFORMAT_LIBS $AVUTIL_LIBS"
|
|
AC_DEFINE(DISABLE_DYNAMIC_LOADING_FFMPEG, 1,
|
|
[Use system FFmpeg library and disable dynamic loading of it.])
|
|
else
|
|
FFMPEG_LIBS=""
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST([FFMPEG_CFLAGS])
|
|
AC_SUBST([FFMPEG_LIBS])
|
|
|
|
AM_CONDITIONAL([USE_FFMPEG], [test "$FFMPEG_USE_LOCAL" = yes -o "$FFMPEG_USE_SYSTEM" = yes])
|
|
AM_CONDITIONAL([USE_LOCAL_FFMPEG], [test "$FFMPEG_USE_LOCAL" = yes])
|
|
|
|
if test "$FFMPEG_USE_LOCAL" = yes -o "$FFMPEG_USE_SYSTEM" = yes; then
|
|
AC_DEFINE(USE_FFMPEG, 1,
|
|
[Define if ffmpeg (multi-format import and export) support should be enabled])
|
|
fi
|
|
])
|