summaryrefslogtreecommitdiff
path: root/config/grc_gr_audio.m4
blob: 92a0440d0509e77558fa8ac852aabbf6544a7ba8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
dnl Copyright 2011 Free Software Foundation, Inc.
dnl 
dnl This file is part of GNU Radio
dnl 
dnl GNU Radio 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 3, or (at your option)
dnl any later version.
dnl 
dnl GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
dnl the Free Software Foundation, Inc., 51 Franklin Street,
dnl Boston, MA 02110-1301, USA.

AC_DEFUN([GRC_GR_AUDIO],[
    GRC_ENABLE(gr-audio)

    GRC_CHECK_DEPENDENCY(gr-audio, gnuradio-core)

    ####################################################################
    ## ALSA Support
    ####################################################################
    PKG_CHECK_MODULES(ALSA, alsa >= 0.9,[GR_AUDIO_ALSA_SUPPORT=true],
        [GR_AUDIO_ALSA_SUPPORT=false;AC_MSG_RESULT([gr-audio alsa support requires package alsa, not found.])])
    AM_CONDITIONAL(GR_AUDIO_ALSA_SUPPORT, $GR_AUDIO_ALSA_SUPPORT)

    ####################################################################
    ## OSS Support
    ####################################################################
    dnl Make sure the correct library and/or headers are available.
    case $host_os in
    netbsd*)
        AC_HAVE_LIBRARY(ossaudio,[GR_AUDIO_OSS_SUPPORT=true],
            [GR_AUDIO_OSS_SUPPORT=false;AC_MSG_RESULT([gr-audio oss support requires library ossaudio, not found.])])
        if test $GR_AUDIO_OSS_SUPPORT != false; then
            OSS_LIBS=-lossaudio
            AC_SUBST(OSS_LIBS)
            AC_MSG_RESULT([Using OSS library $OSS_LIBS])
        fi
        ;;
    darwin*)
        dnl OSX / Darwin can't use OSS
        GR_AUDIO_OSS_SUPPORT=false
        ;;
    *)
        AC_CHECK_HEADER(sys/soundcard.h,[GR_AUDIO_OSS_SUPPORT=true],
            [GR_AUDIO_OSS_SUPPORT=false;AC_MSG_RESULT([gr-audio oss support requires sys/soundcard.h, not found.])])
    esac
    AM_CONDITIONAL(GR_AUDIO_OSS_SUPPORT, $GR_AUDIO_OSS_SUPPORT)

    ####################################################################
    ## Jack Support
    ####################################################################
    PKG_CHECK_MODULES(JACK, jack >= 0.8, [GR_AUDIO_JACK_SUPPORT=true],
        [GR_AUDIO_JACK_SUPPORT=false;AC_MSG_RESULT([gr-audio jack support requires package jack, not found.])])
    AM_CONDITIONAL(GR_AUDIO_JACK_SUPPORT, $GR_AUDIO_JACK_SUPPORT)

    ####################################################################
    ## OSX Support
    ####################################################################
    case "$host_os" in
    darwin*)
        MACOSX_AUDIOUNIT([GR_AUDIO_OSX_SUPPORT=true],
            [GR_AUDIO_OSX_SUPPORT=false;AC_MSG_RESULT([gr-audio osx support requires AudioUnit, not found.])])
        ;;
    *)
        AC_MSG_RESULT([gr-audio osx support will build on Mac OS X and Darwin only.])
        GR_AUDIO_OSX_SUPPORT=false
        ;;
    esac
    AM_CONDITIONAL(GR_AUDIO_OSX_SUPPORT, $GR_AUDIO_OSX_SUPPORT)

    ####################################################################
    ## PortAudio Support
    ####################################################################
    PKG_CHECK_MODULES(PORTAUDIO, portaudio-2.0 >= 19,[GR_AUDIO_PORTAUDIO_SUPPORT=true],
        [GR_AUDIO_PORTAUDIO_SUPPORT=false;AC_MSG_RESULT([gr-audio portaudio support requires package portaudio, not found.])])
    AM_CONDITIONAL(GR_AUDIO_PORTAUDIO_SUPPORT, $GR_AUDIO_PORTAUDIO_SUPPORT)

    ####################################################################
    ## Windows Support
    ####################################################################
    case "$host_os" in
        cygwin*|win*|mingw*)
        AC_HAVE_LIBRARY(winmm, [GR_AUDIO_WINDOWS_SUPPORT=true],
            [GR_AUDIO_WINDOWS_SUPPORT=false;AC_MSG_RESULT([gr-audio windows support requires library winmm, not found.])])
        ;;
    *)
        AC_MSG_RESULT([gr-audio windows support will build on a Windows Unix environment only.])
        GR_AUDIO_WINDOWS_SUPPORT=false
        ;;
    esac
    WINAUDIO_LIBS=-lwinmm
    AC_SUBST(WINAUDIO_LIBS)
    AM_CONDITIONAL(GR_AUDIO_WINDOWS_SUPPORT, $GR_AUDIO_WINDOWS_SUPPORT)

    AC_CONFIG_FILES([ \
        gr-audio/Makefile \
	gr-audio/examples/Makefile \
	gr-audio/examples/c++/Makefile \
	gr-audio/examples/python/Makefile \
        gr-audio/grc/Makefile \
        gr-audio/include/Makefile \
        gr-audio/lib/Makefile \
        gr-audio/swig/Makefile \
        gr-audio/gnuradio-audio.pc \
    ])

    GRC_BUILD_CONDITIONAL(gr-audio)
])