source: trunk/third/audiofile/audiofile.m4 @ 15366

Revision 15366, 6.4 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r15365, which included commits to RCS files with non-trunk default branches.
Line 
1# Configure paths for AUDIOFILE
2# Bertrand Guiheneuf 98-10-21
3# stolen from esd.m4 in esound :
4# Manish Singh    98-9-30
5# stolen back from Frank Belew
6# stolen from Manish Singh
7# Shamelessly stolen from Owen Taylor
8
9dnl AM_PATH_AUDIOFILE([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
10dnl Test for AUDIOFILE, and define AUDIOFILE_CFLAGS and AUDIOFILE_LIBS
11dnl
12AC_DEFUN(AM_PATH_AUDIOFILE,
13[dnl
14dnl Get the cflags and libraries from the audiofile-config script
15dnl
16AC_ARG_WITH(audiofile-prefix,[  --with-audiofile-prefix=PFX   Prefix where AUDIOFILE is installed (optional)],
17            audiofile_prefix="$withval", audiofile_prefix="")
18AC_ARG_WITH(audiofile-exec-prefix,[  --with-audiofile-exec-prefix=PFX Exec prefix where AUDIOFILE is installed (optional)],
19            audiofile_exec_prefix="$withval", audiofile_exec_prefix="")
20AC_ARG_ENABLE(audiofiletest, [  --disable-audiofiletest       Do not try to compile and run a test AUDIOFILE program],
21                    , enable_audiofiletest=yes)
22
23  if test x$audiofile_exec_prefix != x ; then
24     audiofile_args="$audiofile_args --exec-prefix=$audiofile_exec_prefix"
25     if test x${AUDIOFILE_CONFIG+set} != xset ; then
26        AUDIOFILE_CONFIG=$audiofile_exec_prefix/bin/audiofile-config
27     fi
28  fi
29  if test x$audiofile_prefix != x ; then
30     audiofile_args="$audiofile_args --prefix=$audiofile_prefix"
31     if test x${AUDIOFILE_CONFIG+set} != xset ; then
32        AUDIOFILE_CONFIG=$audiofile_prefix/bin/audiofile-config
33     fi
34  fi
35
36  AC_PATH_PROG(AUDIOFILE_CONFIG, audiofile-config, no)
37  min_audiofile_version=ifelse([$1], ,0.2.5,$1)
38  AC_MSG_CHECKING(for AUDIOFILE - version >= $min_audiofile_version)
39  no_audiofile=""
40  if test "$AUDIOFILE_CONFIG" = "no" ; then
41    no_audiofile=yes
42  else
43    AUDIOFILE_LIBS=`$AUDIOFILE_CONFIG $audiofileconf_args --libs`
44    AUDIOFILE_CFLAGS=`$AUDIOFILE_CONFIG $audiofileconf_args --cflags`
45    audiofile_major_version=`$AUDIOFILE_CONFIG $audiofile_args --version | \
46           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
47    audiofile_minor_version=`$AUDIOFILE_CONFIG $audiofile_args --version | \
48           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
49    audiofile_micro_version=`$AUDIOFILE_CONFIG $audiofile_config_args --version | \
50           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
51    if test "x$enable_audiofiletest" = "xyes" ; then
52      ac_save_CFLAGS="$CFLAGS"
53      ac_save_LIBS="$LIBS"
54      CFLAGS="$CFLAGS $AUDIOFILE_CFLAGS"
55      LIBS="$LIBS $AUDIOFILE_LIBS"
56dnl
57dnl Now check if the installed AUDIOFILE is sufficiently new. (Also sanity
58dnl checks the results of audiofile-config to some extent
59dnl
60      rm -f conf.audiofiletest
61      AC_TRY_RUN([
62#include <stdio.h>
63#include <stdlib.h>
64#include <string.h>
65#include <audiofile.h>
66
67char*
68my_strdup (char *str)
69{
70  char *new_str;
71 
72  if (str)
73    {
74      new_str = malloc ((strlen (str) + 1) * sizeof(char));
75      strcpy (new_str, str);
76    }
77  else
78    new_str = NULL;
79 
80  return new_str;
81}
82
83int main ()
84{
85  int major, minor, micro;
86  char *tmp_version;
87
88  system ("touch conf.audiofiletest");
89
90  /* HP/UX 9 (%@#!) writes to sscanf strings */
91  tmp_version = my_strdup("$min_audiofile_version");
92  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
93     printf("%s, bad version string\n", "$min_audiofile_version");
94     exit(1);
95   }
96
97   if (($audiofile_major_version > major) ||
98      (($audiofile_major_version == major) && ($audiofile_minor_version > minor)) ||
99      (($audiofile_major_version == major) && ($audiofile_minor_version == minor) && ($audiofile_micro_version >= micro)))
100    {
101      return 0;
102    }
103  else
104    {
105      printf("\n*** 'audiofile-config --version' returned %d.%d.%d, but the minimum version\n", $audiofile_major_version, $audiofile_minor_version, $audiofile_micro_version);
106      printf("*** of AUDIOFILE required is %d.%d.%d. If audiofile-config is correct, then it is\n", major, minor, micro);
107      printf("*** best to upgrade to the required version.\n");
108      printf("*** If audiofile-config was wrong, set the environment variable AUDIOFILE_CONFIG\n");
109      printf("*** to point to the correct copy of audiofile-config, and remove the file\n");
110      printf("*** config.cache before re-running configure\n");
111      return 1;
112    }
113}
114
115],, no_audiofile=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
116       CFLAGS="$ac_save_CFLAGS"
117       LIBS="$ac_save_LIBS"
118     fi
119  fi
120  if test "x$no_audiofile" = x ; then
121     AC_MSG_RESULT(yes)
122     ifelse([$2], , :, [$2])     
123  else
124     AC_MSG_RESULT(no)
125     if test "$AUDIOFILE_CONFIG" = "no" ; then
126       echo "*** The audiofile-config script installed by AUDIOFILE could not be found"
127       echo "*** If AUDIOFILE was installed in PREFIX, make sure PREFIX/bin is in"
128       echo "*** your path, or set the AUDIOFILE_CONFIG environment variable to the"
129       echo "*** full path to audiofile-config."
130     else
131       if test -f conf.audiofiletest ; then
132        :
133       else
134          echo "*** Could not run AUDIOFILE test program, checking why..."
135          CFLAGS="$CFLAGS $AUDIOFILE_CFLAGS"
136          LIBS="$LIBS $AUDIOFILE_LIBS"
137          AC_TRY_LINK([
138#include <stdio.h>
139#include <audiofile.h>
140],      [ return 0; ],
141        [ echo "*** The test program compiled, but did not run. This usually means"
142          echo "*** that the run-time linker is not finding AUDIOFILE or finding the wrong"
143          echo "*** version of AUDIOFILE. If it is not finding AUDIOFILE, you'll need to set your"
144          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
145          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
146          echo "*** is required on your system"
147          echo "***"
148          echo "*** If you have an old version installed, it is best to remove it, although"
149          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
150        [ echo "*** The test program failed to compile or link. See the file config.log for the"
151          echo "*** exact error that occured. This usually means AUDIOFILE was incorrectly installed"
152          echo "*** or that you have moved AUDIOFILE since it was installed. In the latter case, you"
153          echo "*** may want to edit the audiofile-config script: $AUDIOFILE_CONFIG" ])
154          CFLAGS="$ac_save_CFLAGS"
155          LIBS="$ac_save_LIBS"
156       fi
157     fi
158     AUDIOFILE_CFLAGS=""
159     AUDIOFILE_LIBS=""
160     ifelse([$3], , :, [$3])
161  fi
162  AC_SUBST(AUDIOFILE_CFLAGS)
163  AC_SUBST(AUDIOFILE_LIBS)
164  rm -f conf.audiofiletest
165])
Note: See TracBrowser for help on using the repository browser.