1dnl Process this file with autoconf to produce a configure script. 2 3AC_INIT(WhySynth, 20120903, musound-at-jps-dot-net) 4 5AC_CONFIG_SRCDIR(src/whysynth.h) 6AM_INIT_AUTOMAKE 7AM_CONFIG_HEADER(config.h) 8 9AC_PROG_CC 10 11AC_ENABLE_STATIC(no) 12AC_ENABLE_SHARED(yes) 13AC_LIBTOOL_DLOPEN 14AC_PROG_LIBTOOL 15 16AC_C_BIGENDIAN 17 18dnl Require DSSI, liblo, and FFTW3 19AC_CHECK_HEADERS(ladspa.h) 20PKG_CHECK_MODULES(COMMON, dssi >= 0.9) 21PKG_CHECK_MODULES(PLUGIN, fftw3f >= 3.0.1) 22PKG_CHECK_MODULES(GUI, liblo >= 0.12) 23 24dnl Check for GTK+ 25with_gtk=no 26AM_PATH_GTK_2_0(2.4.0, with_gtk='yes', AC_MSG_WARN([GUI will not be built; GTK+ 2.4 or later needed])) 27AM_CONDITIONAL(BUILD_GUI, test "x${with_gtk}" != 'xno') 28 29dnl developer functions 30AC_ARG_ENABLE(developer, AC_HELP_STRING([--enable-developer], [enable developer functions, default=no]), 31 [ if test $enableval = "yes"; then 32 AC_DEFINE(DEVELOPER, 1, [Define to 1 to enable developer-only functions.]) 33 fi ]) 34 35dnl OS specific checks 36case "${host_os}" in 37darwin*) 38 darwin=yes 39 PKG_CHECK_MODULES(ALSA, libdssialsacompat) 40 ;; 41freebsd*) 42 darwin=no 43 PKG_CHECK_MODULES(ALSA, libdssialsacompat) 44 ;; 45*) 46 darwin=no 47 PKG_CHECK_MODULES(ALSA, alsa) 48 ;; 49esac 50AM_CONDITIONAL(DARWIN, test x$darwin = xyes) 51 52dnl Check for newlocale() et al. 53AC_MSG_CHECKING(for newlocale in xlocale.h) 54AC_TRY_COMPILE([ 55 #include <xlocale.h> 56 ], [newlocale(LC_ALL_MASK, "C", NULL)], use_xlocale=yes, use_xlocale=no) 57if test "$use_xlocale" = "yes"; then 58 AC_DEFINE(THREAD_LOCALE_XLOCALE_H, 1, [Define to 1 if newlocale() is defined in xlocale.h (e.g. on Mac OS X)]) 59 AC_MSG_RESULT(yes) 60else 61 AC_MSG_RESULT(no) 62 AC_MSG_CHECKING(for newlocale in locale.h) 63 AC_TRY_COMPILE([ 64 #define _XOPEN_SOURCE 700 65 #define _GNU_SOURCE 66 #include <locale.h> 67 ], [newlocale(LC_ALL_MASK, "C", NULL)], use_locale=yes, use_locale=no) 68 if test "$use_locale" = "yes"; then 69 AC_DEFINE(THREAD_LOCALE_LOCALE_H, 1, [Define to 1 if newlocale() is defined in locale.h (e.g. in glibc)]) 70 AC_MSG_RESULT(yes) 71 else 72 AC_MSG_WARN([newlocale()/uselocale() not found, patch loading may fail in non-C locales]) 73 AC_MSG_RESULT(no) 74 fi 75fi 76 77dnl Use lotsa flags if we have gcc. 78CFLAGS="$CFLAGS $ALSA_CFLAGS $COMMON_CFLAGS" 79LDFLAGS="$LDFLAGS $ALSA_LIBS $COMMON_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 *) PLUGIN_CFLAGS="$PLUGIN_CFLAGS -fomit-frame-pointer -funroll-loops -finline-functions -ffast-math" 93 # add '-finline-limit=...' only for GCC 3.x and 4.x: 94 case `$CC -dumpversion 2>/dev/null` in 95 # these --params are also in 3.4.6, but not in 3.3.6 96 4.*) PLUGIN_CFLAGS="$PLUGIN_CFLAGS -finline-limit=5000 --param large-function-growth=4900 --param inline-unit-growth=900" ;; 97 3.*) PLUGIN_CFLAGS="$PLUGIN_CFLAGS -finline-limit=5000" ;; 98 esac 99 if test "x$enable_developer" = "xyes"; then 100 PLUGIN_CFLAGS="$PLUGIN_CFLAGS -Winline" 101 fi ;; 102 esac 103fi 104changequote([,])dnl 105AC_SUBST(PLUGIN_CFLAGS) 106AC_SUBST(PLUGIN_LIBS) 107AC_SUBST(GUI_CFLAGS) 108AC_SUBST(GUI_LIBS) 109 110AC_OUTPUT([ 111Makefile 112src/Makefile 113]) 114 115