~ubuntu-branches/ubuntu/feisty/basilisk2/feisty

« back to all changes in this revision

Viewing changes to src/Unix/m4/esd.m4

  • Committer: Bazaar Package Importer
  • Author(s): Jonas Smedegaard
  • Date: 2005-07-30 20:42:20 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20050730204220-1nl1cg2jkjvy63ry
Tags: 0.9.20050730-1
* New upstream CVS snapshot.
* Build-depend on virtual libsdl-dev (not libsdl1.2-dev).
* Invoke init rules also on clean (to separate better from official
  builds).
* Update URL of upstream source in debian/copyright.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Configure paths for ESD
 
2
# Manish Singh    98-9-30
 
3
# stolen back from Frank Belew
 
4
# stolen from Manish Singh
 
5
# Shamelessly stolen from Owen Taylor
 
6
 
 
7
dnl AM_PATH_ESD([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
 
8
dnl Test for ESD, and define ESD_CFLAGS and ESD_LIBS
 
9
dnl
 
10
AC_DEFUN([AM_PATH_ESD],
 
11
[dnl 
 
12
dnl Get the cflags and libraries from the esd-config script
 
13
dnl
 
14
AC_ARG_WITH(esd-prefix,[  --with-esd-prefix=PFX   Prefix where ESD is installed (optional)],
 
15
            esd_prefix="$withval", esd_prefix="")
 
16
AC_ARG_WITH(esd-exec-prefix,[  --with-esd-exec-prefix=PFX Exec prefix where ESD is installed (optional)],
 
17
            esd_exec_prefix="$withval", esd_exec_prefix="")
 
18
AC_ARG_ENABLE(esdtest, [  --disable-esdtest       Do not try to compile and run a test ESD program],
 
19
                    , enable_esdtest=yes)
 
20
 
 
21
  if test x$esd_exec_prefix != x ; then
 
22
     esd_args="$esd_args --exec-prefix=$esd_exec_prefix"
 
23
     if test x${ESD_CONFIG+set} != xset ; then
 
24
        ESD_CONFIG=$esd_exec_prefix/bin/esd-config
 
25
     fi
 
26
  fi
 
27
  if test x$esd_prefix != x ; then
 
28
     esd_args="$esd_args --prefix=$esd_prefix"
 
29
     if test x${ESD_CONFIG+set} != xset ; then
 
30
        ESD_CONFIG=$esd_prefix/bin/esd-config
 
31
     fi
 
32
  fi
 
33
 
 
34
  AC_PATH_PROG(ESD_CONFIG, esd-config, no)
 
35
  min_esd_version=ifelse([$1], ,0.2.7,$1)
 
36
  AC_MSG_CHECKING(for ESD - version >= $min_esd_version)
 
37
  no_esd=""
 
38
  if test "$ESD_CONFIG" = "no" ; then
 
39
    no_esd=yes
 
40
  else
 
41
    AC_LANG_SAVE
 
42
    AC_LANG_C
 
43
    ESD_CFLAGS=`$ESD_CONFIG $esdconf_args --cflags`
 
44
    ESD_LIBS=`$ESD_CONFIG $esdconf_args --libs`
 
45
 
 
46
    esd_major_version=`$ESD_CONFIG $esd_args --version | \
 
47
           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
 
48
    esd_minor_version=`$ESD_CONFIG $esd_args --version | \
 
49
           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
 
50
    esd_micro_version=`$ESD_CONFIG $esd_config_args --version | \
 
51
           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
 
52
    if test "x$enable_esdtest" = "xyes" ; then
 
53
      ac_save_CFLAGS="$CFLAGS"
 
54
      ac_save_LIBS="$LIBS"
 
55
      CFLAGS="$CFLAGS $ESD_CFLAGS"
 
56
      LIBS="$LIBS $ESD_LIBS"
 
57
dnl
 
58
dnl Now check if the installed ESD is sufficiently new. (Also sanity
 
59
dnl checks the results of esd-config to some extent
 
60
dnl
 
61
      rm -f conf.esdtest
 
62
      AC_TRY_RUN([
 
63
#include <stdio.h>
 
64
#include <stdlib.h>
 
65
#include <string.h>
 
66
#include <esd.h>
 
67
 
 
68
char*
 
69
my_strdup (char *str)
 
70
{
 
71
  char *new_str;
 
72
  
 
73
  if (str)
 
74
    {
 
75
      new_str = malloc ((strlen (str) + 1) * sizeof(char));
 
76
      strcpy (new_str, str);
 
77
    }
 
78
  else
 
79
    new_str = NULL;
 
80
  
 
81
  return new_str;
 
82
}
 
83
 
 
84
int main ()
 
85
{
 
86
  int major, minor, micro;
 
87
  char *tmp_version;
 
88
 
 
89
  system ("touch conf.esdtest");
 
90
 
 
91
  /* HP/UX 9 (%@#!) writes to sscanf strings */
 
92
  tmp_version = my_strdup("$min_esd_version");
 
93
  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
 
94
     printf("%s, bad version string\n", "$min_esd_version");
 
95
     exit(1);
 
96
   }
 
97
 
 
98
   if (($esd_major_version > major) ||
 
99
      (($esd_major_version == major) && ($esd_minor_version > minor)) ||
 
100
      (($esd_major_version == major) && ($esd_minor_version == minor) && ($esd_micro_version >= micro)))
 
101
    {
 
102
      return 0;
 
103
    }
 
104
  else
 
105
    {
 
106
      printf("\n*** 'esd-config --version' returned %d.%d.%d, but the minimum version\n", $esd_major_version, $esd_minor_version, $esd_micro_version);
 
107
      printf("*** of ESD required is %d.%d.%d. If esd-config is correct, then it is\n", major, minor, micro);
 
108
      printf("*** best to upgrade to the required version.\n");
 
109
      printf("*** If esd-config was wrong, set the environment variable ESD_CONFIG\n");
 
110
      printf("*** to point to the correct copy of esd-config, and remove the file\n");
 
111
      printf("*** config.cache before re-running configure\n");
 
112
      return 1;
 
113
    }
 
114
}
 
115
 
 
116
],, no_esd=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
 
117
       CFLAGS="$ac_save_CFLAGS"
 
118
       LIBS="$ac_save_LIBS"
 
119
       AC_LANG_RESTORE
 
120
     fi
 
121
  fi
 
122
  if test "x$no_esd" = x ; then
 
123
     AC_MSG_RESULT(yes)
 
124
     ifelse([$2], , :, [$2])     
 
125
  else
 
126
     AC_MSG_RESULT(no)
 
127
     if test "$ESD_CONFIG" = "no" ; then
 
128
       echo "*** The esd-config script installed by ESD could not be found"
 
129
       echo "*** If ESD was installed in PREFIX, make sure PREFIX/bin is in"
 
130
       echo "*** your path, or set the ESD_CONFIG environment variable to the"
 
131
       echo "*** full path to esd-config."
 
132
     else
 
133
       if test -f conf.esdtest ; then
 
134
        :
 
135
       else
 
136
          echo "*** Could not run ESD test program, checking why..."
 
137
          CFLAGS="$CFLAGS $ESD_CFLAGS"
 
138
          LIBS="$LIBS $ESD_LIBS"
 
139
          AC_LANG_SAVE
 
140
          AC_LANG_C
 
141
          AC_TRY_LINK([
 
142
#include <stdio.h>
 
143
#include <esd.h>
 
144
],      [ return 0; ],
 
145
        [ echo "*** The test program compiled, but did not run. This usually means"
 
146
          echo "*** that the run-time linker is not finding ESD or finding the wrong"
 
147
          echo "*** version of ESD. If it is not finding ESD, you'll need to set your"
 
148
          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
 
149
          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
 
150
          echo "*** is required on your system"
 
151
          echo "***"
 
152
          echo "*** If you have an old version installed, it is best to remove it, although"
 
153
          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
 
154
        [ echo "*** The test program failed to compile or link. See the file config.log for the"
 
155
          echo "*** exact error that occured. This usually means ESD was incorrectly installed"
 
156
          echo "*** or that you have moved ESD since it was installed. In the latter case, you"
 
157
          echo "*** may want to edit the esd-config script: $ESD_CONFIG" ])
 
158
          CFLAGS="$ac_save_CFLAGS"
 
159
          LIBS="$ac_save_LIBS"
 
160
          AC_LANG_RESTORE
 
161
       fi
 
162
     fi
 
163
     ESD_CFLAGS=""
 
164
     ESD_LIBS=""
 
165
     ifelse([$3], , :, [$3])
 
166
  fi
 
167
  AC_SUBST(ESD_CFLAGS)
 
168
  AC_SUBST(ESD_LIBS)
 
169
  rm -f conf.esdtest
 
170
])
 
171
 
 
172
dnl AM_ESD_SUPPORTS_MULTIPLE_RECORD([ACTION-IF-SUPPORTS [, ACTION-IF-NOT-SUPPORTS]])
 
173
dnl Test, whether esd supports multiple recording clients (version >=0.2.21)
 
174
dnl
 
175
AC_DEFUN([AM_ESD_SUPPORTS_MULTIPLE_RECORD],
 
176
[dnl
 
177
  AC_MSG_NOTICE([whether installed esd version supports multiple recording clients])
 
178
  ac_save_ESD_CFLAGS="$ESD_CFLAGS"
 
179
  ac_save_ESD_LIBS="$ESD_LIBS"
 
180
  AM_PATH_ESD(0.2.21,
 
181
    ifelse([$1], , [
 
182
      AM_CONDITIONAL(ESD_SUPPORTS_MULTIPLE_RECORD, true)
 
183
      AC_DEFINE(ESD_SUPPORTS_MULTIPLE_RECORD, 1,
 
184
        [Define if you have esound with support of multiple recording clients.])],
 
185
    [$1]),
 
186
    ifelse([$2], , [AM_CONDITIONAL(ESD_SUPPORTS_MULTIPLE_RECORD, false)], [$2])
 
187
    if test "x$ac_save_ESD_CFLAGS" != x ; then
 
188
       ESD_CFLAGS="$ac_save_ESD_CFLAGS"
 
189
    fi
 
190
    if test "x$ac_save_ESD_LIBS" != x ; then
 
191
       ESD_LIBS="$ac_save_ESD_LIBS"
 
192
    fi
 
193
  )
 
194
])