AC_PREREQ([2.63]) AC_INIT([eSpeak], [1.47], [https://github.com/rhdunn/espeak/issues], [espeak], [https://github.com/rhdunn/espeak]) AM_INIT_AUTOMAKE() m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES]) AM_SILENT_RULES([yes]) AC_CONFIG_SRCDIR([src]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) dnl ================================================================ dnl Program checks. dnl ================================================================ AC_PROG_CXX AC_PROG_MAKE_SET AC_PROG_LIBTOOL AC_CHECK_PROG(NDKBUILD_CHECK,[ndk-build],yes) if test x"$NDKBUILD_CHECK" != xyes ; then AC_MSG_ERROR([Please ensure that the Android NDK is installed and ndk-build is usable from the command line.]) fi dnl ================================================================ dnl getopt checks. dnl ================================================================ AC_CHECK_HEADERS([getopt.h]) AC_CHECK_FUNCS([getopt_long]) dnl ================================================================ dnl PulseAudio checks. dnl ================================================================ AC_ARG_WITH([pulseaudio], [AS_HELP_STRING([--with-pulseaudio], [use the pulseaudio library for audio output @<:@default=yes@:>@])], []) if test "$with_pulseaudio" = "no"; then echo "Disabling pulseaudio output support via pulseaudio" have_pulseaudio=no else PKG_CHECK_MODULES(PULSEAUDIO, [libpulse >= 0.9], [ have_pulseaudio=yes ],[ have_pulseaudio=no ]) fi dnl ================================================================ dnl PortAudio checks. dnl ================================================================ AC_ARG_WITH([portaudio], [AS_HELP_STRING([--with-portaudio], [use the portaudio library for audio output @<:@default=yes@:>@])], []) if test "$with_portaudio" = "no"; then echo "Disabling portaudio output support via portaudio" have_portaudio=no else AC_CHECK_HEADERS([portaudio.h], [ # Check the portaudio library. AC_CHECK_LIB([portaudio], [Pa_IsStreamActive]) # portaudio 19 AC_CHECK_LIB([portaudio], [Pa_StreamActive]) # portaudio 18 # Then use the headers to determine the portaudio version. # This is because on some systems with both libportaudio0 and # libportaudio2 installed, portaudio.h and -lportaudio refer # to different versions. AC_CHECK_FUNC([Pa_IsStreamActive], [ have_portaudio=19 ],[ AC_CHECK_FUNC([Pa_StreamActive], [ have_portaudio=18 ],[ have_portaudio=no ]) ]) ],[ have_portaudio=no ]) fi dnl ================================================================ dnl Audio checks. dnl ================================================================ AC_ARG_WITH([sada], [AS_HELP_STRING([--with-sada], [use the Solaris SADA audio API @<:@default=no@:>@])], []) if test "$with_sada" = "yes" ; then have_sada=yes else have_sada=no fi if test "$have_portaudio" = 18 -o "$have_portaudio" = 19 ; then if test "$have_pulseaudio" = yes ; then PKG_CHECK_MODULES(PULSEAUDIO_SIMPLE, [libpulse-simple >= 0.9], [ have_pulseaudio=yes AUDIO=runtime ],[ have_pulseaudio=no AUDIO=portaudio ]) else AUDIO=portaudio fi elif test "$have_pulseaudio" = yes ; then AUDIO=pulseaudio elif test "$have_sada" = yes ; then AUDIO=sada else AUDIO=disabled fi AC_SUBST(AUDIO) AM_CONDITIONAL(AUDIO_RUNTIME, [test x"$AUDIO" = xruntime]) AM_CONDITIONAL(AUDIO_PULSEAUDIO, [test x"$AUDIO" = xpulseaudio]) AM_CONDITIONAL(AUDIO_PORTAUDIO, [test x"$AUDIO" = xportaudio]) AM_CONDITIONAL(AUDIO_SADA, [test x"$AUDIO" = xsada]) dnl ================================================================ dnl Optional compilation checks. dnl ================================================================ AC_ARG_WITH([klatt], [AS_HELP_STRING([--with-klatt], [enable the Klatt formant synthesizer @<:@default=yes@:>@])], []) if test "$with_klatt" = "no" ; then have_klatt=no else have_klatt=yes fi AC_ARG_WITH([mbrola], [AS_HELP_STRING([--with-mbrola], [enable the MBROLA speech synthesizer @<:@default=yes@:>@])], []) if test "$with_mbrola" = "no" ; then have_mbrola=no else have_mbrola=yes fi AC_ARG_WITH([sonic], [AS_HELP_STRING([--with-sonic], [enable the sonic library to speed up the audio @<:@default=yes@:>@])], []) if test "$with_sonic" = "no" ; then have_sonic=no else have_sonic=yes fi AC_ARG_WITH([async], [AS_HELP_STRING([--with-async], [enable support for async command processing @<:@default=yes@:>@])], []) if test "$with_async" = "no" ; then have_async=no else have_async=yes fi AM_CONDITIONAL(OPT_KLATT, [test x"$have_klatt" = xyes]) AM_CONDITIONAL(OPT_MBROLA, [test x"$have_mbrola" = xyes]) AM_CONDITIONAL(OPT_SONIC, [test x"$have_sonic" = xyes]) AM_CONDITIONAL(OPT_ASYNC, [test x"$have_async" = xyes]) dnl ================================================================ dnl wxWidgets checks. dnl ================================================================ AC_CHECK_PROG(WXCONFIG_CHECK,wx-config,yes) if test x"$WXCONFIG_CHECK" != x"yes" ; then AC_MSG_ERROR([Please install wxWidgets which is needed for espeakedit.]) fi WX_LIBS=`wx-config --libs` WX_CXXFLAGS=`wx-config --cxxflags` WX_VERSION=`wx-config --version` AC_SUBST(WX_LIBS) AC_SUBST(WX_CXXFLAGS) dnl ================================================================ dnl Generate output. dnl ================================================================ AC_CONFIG_FILES([Makefile]) AC_OUTPUT AC_MSG_NOTICE([ Configuration for eSpeak complete. Source code location: ${srcdir} Compiler: ${CXX} Compiler flags: ${CXXFLAGS} wxWidgets: ${WX_VERSION} pulseaudio: ${have_pulseaudio} portaudio: ${have_portaudio} sada: ${have_sada} audio configuration: ${AUDIO} Klatt: ${have_klatt} MBROLA: ${have_mbrola} Sonic: ${have_sonic} Async: ${have_async} ])