[Use the terminfo library for tty support.]),
[auto], [Autodetect])
+OG_ARG_WITH([tinfo],
+ AS_HELP_STRING([--with-tinfo],
+ [Use the ncurses tinfo library for tty support.]),
+ [auto], [Autodetect])
+
OG_ARG_WITH([termlib],
AS_HELP_STRING([--with-termlib],
[Use the termlib library for tty support.]),
[Use the termcap library for tty support.]),
[auto], [Autodetect])
+OG_ARG_WITH([builtin-tty],
+ AS_HELP_STRING([--with-builtin-tty],
+ [Use builtin termcap like code. LEGACY CODE. Please consider
+ installing ncurses. Requires /etc/termcap or TERMCAP
+ environment variable to work.]),
+ [no], [No])
+
OG_ARG_WITH([gpm],
AS_HELP_STRING([--with-gpm],
#
# Turn off core generation. We are already verifying the program fails, no need
# poluting the workspace. Of course if you are a SXEmacs developer you may want
-# to comemnt this on occasion :-)
+# to comment this on occasion :-)
ulimit -c 0
## initialise our nestable msg funs
SXE_INIT_MSG_LEVEL
+AC_PROG_SED
+AC_PROG_AWK
+
+ECHO=echo
+
dnl Small snippet to make echo -n work on solaris
ECHO_N= ECHO_C=
case `echo -n x` in
dnl -------------------------------------------------------------------------
SXE_CHECK_COMMAND_LINE
-AM_INIT_AUTOMAKE([foreign -Wall])
+test -z "$AUTOMAKE" || AUTOMAKE=automake
+
+AM_INIT_AUTOMAKE(m4_esyscmd([
+ automake_ver=`$AUTOMAKE --version 2>/dev/null | head -n1`
+ automake_major=`echo "$automake_ver" | sed -e 's/^.* \([0-9]*\).*/\1/'`
+ automake_minor=`echo "$automake_ver" | sed -e 's/^.* [0-9]*\.\([0-9]*\).*/\1/'`
+ if test "$automake_major" = "1" -a "$automake_minor" -lt "14"
+ then
+ echo "foreign -Wall"
+ else
+ echo "info-in-builddir foreign -Wall"
+ fi]))
+
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
SXE_CHECK_BUILDCHAIN
AC_SUBST(EGREP)
after_morecore_hook_exists=yes
AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no)
AC_MSG_CHECKING(whether __after_morecore_hook exists)
-AC_LINK_IFELSE([AC_LANG_SOURCE([[extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0]])],
+AC_LINK_IFELSE([AC_LANG_SOURCE([
+ [extern void (* __after_morecore_hook)();]
+ [main() {__after_morecore_hook = 0;}]
+ ])],
[AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)
after_morecore_hook_exists=no])
+if test "$after_morecore_hook_exists" = "yes" ; then
+ AC_DEFINE([HAVE_MORECORE_HOOK], [1], [Define if __after_morecore_hook is available])
+fi
+AC_SUBST(HAVE_MORECORE_HOOK)
+free_hook_exists=yes
+AC_MSG_CHECKING(whether __free_hook exists)
+AC_LINK_IFELSE([AC_LANG_SOURCE([
+ [extern void (* __free_hook)();]
+ [main() {__free_hook = 0;}]
+ ])],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)
+ free_hook_exists=no])
+if test "$free_hook_exists" = "yes" ; then
+ AC_DEFINE([HAVE_FREE_HOOK], [1], [Define if __free_hook is available])
+fi
+AC_SUBST(HAVE_FREE_HOOK)
if test "$system_malloc" = "yes" ; then
GNU_MALLOC=no
GNU_MALLOC_reason="
dnl make sure we can find Intrinsic.h
AC_CHECK_HEADER([X11/Intrinsic.h], [],
- [AC_MSG_ERROR([Unable to find X11 header files. Try using --x-includes=<path> if you know the path, or --with-x=no to disable X11 support.])])
+ [AC_MSG_ERROR([Unable to find X11 and/or Xt header files. Try using --x-includes=<path> if you know the path, or --with-x=no to disable X11 support.])])
dnl Check some more headers
AC_CHECK_HEADERS([X11/Intrinsic.h X11/StringDefs.h X11/Shell.h X11/ShellP.h],
AS_IF([test "$with_tty" != "no"],[
AS_MESSAGE(checking for TTY-related features)
dnl Check if needed calls are available at all...
- tty_libs="ncurses curses terminfo termlib termcap"
- tty_funcs="tgetent tgetstr tgetflag tparm tgoto tputs"
- for func in $tty_funcs; do
- AC_SEARCH_LIBS($func,$tty_libs)
+
+ with_tty_libs=""
+ detect_tty_libs=""
+ for lib in ncurses curses tinfo terminfo termlib termcap
+ do
+ eval "with=\$with_${lib}"
+ if test "$with" = no
+ then
+ AC_MSG_WARN(["Ignoring available ${lib} due to --with-${lib}=no"])
+ elif test "$with" = "yes"
+ then
+ with_tty_libs="$with_tty_libs $lib"
+ else
+ detect_tty_libs="$detect_tty_libs $lib"
+ fi
done
- AS_IF([test "$ac_cv_search_tgetent" = "no" -a \
- "$ac_cv_search_tgetflag" = "no" -a \
- "$ac_cv_search_tgetstr" = "no" -a \
- "$ac_cv_search_tgoto" = "no" -a \
- "$ac_cv_search_tparm" = "no" -a \
- "$ac_cv_search_tputs" = "no" ],
- have_tty=no)
- AS_IF([test "$with_tty" = "yes" -a "$have_tty" = "no" ],[
- AC_MSG_ERROR([Your system lacks necessary functions for requested TTY support])])
-],[
- for feature in ncurses curses termcap terminfo termlib gpm; do
- if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
- AC_MSG_WARN([--with-${feature} ignored: Not valid without TTY support])
- fi
- eval "with_${feature}=no"
- done
-])
-AS_IF([test "$with_tty" != "no" -a "$have_tty" != "no" ],[
- for lib in $tty_libs; do
- SXE_CHECK_LINK_LIB($lib, , eval have_${lib}=no)
- with_lib_eval=`eval echo \\$with_$lib`
- have_lib_eval=`eval echo \\$have_$lib`
- AS_IF([test "$have_lib_eval" = "yes" ], [
- for func in $tty_funcs; do
- AC_CHECK_LIB($lib, tgetent)
- AC_CHECK_LIB($lib, tgetstr)
- AC_CHECK_LIB($lib, tgetflags)
- AC_CHECK_LIB($lib, tparm)
- AC_CHECK_LIB($lib, tgoto)
- AC_CHECK_LIB($lib, tputs)
- done
- ])
- have_lib_eval=`eval echo \\$have_$lib`
- AS_IF([test "$with_lib_eval" = "yes" -a \
- "$have_lib_eval" = "no" ],
- AC_MSG_WARN([Errors detected trying to use requested $lib. Continuing with autodetection.]))
+ # All terminal info functions needed
+ tty_funcs="tgetent tgetstr tgetflag tgetnum tparm tgoto tputs"
+ tty_libs=""
+ # Filter by existing libs, printf is sure to be available with libc, so failure
+ # would come from lib not find
+ for lib in $with_tty_libs $detect_tty_libs
+ do
+ SXE_CHECK_LINK_LIB($lib)
+ if eval "test \"\$sxe_cv_c_lib_${lib}\" != yes"
+ then
+ if eval "test \"\$with_${lib}\" = yes"
+ then
+ AC_MSG_WARN(["Ignoring --with-${lib}=yes due to library not linkable"])
+ eval "with_${lib}=no"
+ fi
+ continue
+ fi
+
+ AC_CHECK_LIB([$lib], [$tty_funcs])
+
+ # Lets verify we have all functions
+ for func in $tty_func
+ do
+ if eval "test \"\$ac_cv_lib_${lib}_${func}\" = no"
+ then
+ AS_MESSAGE(["Skipping ${lib}, does not support to all TTY functions"])
+ lib=""
+ break
+ fi
+ done
+
+ tty_libs="$tty_libs $lib"
done
- AS_IF([test "$sxe_cv_c_lib_ncurses" = "no" -a \
- "$sxe_cv_c_lib_curses" = "no" -a \
- "$sxe_cv_c_lib_termcap" = "no" -a \
- "$sxe_cv_c_lib_terminfo" = "no" -a \
- "$sxe_cv_c_lib_termlib" = "no"],
- have_tty=no)
- AS_IF([test "$with_tty" = "yes" -a "$have_tty" = "no"],
- AC_MSG_ERROR([Your system lacks necessary libraries for requested TTY support.]))
-])
-
-AS_IF([test "$with_tty" != "no" -a "$have_tty" != "no" ],[
- AC_DEFINE([HAVE_NCURSES], [1], [Description here!])
- with_ncurses=yes
- AC_CHECK_HEADER(ncurses/ncurses.h, curses_h_file=ncurses/ncurses.h)
- if test -z "$curses_h_file"; then
- AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
- fi
- if test -n "$curses_h_file"; then
- AC_CHECK_HEADER(ncurses/termcap.h, termcap_h_file=ncurses/termcap.h)
- AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h)
- else
- AC_CHECK_HEADER(ncurses.h, curses_h_file=ncurses.h)
- AC_CHECK_HEADER(termcap.h, termcap_h_file=termcap.h)
- AC_CHECK_HEADER(term.h, term_h_file=term.h)
- fi
- SXE_ADD_SXEUITTY_OBJS(terminfo.o)
- SXE_PREPEND(-lncurses, LIBS)
-
- if test -z "$curses_h_file" ; then
- dnl Try again, and check for the bogus ncurses/ include bug.
- dnl (i.e. ncurses/curses.h bogusly includes <unctrl.h> instead of
- dnl <ncurses/unctrl.h>)
- save_c_switch_site="$c_switch_site"
- c_switch_site="$c_switch_site -I/usr/include/ncurses"
+ if test -n "$tty_libs"
+ then
+ AS_MESSAGE(["Considering libraries: $tty_libs"])
+
+ # Check which preferred lib can be used
+ for func in $tty_funcs
+ do
+ # Make sure no flags are harmed during the search
+ sxe_save_LIBS=$LIBS
+ AC_SEARCH_LIBS($func, $tty_libs)
+ LIBS=$sxe_save_LIBS
+ done
+
+ # Minimize the set of libraries
+ tty_feature=""
+ tty_fun=""
+ for func in $tty_funcs
+ do
+ eval lib=\$ac_cv_search_${func}
+ if test "$lib" != no -a "$lib" != "none required"
+ then
+ for feature in $tty_feature
+ do
+ if test "$feature" = "$lib"
+ then
+ lib=""
+ func=""
+ break;
+ fi
+ done
+ tty_feature="$tty_feature $lib"
+ tty_fun="$tty_fun $func"
+ fi
+ done
+ fi
+
+ if test -n "$tty_feature"
+ then
+ # Check all the expected functions still compile with all the added
+ # libraries
+ sxe_save_LIBS=$LIBS
+ LIBS="$LIBS $tty_feature"
+ AC_CHECK_FUNCS($tty_funcs)
+ for func in $tty_fun
+ do
+ if eval "test \"\$ac_cv_func_${func}\" = no"
+ then
+ tty_feature=""
+ break
+ fi
+ done
+ LIBS=$sxe_save_LIBS
+ fi
+
+ if test -n "$tty_feature"
+ then
+ SXE_PREPEND($tty_feature, LIBS)
+ for lib in $tty_feature
+ do
+ l=`echo $lib | sed -e 's/^-l//g'`
+ eval "with_${l}=yes"
+ done
+ with_builtin_tty=no
+ have_tty=yes
+ else
+ AC_MSG_WARN([Could not link all needed tty functions.]
+ [Please consider installing ncurses.])
+ if test "$with_builtin_tty" = yes
+ then
+ AC_MSG_WARN([Using builtin tty support.])
+ have_tty=yes
+ else
+ AC_MSG_WARN([Use --with-builtin-tty=yes if you cannot use ncurses.])
+ have_tty=no
+ fi
+ fi
+
+ if test "$with_builtin_tty" = yes
+ then
+ # Add our own wrappers using termcap
+ SXE_ADD_SXEUITTY_OBJS(termcap.o)
+ SXE_ADD_SXEUITTY_OBJS(tparam.o)
+ have_tty=yes
+ elif test "$have_tty" = yes
+ then
+ # Terminfo interface, since tgetent etc are available
+ SXE_ADD_SXEUITTY_OBJS(terminfo.o)
+ fi
+
+ # Check headers, first generally
+ AC_CHECK_HEADER(termcap.h, termcap_h_file=termcap.h)
+ AC_CHECK_HEADER(term.h, term_h_file=term.h)
+
+ if test "$have_ncurses" = yes; then
+ # Verify how ncurses overrides them
AC_CHECK_HEADER(ncurses/ncurses.h, curses_h_file=ncurses/ncurses.h)
if test -z "$curses_h_file"; then
AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
fi
if test -n "$curses_h_file"; then
AC_CHECK_HEADER(ncurses/termcap.h, termcap_h_file=ncurses/termcap.h)
- AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h)
+ AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h)
else
- AC_CHECK_HEADER(ncurses.h, curses_h_file=ncurses.h)
- AC_CHECK_HEADER(termcap.h, curses_h_file=termcap.h)
- AC_CHECK_HEADER(term.h, curses_h_file=term.h)
+ AC_CHECK_HEADER(ncurses.h, curses_h_file=ncurses.h)
fi
- if test -n "$curses_h_file"
- then AC_MSG_WARN([Your system has the bogus ncurses include bug.])
- else c_switch_site="$save_c_switch_site"
+
+ if test -z "$curses_h_file" ; then
+ dnl Try again, and check for the bogus ncurses/ include bug.
+ dnl (i.e. ncurses/curses.h bogusly includes <unctrl.h> instead of
+ dnl <ncurses/unctrl.h>)
+ save_c_switch_site="$c_switch_site"
+ c_switch_site="$c_switch_site -I/usr/include/ncurses"
+ AC_CHECK_HEADER(ncurses/ncurses.h, curses_h_file=ncurses/ncurses.h)
+ if test -z "$curses_h_file"; then
+ AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
+ fi
+ if test -n "$curses_h_file"; then
+ AC_CHECK_HEADER(ncurses/termcap.h, termcap_h_file=ncurses/termcap.h)
+ AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h)
+ else
+ AC_CHECK_HEADER(ncurses.h, curses_h_file=ncurses.h)
+ fi
+ if test -n "$curses_h_file"
+ then
+ AC_MSG_WARN([Your system has the bogus ncurses include bug.])
+ AC_CHECK_HEADER(termcap.h, curses_h_file=termcap.h)
+ AC_CHECK_HEADER(term.h, curses_h_file=term.h)
+ else c_switch_site="$save_c_switch_site"
+ fi
fi
+ fi
+
+ if test -n "$curses_h_file"; then
+ AC_DEFINE_UNQUOTED([HAVE_CURSES_H], [1],
+ [There is a curses.h header file available])
+ AC_DEFINE_UNQUOTED([CURSES_H_FILE], ["${curses_h_file}"],
+ [The curses.h header file])
+ fi
+
+ if test -n "$termcap_h_file"; then
+ AC_DEFINE_UNQUOTED([HAVE_TERMCAP_H], [1],
+ [There is a termcap.h header available])
+ AC_DEFINE_UNQUOTED([TERMCAP_H_FILE], ["${termcap_h_file}"],
+ [The termcap.h header file])
+ fi
+
+ if test -n "$term_h_file"; then
+ AC_DEFINE_UNQUOTED([HAVE_TERM_H], [1],
+ [There is a term.h header available])
+ AC_DEFINE_UNQUOTED([TERM_H_FILE], ["${term_h_file}"],
+ [The term.h header file])
+ fi
+
+ # Finally let's see if we have prototype for the elusive tparm
+ AC_MSG_CHECKING(for tparm prototype)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifdef TERM_H_FILE
+#include TERM_H_FILE
+#endif
+#ifdef TERMCAP_H_FILE
+#include TERMCAP_H_FILE
+#endif
+#ifdef CURSES_H_FILE
+#include CURSES_H_FILE
+#endif
+/* Completely incompatible prototype with all tparm ones
+ if files above define it, compilation should fail
+*/
+extern void tparm(void);
+ ]], [[ tparm(); ]])],
+ [AC_MSG_RESULT(no)],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED([HAVE_TPARM_PROTOTYPE], [1],
+ [tparm has a prototype defined])])
+
+ # Finally let's see if we have prototype for tgetent
+ AC_MSG_CHECKING(for tgetent prototype)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifdef TERM_H_FILE
+#include TERM_H_FILE
+#endif
+#ifdef TERMCAP_H_FILE
+#include TERMCAP_H_FILE
+#endif
+#ifdef CURSES_H_FILE
+#include CURSES_H_FILE
+#endif
+extern void tgetent(void);
+ ]], [[ tgetent(); ]])],
+ [AC_MSG_RESULT(no)],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED([HAVE_TGETENT_PROTOTYPE], [1],
+ [tgetent has a prototype defined])])
+
+
+ # Finally let's see if we have prototype for tgetflag
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifdef TERM_H_FILE
+#include TERM_H_FILE
+#endif
+#ifdef TERMCAP_H_FILE
+#include TERMCAP_H_FILE
+#endif
+#ifdef CURSES_H_FILE
+#include CURSES_H_FILE
+#endif
+extern void tgetflag(void);
+ ]], [[ tgetflag(); ]])],
+ [AC_MSG_RESULT(no)],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED([HAVE_TGETFLAG_PROTOTYPE], [1],
+ [tgetflag has a prototype defined])])
+
+ # Finally let's see if we have prototype for tgetnum
+ AC_MSG_CHECKING(for tgetnum prototype)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifdef TERM_H_FILE
+#include TERM_H_FILE
+#endif
+#ifdef TERMCAP_H_FILE
+#include TERMCAP_H_FILE
+#endif
+#ifdef CURSES_H_FILE
+#include CURSES_H_FILE
+#endif
+extern void tgetnum(void);
+ ]], [[ tgetnum(); ]])],
+ [AC_MSG_RESULT(no)],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED([HAVE_TGETNUM_PROTOTYPE], [1],
+ [tgetnum has a prototype defined])])
+
+ # Finally let's see if we have prototype for tgetnum
+ AC_MSG_CHECKING(for tgetstr prototype)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifdef TERM_H_FILE
+#include TERM_H_FILE
+#endif
+#ifdef TERMCAP_H_FILE
+#include TERMCAP_H_FILE
+#endif
+#ifdef CURSES_H_FILE
+#include CURSES_H_FILE
+#endif
+extern void tgetstr(void);
+ ]], [[ tgetstr(); ]])],
+ [AC_MSG_RESULT(no)],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED([HAVE_TGETSTR_PROTOTYPE], [1],
+ [tgetstr has a prototype defined])])
+
+ # Finally let's see if we have prototype for tgetnum
+ AC_MSG_CHECKING(for tputs prototype)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifdef TERM_H_FILE
+#include TERM_H_FILE
+#endif
+#ifdef TERMCAP_H_FILE
+#include TERMCAP_H_FILE
+#endif
+#ifdef CURSES_H_FILE
+#include CURSES_H_FILE
+#endif
+extern void tputs(void);
+ ]], [[ tputs(); ]])],
+ [AC_MSG_RESULT(no)],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED([HAVE_TPUTS_PROTOTYPE], [1],
+ [tputs has a prototype defined])])
+],[
+ for feature in ncurses curses termcap terminfo termlib gpm; do
+ if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
+ AC_MSG_WARN([--with-${feature} ignored: Not valid without TTY support])
fi
-])
-
-AS_IF([test "$with_tty" != "no" -a "$have_ncurses" != "no" ],[
- if test "$with_ncurses" = "no" -o -z "$curses_h_file" ; then
-
- # Check alternate library includes
- for lib in curses term terminfo termcap; do
- AC_CHECK_HEADER(${lib}.h, [
- eval ${lib}_h_file=${lib}.h
- AC_CHECK_LIB($lib, tgetent, eval have_${lib}=yes, eval have_${lib}=no)
- AC_CHECK_LIB($lib, tgetstr, , eval have_${lib}=no)])
- done
-
- for lib in curses terminfo termlib termcap; do
- have_lib_eval=`eval echo \\$have_$lib`
- if test "$have_lib_eval" = "yes"; then
- AC_CHECK_LIB($lib, tparm,
- SXE_ADD_SXEUITTY_OBJS(terminfo.o),
- SXE_ADD_SXEUITTY_OBJS(tparam.o))
- SXE_PREPEND(-l${lib}, LIBS)
- break
- fi
- done
- fi
- if test -n "$curses_h_file"; then
- AC_DEFINE_UNQUOTED([HAVE_CURSES_H], [1], [There is a curses.h header file available])
- fi
- if test -n "$termcap_h_file"; then
- AC_DEFINE_UNQUOTED([HAVE_TERMCAP_H], [1], [There is a termcap.h header available])
- fi
- if test -n "$term_h_file"; then
- AC_DEFINE_UNQUOTED([HAVE_TERM_H], [1], [There is a term.h header available])
- fi
- AC_DEFINE_UNQUOTED([CURSES_H_FILE], ["${curses_h_file-curses.h}"], [The curses.h header file])
- AC_DEFINE_UNQUOTED([TERMCAP_H_FILE], ["${termcap_h_file-termcap.h}"], [The termcap.h header file])
- AC_DEFINE_UNQUOTED([TERM_H_FILE], ["${term_h_file-term.h}"], [The term.h header file])
+ eval "with_${feature}=\"\""
+ done
])
AS_IF([test "$with_tty" != "no" -a "$have_tty" != no], [
- AC_DEFINE([HAVE_TTY], [1], [Include TTY support for SXEmacs])
- AC_DEFINE([HAVE_UNIXOID_EVENT_LOOP], [1], [Include Unixoid event loop - TTY provided])
+ AC_DEFINE([HAVE_TTY], [1],
+ [Include TTY support for SXEmacs])
+ AC_DEFINE([HAVE_UNIXOID_EVENT_LOOP], [1],
+ [Include Unixoid event loop - TTY provided])
SXE_ADD_SXEUITTY_OBJS([console-tty.o device-tty.o event-tty.o frame-tty.o objects-tty.o redisplay-tty.o cm.o])
])
+
AS_IF([test "$with_tty" != "no" -a "$have_tty" != no], [
dnl General Purpose Mouse (libgpm) support
AS_IF([test "$with_gpm" != "no"], [
if test "$have_media_ffmpeg" = "yes"; then
AC_MSG_RESULT([yes])
- FFMPEG_LIBS=`$PKG_CONFIG --libs libavformat`
- FFMPEG_CPPFLAGS=`$PKG_CONFIG --cflags libavformat`
+ FFMPEG_LIBS=`$PKG_CONFIG --libs libavformat libavcodec libavutil`
+ FFMPEG_CPPFLAGS=`$PKG_CONFIG --cflags libavformat libavcodec libavutil`
SXE_PREPEND($FFMPEG_LIBS, MM_LIBS)
SXE_PREPEND_UNDUP($FFMPEG_CPPFLAGS, MM_CPPFLAGS)
SXE_ADD_MM_OBJS([media-ffmpeg.o])