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