diff options
-rw-r--r-- | m4/README | 3 | ||||
-rw-r--r-- | m4/aalib.m4 | 169 | ||||
-rw-r--r-- | m4/as-arts.m4 | 194 | ||||
-rw-r--r-- | m4/as-liblame.m4 | 50 | ||||
-rw-r--r-- | m4/gst-alsa.m4 | 144 | ||||
-rw-r--r-- | m4/gst-artsc.m4 | 30 | ||||
-rw-r--r-- | m4/gst-feature.m4 | 159 | ||||
-rw-r--r-- | m4/gst-sdl.m4 | 176 | ||||
-rw-r--r-- | m4/gst-sid.m4 | 133 | ||||
-rw-r--r-- | m4/libglade.m4 | 49 | ||||
-rw-r--r-- | m4/libmikmod.m4 | 207 | ||||
-rw-r--r-- | m4/vorbis.m4 | 100 | ||||
-rw-r--r-- | m4/xmms.m4 | 148 |
13 files changed, 1562 insertions, 0 deletions
diff --git a/m4/README b/m4/README new file mode 100644 index 00000000..f0445985 --- /dev/null +++ b/m4/README @@ -0,0 +1,3 @@ +All aclocal .m4 files we need are put here and cat'd to acinclude.m4 in +the source root. Official ones (taken from the relevant devel packages) +are named as-is, unofficial ones (or changed ones) get a gst-prefix. diff --git a/m4/aalib.m4 b/m4/aalib.m4 new file mode 100644 index 00000000..c40b8db8 --- /dev/null +++ b/m4/aalib.m4 @@ -0,0 +1,169 @@ +# Configure paths for AALIB +# Jan Hubicka 4/22/2001 +# stolen from Sam Lantinga 9/21/99 +# stolen from Manish Singh +# stolen back from Frank Belew +# stolen from Manish Singh +# Shamelessly stolen from Owen Taylor + +dnl AM_PATH_AALIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for AALIB, and define AALIB_CFLAGS and AALIB_LIBS +dnl +AC_DEFUN(AM_PATH_AALIB, +[dnl +dnl Get the cflags and libraries from the aalib-config script +dnl +AC_ARG_WITH(aalib-prefix,[ --with-aalib-prefix=PFX Prefix where AALIB is installed (optional)], + aalib_prefix="$withval", aalib_prefix="") +AC_ARG_WITH(aalib-exec-prefix,[ --with-aalib-exec-prefix=PFX Exec prefix where AALIB is installed (optional)], + aalib_exec_prefix="$withval", aalib_exec_prefix="") +AC_ARG_ENABLE(aalibtest, [ --disable-aalibtest Do not try to compile and run a test AALIB program], + , enable_aalibtest=yes) + + if test x$aalib_exec_prefix != x ; then + aalib_args="$aalib_args --exec-prefix=$aalib_exec_prefix" + if test x${AALIB_CONFIG+set} != xset ; then + AALIB_CONFIG=$aalib_exec_prefix/bin/aalib-config + fi + fi + if test x$aalib_prefix != x ; then + aalib_args="$aalib_args --prefix=$aalib_prefix" + if test x${AALIB_CONFIG+set} != xset ; then + AALIB_CONFIG=$aalib_prefix/bin/aalib-config + fi + fi + + AC_PATH_PROG(AALIB_CONFIG, aalib-config, no) + min_aalib_version=ifelse([$1], ,0.11.0,$1) + AC_MSG_CHECKING(for AALIB - version >= $min_aalib_version) + no_aalib="" + if test "$AALIB_CONFIG" = "no" ; then + no_aalib=yes + else + AALIB_CFLAGS=`$AALIB_CONFIG $aalibconf_args --cflags` + AALIB_LIBS=`$AALIB_CONFIG $aalibconf_args --libs` + + aalib_major_version=`$AALIB_CONFIG $aalib_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + aalib_minor_version=`$AALIB_CONFIG $aalib_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + aalib_micro_version=`$AALIB_CONFIG $aalib_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test "x$enable_aalibtest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $AALIB_CFLAGS" + LIBS="$LIBS $AALIB_LIBS" +dnl +dnl Now check if the installed AALIB is sufficiently new. (Also sanity +dnl checks the results of aalib-config to some extent +dnl + rm -f conf.aalibtest + AC_TRY_RUN([ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "aalib.h" + +char* +my_strdup (char *str) +{ + char *new_str; + + if (str) + { + new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } + else + new_str = NULL; + + return new_str; +} + +int main (int argc, char *argv[]) +{ + int major, minor, micro; + char *tmp_version; + + /* This hangs on some systems (?) + system ("touch conf.aalibtest"); + */ + { FILE *fp = fopen("conf.aalibtest", "a"); if ( fp ) fclose(fp); } + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_aalib_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_aalib_version"); + exit(1); + } + + if (($aalib_major_version > major) || + (($aalib_major_version == major) && ($aalib_minor_version > minor)) || + (($aalib_major_version == major) && ($aalib_minor_version == minor) && ($aalib_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** 'aalib-config --version' returned %d.%d.%d, but the minimum version\n", $aalib_major_version, $aalib_minor_version, $aalib_micro_version); + printf("*** of AALIB required is %d.%d.%d. If aalib-config is correct, then it is\n", major, minor, micro); + printf("*** best to upgrade to the required version.\n"); + printf("*** If aalib-config was wrong, set the environment variable AALIB_CONFIG\n"); + printf("*** to point to the correct copy of aalib-config, and remove the file\n"); + printf("*** config.cache before re-running configure\n"); + return 1; + } +} + +],, no_aalib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + 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 script installed by AALIB could not be found" + echo "*** If AALIB was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the AALIB_CONFIG environment variable to the" + echo "*** full path to aalib-config." + 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_TRY_LINK([ +#include <stdio.h> +#include "AALIB.h" +], [ return 0; ], + [ 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 "*** 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. In the latter case, you" + echo "*** may want to edit the aalib-config script: $AALIB_CONFIG" ]) + 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) + rm -f conf.aalibtest +]) diff --git a/m4/as-arts.m4 b/m4/as-arts.m4 new file mode 100644 index 00000000..29256e9a --- /dev/null +++ b/m4/as-arts.m4 @@ -0,0 +1,194 @@ +# This is an example arts .m4 adapted and scrubbed by thomasvs + +# Configure paths for ARTS +# Philip Stadermann 2001-06-21 +# stolen from esd.m4 + +dnl AM_PATH_ARTS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for ARTS, and define ARTS_CXXFLAGS and ARTS_LIBS +dnl +AC_DEFUN([AM_PATH_ARTS], +[dnl +dnl Get the cflags and libraries from the artsc-config script +dnl +AC_ARG_WITH(arts-prefix,[ --with-arts-prefix=PFX Prefix where ARTS is installed (optional)], + arts_prefix="$withval", arts_prefix="") +AC_ARG_WITH(arts-exec-prefix,[ --with-arts-exec-prefix=PFX Exec prefix where ARTS is installed (optional)], + arts_exec_prefix="$withval", arts_exec_prefix="") +AC_ARG_ENABLE(artstest, [ --disable-artstest Do not try to compile and run a test ARTS program], + , enable_artstest=yes) + + if test x$arts_exec_prefix != x ; then + arts_args="$arts_args --exec-prefix=$arts_exec_prefix" + if test x${ARTS_CONFIG+set} != xset ; then + ARTS_CONFIG=$arts_exec_prefix/bin/artsc-config + fi + fi + if test x$arts_prefix != x ; then + arts_args="$arts_args --prefix=$arts_prefix" + if test x${ARTS_CONFIG+set} != xset ; then + ARTS_CONFIG=$arts_prefix/bin/artsc-config + fi + fi + + AC_PATH_PROG(ARTS_CONFIG, artsc-config, no) + min_arts_version=ifelse([$1], ,0.9.5,$1) + AC_MSG_CHECKING(for ARTS artsc - version >= $min_arts_version) + no_arts="" + if test "$ARTS_CONFIG" = "no" ; then + no_arts=yes + else + # FIXME : thomas added this sed to get arts path instead of artsc + ARTS_CXXFLAGS=`$ARTS_CONFIG $artsconf_args --cflags | sed 's/artsc$/arts/'` + ARTS_LIBS=`$ARTS_CONFIG $artsconf_args --libs | sed 's/artsc$/arts/'` + + 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/'` + if test "x$enable_artstest" = "xyes" ; then + dnl ac_save_CXXFLAGS="$CXXFLAGS" + dnl ac_save_LIBS="$LIBS" + dnl CFLAGS="$CFLAGS $ARTS_CXXFLAGS" + dnl LIBS="$LIBS $ARTS_LIBS" +dnl +dnl Now check if the installed ARTS is sufficiently new. (Also sanity +dnl checks the results of artsc-config to some extent) +dnl + +dnl a*s: to successfully compile the C++ test app, we need to +dnl first make sure we're going to compile it as C++ (with AC_LANG_PUSH), +dnl then add the CFLAGS and CLIBS of arts which we just discovered to the +dnl C++ compilation and linking flags. +dnl We also need to clean up after the test; this means using AC_LANG_POP +dnl and restoring the CPPFLAGS and LDFLAGS from the saved values we take +dnl here. + +dnl ask nicely for C++ compilation + AC_LANG_PUSH(C++) + +dnl save compilation and link flags and make our own + ac_save_CPPFLAGS="$CPPFLAGS" + ac_save_LDFLAGS="$LDFLAGS" + AC_SUBST(CPPFLAGS,"$CPPFLAGS $ARTS_CXXFLAGS") + AC_SUBST(LDFLAGS,"$LDFLAGS $ARTS_CLIBS") + + rm -f conf.artstest + AC_TRY_RUN([ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <artsflow.h> + +char* +my_strdup (char *str) +{ + char *new_str; + + if (str) + { + // thomas: the original test did not have the typecast + new_str = (char *) malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } + else + new_str = NULL; + + return new_str; +} + +int main () +{ + int major, minor, micro; + char *tmp_version; + + system ("touch conf.artstest"); + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_arts_version"); + if (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; + } + else + { + 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; + } +} + +],, no_arts=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + dnl CFLAGS="$ac_save_CFLAGS" + dnl LIBS="$ac_save_LIBS" + dnl a*s this is were we clean up after the test + AC_LANG_POP(C++) + CXXFLAGS="$ac_save_CXXFLAGS" + LDFLAGS="$ac_save_LDFLAGS" + dnl a*s we are sure that these are right, so we make them active + AC_SUBST(CXXFLAGS,"$CXXFLAGS") + AC_SUBST(LDFLAGS,"$LDFLAGS") + fi + fi + if test "x$no_arts" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + if test "$ARTS_CONFIG" = "no" ; then + echo "*** The artsc-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 artsc-config." + else + if test -f conf.artstest ; then + : + else + echo "*** Could not run ARTS test program, checking why..." + CFLAGS="$CFLAGS $ARTS_CFLAGS" + LIBS="$LIBS $ARTS_LIBS" + AC_TRY_LINK([ +#include <stdio.h> +#include <artsflow.h> +], [ 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 "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. 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 artsc-config script: $ARTS_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + ARTS_CFLAGS="" + ARTS_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(ARTS_CFLAGS) + AC_SUBST(ARTS_LIBS) + rm -f conf.artstest +]) + +dnl release C++ question + diff --git a/m4/as-liblame.m4 b/m4/as-liblame.m4 new file mode 100644 index 00000000..40722a29 --- /dev/null +++ b/m4/as-liblame.m4 @@ -0,0 +1,50 @@ +# CFLAGS and library paths for LIBLAME +# taken from Autostar Sandbox, http://autostars.sourceforge.net/ +# inspired by xmms.m4 + +dnl Usage: +dnl AM_PATH_LIBLAME([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl FIXME: version checking does not work currently +dnl +dnl Example: +dnl AM_PATH_LIBLAME(3.89, , AC_MSG_ERROR([*** LIBLAME >= 3.89 not installed)) +dnl +dnl Defines LIBLAME_LIBS +dnl FIXME: should define LIBLAME_VERSION +dnl + +AC_DEFUN(AM_PATH_LIBLAME, +[ + dnl check for the library + AC_CHECK_LIB(mp3lame, lame_init, HAVE_LIBLAME=yes, HAVE_LIBLAME=no, -lm) + dnl check if lame.h is available in the standard location or not + HAVE_LAME_H_STD=no + AC_CHECK_HEADER(lame.h, HAVE_LAME_H_STD=no, :) + AC_CHECK_HEADER(lame/lame.h, HAVE_LAME_H_STD=yes, :) + AC_MSG_CHECKING(for lame.h in right location) + if test "x$HAVE_LAME_H_STD" = "xyes"; then + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + HAVE_LIBLAME=no + if test "x$HAVE_LAME_H_STD"="xno"; then + AC_MSG_WARN(lame.h found in include dir,) + AC_MSG_WARN( while it should be in it's own lame/ dir !) + fi + fi + + dnl now do the actual "do we have it ?" test + if test "x$HAVE_LIBLAME" = "xyes"; then + LIBLAME_LIBS="-lmp3lame -lm" + dnl execute what we have to because it's found + ifelse([$2], , :, [$2]) + else + LIBLAME_LIBS="" + dnl execute what we have to because it's not found + ifelse([$3], , :, [$3]) + fi + + dnl make variables available + AC_SUBST(LIBLAME_LIBS) + AC_SUBST(HAVE_LIBLAME) +]) diff --git a/m4/gst-alsa.m4 b/m4/gst-alsa.m4 new file mode 100644 index 00000000..0ca35ef3 --- /dev/null +++ b/m4/gst-alsa.m4 @@ -0,0 +1,144 @@ +dnl Configure Paths for Alsa +dnl Some modifications by Richard Boulton <richard-alsa@tartarus.org> +dnl Christopher Lansdown <lansdoct@cs.alfred.edu> +dnl Jaroslav Kysela <perex@suse.cz> +dnl Last modification: 07/01/2001 +dnl AM_PATH_ALSA([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for libasound, and define ALSA_CFLAGS and ALSA_LIBS as appropriate. +dnl enables arguments --with-alsa-prefix= +dnl --with-alsa-enc-prefix= +dnl --disable-alsatest (this has no effect, as yet) +dnl +dnl For backwards compatibility, if ACTION_IF_NOT_FOUND is not specified, +dnl and the alsa libraries are not found, a fatal AC_MSG_ERROR() will result. +dnl +AC_DEFUN(AM_PATH_ALSA, +[dnl Save the original CFLAGS, LDFLAGS, and LIBS +alsa_save_CFLAGS="$CFLAGS" +alsa_save_LDFLAGS="$LDFLAGS" +alsa_save_LIBS="$LIBS" +alsa_found=yes + +dnl +dnl Get the cflags and libraries for alsa +dnl +AC_ARG_WITH(alsa-prefix, +[ --with-alsa-prefix=PFX Prefix where Alsa library is installed(optional)], +[alsa_prefix="$withval"], [alsa_prefix=""]) + +AC_ARG_WITH(alsa-inc-prefix, +[ --with-alsa-inc-prefix=PFX Prefix where include libraries are (optional)], +[alsa_inc_prefix="$withval"], [alsa_inc_prefix=""]) + +dnl FIXME: this is not yet implemented +AC_ARG_ENABLE(alsatest, +[ --disable-alsatest Do not try to compile and run a test Alsa program], +[enable_alsatest=no], +[enable_alsatest=yes]) + +dnl Add any special include directories +AC_MSG_CHECKING(for ALSA CFLAGS) +if test "$alsa_inc_prefix" != "" ; then + ALSA_CFLAGS="$ALSA_CFLAGS -I$alsa_inc_prefix" + CFLAGS="$CFLAGS -I$alsa_inc_prefix" +fi +AC_MSG_RESULT($ALSA_CFLAGS) + +dnl add any special lib dirs +AC_MSG_CHECKING(for ALSA LDFLAGS) +if test "$alsa_prefix" != "" ; then + ALSA_LIBS="$ALSA_LIBS -L$alsa_prefix" + LDFLAGS="$LDFLAGS $ALSA_LIBS" +fi + +dnl add the alsa library +ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl" +LIBS=`echo $LIBS | sed 's/-lm//'` +LIBS=`echo $LIBS | sed 's/-ldl//'` +LIBS=`echo $LIBS | sed 's/ //'` +LIBS="$ALSA_LIBS $LIBS" +AC_MSG_RESULT($ALSA_LIBS) + +dnl Check for a working version of libasound that is of the right version. +min_alsa_version=ifelse([$1], ,0.1.1,$1) +AC_MSG_CHECKING(for libasound headers version >= $min_alsa_version) +no_alsa="" + alsa_min_major_version=`echo $min_alsa_version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + alsa_min_minor_version=`echo $min_alsa_version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + alsa_min_micro_version=`echo $min_alsa_version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + +AC_LANG_SAVE +AC_LANG_C +AC_TRY_COMPILE([ +#include <sys/asoundlib.h> +], [ +void main(void) +{ +/* ensure backward compatibility */ +#if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR) +#define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR +#endif +#if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR) +#define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR +#endif +#if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR) +#define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR +#endif + +# if(SND_LIB_MAJOR > $alsa_min_major_version) + exit(0); +# else +# if(SND_LIB_MAJOR < $alsa_min_major_version) +# error not present +# endif + +# if(SND_LIB_MINOR > $alsa_min_minor_version) + exit(0); +# else +# if(SND_LIB_MINOR < $alsa_min_minor_version) +# error not present +# endif + +# if(SND_LIB_SUBMINOR < $alsa_min_micro_version) +# error not present +# endif +# endif +# endif +exit(0); +} +], + [AC_MSG_RESULT(found.)], + [AC_MSG_RESULT(not present.) + ifelse([$3], , [AC_MSG_ERROR(Sufficiently new version of libasound not found.)]) + alsa_found=no] +) +AC_LANG_RESTORE + +dnl Now that we know that we have the right version, let's see if we have the library and not just the headers. +AC_CHECK_LIB([asound], [snd_seq_create_event],, + [ifelse([$3], , [AC_MSG_ERROR(No linkable libasound was found.)]) + alsa_found=no] +) + +if test "x$alsa_found" = "xyes" ; then + ifelse([$2], , :, [$2]) + LIBS=`echo $LIBS | sed 's/-lasound//g'` + LIBS=`echo $LIBS | sed 's/ //'` + LIBS="-lasound $LIBS" +fi +if test "x$alsa_found" = "xno" ; then + ifelse([$3], , :, [$3]) + CFLAGS="$alsa_save_CFLAGS" + LDFLAGS="$alsa_save_LDFLAGS" + LIBS="$alsa_save_LIBS" + ALSA_CFLAGS="" + ALSA_LIBS="" +fi + +dnl That should be it. Now just export out symbols: +AC_SUBST(ALSA_CFLAGS) +AC_SUBST(ALSA_LIBS) +]) diff --git a/m4/gst-artsc.m4 b/m4/gst-artsc.m4 new file mode 100644 index 00000000..c0f683df --- /dev/null +++ b/m4/gst-artsc.m4 @@ -0,0 +1,30 @@ +dnl Perform a check for existence of ARTSC +dnl Richard Boulton <richard-alsa@tartarus.org> +dnl Last modification: 26/06/2001 +dnl GST_CHECK_FEATURE(FEATURE-NAME, FEATURE-DESCRIPTION, +dnl DEPENDENT-PLUGINS, TEST-FOR-FEATURE) +dnl +dnl This check was written for GStreamer: it should be renamed and checked +dnl for portability if you decide to use it elsewhere. +dnl +AC_DEFUN(GST_CHECK_ARTSC, +[ + AC_PATH_PROG(ARTSC_CONFIG, artsc-config, no) + if test x$ARTSC_CONFIG = xno; then + if test x$ARTSC_CONFIG = xno; then + AC_MSG_WARN([Couldn't find artsc-config]) + HAVE_ARTSC=no + ARTSC_LIBS= + ARTSC_CFLAGS= + else + ARTSC_LIBS=`artsc-config --libs` + ARTSC_CFLAGS=`artsc-config --cflags` + dnl AC_CHECK_HEADER uses CPPFLAGS, but not CFLAGS. + dnl FIXME: Ensure only suitable flags result from artsc-config --cflags + CPPFLAGS="$CPPFLAGS $ARTSC_CFLAGS" + AC_CHECK_HEADER(artsc.h, HAVE_ARTSC=yes, HAVE_ARTSC=no) + fi + AC_SUBST(ARTSC_LIBS) + AC_SUBST(ARTSC_CFLAGS) +]) + diff --git a/m4/gst-feature.m4 b/m4/gst-feature.m4 new file mode 100644 index 00000000..cc37f018 --- /dev/null +++ b/m4/gst-feature.m4 @@ -0,0 +1,159 @@ +dnl Perform a check for a feature for GStreamer +dnl Richard Boulton <richard-alsa@tartarus.org> +dnl Thomas Vander Stichele <thomas@apestaart.org> added useful stuff +dnl Last modification: 25/06/2001 +dnl GST_CHECK_FEATURE(FEATURE-NAME, FEATURE-DESCRIPTION, +dnl DEPENDENT-PLUGINS, TEST-FOR-FEATURE, +dnl DISABLE-BY-DEFAULT, ACTION-IF-USE, ACTION-IF-NOTUSE) +dnl +dnl This macro adds a command line argument to enable the user to enable +dnl or disable a feature, and if the feature is enabled, performs a supplied +dnl test to check if the feature is available. +dnl +dnl The test should define HAVE_<FEATURE-NAME> to "yes" or "no" depending +dnl on whether the feature is available. +dnl +dnl The macro will set USE_<FEATURE-NAME> to "yes" or "no" depending on +dnl whether the feature is to be used. +dnl Thomas changed this, so that when USE_<FEATURE-NAME> was already set +dnl to no, then it stays that way. +dnl +dnl The macro will call AM_CONDITIONAL(USE_<<FEATURE-NAME>, ...) to allow +dnl the feature to control what is built in Makefile.ams. If you want +dnl additional actions resulting from the test, you can add them with the +dnl ACTION-IF-USE and ACTION-IF-NOTUSE parameters. +dnl +dnl FEATURE-NAME is the name of the feature, and should be in +dnl purely upper case characters. +dnl FEATURE-DESCRIPTION is used to describe the feature in help text for +dnl the command line argument. +dnl DEPENDENT-PLUGINS lists any plugins which depend on this feature. +dnl TEST-FOR-FEATURE is a test which sets HAVE_<FEATURE-NAME> to "yes" +dnl or "no" depending on whether the feature is +dnl available. +dnl DISABLE-BY-DEFAULT if "disabled", the feature is disabled by default, +dnl if any other value, the feature is enabled by default. +dnl ACTION-IF-USE any extra actions to perform if the feature is to be +dnl used. +dnl ACTION-IF-NOTUSE any extra actions to perform if the feature is not to +dnl be used. +dnl +dnl +dnl thomas : +dnl we also added a history. +dnl GST_PLUGINS_YES will contain all plugins to be built +dnl that were checked through GST_CHECK_FEATURE +dnl GST_PLUGINS_NO will contain those that won't be built + +AC_DEFUN(GST_CHECK_FEATURE, +[dnl +builtin(define, [gst_endisable], ifelse($5, [disabled], [enable], [disable]))dnl +dnl if it is set to NO, then don't even consider it for building +NOUSE= +if test "x$USE_[$1]" = "xno"; then + NOUSE="yes" +fi +AC_ARG_ENABLE(translit([$1], A-Z, a-z), + [ ]builtin(format, --%-26s gst_endisable %s, gst_endisable-translit([$1], A-Z, a-z), [$2]ifelse([$3],,,: [$3])), + [ case "${enableval}" in + yes) USE_[$1]=yes;; + no) USE_[$1]=no;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;; + esac], + [ USE_$1=]ifelse($5, [disabled], [no], [yes])) dnl DEFAULT + +dnl *** set it back to no if it was preset to no +if test "x$NOUSE" = "xyes"; then + USE_[$1]="no" + AC_MSG_WARN(*** $3 pre-configured not to be built) +fi +NOUSE= + +dnl *** If it's enabled + +if test x$USE_[$1] = xyes; then + gst_check_save_LIBS=$LIBS + gst_check_save_LDFLAGS=$LDFLAGS + gst_check_save_CFLAGS=$CFLAGS + gst_check_save_CPPFLAGS=$CPPFLAGS + gst_check_save_CXXFLAGS=$CXXFLAGS + HAVE_[$1]=no + $4 + LIBS=$gst_check_save_LIBS + LDFLAGS=$gst_check_save_LDFLAGS + CFLAGS=$gst_check_save_CFLAGS + CPPFLAGS=$gst_check_save_CPPFLAGS + CXXFLAGS=$gst_check_save_CXXFLAGS + + dnl If it isn't found, unset USE_[$1] + if test x$HAVE_[$1] = xno; then + USE_[$1]=no + fi +fi +dnl *** Warn if it's disabled or not found +if test x$USE_[$1] = xyes; then + ifelse([$6], , :, [$6]) + GST_PLUGINS_YES="$GST_PLUGINS_YES \n\t[$3]" +else + ifelse([$3], , :, [AC_MSG_WARN( +***** NOTE: These plugins won't be built: [$3] +)]) + GST_PLUGINS_NO="$GST_PLUGINS_NO \n\t[$3]" + ifelse([$7], , :, [$7]) +fi +dnl *** Define the conditional as appropriate +AM_CONDITIONAL(USE_[$1], test x$USE_[$1] = xyes) +]) + +dnl Use a -config program which accepts --cflags and --libs parameters +dnl to set *_CFLAGS and *_LIBS and check existence of a feature. +dnl Richard Boulton <richard-alsa@tartarus.org> +dnl Last modification: 26/06/2001 +dnl GST_CHECK_CONFIGPROG(FEATURE-NAME, CONFIG-PROG-FILENAME, MODULES) +dnl +dnl This check was written for GStreamer: it should be renamed and checked +dnl for portability if you decide to use it elsewhere. +dnl +AC_DEFUN(GST_CHECK_CONFIGPROG, +[ + AC_PATH_PROG([$1]_CONFIG, [$2], no) + if test x$[$1]_CONFIG = xno; then + [$1]_LIBS= + [$1]_CFLAGS= + HAVE_[$1]=no + else + [$1]_LIBS=`[$2] --libs [$3]` + [$1]_CFLAGS=`[$2] --cflags [$3]` + HAVE_[$1]=yes + fi + AC_SUBST([$1]_LIBS) + AC_SUBST([$1]_CFLAGS) +]) + +dnl Use AC_CHECK_LIB and AC_CHECK_HEADER to do both tests at once +dnl sets HAVE_module if we have it +dnl Richard Boulton <richard-alsa@tartarus.org> +dnl Last modification: 26/06/2001 +dnl GST_CHECK_LIBHEADER(FEATURE-NAME, LIB NAME, LIB FUNCTION, EXTRA LD FLAGS, +dnl HEADER NAME, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) +dnl +dnl This check was written for GStreamer: it should be renamed and checked +dnl for portability if you decide to use it elsewhere. +dnl +AC_DEFUN(GST_CHECK_LIBHEADER, +[ + AC_CHECK_LIB([$2], [$3], HAVE_[$1]=yes, HAVE_[$1]=no,[$4]) + if test "x$HAVE_[$1]" = "xyes"; then + AC_CHECK_HEADER([$5], :, HAVE_[$1]=no) + if test "x$HAVE_[$1]" = "xyes"; then + dnl execute what needs to be + ifelse([$6], , :, [$6]) + else + ifelse([$7], , :, [$7]) + fi + else + AC_MSG_WARN([$1] not found) + fi + AC_SUBST(HAVE_[$1]) +] +) diff --git a/m4/gst-sdl.m4 b/m4/gst-sdl.m4 new file mode 100644 index 00000000..a62b33c2 --- /dev/null +++ b/m4/gst-sdl.m4 @@ -0,0 +1,176 @@ +# stuff for SDL, hope this helps if we put it here + +# Configure paths for SDL +# Sam Lantinga 9/21/99 +# stolen from Manish Singh +# stolen back from Frank Belew +# stolen from Manish Singh +# Shamelessly stolen from Owen Taylor + +dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS +dnl +AC_DEFUN(AM_PATH_SDL, +[dnl +dnl Get the cflags and libraries from the sdl-config script +dnl +AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], + sdl_prefix="$withval", sdl_prefix="") +AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], + sdl_exec_prefix="$withval", sdl_exec_prefix="") +AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], + , enable_sdltest=yes) + + if test x$sdl_exec_prefix != x ; then + sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config + fi + fi + if test x$sdl_prefix != x ; then + sdl_args="$sdl_args --prefix=$sdl_prefix" + if test x${SDL_CONFIG+set} != xset ; then + SDL_CONFIG=$sdl_prefix/bin/sdl-config + fi + fi + + AC_PATH_PROG(SDL_CONFIG, sdl-config, no) + min_sdl_version=ifelse([$1], ,0.11.0,$1) + AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) + no_sdl="" + if test "$SDL_CONFIG" = "no" ; then + no_sdl=yes + else + SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` + SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` + + sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test "x$enable_sdltest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" +dnl +dnl Now check if the installed SDL is sufficiently new. (Also sanity +dnl checks the results of sdl-config to some extent +dnl + rm -f conf.sdltest + AC_TRY_RUN([ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "SDL.h" + +char* +my_strdup (char *str) +{ + char *new_str; + + if (str) + { + new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } + else + new_str = NULL; + + return new_str; +} + +int main (int argc, char *argv[]) +{ + int major, minor, micro; + char *tmp_version; + + /* This hangs on some systems (?) + system ("touch conf.sdltest"); + */ + { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_sdl_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_sdl_version"); + exit(1); + } + + if (($sdl_major_version > major) || + (($sdl_major_version == major) && ($sdl_minor_version > minor)) || + (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); + printf("*** best to upgrade to the required version.\n"); + printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); + printf("*** to point to the correct copy of sdl-config, and remove the file\n"); + printf("*** config.cache before re-running configure\n"); + return 1; + } +} + +],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_sdl" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + if test "$SDL_CONFIG" = "no" ; then + echo "*** The sdl-config script installed by SDL could not be found" + echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the SDL_CONFIG environment variable to the" + echo "*** full path to sdl-config." + else + if test -f conf.sdltest ; then + : + else + echo "*** Could not run SDL test program, checking why..." + CFLAGS="$CFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS" + AC_TRY_LINK([ +#include <stdio.h> +#include "SDL.h" + +int main(int argc, char *argv[]) +{ return 0; } +#undef main +#define main K_and_R_C_main +], [ return 0; ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding SDL or finding the wrong" + echo "*** version of SDL. If it is not finding SDL, 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 "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means SDL was incorrectly installed" + echo "*** or that you have moved SDL since it was installed. In the latter case, you" + echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + SDL_CFLAGS="" + SDL_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(SDL_CFLAGS) + AC_SUBST(SDL_LIBS) + rm -f conf.sdltest +]) + diff --git a/m4/gst-sid.m4 b/m4/gst-sid.m4 new file mode 100644 index 00000000..fa93086c --- /dev/null +++ b/m4/gst-sid.m4 @@ -0,0 +1,133 @@ +dnl FIXME: the longest macro for one of the small plugins ? +dnl there must be a way to make this simpler ! +dnl sidplay stuff (taken from xmms) +AC_DEFUN(AC_FIND_FILE, +[ + $3=NO + for i in $2; do + for j in $1; do + if test -r "$i/$j"; then + $3=$i + break 2 + fi + done + done +]) + +AC_DEFUN(AC_PATH_LIBSIDPLAY, +[ +AC_MSG_CHECKING([for SIDPLAY includes and library]) +ac_sidplay_cflags=NO +ac_sidplay_library=NO +sidplay_cflags="" +sidplay_library="" +AC_ARG_WITH(sidplay-includes, + [ --with-sidplay-includes=DIR + where the sidplay includes are located], + [ac_sidplay_cflags="$withval" + ]) + +AC_ARG_WITH(sidplay-library, + [ --with-sidplay-library=DIR + where the sidplay library is installed], + [ac_sidplay_library="$withval" + ]) + +if test "$ac_sidplay_cflags" = NO || test "$ac_sidplay_library" = NO; then + +#search common locations + +AC_CACHE_VAL(ac_cv_have_sidplay, +[ +sidplay_incdirs="$ac_sidplay_cflags /usr/include /usr/local/include /usr/lib/sidplay/include /usr/local/lib/sidplay/include" +AC_FIND_FILE(sidplay/sidtune.h,$sidplay_incdirs,sidplay_foundincdir) +sidplay_libdirs="$ac_sidplay_library /usr/lib /usr/local/lib /usr/lib/sidplay /usr/local/lib/sidplay" +AC_FIND_FILE(libsidplay.so libsidplay.so.1 libsidplay.so.1.36 libsidplay.so.1.37,$sidplay_libdirs,sidplay_foundlibdir) +ac_sidplay_library=$sidplay_foundlibdir + +if test "$ac_sidplay_cflags" = NO || test "$ac_sidplay_library" = NO; then + ac_cv_have_sidplay="have_sidplay=no" + ac_sidplay_notfound="" + if test "$ac_sidplay_cflags" = NO; then + if test "$ac_sidplay_library" = NO; then + ac_sidplay_notfound="(headers and library)"; + else + ac_sidplay_notfound="(headers)"; + fi + else + ac_sidplay_notfound="(library)"; + fi + eval "$ac_cv_have_sidplay" + AC_MSG_RESULT([$have_sidplay]) +else + have_sidplay=yes +fi + +]) dnl AC_CACHE_VAL(ac_cv_have_sidplay, +else + have_sidplay=yes +fi dnl if (have_to_search) + +eval "$ac_cv_have_sidplay" +if test "$have_sidplay" != yes; then + AC_MSG_RESULT([$have_sidplay]); +else + ac_cv_have_sidplay="have_sidplay=yes \ + ac_sidplay_cflags=$ac_sidplay_cflags +ac_sidplay_library=$ac_sidplay_library" + AC_MSG_RESULT([library $ac_sidplay_library, headers $ac_sidplay_cflags]) + + sidplay_library=$ac_sidplay_library + sidplay_cflags=$ac_sidplay_cflags + SIDPLAY_LIBS="-L$sidplay_library -lsidplay" + all_libraries="$SIDPLAY_LIBS $all_libraries" + SIDPLAY_CFLAGS="-I$sidplay_cflags" + all_includes="$SIDPLAY_CFLAGS $all_includes" +fi + +dnl Test compilation. + +AC_MSG_CHECKING([whether -lsidplay works]) +ac_cxxflags_safe=$CXXFLAGS +ac_ldflags_safe=$LDFLAGS +ac_libs_safe=$LIBS + +CXXFLAGS="$CXXFLAGS -I$sidplay_cflags" +LDFLAGS="$LDFLAGS -L$sidplay_library" +LIBS="-lsidplay" + +AC_CACHE_VAL(ac_cv_sidplay_works, +[ + + AC_LANG_CPLUSPLUS + AC_TRY_RUN([ + #include <sidplay/player.h> + + int main() + { + sidTune tune = sidTune(0); + } + ], + ac_cv_sidplay_works="yes", + ac_cv_sidplay_works="no", + ac_cv_sidplay_works="no") + AC_LANG_C +]) + +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +AC_MSG_RESULT([$ac_cv_sidplay_works]) + + have_sidplay=no +fi + +AC_SUBST(SIDPLAY_CFLAGS) +AC_SUBST(SIDPLAY_LIBS) + +AC_SUBST(sidplay_library) +AC_SUBST(sidplay_cflags) + +]) + diff --git a/m4/libglade.m4 b/m4/libglade.m4 new file mode 100644 index 00000000..f3f76da6 --- /dev/null +++ b/m4/libglade.m4 @@ -0,0 +1,49 @@ +# a macro to get the libs/cflags for libglade +# serial 1 + +dnl AM_PATH_LIBGLADE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]) +dnl Test to see if libglade is installed, and define LIBGLADE_CFLAGS, LIBS +dnl +AC_DEFUN(AM_PATH_LIBGLADE, +[dnl +dnl Get the cflags and libraries from the libglade-config script +dnl +AC_ARG_WITH(libglade-config, +[ --with-libglade-config=LIBGLADE_CONFIG Location of libglade-config], +LIBGLADE_CONFIG="$withval") + +module_args= +for module in . $3; do + case "$module" in + gnome) + module_args="$module_args gnome" + ;; + bonobo) + module_args="$module_args bonobo" + ;; + gnomedb) + module_args="$module_args gnomedb" + ;; + esac +done + +AC_PATH_PROG(LIBGLADE_CONFIG, libglade-config, no) +AC_MSG_CHECKING(for libglade) +if test "$LIBGLADE_CONFIG" = "no"; then + AC_MSG_RESULT(no) + ifelse([$2], , :, [$2]) +else + if $LIBGLADE_CONFIG --check $module_args; then + LIBGLADE_CFLAGS=`$LIBGLADE_CONFIG --cflags $module_args` + LIBGLADE_LIBS=`$LIBGLADE_CONFIG --libs $module_args` + AC_MSG_RESULT(yes) + ifelse([$1], , :, [$1]) + else + echo "*** libglade was not compiled with support for $module_args" 1>&2 + AC_MSG_RESULT(no) + ifelse([$2], , :, [$2]) + fi +fi +AC_SUBST(LIBGLADE_CFLAGS) +AC_SUBST(LIBGLADE_LIBS) +])
\ No newline at end of file diff --git a/m4/libmikmod.m4 b/m4/libmikmod.m4 new file mode 100644 index 00000000..a87f6572 --- /dev/null +++ b/m4/libmikmod.m4 @@ -0,0 +1,207 @@ +# Configure paths for libmikmod +# +# Derived from glib.m4 (Owen Taylor 97-11-3) +# Improved by Chris Butler +# + +dnl AM_PATH_LIBMIKMOD([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) +dnl Test for libmikmod, and define LIBMIKMOD_CFLAGS, LIBMIKMOD_LIBS and +dnl LIBMIKMOD_LDADD +dnl +AC_DEFUN(AM_PATH_LIBMIKMOD, +[dnl +dnl Get the cflags and libraries from the libmikmod-config script +dnl +AC_ARG_WITH(libmikmod-prefix,[ --with-libmikmod-prefix=PFX Prefix where libmikmod is installed (optional)], + libmikmod_config_prefix="$withval", libmikmod_config_prefix="") +AC_ARG_WITH(libmikmod-exec-prefix,[ --with-libmikmod-exec-prefix=PFX Exec prefix where libmikmod is installed (optional)], + libmikmod_config_exec_prefix="$withval", libmikmod_config_exec_prefix="") +AC_ARG_ENABLE(libmikmodtest, [ --disable-libmikmodtest Do not try to compile and run a test libmikmod program], + , enable_libmikmodtest=yes) + + if test x$libmikmod_config_exec_prefix != x ; then + libmikmod_config_args="$libmikmod_config_args --exec-prefix=$libmikmod_config_exec_prefix" + if test x${LIBMIKMOD_CONFIG+set} != xset ; then + LIBMIKMOD_CONFIG=$libmikmod_config_exec_prefix/bin/libmikmod-config + fi + fi + if test x$libmikmod_config_prefix != x ; then + libmikmod_config_args="$libmikmod_config_args --prefix=$libmikmod_config_prefix" + if test x${LIBMIKMOD_CONFIG+set} != xset ; then + LIBMIKMOD_CONFIG=$libmikmod_config_prefix/bin/libmikmod-config + fi + fi + + AC_PATH_PROG(LIBMIKMOD_CONFIG, libmikmod-config, no) + min_libmikmod_version=ifelse([$1], ,3.1.5,$1) + AC_MSG_CHECKING(for libmikmod - version >= $min_libmikmod_version) + no_libmikmod="" + if test "$LIBMIKMOD_CONFIG" = "no" ; then + no_libmikmod=yes + else + LIBMIKMOD_CFLAGS=`$LIBMIKMOD_CONFIG $libmikmod_config_args --cflags` + LIBMIKMOD_LIBS=`$LIBMIKMOD_CONFIG $libmikmod_config_args --libs` + LIBMIKMOD_LDADD=`$LIBMIKMOD_CONFIG $libmikmod_config_args --ldadd` + libmikmod_config_major_version=`$LIBMIKMOD_CONFIG $libmikmod_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\).*/\1/'` + libmikmod_config_minor_version=`$LIBMIKMOD_CONFIG $libmikmod_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\).*/\2/'` + libmikmod_config_micro_version=`$LIBMIKMOD_CONFIG $libmikmod_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\).*/\3/'` + if test "x$enable_libmikmodtest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + AC_LANG_SAVE + AC_LANG_C + CFLAGS="$CFLAGS $LIBMIKMOD_CFLAGS $LIBMIKMOD_LDADD" + LIBS="$LIBMIKMOD_LIBS $LIBS" +dnl +dnl Now check if the installed libmikmod is sufficiently new. (Also sanity +dnl checks the results of libmikmod-config to some extent +dnl + rm -f conf.mikmodtest + AC_TRY_RUN([ +#include <mikmod.h> +#include <stdio.h> +#include <stdlib.h> + +char* my_strdup (char *str) +{ + char *new_str; + + if (str) { + new_str = malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } else + new_str = NULL; + + return new_str; +} + +int main() +{ + int major,minor,micro; + int libmikmod_major_version,libmikmod_minor_version,libmikmod_micro_version; + char *tmp_version; + + system("touch conf.mikmodtest"); + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = my_strdup("$min_libmikmod_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_libmikmod_version"); + exit(1); + } + + libmikmod_major_version=(MikMod_GetVersion() >> 16) & 255; + libmikmod_minor_version=(MikMod_GetVersion() >> 8) & 255; + libmikmod_micro_version=(MikMod_GetVersion() ) & 255; + + if ((libmikmod_major_version != $libmikmod_config_major_version) || + (libmikmod_minor_version != $libmikmod_config_minor_version) || + (libmikmod_micro_version != $libmikmod_config_micro_version)) + { + printf("\n*** 'libmikmod-config --version' returned %d.%d.%d, but libmikmod (%d.%d.%d)\n", + $libmikmod_config_major_version, $libmikmod_config_minor_version, $libmikmod_config_micro_version, + libmikmod_major_version, libmikmod_minor_version, libmikmod_micro_version); + printf ("*** was found! If libmikmod-config was correct, then it is best\n"); + printf ("*** to remove the old version of libmikmod. 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 libmikmod-config was wrong, set the environment variable LIBMIKMOD_CONFIG\n"); + printf("*** to point to the correct copy of libmikmod-config, and remove the file config.cache\n"); + printf("*** before re-running configure\n"); + } + else if ((libmikmod_major_version != LIBMIKMOD_VERSION_MAJOR) || + (libmikmod_minor_version != LIBMIKMOD_VERSION_MINOR) || + (libmikmod_micro_version != LIBMIKMOD_REVISION)) + { + printf("*** libmikmod header files (version %d.%d.%d) do not match\n", + LIBMIKMOD_VERSION_MAJOR, LIBMIKMOD_VERSION_MINOR, LIBMIKMOD_REVISION); + printf("*** library (version %d.%d.%d)\n", + libmikmod_major_version, libmikmod_minor_version, libmikmod_micro_version); + } + else + { + if ((libmikmod_major_version > major) || + ((libmikmod_major_version == major) && (libmikmod_minor_version > minor)) || + ((libmikmod_major_version == major) && (libmikmod_minor_version == minor) && (libmikmod_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** An old version of libmikmod (%d.%d.%d) was found.\n", + libmikmod_major_version, libmikmod_minor_version, libmikmod_micro_version); + printf("*** You need a version of libmikmod newer than %d.%d.%d.\n", + major, minor, micro); + printf("***\n"); + printf("*** If you have already installed a sufficiently new version, this error\n"); + printf("*** probably means that the wrong copy of the libmikmod-config shell script is\n"); + printf("*** being found. The easiest way to fix this is to remove the old version\n"); + printf("*** of libmikmod, but you can also set the LIBMIKMOD_CONFIG environment to point to the\n"); + printf("*** correct copy of libmikmod-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_libmikmod=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + AC_LANG_RESTORE + fi + fi + if test "x$no_libmikmod" = x ; then + AC_MSG_RESULT([yes, `$LIBMIKMOD_CONFIG --version`]) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + if test "$LIBMIKMOD_CONFIG" = "no" ; then + echo "*** The libmikmod-config script installed by libmikmod could not be found" + echo "*** If libmikmod was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the LIBMIKMOD_CONFIG environment variable to the" + echo "*** full path to libmikmod-config." + else + if test -f conf.mikmodtest ; then + : + else + echo "*** Could not run libmikmod test program, checking why..." + CFLAGS="$CFLAGS $LIBMIKMOD_CFLAGS" + LIBS="$LIBS $LIBMIKMOD_LIBS" + AC_LANG_SAVE + AC_LANG_C + AC_TRY_LINK([ +#include <mikmod.h> +#include <stdio.h> +], [ return (MikMod_GetVersion()!=0); ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding libmikmod or finding the wrong" + echo "*** version of libmikmod. If it is not finding libmikmod, 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 "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means libmikmod was incorrectly installed" + echo "*** or that you have moved libmikmod since it was installed. In the latter case, you" + echo "*** may want to edit the libmikmod-config script: $LIBMIKMOD_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + AC_LANG_RESTORE + fi + fi + LIBMIKMOD_CFLAGS="" + LIBMIKMOD_LIBS="" + LIBMIKMOD_LDADD="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(LIBMIKMOD_CFLAGS) + AC_SUBST(LIBMIKMOD_LIBS) + AC_SUBST(LIBMIKMOD_LDADD) + rm -f conf.mikmodtest +]) diff --git a/m4/vorbis.m4 b/m4/vorbis.m4 new file mode 100644 index 00000000..1c0d8460 --- /dev/null +++ b/m4/vorbis.m4 @@ -0,0 +1,100 @@ +# Configure paths for libvorbis +# Jack Moffitt <jack@icecast.org> 10-21-2000 +# Shamelessly stolen from Owen Taylor and Manish Singh + +dnl AM_PATH_VORBIS([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl Test for libvorbis, and define VORBIS_CFLAGS and VORBIS_LIBS +dnl +AC_DEFUN(AM_PATH_VORBIS, +[dnl +dnl Get the cflags and libraries +dnl +AC_ARG_WITH(vorbis-prefix,[ --with-vorbis-prefix=PFX Prefix where libvorbis is installed (optional)], vorbis_prefix="$withval", vorbis_prefix="") +AC_ARG_ENABLE(vorbistest, [ --disable-vorbistest Do not try to compile and run a test Vorbis program],, enable_vorbistest=yes) + + if test "x$vorbis_prefix" != "xNONE" ; then + vorbis_args="$vorbis_args --prefix=$vorbis_prefix" + VORBIS_CFLAGS="-I$vorbis_prefix/include" + VORBIS_LIBDIR="-L$vorbis_prefix/lib" + elif test "$prefix" != ""; then + vorbis_args="$vorbis_args --prefix=$prefix" + VORBIS_CFLAGS="-I$prefix/include" + VORBIS_LIBDIR="-L$prefix/lib" + fi + + VORBIS_LIBS="$VORBIS_LIBDIR -lvorbis -lm" + VORBISFILE_LIBS="-lvorbisfile" + VORBISENC_LIBS="-lvorbisenc" + + AC_MSG_CHECKING(for Vorbis) + no_vorbis="" + + + if test "x$enable_vorbistest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $VORBIS_CFLAGS" + LIBS="$LIBS $VORBIS_LIBS $OGG_LIBS" +dnl +dnl Now check if the installed Vorbis is sufficiently new. +dnl + rm -f conf.vorbistest + AC_TRY_RUN([ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <vorbis/codec.h> + +int main () +{ + system("touch conf.vorbistest"); + return 0; +} + +],, no_vorbis=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + + if test "x$no_vorbis" = "x" ; then + AC_MSG_RESULT(yes) + ifelse([$1], , :, [$1]) + else + AC_MSG_RESULT(no) + if test -f conf.vorbistest ; then + : + else + echo "*** Could not run Vorbis test program, checking why..." + CFLAGS="$CFLAGS $VORBIS_CFLAGS" + LIBS="$LIBS $VORBIS_LIBS $OGG_LIBS" + AC_TRY_LINK([ +#include <stdio.h> +#include <vorbis/codec.h> +], [ return 0; ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding Vorbis or finding the wrong" + echo "*** version of Vorbis. If it is not finding Vorbis, 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 "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means Vorbis was incorrectly installed" + echo "*** or that you have moved Vorbis since it was installed." ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + VORBIS_CFLAGS="" + VORBIS_LIBS="" + VORBISFILE_LIBS="" + VORBISENC_LIBS="" + ifelse([$2], , :, [$2]) + fi + AC_SUBST(VORBIS_CFLAGS) + AC_SUBST(VORBIS_LIBS) + AC_SUBST(VORBISFILE_LIBS) + AC_SUBST(VORBISENC_LIBS) + rm -f conf.vorbistest +]) diff --git a/m4/xmms.m4 b/m4/xmms.m4 new file mode 100644 index 00000000..6d1489bf --- /dev/null +++ b/m4/xmms.m4 @@ -0,0 +1,148 @@ +# CFLAGS and library paths for XMMS +# written 15 December 1999 by Ben Gertzfield <che@debian.org> + +dnl Usage: +dnl AM_PATH_XMMS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl +dnl Example: +dnl AM_PATH_XMMS(0.9.5.1, , AC_MSG_ERROR([*** XMMS >= 0.9.5.1 not installed - please install first ***])) +dnl +dnl Defines XMMS_CFLAGS, XMMS_LIBS, XMMS_DATA_DIR, XMMS_PLUGIN_DIR, +dnl XMMS_VISUALIZATION_PLUGIN_DIR, XMMS_INPUT_PLUGIN_DIR, +dnl XMMS_OUTPUT_PLUGIN_DIR, XMMS_GENERAL_PLUGIN_DIR, XMMS_EFFECT_PLUGIN_DIR, +dnl and XMMS_VERSION for your plugin pleasure. +dnl + +dnl XMMS_TEST_VERSION(AVAILABLE-VERSION, NEEDED-VERSION [, ACTION-IF-OKAY [, ACTION-IF-NOT-OKAY]]) +AC_DEFUN(XMMS_TEST_VERSION, [ + +# Determine which version number is greater. Prints 2 to stdout if +# the second number is greater, 1 if the first number is greater, +# 0 if the numbers are equal. + +# Written 15 December 1999 by Ben Gertzfield <che@debian.org> +# Revised 15 December 1999 by Jim Monty <monty@primenet.com> + + AC_PROG_AWK + xmms_got_version=[` $AWK ' \ +BEGIN { \ + print vercmp(ARGV[1], ARGV[2]); \ +} \ + \ +function vercmp(ver1, ver2, ver1arr, ver2arr, \ + ver1len, ver2len, \ + ver1int, ver2int, len, i, p) { \ + \ + ver1len = split(ver1, ver1arr, /\./); \ + ver2len = split(ver2, ver2arr, /\./); \ + \ + len = ver1len > ver2len ? ver1len : ver2len; \ + \ + for (i = 1; i <= len; i++) { \ + p = 1000 ^ (len - i); \ + ver1int += ver1arr[i] * p; \ + ver2int += ver2arr[i] * p; \ + } \ + \ + if (ver1int < ver2int) \ + return 2; \ + else if (ver1int > ver2int) \ + return 1; \ + else \ + return 0; \ +}' $1 $2`] + + if test $xmms_got_version -eq 2; then # failure + ifelse([$4], , :, $4) + else # success! + ifelse([$3], , :, $3) + fi +]) + +AC_DEFUN(AM_PATH_XMMS, +[ +AC_ARG_WITH(xmms-prefix,[ --with-xmms-prefix=PFX Prefix where XMMS is installed (optional)], + xmms_config_prefix="$withval", xmms_config_prefix="") +AC_ARG_WITH(xmms-exec-prefix,[ --with-xmms-exec-prefix=PFX Exec prefix where XMMS is installed (optional)], + xmms_config_exec_prefix="$withval", xmms_config_exec_prefix="") + +if test x$xmms_config_exec_prefix != x; then + xmms_config_args="$xmms_config_args --exec-prefix=$xmms_config_exec_prefix" + if test x${XMMS_CONFIG+set} != xset; then + XMMS_CONFIG=$xmms_config_exec_prefix/bin/xmms-config + fi +fi + +if test x$xmms_config_prefix != x; then + xmms_config_args="$xmms_config_args --prefix=$xmms_config_prefix" + if test x${XMMS_CONFIG+set} != xset; then + XMMS_CONFIG=$xmms_config_prefix/bin/xmms-config + fi +fi + +AC_PATH_PROG(XMMS_CONFIG, xmms-config, no) +min_xmms_version=ifelse([$1], ,0.9.5.1, $1) + +if test "$XMMS_CONFIG" = "no"; then + no_xmms=yes +else + XMMS_CFLAGS=`$XMMS_CONFIG $xmms_config_args --cflags` + XMMS_LIBS=`$XMMS_CONFIG $xmms_config_args --libs` + XMMS_VERSION=`$XMMS_CONFIG $xmms_config_args --version` + XMMS_DATA_DIR=`$XMMS_CONFIG $xmms_config_args --data-dir` + XMMS_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --plugin-dir` + XMMS_VISUALIZATION_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args \ + --visualization-plugin-dir` + XMMS_INPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --input-plugin-dir` + XMMS_OUTPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --output-plugin-dir` + XMMS_EFFECT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --effect-plugin-dir` + XMMS_GENERAL_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --general-plugin-dir` + + XMMS_TEST_VERSION($XMMS_VERSION, $min_xmms_version, ,no_xmms=version) +fi + +AC_MSG_CHECKING(for XMMS - version >= $min_xmms_version) + +if test "x$no_xmms" = x; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) +else + AC_MSG_RESULT(no) + + if test "$XMMS_CONFIG" = "no" ; then + echo "*** The xmms-config script installed by XMMS could not be found." + echo "*** If XMMS was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the XMMS_CONFIG environment variable to the" + echo "*** full path to xmms-config." + else + if test "$no_xmms" = "version"; then + echo "*** An old version of XMMS, $XMMS_VERSION, was found." + echo "*** You need a version of XMMS newer than $min_xmms_version." + echo "*** The latest version of XMMS is always available from" + echo "*** http://www.xmms.org/" + echo "***" + + echo "*** If you have already installed a sufficiently new version, this error" + echo "*** probably means that the wrong copy of the xmms-config shell script is" + echo "*** being found. The easiest way to fix this is to remove the old version" + echo "*** of XMMS, but you can also set the XMMS_CONFIG environment to point to the" + echo "*** correct copy of xmms-config. (In this case, you will have to" + echo "*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf" + echo "*** so that the correct libraries are found at run-time)" + fi + fi + XMMS_CFLAGS="" + XMMS_LIBS="" + ifelse([$3], , :, [$3]) +fi +AC_SUBST(XMMS_CFLAGS) +AC_SUBST(XMMS_LIBS) +AC_SUBST(XMMS_VERSION) +AC_SUBST(XMMS_DATA_DIR) +AC_SUBST(XMMS_PLUGIN_DIR) +AC_SUBST(XMMS_VISUALIZATION_PLUGIN_DIR) +AC_SUBST(XMMS_INPUT_PLUGIN_DIR) +AC_SUBST(XMMS_OUTPUT_PLUGIN_DIR) +AC_SUBST(XMMS_GENERAL_PLUGIN_DIR) +AC_SUBST(XMMS_EFFECT_PLUGIN_DIR) +]) |