add packaging
[platform/upstream/alsa-plugins.git] / configure.in
1 AC_PREREQ(2.59)
2 AC_INIT(oss/pcm_oss.c)
3 AM_INIT_AUTOMAKE(alsa-plugins, 1.0.26)
4 AC_PREFIX_DEFAULT(/usr)
5
6 AC_CONFIG_HEADERS(config.h)
7 AC_CONFIG_MACRO_DIR([m4])
8
9 AC_PROG_CC
10 AC_PROG_INSTALL
11 AC_DISABLE_STATIC
12 AM_PROG_LIBTOOL
13 AC_HEADER_STDC
14
15 CC_NOUNDEFINED
16
17 PKG_CHECK_MODULES(ALSA, alsa >= 1.0.11)
18 AC_CHECK_LIB(asound, snd_pcm_ioplug_create,,
19              AC_ERROR([*** libasound has no external plugin SDK]), -ldl)
20
21 AC_ARG_ENABLE([jack],
22       AS_HELP_STRING([--disable-jack], [Disable building of JACK plugin]))
23
24 if test "x$enable_jack" != "xno"; then
25   PKG_CHECK_MODULES(JACK, jack >= 0.98, [HAVE_JACK=yes], [HAVE_JACK=no])
26 fi
27 AM_CONDITIONAL(HAVE_JACK, test x$HAVE_JACK = xyes)
28
29 AC_ARG_ENABLE([pulseaudio],
30       AS_HELP_STRING([--disable-pulseaudio], [Disable building of pulseaudio plugin]))
31
32 if test "x$enable_pulseaudio" != "xno"; then
33   PKG_CHECK_MODULES(pulseaudio, [libpulse >= 0.9.11], [HAVE_PULSE=yes], [HAVE_PULSE=no])
34 fi
35 AM_CONDITIONAL(HAVE_PULSE, test x$HAVE_PULSE = xyes)
36
37 AC_ARG_ENABLE([samplerate],
38       AS_HELP_STRING([--disable-samplerate], [Disable building of samplerate plugin]))
39
40 if test "x$enable_samplerate" != "xno"; then
41   PKG_CHECK_MODULES(samplerate, [samplerate], [HAVE_SAMPLERATE=yes], [HAVE_SAMPLERATE=no])
42 fi
43 AM_CONDITIONAL(HAVE_SAMPLERATE, test x$HAVE_SAMPLERATE = xyes)
44
45 AC_ARG_ENABLE([maemo-plugin],
46         AS_HELP_STRING([--enable-maemo-plugin],
47                 [Build Maemo DSP plugin]),
48         [HAVE_MAEMO_PLUGIN="$enableval"], [HAVE_MAEMO_PLUGIN="no"])
49 AM_CONDITIONAL(HAVE_MAEMO_PLUGIN, test x$HAVE_MAEMO_PLUGIN = xyes)
50
51 AC_ARG_ENABLE([maemo-resource-manager],
52         AS_HELP_STRING([--enable-maemo-resource-manager],
53                 [Use Maemo resource manager]),
54         [use_maemo_rm="$enableval"], [use_maemo_rm="no"])
55
56 if test "$use_maemo_rm" = "yes"; then
57         PKG_CHECK_MODULES(DBUS, [dbus-1], [HAVE_DBUS=yes], [HAVE_DBUS=no])
58
59         if test "$HAVE_DBUS" = "yes"; then
60                 AC_DEFINE(USE_RESOURCE_MANAGER, 1,"Use dbus server as a resouce manager")
61         else
62                 AC_ERROR([You must have D-Bus installed if you want to enable the Maemo resource manager])
63         fi
64 fi
65
66 AC_ARG_ENABLE([avcodec],
67       AS_HELP_STRING([--disable-avcodec], [Don't build plugins depending on avcodec (a52)]))
68
69 if test "x$enable_avcodec" != "xno"; then
70   PKG_CHECK_MODULES(AVCODEC, [libavcodec], [HAVE_AVCODEC=yes], [HAVE_AVCODEC=no])
71 fi
72
73 if test "x$HAVE_AVCODEC" = "xno"; then
74   AC_ARG_WITH([avcodec-includedir],
75         AS_HELP_STRING([--with-avcodec-includedir=dir],
76                 [AVcodec include directory]),
77         [AVCODEC_CFLAGS="-I$withval"], [AVCODEC_CFLAGS=""])
78   AC_ARG_WITH([avcodec-libdir],
79         AS_HELP_STRING([--with-avcodec-libdir=dir],
80                 [AVcodec library directory]),
81         [AVCODEC_LIBS="-L$withval"], [AVCODEC_LIBS=""])
82
83   CFLAGS_saved="$CFLAGS"
84   LDFLAGS_saved="$LDFLAGS"
85   CFLAGS="$CFLAGS $AVCODEC_CFLAGS"
86   LDFLAGS="$LDFLAGS $AVCODEC_LIBS"
87   AVCODEC_LIBS="$AVCODEC_LIBS -lavcodec"
88   AC_CHECK_LIB([avcodec], [avcodec_open], [HAVE_AVCODEC=yes], [HAVE_AVCODEC=no])
89   CFLAGS="$CFLAGS_saved"
90   LDFLAGS="$LDFLAGS_saved"
91 fi
92
93 if test $HAVE_AVCODEC = yes; then
94   AVCODEC_HEADER=""
95   AC_CHECK_HEADER([ffmpeg/avcodec.h], [AVCODEC_HEADER='<ffmpeg/avcodec.h>'])
96   if test -z "$AVCODEC_HEADER"; then
97     AC_CHECK_HEADER([libavcodec/avcodec.h], [AVCODEC_HEADER='<libavcodec/avcodec.h>'])
98   fi
99   if test -z "$AVCODEC_HEADER"; then
100     HAVE_AVCODEC=no
101   fi
102 fi
103
104 AM_CONDITIONAL(HAVE_AVCODEC, test x$HAVE_AVCODEC = xyes)
105 AC_SUBST(AVCODEC_CFLAGS)
106 AC_SUBST(AVCODEC_LIBS)
107 AC_SUBST(AVCODEC_HEADER)
108
109 PKG_CHECK_MODULES(speexdsp, [speexdsp >= 1.2], [HAVE_SPEEXDSP="yes"], [HAVE_SPEEXDSP=""])
110 AM_CONDITIONAL(HAVE_SPEEXDSP, test "$HAVE_SPEEXDSP" = "yes")
111
112 AC_ARG_WITH([speex],
113         AS_HELP_STRING([--with-speex={builtin|lib|no}],
114                 [build speex resampler (built-in code, link with external lib, or no build)]),
115         [PPH=$withval], [PPH="lib"])
116
117 USE_LIBSPEEX=""
118 if test "$PPH" = "lib"; then
119         if test "$HAVE_SPEEXDSP" = "yes"; then
120                 AC_CHECK_LIB([speexdsp], [speex_resampler_init],
121                         [USE_LIBSPEEX="yes"], [USE_LIBSPEEX=""])
122         fi
123         if test "$USE_LIBSPEEX" = "yes"; then
124                 AC_DEFINE(USE_LIBSPEEX, 1, "Link with libspeex for resampler")
125         else
126                 echo "No libspeex with resampler unit; use built-in code"
127                 PPH="builtin"
128         fi
129 fi
130
131 AM_CONDITIONAL(HAVE_PPH, test "$PPH" = "builtin" -o "$PPH" = "lib")
132 AM_CONDITIONAL(USE_LIBSPEEX, test "$PPH" = "lib")
133
134 test "x$prefix" = xNONE && prefix=$ac_default_prefix
135 test "x$exec_prefix" = xNONE && exec_prefix=$prefix
136
137 dnl ALSA plugin directory
138 AC_ARG_WITH(plugindir,
139     AS_HELP_STRING([--with-plugindir=dir],
140         [path where ALSA plugin files are stored]),
141     plugindir="$withval", plugindir="")
142 if test -z "$plugindir"; then
143     eval dir="$libdir"
144     case "$dir" in
145     /*) ;;
146     *) dir="$dir"
147     esac
148     plugindir="$dir/alsa-lib"
149 fi
150 AC_DEFINE_UNQUOTED(ALSA_PLUGIN_DIR, "$plugindir", [directory containing ALSA add-on modules])
151 ALSA_PLUGIN_DIR="$plugindir"
152 AC_SUBST(ALSA_PLUGIN_DIR)
153
154 dnl ALSA data directory
155 AC_ARG_WITH(alsadatadir,
156     AS_HELP_STRING([--with-alsadatadir=dir],
157         [path where ALSA data files are stored]),
158     alsadatadir="$withval", alsadatadir="")
159 if test -z "$alsadatadir"; then
160     eval dir="$datadir"
161     case "$dir" in
162     /*) ;;
163     *) dir="$dir"
164     esac
165     alsadatadir="$dir/alsa"
166 fi
167 AC_DEFINE_UNQUOTED(ALSA_DATA_DIR, "$alsadatadir", [directory containing ALSA data files])
168 ALSA_DATA_DIR="$alsadatadir"
169 AC_SUBST(ALSA_DATA_DIR)
170
171 SAVE_PLUGINS_VERSION
172
173 AC_OUTPUT([
174         Makefile
175         oss/Makefile
176         pph/Makefile
177         jack/Makefile
178         pulse/Makefile
179         mix/Makefile
180         rate/Makefile
181         a52/Makefile
182         rate-lavc/Makefile
183         maemo/Makefile
184         doc/Makefile
185         usb_stream/Makefile
186         speex/Makefile
187         arcam-av/Makefile
188 ])
189
190 dnl Show the build conditions
191
192 echo
193 echo "Plugin directory: $ALSA_PLUGIN_DIR"
194 echo "ALSA_CFLAGS: $ALSA_CFLAGS"
195 echo "ALSA_LIBS: $ALSA_LIBS"
196 echo "JACK plugin:        $HAVE_JACK"
197 if test "$HAVE_JACK" = "yes"; then
198   echo "  JACK_CFLAGS: $JACK_CFLAGS"
199   echo "  JACK_LIBS: $JACK_LIBS"
200 fi
201 echo "Pulseaudio plugin:  $HAVE_PULSE"
202 if test "$HAVE_PULSE" = "yes"; then
203   echo "  pulseaudio_CFLAGS: $pulseaudio_CFLAGS"
204   echo "  pulseaudio_LIBS: $pulseaudio_LIBS"
205 fi
206 echo "Samplerate plugin:  $HAVE_SAMPLERATE"
207 if test "$HAVE_SAMPLERATE" = "yes"; then
208   echo "  samplerate_CFLAGS: $samplerate_CFLAGS"
209   echo "  samplerate_LIBS: $samplerate_LIBS"
210 fi
211 echo "Maemo plugin:       $HAVE_MAEMO_PLUGIN"
212 echo "  Using Osso resource manager: $use_maemo_rm"
213 echo "A52, lavc plugins:  $HAVE_AVCODEC"
214 if test "$HAVE_AVCODEC" = "yes"; then
215   echo "  AVCODEC_CFLAGS: $AVCODEC_CFLAGS"
216   echo "  AVCODEC_LIBS: $AVCODEC_LIBS"
217   echo "  AVCODEC_HEADER: $AVCODEC_HEADER"
218 fi
219 echo "Speex rate plugin:  $PPH"
220 echo "Speex preprocess plugin:  $HAVE_SPEEXDSP"
221 if test "$HAVE_SPEEX" = "yes"; then
222   echo "  speexdsp_CFLAGS: $speexdsp_CFLAGS"
223   echo "  speexdsp_LIBS: $speexdsp_LIBS"
224 fi