Move channel buffers from stack to structs so theyt can be reused when mixing with...
[jack_mixer.git] / acinclude.m4
blobde78eb199c35c216b1af77ef5f65cd720563210c
1 # Copyright (C) 2007 Nedko Arnaudov <nedko@arnaudov.name>
2 # This file is distributed under the same terms as the Autoconf macro files.
4 ## this one is commonly used with AM_PATH_PYTHONDIR ...
5 dnl AM_CHECK_PYMOD(MODNAME [,SYMBOL [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]])
6 dnl Check if a module containing a given symbol is visible to python.
7 AC_DEFUN([AM_CHECK_PYMOD],
8 [AC_REQUIRE([AM_PATH_PYTHON])
9 py_mod_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'`
10 AC_MSG_CHECKING(for ifelse([$2],[],,[$2 in ])python module $1)
11 AC_CACHE_VAL(py_cv_mod_$py_mod_var, [
12 ifelse([$2],[], [prog="
13 import sys
14 try:
15         import $1
16 except ImportError:
17         sys.exit(1)
18 except:
19         sys.exit(0)
20 sys.exit(0)"], [prog="
21 import $1
22 $1.$2"])
23 if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC
24   then
25     eval "py_cv_mod_$py_mod_var=yes"
26   else
27     eval "py_cv_mod_$py_mod_var=no"
28   fi
30 py_val=`eval "echo \`echo '$py_cv_mod_'$py_mod_var\`"`
31 if test "x$py_val" != xno; then
32   AC_MSG_RESULT(yes)
33   ifelse([$3], [],, [$3
34 ])dnl
35 else
36   AC_MSG_RESULT(no)
37   ifelse([$4], [],, [$4
38 ])dnl
42 dnl a macro to check for ability to create python extensions
43 dnl  AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
44 dnl function also defines PYTHON_INCLUDES
45 AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
46 [AC_REQUIRE([AM_PATH_PYTHON])
47 AC_MSG_CHECKING(for headers required to compile python extensions)
48 dnl deduce PYTHON_INCLUDES
49 py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
50 py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
51 PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
52 if test "$py_prefix" != "$py_exec_prefix"; then
53   PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
55 AC_SUBST(PYTHON_INCLUDES)
56 dnl check if the headers exist:
57 save_CPPFLAGS="$CPPFLAGS"
58 CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
59 AC_TRY_CPP([#include <Python.h>],dnl
60 [AC_MSG_RESULT(found)
61 $1],dnl
62 [AC_MSG_RESULT(not found)
63 $2])
64 CPPFLAGS="$save_CPPFLAGS"
67 AC_DEFUN([AC_JACK_MIDI_NFRAMES_CHECK], [
68 AC_MSG_CHECKING([whether JACK MIDI functions need nframes parameter])
69 AC_LANG_PUSH(C)
70 AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
71 #include <jack/jack.h>
72 #include <jack/midiport.h>
73 ]], [[
74 jack_midi_event_get(0, 0, 0, 0);
75 ]]), [jackmidi_nframes='yes'], [jackmidi_nframes='no'])
76 AC_MSG_RESULT([$jackmidi_nframes])
77 AC_LANG_POP()
80 AC_DEFUN([AC_PROG_SWIG],[
81         AC_PATH_PROG([SWIG],[swig])
82         if test -z "$SWIG" ; then
83                 AC_MSG_WARN([cannot find 'swig' program. You should look at http://www.swig.org])
84                 SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false'
85         elif test -n "$1" ; then
86                 AC_MSG_CHECKING([for SWIG version])
87                 [swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`]
88                 AC_MSG_RESULT([$swig_version])
89                 if test -n "$swig_version" ; then
90                         # Calculate the required version number components
91                         [required=$1]
92                         [required_major=`echo $required | sed 's/[^0-9].*//'`]
93                         if test -z "$required_major" ; then
94                                 [required_major=0]
95                         fi
96                         [required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
97                         [required_minor=`echo $required | sed 's/[^0-9].*//'`]
98                         if test -z "$required_minor" ; then
99                                 [required_minor=0]
100                         fi
101                         [required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
102                         [required_patch=`echo $required | sed 's/[^0-9].*//'`]
103                         if test -z "$required_patch" ; then
104                                 [required_patch=0]
105                         fi
106                         # Calculate the available version number components
107                         [available=$swig_version]
108                         [available_major=`echo $available | sed 's/[^0-9].*//'`]
109                         if test -z "$available_major" ; then
110                                 [available_major=0]
111                         fi
112                         [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
113                         [available_minor=`echo $available | sed 's/[^0-9].*//'`]
114                         if test -z "$available_minor" ; then
115                                 [available_minor=0]
116                         fi
117                         [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
118                         [available_patch=`echo $available | sed 's/[^0-9].*//'`]
119                         if test -z "$available_patch" ; then
120                                 [available_patch=0]
121                         fi
122                         if test $available_major -ne $required_major \
123                                 -o $available_minor -ne $required_minor \
124                                 -o $available_patch -lt $required_patch ; then
125                                 AC_MSG_WARN([SWIG version >= $1 is required.  You have $swig_version.  You should look at http://www.swig.org])
126                                 SWIG='echo "Error: SWIG version >= $1 is required.  You have '"$swig_version"'.  You should look at http://www.swig.org" ; false'
127                         else
128                                 AC_MSG_NOTICE([SWIG executable is '$SWIG'])
129                                 SWIG_LIB=`$SWIG -swiglib`
130                                 AC_MSG_NOTICE([SWIG library directory is '$SWIG_LIB'])
131                         fi
132                 else
133                         AC_MSG_WARN([cannot determine SWIG version])
134                         SWIG='echo "Error: Cannot determine SWIG version.  You should look at http://www.swig.org" ; false'
135                 fi
136         fi
137         AC_SUBST([SWIG_LIB])