root/trunk/fm_server/configure.ac

Revision 287, 6.2 KB (checked in by ath, 3 years ago)

Merge shave support and update the usual autotools stuff.

Line 
1# Initialization
2AC_INIT([FreeMix Server], [0.1], [alberto.botti@yoda2000.net], [fm_server])
3AC_CONFIG_SRCDIR([config.h.in])
4AC_CONFIG_HEADER([config.h])
5AC_CONFIG_MACRO_DIR([m4])
6
7AM_INIT_AUTOMAKE
8AC_LIBTOOL_WIN32_DLL
9AC_PROG_LIBTOOL
10AM_GNU_GETTEXT([external])
11
12
13
14# Checks for programs.
15AC_PROG_CC
16AC_PROG_CPP
17AC_PROG_INSTALL
18AC_PROG_LN_S
19AC_PROG_MAKE_SET
20
21
22
23# Checks for header files.
24AC_HEADER_STDC
25AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
26
27
28
29# Checks for typedefs, structures, and compiler characteristics.
30AC_C_CONST
31AC_C_INLINE
32AC_TYPE_SIZE_T
33AC_C_VOLATILE
34
35
36
37# Checks for library functions.
38AC_FUNC_MALLOC
39AC_TYPE_SIGNAL
40AC_CHECK_FUNCS([memset strerror])
41AC_CHECK_FUNCS(sched_setscheduler)
42AC_CHECK_FUNCS(malloc calloc free memcpy memmove)
43AC_CHECK_LIB([m],floor)
44AC_CHECK_FUNCS(floor ceil fmod)
45AC_C99_FUNC_LRINT
46AC_C99_FUNC_LRINTF
47# AC_C99_FUNC_LLRINT  Don't need this (yet?).
48
49
50
51# Check for dependencies
52PKG_CHECK_MODULES(GLIB, glib-2.0 gthread-2.0 gobject-2.0)
53AC_SUBST(GLIB_LIBS)
54AC_SUBST(GLIB_CFLAGS)
55
56PKG_CHECK_MODULES(LIBXML, libxml-2.0)
57AC_SUBST(LIBXML_LIBS)
58AC_SUBST(LIBXML_CFLAGS)
59
60PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.10 gstreamer-base-0.10 gstreamer-plugins-base-0.10)
61AC_SUBST(GSTREAMER_LIBS)
62AC_SUBST(GSTREAMER_CFLAGS)
63
64PKG_CHECK_MODULES(SAMPLERATE, samplerate)
65AC_SUBST(SAMPLERATE_LIBS)
66AC_SUBST(SAMPLERATE_CFLAGS)
67
68PKG_CHECK_MODULES(RUBBERBAND, rubberband = 1.2 fftw3 samplerate)
69AC_SUBST(RUBBERBAND_LIBS)
70AC_SUBST(RUBBERBAND_CFLAGS)
71
72PKG_CHECK_MODULES(RGC_SERVER, rgc_server)
73AC_SUBST(RGC_SERVER_LIBS)
74AC_SUBST(RGC_SERVER_CFLAGS)
75
76PKG_CHECK_MODULES(RGC_CLIENT, rgc_client)
77AC_SUBST(RGC_CLIENT_LIBS)
78AC_SUBST(RGC_CLIENT_CFLAGS)
79
80
81PKG_CHECK_MODULES(ALSA, alsa, got_alsa=yes, got_alsa=no)
82AC_SUBST(ALSA_LIBS)
83AC_SUBST(ALSA_CFLAGS)
84AM_CONDITIONAL(HAVE_ALSA, test $got_alsa = yes)
85if test "$got_alsa" = "yes"; then
86        AC_DEFINE_UNQUOTED(HAVE_ALSA, 1, [ ALSA is available. ])
87fi
88
89
90PKG_CHECK_MODULES(JACK, jack, got_jack=yes, got_jack=no)
91AC_SUBST(JACK_LIBS)
92AC_SUBST(JACK_CFLAGS)
93AM_CONDITIONAL(HAVE_JACK, test $got_jack = yes)
94if test "$got_jack" = "yes"; then
95        AC_DEFINE_UNQUOTED(HAVE_JACK, 1, [ JACK is available. ])
96fi
97
98
99PKG_CHECK_MODULES(PULSE, libpulse, got_pulse=yes, got_pulse=no)
100AC_SUBST(PULSE_LIBS)
101AC_SUBST(PULSE_CFLAGS)
102AM_CONDITIONAL(HAVE_PULSE, test $got_pulse = yes)
103if test "$got_pulse" = "yes"; then
104        AC_DEFINE_UNQUOTED(HAVE_PULSE, 1, [ PulseAudio is available. ])
105fi
106
107
108
109
110case "x$ac_cv_c99_lrint$ac_cv_c99_lrintf" in
111        xyesyes)
112                ;;
113        *)
114                AC_MSG_WARN([[*** Missing C99 standard functions lrint() and lrintf().]])
115                AC_MSG_WARN([[*** This may cause benign compiler warnings on some systems (ie Solaris).]])
116                ;;
117        esac
118
119
120# Determine if the processor can do clipping on float to int conversions.
121
122if test x$ac_arg_cpu_clip = "xY" ; then
123        AC_C_CLIP_MODE
124else
125        echo "checking processor clipping capabilities... disabled"
126        ac_cv_c_clip_positive=0
127        ac_cv_c_clip_negative=0
128        fi
129
130AC_DEFINE_UNQUOTED(CPU_CLIPS_POSITIVE, ${ac_cv_c_clip_positive},
131        [Target processor clips on positive float to int conversion.])
132AC_DEFINE_UNQUOTED(CPU_CLIPS_NEGATIVE, ${ac_cv_c_clip_negative},
133        [Target processor clips on negative float to int conversion.])
134
135
136
137# Location defines
138
139# Set PACKAGE_LOCALE_DIR in config.h.
140if test "x${prefix}" = "xNONE"; then
141  AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${ac_default_prefix}/${DATADIRNAME}/locale", [""])
142else
143  AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${prefix}/${DATADIRNAME}/locale", [""])
144fi
145
146# Set PACKAGE SOURCE DIR in config.h.
147packagesrcdir=`cd $srcdir && pwd`
148
149# Set PACKAGE PREFIX
150if test "x${prefix}" = "xNONE"; then
151  packageprefix=${ac_default_prefix}
152else
153  packageprefix=${prefix}
154fi
155
156# Set PACKAGE DATA & DOC DIR
157packagedatadir=share/${PACKAGE}
158packagedocdir=doc/${PACKAGE}
159
160# Set PACKAGE DIRS in config.h.
161packagepixmapsdir=${packagedatadir}/pixmaps
162packagehelpdir=${packagedatadir}/help
163packagemenudir=${packagedatadir}
164
165# Subst PACKAGE_DATA_DIR.
166NO_PREFIX_PACKAGE_DATA_DIR="${packagedatadir}"
167AC_SUBST(NO_PREFIX_PACKAGE_DATA_DIR)
168PACKAGE_DATA_DIR="${packageprefix}/${packagedatadir}"
169AC_SUBST(PACKAGE_DATA_DIR)
170
171# Subst PACKAGE_DOC_DIR.
172NO_PREFIX_PACKAGE_DOC_DIR="${packagedocdir}"
173AC_SUBST(NO_PREFIX_PACKAGE_DOC_DIR)
174PACKAGE_DOC_DIR="${packageprefix}/${packagedocdir}"
175AC_SUBST(PACKAGE_DOC_DIR)
176
177# Subst PACKAGE_PIXMAPS_DIR.
178NO_PREFIX_PACKAGE_PIXMAPS_DIR="${packagepixmapsdir}"
179AC_SUBST(NO_PREFIX_PACKAGE_PIXMAPS_DIR)
180PACKAGE_PIXMAPS_DIR="${packageprefix}/${packagepixmapsdir}"
181AC_SUBST(PACKAGE_PIXMAPS_DIR)
182
183# Subst PACKAGE_HELP_DIR.
184NO_PREFIX_PACKAGE_HELP_DIR="${packagehelpdir}"
185AC_SUBST(NO_PREFIX_PACKAGE_HELP_DIR)
186PACKAGE_HELP_DIR="${packageprefix}/${packagehelpdir}"
187AC_SUBST(PACKAGE_HELP_DIR)
188
189# Subst PACKAGE_MENU_DIR.
190NO_PREFIX_PACKAGE_MENU_DIR="${packagemenudir}"
191AC_SUBST(NO_PREFIX_PACKAGE_MENU_DIR)
192PACKAGE_MENU_DIR="${packageprefix}/${packagemenudir}"
193AC_SUBST(PACKAGE_MENU_DIR)
194
195AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${packageprefix}/${packagedatadir}", [""])
196AC_DEFINE_UNQUOTED(PACKAGE_DOC_DIR, "${packageprefix}/${packagedocdir}", [""])
197AC_DEFINE_UNQUOTED(PACKAGE_PIXMAPS_DIR, "${packageprefix}/${packagepixmapsdir}", [""])
198AC_DEFINE_UNQUOTED(PACKAGE_HELP_DIR, "${packageprefix}/${packagehelpdir}", [""])
199AC_DEFINE_UNQUOTED(PACKAGE_MENU_DIR, "${packageprefix}/${packagemenudir}", [""])
200AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}", [""])
201
202
203
204SHAVE_INIT(.,enable)
205
206AC_CONFIG_FILES([Makefile
207                 shave
208                 shave-libtool
209                 po/Makefile.in
210                 src/Makefile
211                 src/fm_input_buffer/Makefile
212                 src/fm_input_gst/Makefile
213                 src/fm_effect_rubber/Makefile
214                 src/fm_song_db/Makefile
215                 test/Makefile])
216AC_OUTPUT
217
218
219
220# Configuration summary
221echo ""
222echo ""
223echo "Optional components:"
224if test "$got_jack" = "yes"; then
225echo "        JACK output plugin:       yes"
226else
227echo "        JACK output plugin:       no"
228fi
229if test "$got_alsa" = "yes"; then
230echo "        ALSA output plugin:       yes"
231else
232echo "        ALSA output plugin:       no"
233fi
234if test "$got_pulse" = "yes"; then
235echo "        PulseAudio output plugin: yes"
236else
237echo "        PulseAudio output plugin: no"
238fi
239echo ""
240echo "Build options:"
241echo "        CFLAGS: ${CFLAGS}"
242echo ""
243echo "Installation options:"
244echo "        fm_server will be installed to ${prefix}"
245echo ""
246
Note: See TracBrowser for help on using the browser.