1dnl Process this file with autoconf to produce a configure script.
2
3AC_INIT(FluidSynth-DSSI, 1.0.0, dssi-devel@lists.sourceforge.net)
4
5AC_CONFIG_SRCDIR(src/fluidsynth-dssi.c)
6AM_INIT_AUTOMAKE
7AM_CONFIG_HEADER(config.h)
8
9AC_PROG_CC
10AC_ENABLE_STATIC(no)
11AC_ENABLE_SHARED(yes)
12AC_PROG_LIBTOOL
13
14AC_C_BIGENDIAN
15
16dnl check for other headers we need
17AC_CHECK_HEADERS(math.h stdarg.h pthread.h dirent.h ladspa.h)
18
19dnl Check for FluidSynth
20PKG_CHECK_MODULES(FLUID, fluidsynth >= 1.0.3)
21AC_SUBST(FLUID_CFLAGS)
22AC_SUBST(FLUID_LIBS)
23dnl Check for a recent libfluidsynth
24have106=no
25PKG_CHECK_EXISTS(fluidsynth >= 1.0.6, have106=yes)
26if test "x${have106}" = xyes ; then
27  echo "using FluidSynth polyphony-setting API"
28  AC_DEFINE(USE_AUGMENTED_FLUIDSYNTH_API, 1, [Define to 1 if your libfluidsynth supports polyphony setting])
29  echo "using fluid_synth_nwrite_float() directly"
30  AC_DEFINE(NWRITE_FLOAT_WORKS_CORRECTLY, 1, [Define to 1 if fluid_synth_nwrite_float() works correctly])
31else
32  echo "FluidSynth polyphony-setting API not available"
33  echo "using fluid_synth_nwrite_float() workaround"
34  echo "(You may wish to upgrade your FluidSynth to version 1.0.6 or later)"
35fi
36
37dnl Check for GTK+
38AC_ARG_WITH(gtk2, AC_HELP_STRING([--with-gtk2], [use GTK+ 2.0 default=yes]),
39            [ if test $withval = "yes"; then try_gtk2=yes ;
40              else try_gtk2=no ; fi ], try_gtk2=yes)
41with_gtk=no
42dnl First look for GTK+ 2.x, unless '--without-gtk2' was specified.
43if test "x${try_gtk2}" = 'xyes'; then
44    AM_PATH_GTK_2_0(2.0.0, with_gtk='yes (version 2.0)', with_gtk=no)
45fi
46dnl  No GTK+ 2.x found, look for GTK+ 1.2 instead
47if test "x${with_gtk}" = 'xno'; then
48    AM_PATH_GTK(1.2.0, with_gtk='yes (version 1.2)', AC_MSG_WARN([GUI will not be built because no version of GTK+ was found]))
49fi
50AM_CONDITIONAL(BUILD_GUI, test "x${with_gtk}" != 'xno')
51echo "GTK support: $with_gtk"
52
53dnl Require ALSA or libdssialsacompat
54PKG_CHECK_MODULES(ALSA, alsa, alsa=ALSA, alsa=no)
55if test "x${alsa}" = xno ; then
56  PKG_CHECK_MODULES(ALSA, libdssialsacompat, alsa=libdssialsacompat,
57                    AC_MSG_ERROR([neither ALSA nor libdssialsacompat found]))
58fi
59if test "x${alsa}" = xALSA ; then
60  unset ALSA_LIBS  # we only need the headers
61fi
62
63dnl Require DSSI, liblo
64PKG_CHECK_MODULES(MODULE, dssi >= 0.9 liblo >= 0.12)
65
66dnl OS specific checks
67case "${host_os}" in
68darwin*)
69  darwin=yes
70  ;;
71*)
72  darwin=no
73  ;;
74esac
75AM_CONDITIONAL(DARWIN, test x$darwin = xyes)
76
77dnl Use lotsa flags if we have gcc.
78CFLAGS="$CFLAGS $ALSA_CFLAGS $MODULE_CFLAGS"
79LDFLAGS="$LDFLAGS $ALSA_LIBS $MODULE_LIBS"
80changequote(,)dnl
81if test "x$GCC" = "xyes"; then
82  case " $CFLAGS " in
83    *[\ \	]-Wall[\ \	]*) ;;
84    *) CFLAGS="$CFLAGS -Wall" ;;
85  esac
86  case " $CFLAGS " in
87    *[\ \	]-O[1-9][\ \	]*) ;;
88    *) CFLAGS="$CFLAGS -O2" ;;
89  esac
90  case " $CFLAGS " in
91    *[\ \	]-ffast-math[\ \	]*) ;;
92    *) CFLAGS="$CFLAGS -fomit-frame-pointer -funroll-loops -finline-functions -ffast-math -Winline" ;;
93  esac
94fi
95changequote([,])dnl
96
97AC_OUTPUT([
98Makefile
99src/Makefile
100])
101
102