From a8559f87b6cf39292a94d457689a1dfd1b4b21bf Mon Sep 17 00:00:00 2001 From: Matt Messier Date: Mon, 14 May 2007 02:06:16 -0400 Subject: Final pass over video_out.m4 -- Create ACX_PACKAGE_CHECK to remove duplicate code for aalib, arts, dvdnav, and libfame. Remove aa.m4, arts.m4, dvdnav.m4, and libfame.m4 -- ACX_PACKAGE_CHECK does not require compiling and running a test program. Stole version code from autogen.sh --- m4/Makefile.am | 4 - m4/aa.m4 | 272 -------------------------------------------------------- m4/arts.m4 | 148 ------------------------------ m4/audio_out.m4 | 10 ++- m4/dvdnav.m4 | 188 --------------------------------------- m4/input.m4 | 6 +- m4/libfame.m4 | 183 -------------------------------------- m4/package.m4 | 72 +++++++++++++++ m4/summary.m4 | 4 +- m4/video_out.m4 | 12 +-- 10 files changed, 91 insertions(+), 808 deletions(-) delete mode 100644 m4/aa.m4 delete mode 100644 m4/arts.m4 delete mode 100644 m4/dvdnav.m4 delete mode 100644 m4/libfame.m4 create mode 100644 m4/package.m4 (limited to 'm4') diff --git a/m4/Makefile.am b/m4/Makefile.am index 546c989fd..3fd1e9313 100644 --- a/m4/Makefile.am +++ b/m4/Makefile.am @@ -11,18 +11,14 @@ endif m4data_DATA = xine.m4 EXTRA_DIST = \ - aa.m4 \ - arts.m4 \ attributes.m4 \ audio_out.m4 \ decoders.m4 \ directx.m4 \ - dvdnav.m4 \ gas.m4 \ input.m4 \ ioctl_request.m4 \ libFLAC.m4 \ - libfame.m4 \ macosx.m4 \ objc.m4 \ pkg.m4 \ diff --git a/m4/aa.m4 b/m4/aa.m4 deleted file mode 100644 index bab0d9d28..000000000 --- a/m4/aa.m4 +++ /dev/null @@ -1,272 +0,0 @@ -dnl Configure path and dependencies for aalib. -dnl -dnl Copyright (C) 2001 Daniel Caujolle-Bert -dnl -dnl This program is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2 of the License, or -dnl (at your option) any later version. -dnl -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -dnl GNU General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License -dnl along with this program; if not, write to the Free Software -dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -dnl -dnl -dnl As a special exception to the GNU General Public License, if you -dnl distribute this file as part of a program that contains a configuration -dnl script generated by Autoconf, you may include it under the same -dnl distribution terms that you use for the rest of that program. -dnl -dnl AM_PATH_AALIB([MINIMUM-VERSION, [ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND ]]]) -dnl Test for AALIB, and define AALIB_CFLAGS and AALIB_LIBS, AALIB_STATIC_LIBS. -dnl -dnl *********************** -dnl 26/09/2001 -dnl * fixed --disable-aalibtest. -dnl 17/09/2001 -dnl * use both aalib-config, and *last chance* aainfo for guessing. -dnl 19/08/2001 -dnl * use aalib-config instead of aainfo now. -dnl 17/06/2001 -dnl * First shot -dnl - -dnl Internal bits, used by AM_PATH_AALIB. -dnl Requires AALIB_CFLAGS and AALIB_FLAGS to be defined -AC_DEFUN([_AALIB_CHECK_VERSION], [ - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$AALIB_CFLAGS $CFLAGS" - LIBS="$AALIB_LIBS $LIBS" - -dnl Now check if the installed AALIB is sufficiently new. (Also sanity -dnl checks the results of aalib-config to some extent.) - - rm -f conf.aalibtest - AC_RUN_IFELSE([AC_LANG_SOURCE([[ -#include -#include -#include - -int main () { - int major, minor; - char *tmp_version; - - system ("touch conf.aalibtest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = (char *) strdup("$min_aalib_version"); - if (sscanf(tmp_version, "%d.%d", &major, &minor) != 2) { - printf("%s, bad version string\n", "$min_aalib_version"); - exit(1); - } - - if ((AA_LIB_VERSION > major) || ((AA_LIB_VERSION == major) && -#ifdef AA_LIB_MINNOR - (AA_LIB_MINNOR >= minor) -#else - (AA_LIB_MINOR >= minor) -#endif - )) { - return 0; - } - else { -#ifdef AA_LIB_MINNOR - printf("\n*** An old version of AALIB (%d.%d) was found.\n", AA_LIB_VERSION, AA_LIB_MINNOR); -#else - printf("\n*** An old version of AALIB (%d.%d) was found.\n", AA_LIB_VERSION, AA_LIB_MINOR); -#endif - printf("*** You need a version of AALIB newer than %d.%d. The latest version of\n", major, minor); - printf("*** AALIB is always available from:\n"); - printf("*** http://www.ta.jcu.cz://aa\n"); - printf("***\n"); - } - return 1; -} -]])],[],[no_aalib=yes],[no_aalib=cc]) - if test "x$no_aalib" = xcc; then - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -#include -#include -]], [[ return ((AA_LIB_VERSION) || -#ifdef AA_LIB_MINNOR - (AA_LIB_MINNOR) -#else - (AA_LIB_MINOR) -#endif - ); ]])],[no_aalib=''],[no_aalib=yes]) - fi - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" -]) - - -AC_DEFUN([AM_PATH_AALIB], -[dnl -dnl -AC_ARG_WITH(aalib-prefix, - AS_HELP_STRING([--with-aalib-prefix=DIR], [prefix where AALIB is installed (optional)]), - aalib_config_prefix="$withval", aalib_config_prefix="") -AC_ARG_WITH(aalib-exec-prefix, - AS_HELP_STRING([--with-aalib-exec-prefix=DIR], [exec prefix where AALIB is installed (optional)]), - aalib_config_exec_prefix="$withval", aalib_config_exec_prefix="") -AC_ARG_ENABLE(aalibtest, - AS_HELP_STRING([--disable-aalibtest], [do not try to compile and run a test AALIB program]), - enable_aalibtest=$enableval, enable_aalibtest=yes) - - AC_LANG_PUSH([C]) - - if test x$aalib_config_exec_prefix != x ; then - aalib_config_args="$aalib_config_args --exec-prefix=$aalib_config_exec_prefix" - if test x${AALIB_CONFIG+set} != xset ; then - AALIB_CONFIG=$aalib_config_exec_prefix/bin/aalib-config - fi - fi - if test x$aalib_config_prefix != x ; then - aalib_config_args="$aalib_config_args --prefix=$aalib_config_prefix" - if test x${AALIB_CONFIG+set} != xset ; then - AALIB_CONFIG=$aalib_config_prefix/bin/aalib-config - fi - fi - - min_aalib_version=ifelse([$1], ,1.4,$1) - - if test x"$enable_aalibtest" != "xyes"; then - AC_MSG_CHECKING([for AALIB version >= $min_aalib_version]) - else - if test ! -x "$AALIB_CONFIG"; then - AALIB_CONFIG="" - fi - AC_PATH_TOOL(AALIB_CONFIG, aalib-config, no) - - if test "$AALIB_CONFIG" = "no" ; then - -dnl aalib-config is missing, check for old aainfo - - AALIB_LIBS="$AALIB_LIBS -laa" - if test x$aalib_config_exec_prefix != x ; then - AALIB_CFLAGS="-I$aalib_config_exec_prefix/include" - AALIB_LIBS="-L$aalib_config_exec_prefix/lib -laa" - if test x${AAINFO+set} != xset ; then - AAINFO=$aalib_config_exec_prefix/bin/aainfo - fi - fi - - if test x$aalib_config_prefix != x ; then - AALIB_CFLAGS="-I$aalib_config_prefix/include" - AALIB_LIBS="-L$aalib_config_prefix/lib -laa" - if test x${AAINFO+set} != xset ; then - AAINFO=$aalib_config_prefix/bin/aainfo - fi - fi - - if test x"$aalib_config_prefix" = "x"; then - AC_PATH_TOOL(AAINFO, aainfo, no) - else - AC_MSG_CHECKING(for $AAINFO) - if test -x $AAINFO; then - AC_MSG_RESULT(yes) - else - AAINFO="no" - AC_MSG_RESULT(no) - fi - fi - - AC_MSG_CHECKING([for AALIB version >= $min_aalib_version]) - no_aalib="" - - if test x"$AAINFO" = "xno"; then - no_aalib=yes - else - aalib_drivers="`$AAINFO --help | grep drivers | sed -e 's/available//g;s/drivers//g;s/\://g'`" - for drv in $aalib_drivers; do - if test $drv = "X11" -a x$x11dep = "x"; then - AALIB_CFLAGS="$AALIB_CFLAGS `echo $X_CFLAGS|sed -e 's/\-I/\-L/g;s/include/lib/g'`" - x11dep="yes" - fi -dnl if test $drv = "slang" -a x$slangdep = "x"; then -dnl slangdep="yes" -dnl fi -dnl if test $drv = "gpm" -a x$gmpdep = "x"; then -dnl gpmdep="yes" -dnl fi - done - - _AALIB_CHECK_VERSION - fi - - else dnl AALIB_CONFIG - AC_MSG_CHECKING([for AALIB version >= $min_aalib_version]) - no_aalib="" - AALIB_CFLAGS="`$AALIB_CONFIG $aalib_config_args --cflags`" - AALIB_LIBS="`$AALIB_CONFIG $aalib_config_args --libs`" - aalib_config_major_version=`$AALIB_CONFIG $aalib_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - aalib_config_minor_version=`$AALIB_CONFIG $aalib_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - aalib_config_sub_version=`$AALIB_CONFIG $aalib_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - - _AALIB_CHECK_VERSION - fi dnl AALIB_CONFIG - fi dnl enable_aalibtest - - if test "x$no_aalib" = x; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$AALIB_CONFIG" = "no"; then - echo "*** The [aalib-config|aainfo] program installed by AALIB could not be found" - echo "*** If AALIB was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or use --with-aalib-prefix to set the prefix" - echo "*** where AALIB is installed." - else - if test -f conf.aalibtest ; then - : - else - echo "*** Could not run AALIB test program, checking why..." - CFLAGS="$CFLAGS $AALIB_CFLAGS" - LIBS="$LIBS $AALIB_LIBS" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -#include -#include -]], [[ - return ((AA_LIB_VERSION) || -#ifdef AA_LIB_MINNOR - (AA_LIB_MINNOR) -#else - (AA_LIB_MINOR) -#endif - ); ]])], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding AALIB or finding the wrong" - echo "*** version of AALIB. If it is not finding AALIB, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" - echo "***"], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means AALIB was incorrectly installed" - echo "*** or that you have moved AALIB since it was installed." ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - AALIB_CFLAGS="" - AALIB_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(AALIB_CFLAGS) - AC_SUBST(AALIB_LIBS) - AC_LANG_POP([C]) - rm -f conf.aalibtest -]) diff --git a/m4/arts.m4 b/m4/arts.m4 deleted file mode 100644 index ae34b5f04..000000000 --- a/m4/arts.m4 +++ /dev/null @@ -1,148 +0,0 @@ -dnl Configure paths for ARTS -dnl Philip Stadermann 2001-06-21 -dnl stolen from esd.m4 - -dnl AM_PATH_ARTS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) -dnl Test for ARTS, and define ARTS_CFLAGS and ARTS_LIBS -dnl -AC_DEFUN([AM_PATH_ARTS], [ - AC_ARG_WITH([arts-prefix], - [AS_HELP_STRING([--with-arts-prefix=DIR], [prefix where ARTS is installed (optional)])], - [arts_prefix="$withval"], [arts_prefix=""]) - AC_ARG_ENABLE([artstest], - [AS_HELP_STRING([--disable-artstest], [do not try to compile and run a test ARTS program])], - [], [enable_artstest=yes]) - - AC_LANG_PUSH([C]) - - if test x"$arts_prefix" != x""; then - arts_args="$arts_args --arts-prefix=$arts_prefix" - test x"${ARTS_CONFIG+set}" != x"set" && ARTS_CONFIG="$arts_prefix/bin/artsc-config" - fi - - min_arts_version=ifelse([$1], , [0.9.5], [$1]) - if test x"$enable_artstest" = x"no"; then - AC_MSG_CHECKING([for ARTS artsc - version >= $min_arts_version]) - else - AC_PATH_TOOL([ARTS_CONFIG], [artsc-config], [no]) - AC_MSG_CHECKING([for ARTS artsc - version >= $min_arts_version]) - - if test x"$ARTS_CONFIG" = x"no"; then - with_arts=no - else - ARTS_CFLAGS=`$ARTS_CONFIG $artsconf_args --cflags` - ARTS_LIBS=`$ARTS_CONFIG $artsconf_args --libs` - arts_major_version=`$ARTS_CONFIG $arts_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - arts_minor_version=`$ARTS_CONFIG $arts_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - arts_micro_version=`$ARTS_CONFIG $arts_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - ac_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $ARTS_CFLAGS" - ac_save_LIBS="$LIBS" LIBS="$ARTS_LIBS $LIBS" - - # Now check if the installed ARTS is sufficiently new. (Also sanity - # checks the results of arts-config to some extent) - - rm -f conf.artstest - AC_RUN_IFELSE([AC_LANG_SOURCE([[ -#include -#include -#include -#include - -int main(int argc, char *argv[]) -{ - int major, minor, micro; - char *tmp_version; - FILE *fp; - - if ((fp = fopen("conf.artstest", "w")) != NULL) { - fclose(fp); - } - else { - printf("*** could not write to file conf.artstest\n"); - exit(1); - } - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = strdup("$min_arts_version"); - if (!tmp_version || sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_arts_version"); - exit(1); - } - - if (($arts_major_version > major) || - (($arts_major_version == major) && ($arts_minor_version > minor)) || - (($arts_major_version == major) && ($arts_minor_version == minor) && - ($arts_micro_version >= micro))) - { - return 0; - } - printf("\n*** 'artsc-config --version' returned %d.%d.%d, but the minimum version\n", $arts_major_version, $arts_minor_version, $arts_micro_version); - printf("*** of ARTS required is %d.%d.%d. If artsc-config is correct, then it is\n", major, minor, micro); - printf("*** best to upgrade to the required version.\n"); - printf("*** If artsc-config was wrong, set the environment variable ARTS_CONFIG\n"); - printf("*** to point to the correct copy of artsc-config, and remove the file\n"); - printf("*** config.cache before re-running configure\n"); - - return 1; -} - ]])], [], [with_arts=no], [with_arts=cc]) - if test x"$with_arts" = x"cc"; then - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include - #include ]], [[return 0]])], - [with_arts=yes], [with_arts=no]) - fi - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - - if test x"$with_arts" != x"no"; then - AC_MSG_RESULT([yes]) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT([no]) - if test x"$enable_artstest" != x"no"; then - if test x"$ARTS_CONFIG" = x"no"; then - echo "*** The arts-config script installed by aRts could not be found" - echo "*** If aRts was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the ARTS_CONFIG environment variable to the" - echo "*** full path to arts-config." - else - if test ! -f conf.artstest ; then - echo "*** Could not run aRts test program, checking why..." - CFLAGS="$CFLAGS $ARTS_CFLAGS" - LIBS="$ARTS_LIBS $LIBS" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include - #include ]], [[return 0]])], - [echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding aRts or finding the wrong" - echo "*** version of aRts. If it is not finding aRts, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location. Also, make sure you have run ldconfig if that" - echo "*** is required on your system." - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH." - echo "***"], - [echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occurred. This usually means aRtS was incorrectly installed" - echo "*** or that you have moved aRts since it was installed. In the latter case, you" - echo "*** may want to edit the arts-config script: $ARTS_CONFIG"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - else - rm -f conf.artstest - fi - fi - fi - ARTS_CFLAGS="" - ARTS_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(ARTS_CFLAGS) - AC_SUBST(ARTS_LIBS) - AC_LANG_POP([C]) -]) diff --git a/m4/audio_out.m4 b/m4/audio_out.m4 index 0b54c5d51..53b719991 100644 --- a/m4/audio_out.m4 +++ b/m4/audio_out.m4 @@ -87,10 +87,14 @@ AC_DEFUN([XINE_AUDIO_OUT_PLUGINS], [ [test x"$withval" != x"no" && with_arts="yes"], [test $default_with_arts = without && with_arts="no"]) if test x"$with_arts" != x"no"; then - AM_PATH_ARTS([0.9.5], - [AC_DEFINE([HAVE_ARTS], 1, [Define this if you have aRts (libartsc) installed])]) + ACX_PACKAGE_CHECK([ARTS], [0.9.5], [artsc-config], [have_arts=yes], [have_arts=no]) + if test x"$with_arts" = x"yes" && test x"$have_arts" != x"yes"; then + AC_MSG_ERROR([aRts support requested, but aRts not found]) + elif test x"$have_arts" = x"yes"; then + AC_DEFINE([HAVE_ARTS], 1, [Define this if you have aRts (libartsc) installed]) + fi fi - AM_CONDITIONAL([ENABLE_ARTS], [test x"$with_arts" != x"no"]) + AM_CONDITIONAL([ENABLE_ARTS], [test x"$have_arts" = x"yes"]) dnl CoreAudio for Mac OS X diff --git a/m4/dvdnav.m4 b/m4/dvdnav.m4 deleted file mode 100644 index d944a581c..000000000 --- a/m4/dvdnav.m4 +++ /dev/null @@ -1,188 +0,0 @@ -dnl Configure paths for DVDNAV -dnl -dnl Copyright (C) 2001 Daniel Caujolle-Bert -dnl -dnl This program is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2 of the License, or -dnl (at your option) any later version. -dnl -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -dnl GNU General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License -dnl along with this program; if not, write to the Free Software -dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -dnl -dnl -dnl As a special exception to the GNU General Public License, if you -dnl distribute this file as part of a program that contains a configuration -dnl script generated by Autoconf, you may include it under the same -dnl distribution terms that you use for the rest of that program. -dnl - -dnl AM_PATH_DVDNAV([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) -dnl Test for DVDNAV, and define DVDNAV_CFLAGS and DVDNAV_LIBS -dnl -AC_DEFUN([AM_PATH_DVDNAV], [ - AC_ARG_WITH([dvdnav-prefix], - [AS_HELP_STRING([--with-dvdnav-prefix=PATH], [prefix where DVDNAV is installed (optional)])], - [dvdnav_config_prefix="$withval"], [dvdnav_config_prefix=""]) - AC_ARG_WITH([dvdnav-exec-prefix], - [AS_HELP_STRING([--with-dvdnav-exec-prefix=DIR], [exec prefix where DVDNAV is installed (optional)])], - [dvdnav_config_exec_prefix="$withval"], [dvdnav_config_exec_prefix=""]) - AC_ARG_ENABLE([dvdnavtest], - [AS_HELP_STRING([--disable-dvdnavtest], [do not try to compile and run a test DVDNAV program])], - [], [enable_dvdnavtest=yes]) - - AC_LANG_PUSH([C]) - - if test x"$dvdnav_config_exec_prefix" != x""; then - dvdnav_config_args="$dvdnav_config_args --exec-prefix=$dvdnav_config_exec_prefix" - if test x"${DVDNAV_CONFIG+set}" != x"set"; then - DVDNAV_CONFIG=$dvdnav_config_exec_prefix/bin/dvdnav-config - fi - fi - if test x"$dvdnav_config_prefix" != x""; then - dvdnav_config_args="$dvdnav_config_args --prefix=$dvdnav_config_prefix" - if test x"${DVDNAV_CONFIG+set}" != x"set"; then - DVDNAV_CONFIG=$dvdnav_config_prefix/bin/dvdnav-config - fi - fi - - min_dvdnav_version=ifelse([$1], , [0.0.0], [$1]) - if test x"$enable_dvdnavtest" = x"no"; then - AC_MSG_CHECKING([for DVDNAV-LIB version >= $min_dvdnav_version]) - else - AC_PATH_TOOL([DVDNAV_CONFIG], [dvdnav-config], [no]) - AC_MSG_CHECKING([for DVDNAV-LIB version >= $min_dvdnav_version]) - - if test x"$DVDNAV_CONFIG" = x"no"; then - with_external_dvdnav=no - else - DVDNAV_CFLAGS=`$DVDNAV_CONFIG $dvdnav_config_args --cflags` - DVDNAV_LIBS=`$DVDNAV_CONFIG $dvdnav_config_args --libs` - dvdnav_config_major_version=`$DVDNAV_CONFIG $dvdnav_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - dvdnav_config_minor_version=`$DVDNAV_CONFIG $dvdnav_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - dvdnav_config_sub_version=`$DVDNAV_CONFIG $dvdnav_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - ac_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $DVDNAV_CFLAGS" - ac_save_LIBS="$LIBS" LIBS="$DVDNAV_LIBS $LIBS" - - # Now check if the installed DVDNAV is sufficiently new. (Also sanity - # checks the results of dvdnav-config to some extent) - - rm -f conf.dvdnavtest - AC_RUN_IFELSE([AC_LANG_SOURCE([[ -#include -#include -#include -#include - -int main(int argc, char *argv[]) -{ - int major, minor, sub; - char *tmp_version; - FILE *fp; - - if ((fp = fopen("conf.dvdnavtest", "w")) != NULL) { - fclose(fp); - } - else { - printf("*** could not write to file conf.dvdnavtest\n"); - exit(1); - } - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = strdup("$min_dvdnav_version"); - if (!tmp_version || sscanf(tmp_version, "%d.%d.%d", &major, &minor, &sub) != 3) { - printf("%s, bad version string\n", "$min_dvdnav_version"); - exit(1); - } - free(tmp_version); - - if (($dvdnav_config_major_version > major) || - (($dvdnav_config_major_version == major) && ($dvdnav_config_minor_version > minor)) || - (($dvdnav_config_major_version == major) && ($dvdnav_config_minor_version == minor) && - ($dvdnav_config_sub_version >= sub))) - { - return 0; - } - printf("\n*** An old version of libdvdnav (%d.%d.%d) was found.\n", - $dvdnav_config_major_version, $dvdnav_config_minor_version, $dvdnav_config_sub_version); - printf("*** You need a version of libdvdnav newer than %d.%d.%d. The latest version of\n", - major, minor, sub); - printf("*** libdvdnav is always available from:\n"); - printf("*** http://dvd.sourceforge.net\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the dvdnav-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of libdvdnav, but you can also set the DVDNAV_CONFIG environment to point to the\n"); - printf("*** correct copy of dvdnav-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - - return 1; -} - ]])], [], [with_external_dvdnav=no], [with_external_dvdnav=cc]) - if test x"$with_external_dvdnav" = x"cc"; then - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include - #include ]], [[return 0]])], - [with_external_dvdnav=yes], [with_external_dvdnav=no]) - fi - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - - if test x"$with_external_dvdnav" != x"no"; then - AC_MSG_RESULT([yes]) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT([no]) - if test x"$enable_dvdnavtest" != x"no"; then - if test x"$DVDNAV_CONFIG" = x"no"; then - echo "*** The dvdnav-config script installed by DVDNAV could not be found" - echo "*** If DVDNAV was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the DVDNAV_CONFIG environment variable to the" - echo "*** full path to dvdnav-config." - else - if test ! -f conf.dvdnavtest ; then - echo "*** Could not run DVDNAV test program, checking why..." - CFLAGS="$CFLAGS $DVDNAV_CFLAGS" - LIBS="$DVDNAV_LIBS $LIBS" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[return 0]])], - [echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding DVDNAV or finding the wrong" - echo "*** version of DVDNAV. If it is not finding DVDNAV, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" - echo "***"], - [echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means DVDNAV was incorrectly installed" - echo "*** or that you have moved DVDNAV since it was installed. In the latter case, you" - echo "*** may want to edit the dvdnav-config script: $DVDNAV_CONFIG"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - else - rm -f conf.dvdnavtest - fi - fi - fi - DVDNAV_CFLAGS="" - DVDNAV_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(DVDNAV_CFLAGS) - AC_SUBST(DVDNAV_LIBS) - AC_LANG_POP([C]) -]) diff --git a/m4/input.m4 b/m4/input.m4 index 0255f879e..4a1462bbe 100644 --- a/m4/input.m4 +++ b/m4/input.m4 @@ -80,9 +80,9 @@ AC_DEFUN([XINE_INPUT_PLUGINS], [ [AS_HELP_STRING([--with-external-dvdnav], [use external dvdnav library (not recommended)])], [], [with_external_dvdnav=no]) if test x"$with_external_dvdnav" != x"no"; then - AM_PATH_DVDNAV([0.1.9], - [AC_DEFINE([HAVE_DVDNAV], 1, [Define this if you have a suitable version of libdvdnav])], - [AC_MSG_RESULT([*** no usable version of libdvdnav found, using internal copy ***])]) + ACX_PACKAGE_CHECK([DVDNAV], [0.1.9], [dvdnav-config], + [AC_DEFINE([HAVE_DVDNAV], 1, [Define this if you have a suitable version of libdvdnav])], + [AC_MSG_RESULT([*** no usable version of libdvdnav found, using internal copy ***])]) else AC_MSG_RESULT([Using included DVDNAV support]) fi diff --git a/m4/libfame.m4 b/m4/libfame.m4 deleted file mode 100644 index 5fc34cc56..000000000 --- a/m4/libfame.m4 +++ /dev/null @@ -1,183 +0,0 @@ -dnl AM_PATH_LIBFAME([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for libfame, and define LIBFAME_CFLAGS and LIBFAME_LIBS -dnl Vivien Chappelier 12/11/00 -dnl stolen from ORBit autoconf -dnl -AC_DEFUN([AM_PATH_LIBFAME], -[dnl -dnl Get the cflags and libraries from the libfame-config script -dnl -AC_ARG_WITH(libfame-prefix, AS_HELP_STRING([--with-libfame-prefix=DIR], [prefix where libfame is installed (optional)]), - libfame_config_prefix="$withval", libfame_config_prefix="") -AC_ARG_WITH(libfame-exec-prefix, AS_HELP_STRING([--with-libfame-exec-prefix=DIR], [exec prefix where libfame is installed (optional)]), - libfame_config_exec_prefix="$withval", libfame_config_exec_prefix="") -AC_ARG_ENABLE(libfametest, AS_HELP_STRING([--disable-libfametest], [do not try to compile and run a test libfame program]), - enable_libfametest=$enableval, enable_libfametest=yes) - - if test x$libfame_config_exec_prefix != x ; then - libfame_config_args="$libfame_config_args --exec-prefix=$libfame_config_exec_prefix" - if test x${LIBFAME_CONFIG+set} != xset ; then - LIBFAME_CONFIG=$libfame_config_exec_prefix/bin/libfame-config - fi - fi - if test x$libfame_config_prefix != x ; then - libfame_config_args="$libfame_config_args --prefix=$libfame_config_prefix" - if test x${LIBFAME_CONFIG+set} != xset ; then - LIBFAME_CONFIG=$libfame_config_prefix/bin/libfame-config - fi - fi - - AC_PATH_TOOL(LIBFAME_CONFIG, libfame-config, no) - min_libfame_version=ifelse([$1], , 0.9.0, $1) - AC_MSG_CHECKING(for libfame - version >= $min_libfame_version) - no_libfame="" - if test "$LIBFAME_CONFIG" = "no" ; then - no_libfame=yes - else - LIBFAME_CFLAGS=`$LIBFAME_CONFIG $libfame_config_args --cflags` - LIBFAME_LIBS=`$LIBFAME_CONFIG $libfame_config_args --libs` - libfame_config_major_version=`$LIBFAME_CONFIG $libfame_config_args --version | \ - sed -e 's,[[^0-9.]],,g' -e 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - libfame_config_minor_version=`$LIBFAME_CONFIG $libfame_config_args --version | \ - sed -e 's,[[^0-9.]],,g' -e 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - libfame_config_micro_version=`$LIBFAME_CONFIG $libfame_config_args --version | \ - sed -e 's,[[^0-9.]],,g' -e 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_libfametest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $LIBFAME_CFLAGS" - LIBS="$LIBFAME_LIBS $LIBS" -dnl -dnl Now check if the installed LIBFAME is sufficiently new. (Also sanity -dnl checks the results of libfame-config to some extent -dnl - rm -f conf.libfametest - AC_TRY_RUN([ -#include -#include -#include - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.libfametest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = strdup("$min_libfame_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_libfame_version"); - exit(1); - } - - if ((libfame_major_version != $libfame_config_major_version) || - (libfame_minor_version != $libfame_config_minor_version) || - (libfame_micro_version != $libfame_config_micro_version)) - { - printf("\n*** 'libfame-config --version' returned %d.%d.%d, but Libfame (%d.%d.%d)\n", - $libfame_config_major_version, $libfame_config_minor_version, $libfame_config_micro_version, - libfame_major_version, libfame_minor_version, libfame_micro_version); - printf ("*** was found! If libfame-config was correct, then it is best\n"); - printf ("*** to remove the old version of libfame. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If libfame-config was wrong, set the environment variable LIBFAME_CONFIG\n"); - printf("*** to point to the correct copy of libfame-config, and remove the file config.cache\n"); - printf("*** before re-running configure\n"); - } -#if defined (LIBFAME_MAJOR_VERSION) && defined (LIBFAME_MINOR_VERSION) && defined (LIBFAME_MICRO_VERSION) - else if ((libfame_major_version != LIBFAME_MAJOR_VERSION) || - (libfame_minor_version != LIBFAME_MINOR_VERSION) || - (libfame_micro_version != LIBFAME_MICRO_VERSION)) - { - printf("*** libfame header files (version %d.%d.%d) do not match\n", - LIBFAME_MAJOR_VERSION, LIBFAME_MINOR_VERSION, LIBFAME_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - libfame_major_version, libfame_minor_version, libfame_micro_version); - } -#endif /* defined (LIBFAME_MAJOR_VERSION) ... */ - else - { - if ((libfame_major_version > major) || - ((libfame_major_version == major) && (libfame_minor_version > minor)) || - ((libfame_major_version == major) && (libfame_minor_version == minor) && (libfame_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of libfame (%d.%d.%d) was found.\n", - libfame_major_version, libfame_minor_version, libfame_micro_version); - printf("*** You need a version of libfame newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** libfame is always available from http://www-eleves.enst-bretagne.fr/~chappeli/fame\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the libfame-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of libfame, but you can also set the LIBFAME_CONFIG environment to point to the\n"); - printf("*** correct copy of libfame-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_libfame=yes, - AC_TRY_LINK([ -#include -#include -], [ return 0; ],, no_libfame=yes)) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_libfame" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$LIBFAME_CONFIG" = "no" ; then - echo "*** The libfame-config script installed by libfame could not be found" - echo "*** If libfame was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the LIBFAME_CONFIG environment variable to the" - echo "*** full path to libfame-config." - else - if test -f conf.libfametest ; then - : - else - echo "*** Could not run libfame test program, checking why..." - CFLAGS="$CFLAGS $LIBFAME_CFLAGS" - LIBS="$LIBS $LIBFAME_LIBS" - AC_TRY_LINK([ -#include -#include -], [ return ((libfame_major_version) || (libfame_minor_version) || (libfame_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding libfame or finding the wrong" - echo "*** version of LIBFAME. If it is not finding libfame, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" - echo "***" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means libfame was incorrectly installed" - echo "*** or that you have moved libfame since it was installed. In the latter case, you" - echo "*** may want to edit the libfame-config script: $LIBFAME_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - ifelse([$3], , :, [$3]) - fi - - AC_SUBST(LIBFAME_CFLAGS) - AC_SUBST(LIBFAME_LIBS) - rm -f conf.libfametest -]) diff --git a/m4/package.m4 b/m4/package.m4 new file mode 100644 index 000000000..764f70d45 --- /dev/null +++ b/m4/package.m4 @@ -0,0 +1,72 @@ +dnl _ACX_VERSION_PARSE(version) +AC_DEFUN([_ACX_VERSION_PARSE], [`echo $1 | perl -e 'my $v = <>; chomp $v; +my @v = split(" ", $v); $v = $v[$#v]; $v =~ s/[^0-9.].*$//; @v = split (/\./, $v); +push @v, 0 while $#v < 2; print $v[0] * 10000 + $v[1] * 100 + $v[2], "\n"'`]) + +dnl ACX_VERSION_CHECK(required, actual) +AC_DEFUN([ACX_VERSION_CHECK], [ + required_version=ifelse([$1], , [0.0.0], [$1]) + required_version_parsed=_ACX_VERSION_PARSE([$required_version]) + actual_version=ifelse([$2], , [0.0.0], [$2]) + actual_version_parsed=_ACX_VERSION_PARSE([$actual_version]) + if test $required_version_parsed -ge $actual_version_parsed; then + ifelse([$3], , [:], [$3]) + else + ifelse([$4], , [:], [$4]) + fi +]) + +AC_DEFUN([ASX_TR_LOWER], [m4_translit([[$1]], [ABCDEFGHIJKLMNOPQRSTUVWXYZ], [abcdefghijklmnopqrstuvwxyz])]) + +dnl ACX_PACKAGE_CHECK(VARIABLE-PREFIX, MINIMUM-VERSION, CONFIG-SCRIPT, +dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +AC_DEFUN([ACX_PACKAGE_CHECK], [ + AC_ARG_VAR([$1][_CONFIG], [Full path to $3]) + AC_ARG_WITH(ASX_TR_LOWER([$1][-prefix]), + [AS_HELP_STRING(ASX_TR_LOWER([--with-][$1][-prefix])[=PATH], [prefix where $3 is installed (optional)])], + [package_config_prefix="$withval"], [package_config_prefix=""]) + AC_ARG_WITH(ASX_TR_LOWER([$1][-exec-prefix]), + [AS_HELP_STRING(ASX_TR_LOWER([--with-][$1][-exec-prefix])[=PATH], [exec prefix where $3 is installed (optional)])], + [package_config_exec_prefix="$withval"], [package_config_exec_prefix=""]) + package_config_args="" + if test x"$package_config_exec_prefix" != x""; then + package_config_args="$package_config_args --exec-prefix=$package_config_exec_prefix" + test x"${[$1][_CONFIG]+set}" != x"set" && [$1][_CONFIG]="$package_config_exec_prefix/bin/$3" + fi + if test x"$package_config_prefix" != x""; then + package_config_args="$package_config_args --prefix=$package_config_prefix" + test x"${[$1][_CONFIG]+set}" != x"set" && [$1][_CONFIG]="$package_config_prefix/bin/$3" + fi + + min_package_version=ifelse([$2], , [0.0.0], [$2]) + AC_PATH_TOOL([[$1][_CONFIG]], [$3], [no]) + AC_MSG_CHECKING([for $1 version >= $min_package_version]) + if test x"$[$1][_CONFIG]" = x"no"; then + AC_MSG_RESULT([unknown]) + AC_MSG_NOTICE([The $3 script installed by $1 could not be found. +*** If $1 was installed in PREFIX, make sure PREFIX/bin is in your path, or +*** set the $1][_CONFIG environment variable to the full path to the program.]) + else + [$1][_CFLAGS]="`$[$1][_CONFIG] $package_config_args --cflags`" + [$1][_LIBS]="`$[$1][_CONFIG] $package_config_args --libs`" + [$1][_VERSION]="`$[$1][_CONFIG] $package_config_args --version`" + ACX_VERSION_CHECK([$min_package_version], [$[$1][_VERSION]], + [package_version_ok=yes; AC_MSG_RESULT([yes -- $[$1][_VERSION]])], + [[$1][_CFLAGS]="" [$1][_LIBS]=""; AC_MSG_RESULT([no -- $[$1][_VERSION]]) + AC_MSG_NOTICE([If you have already installed a sufficiently new version, +*** this error probably means that the wrong copy of the $3 +*** shell script is being found. The easiest way to fix this is to remove the +*** old version, but you can also set the $1][_CONFIG environment +*** variable to point to the correct copy. In this case, you will have to +*** modify your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf +*** so that the correct libraries are found at run-time.])]) + fi + + if test x"$package_version_ok" = x"yes"; then + ifelse([$4], , [:], [$4]) + else + ifelse([$5], , [:], [$5]) + fi + AC_SUBST([$1][_CFLAGS]) + AC_SUBST([$1][_LIBS]) +]) diff --git a/m4/summary.m4 b/m4/summary.m4 index 71c556c98..c99153674 100644 --- a/m4/summary.m4 +++ b/m4/summary.m4 @@ -267,7 +267,7 @@ AC_DEFUN([XINE_LIB_SUMMARY], [ echo " - xcb-xv (XVideo using XCB)" fi fi - if test "x$no_aalib" != "xyes"; then + if test "x$have_aalib" = "xyes"; then echo " - aa (Ascii ART)" fi if test "x$have_caca" = "xyes"; then @@ -326,7 +326,7 @@ AC_DEFUN([XINE_LIB_SUMMARY], [ dnl Audio plugins echo " * audio driver plugins:" test x"$have_alsa" = x"yes" && echo " - alsa (ALSA - Advanced Linux Sound Architecture)" - test x"$with_arts" != x"no" && echo " - arts (aRts - KDE soundserver)" + test x"$have_arts" = x"yes" && echo " - arts (aRts - KDE soundserver)" test x"$have_coreaudio" = x"yes" && echo " - CoreAudio (Mac OS X audio driver)" test x"$have_directx" = x"yes" && echo " - directx (DirectX audio driver)" test x"$have_esound" = x"yes" && echo " - esd (Enlightened Sound Daemon)" diff --git a/m4/video_out.m4 b/m4/video_out.m4 index 07f080b22..4a6bc431b 100644 --- a/m4/video_out.m4 +++ b/m4/video_out.m4 @@ -57,15 +57,17 @@ AC_DEFUN([XINE_VIDEO_OUT_PLUGINS], [ dnl Ascii-Art - dnl REVISIT: FIX AM_PATH_AALIB AC_ARG_ENABLE([aalib], [AS_HELP_STRING([--enable-aalib], [enable support for AALIB])], [test x"$enableval" != x"no" && enable_aalib="yes"], [test $default_enable_aalib = disable && enable_aalib="no"]) if test x"$enable_aalib" != x"no"; then - AM_PATH_AALIB([1.4], [], [AC_MSG_RESULT([*** All of AALIB dependent parts will be disabled ***])]) + ACX_PACKAGE_CHECK([AALIB], [1.4], [aalib-config], [have_aalib=yes], [have_aalib=no]) + if test x"$enable_aalib" = x"yes" && test x"$have_aalib" != x"yes"; then + AC_MSG_ERROR([aalib support requested, but aalib not found]) + fi fi - AM_CONDITIONAL([ENABLE_AA], [test x"$no_aalib" != x"yes"]) + AM_CONDITIONAL([ENABLE_AA], [test x"$have_aalib" = x"yes"]) dnl Color AsCii Art @@ -131,8 +133,8 @@ AC_DEFUN([XINE_VIDEO_OUT_PLUGINS], [ if test x"$have_libfame" = x"yes"; then have_encoder=yes AC_DEFINE([HAVE_LIBFAME], 1, [Define this if you have libfame mpeg encoder installed (fame.sf.net)]) - AM_PATH_LIBFAME([0.8.10], - [AC_DEFINE([HAVE_NEW_LIBFAME], 1, [Define this if you have libfame 0.8.10 or above])]) + ACX_PACKAGE_CHECK([LIBFAME], [0.8.10], [libfame-config], + [AC_DEFINE([HAVE_NEW_LIBFAME], 1, [Define this if you have libfame 0.8.10 or above])]) fi AC_CHECK_LIB([rte], [rte_init], [AC_CHECK_HEADERS([rte.h], [have_librte=yes], [have_librte=no])], [have_librte=no]) -- cgit v1.2.3