| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365 | 
							- AC_PREREQ([2.63])
 - AC_INIT([eSpeak NG], [1.51-dev], [https://github.com/espeak-ng/espeak-ng/issues], [espeak-ng], [https://github.com/espeak-ng/espeak-ng])
 - AM_INIT_AUTOMAKE()
 - LT_INIT
 - 
 - 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 configure arguments
 - dnl ================================================================
 - 
 - AC_ARG_ENABLE([rpath],
 -     [AS_HELP_STRING([--enable-rpath], [set hardcoded rpaths in the executable @<:@default=yes@:>@])],
 -     [],
 -     [enable_rpath=yes])
 - 
 - AC_ARG_WITH([gradle],
 -     [AS_HELP_STRING([--with-gradle], [specify the gradle program to use @<:@default=gradle@:>@])],
 -     [GRADLE=$with_gradle],
 -     [GRADLE=gradle])
 - 
 - AC_ARG_WITH([pcaudiolib],
 -     [AS_HELP_STRING([--with-pcaudiolib], [use the pcaudiolib library for audio output @<:@default=yes@:>@])],
 -     [])
 - 
 - AC_ARG_WITH([klatt],
 -     [AS_HELP_STRING([--with-klatt], [enable the Klatt formant synthesizer @<:@default=yes@:>@])],
 -     [])
 - 
 - AC_ARG_WITH([speechplayer],
 -     [AS_HELP_STRING([--with-speechplayer], [enable the speechPlayer Klatt implementation @<:@default=yes@:>@])],
 -     [])
 - 
 - AC_ARG_WITH([mbrola],
 -     [AS_HELP_STRING([--with-mbrola], [enable the MBROLA speech synthesizer @<:@default=yes@:>@])],
 -     [])
 - 
 - AC_ARG_WITH([sonic],
 -     [AS_HELP_STRING([--with-sonic], [enable the sonic library to speed up the audio @<:@default=yes@:>@])],
 -     [])
 - 
 - AC_ARG_WITH([async],
 -     [AS_HELP_STRING([--with-async], [enable support for async command processing @<:@default=yes@:>@])],
 -     [])
 - 
 - AC_ARG_WITH([extdict-ru],
 -     [AS_HELP_STRING([--with-extdict-ru], [use the extended Russian Dictionary file @<:@default=no@:>@])],
 -     [])
 - 
 - AC_ARG_WITH([extdict-cmn],
 -     [AS_HELP_STRING([--with-extdict-cmn], [use the extended Mandarin Chinese Dictionary file @<:@default=no@:>@])],
 -     [])
 - 
 - AC_ARG_WITH([extdict-yue],
 -     [AS_HELP_STRING([--with-extdict-yue], [use the extended Cantonese Chinese Dictionary file @<:@default=no@:>@])],
 -     [])
 - 
 - AC_ARG_WITH([libfuzzer],
 -     [AS_HELP_STRING([--with-libfuzzer], [enable libFuzzer in the fuzzer tests @<:@default=no@:>@])],
 -     [])
 - 
 - dnl ================================================================
 - dnl Program checks.
 - dnl ================================================================
 - 
 - AC_PROG_CC
 - AC_PROG_CXX
 - AC_PROG_MAKE_SET
 - AC_PROG_LIBTOOL
 - AC_PROG_LN_S
 - 
 - AC_CHECK_PROG(NDKBUILD_CHECK,[ndk-build],yes)
 - 
 - dnl ================================================================
 - dnl gradle checks.
 - dnl ================================================================
 - 
 - AC_MSG_CHECKING([for gradle])
 - if test -e ${GRADLE} ; then
 -     AC_MSG_RESULT([${GRADLE}])
 -     AM_CONDITIONAL(HAVE_GRADLE, [test 1 = 1])
 - else
 -     AC_MSG_RESULT([no])
 -     AM_CONDITIONAL(HAVE_GRADLE, [test 0 = 0])
 - fi
 - 
 - AC_SUBST(GRADLE)
 - 
 - dnl ================================================================
 - dnl C99 compiler checks.
 - dnl ================================================================
 - 
 - AC_LANG_PUSH(C)
 - AC_MSG_CHECKING([if $CC supports C99 without any flags])
 - AC_COMPILE_IFELSE(
 - 	[AC_LANG_PROGRAM(
 - 		[[static inline int c99_restrict(int *restrict c99_restrict) {}]],
 - 		[[]])],
 - 	[AC_MSG_RESULT([yes])
 - 	 have_c99_native=yes],
 - 	[AC_MSG_RESULT([no])
 - 	 have_c99_native=no])
 - AC_LANG_POP(C)
 - 
 - AC_LANG_PUSH(C)
 - TEMP_CFLAGS="$CFLAGS"
 - CFLAGS="$CFLAGS -std=c99"
 - AC_MSG_CHECKING([if $CC supports C99 with the -std=c99 flag])
 - AC_COMPILE_IFELSE(
 - 	[AC_LANG_PROGRAM(
 - 		[[static inline int c99_restrict(int *restrict c99_restrict) {}]],
 - 		[[]])],
 - 	[AC_MSG_RESULT([yes])
 - 	 have_c99_c99=yes],
 - 	[AC_MSG_RESULT([no])
 - 	 have_c99_c99=no])
 - CFLAGS="$TEMP_CFLAGS"
 - AC_LANG_POP(C)
 - 
 - AC_MSG_CHECKING([if $CC supports C99])
 - if test "$have_c99_c99" = yes ; then
 - 	AC_MSG_RESULT([-std=c99])
 - 	CFLAGS="$CFLAGS -std=c99"
 - elif test "$have_c99_native" = yes ; then
 - 	AC_MSG_RESULT([yes])
 - else
 - 	AC_MSG_RESULT([no])
 - 	AC_MSG_ERROR([C99 is not supported by $CC.])
 - fi
 - 
 - dnl ================================================================
 - dnl FreeBSD check.
 - dnl ================================================================
 - 
 - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
 - 		   #if ! defined(__FreeBSD__)
 - 		   #error macro not defined
 - 		   #endif
 - 		   ]])], [FREEBSD_FOUND="yes"], [FREEBSD_FOUND="no"])
 - 
 - AC_MSG_CHECKING([if targeting FreeBSD])
 - if test "$FREEBSD_FOUND" = "yes" ; then
 - 	AC_MSG_RESULT([-D__BSD_VISIBLE])
 - 	CFLAGS="$CFLAGS -D__BSD_VISIBLE"
 - else
 - 	AC_MSG_RESULT([no])
 - fi
 - 
 - dnl ================================================================
 - dnl library checks.
 - dnl ================================================================
 - 
 - AC_CHECK_HEADERS([endian.h])     dnl Linux
 - AC_CHECK_HEADERS([fcntl.h])      dnl POSIX
 - AC_CHECK_HEADERS([getopt.h])     dnl POSIX
 - AC_CHECK_HEADERS([locale.h])     dnl C89
 - AC_CHECK_HEADERS([stddef.h])     dnl C89
 - AC_CHECK_HEADERS([stdbool.h])    dnl C99
 - AC_CHECK_HEADERS([sys/endian.h]) dnl BSD
 - AC_CHECK_HEADERS([sys/time.h])   dnl POSIX
 - AC_CHECK_HEADERS([wchar.h])      dnl C89
 - AC_CHECK_HEADERS([wctype.h])     dnl C89
 - 
 - AC_TYPE_SIZE_T
 - AC_TYPE_SSIZE_T
 - AC_TYPE_UINT16_T
 - AC_TYPE_UINT32_T
 - AC_TYPE_UINT64_T
 - 
 - AC_FUNC_FORK
 - AC_FUNC_STRCOLL
 - AC_FUNC_ERROR_AT_LINE
 - 
 - AC_CHECK_FUNCS([dup2])
 - AC_CHECK_FUNCS([getopt_long])
 - AC_CHECK_FUNCS([gettimeofday])
 - AC_CHECK_FUNCS([malloc]) dnl Avoid "Undefined reference to rpl_malloc" when using AC_FUNC_MALLOC.
 - AC_CHECK_FUNCS([memchr])
 - AC_CHECK_FUNCS([memmove])
 - AC_CHECK_FUNCS([memset])
 - AC_CHECK_FUNCS([mkdir])
 - AC_CHECK_FUNCS([mkstemp])
 - AC_CHECK_FUNCS([pow])
 - AC_CHECK_FUNCS([realloc]) dnl Avoid "Undefined reference to rpl_malloc" when using AC_FUNC_REALLOC.
 - AC_CHECK_FUNCS([setlocale])
 - AC_CHECK_FUNCS([sqrt])
 - AC_CHECK_FUNCS([strchr])
 - AC_CHECK_FUNCS([strdup])
 - AC_CHECK_FUNCS([strerror])
 - AC_CHECK_FUNCS([strrchr])
 - AC_CHECK_FUNCS([strstr])
 - 
 - dnl ================================================================
 - dnl PCAudioLib checks.
 - dnl ================================================================
 - 
 - if test "$with_pcaudiolib" = "no"; then
 -     echo "Disabling audio output support via pcaudiolib"
 -     have_pcaudiolib=no
 - else
 -     AC_CHECK_HEADERS([pcaudiolib/audio.h],
 -         [
 -             have_pcaudiolib=yes
 -             PCAUDIOLIB_CFLAGS=
 -             PCAUDIOLIB_LIBS=-lpcaudio
 -         ],[
 -             have_pcaudiolib=no
 -         ])
 - fi
 - 
 - AC_SUBST(PCAUDIOLIB_CFLAGS)
 - AC_SUBST(PCAUDIOLIB_LIBS)
 - 
 - dnl ================================================================
 - dnl Optional compilation checks.
 - dnl ================================================================
 - 
 - if test "$with_klatt" = "no" ; then
 - 	have_klatt=no
 - else
 - 	have_klatt=yes
 - fi
 - 
 - if test "$with_speechplayer" = "no" ; then
 - 	have_speechplayer=no
 - else
 - 	have_speechplayer=yes
 - fi
 - 
 - if test "$with_mbrola" = "no" ; then
 - 	have_mbrola=no
 - else
 - 	have_mbrola=yes
 - fi
 - 
 - if test "$with_sonic" = "no" ; then
 -     have_sonic=no
 - else
 -     AC_CHECK_HEADERS([sonic.h],
 -         [
 -             AC_CHECK_LIB([sonic], [sonicCreateStream])
 -             have_sonic=yes
 -         ],[
 -             have_sonic=no
 -         ])
 - fi
 - 
 - 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_SPEECHPLAYER,  [test x"$have_speechplayer"  = xyes])
 - AM_CONDITIONAL(OPT_MBROLA, [test x"$have_mbrola" = xyes])
 - AM_CONDITIONAL(OPT_ASYNC,  [test x"$have_async"  = xyes])
 - 
 - dnl ================================================================
 - dnl ronn checks.
 - dnl ================================================================
 - 
 - AC_CHECK_PROG(RONN, ronn, ronn, no)
 - 
 - AM_CONDITIONAL(HAVE_RONN, [test ! x"$RONN" = xno])
 - 
 - AC_CHECK_PROG(KRAMDOWN, kramdown, kramdown, no)
 - 
 - dnl ================================================================
 - dnl Extended dictionary checks.
 - dnl ================================================================
 - 
 - if test "$with_extdict_ru" = "yes" ; then
 - 	have_extdict_ru=yes
 - else
 - 	have_extdict_ru=no
 - fi
 - 
 - if test "$with_extdict_cmn" = "yes" ; then
 - 	have_extdict_cmn=yes
 - else
 - 	have_extdict_cmn=no
 - fi
 - 
 - if test "$with_extdict_yue" = "yes" ; then
 - 	have_extdict_yue=yes
 - else
 - 	have_extdict_yue=no
 - fi
 - 
 - AM_CONDITIONAL(HAVE_RU_EXTENDED_DICTIONARY,  [test x"$have_extdict_ru"  = xyes])
 - AM_CONDITIONAL(HAVE_CMN_EXTENDED_DICTIONARY,  [test x"$have_extdict_cmn"  = xyes])
 - AM_CONDITIONAL(HAVE_YUE_EXTENDED_DICTIONARY, [test x"$have_extdict_yue" = xyes])
 - 
 - dnl ================================================================
 - dnl Compiler warnings.
 - dnl
 - dnl Reference: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
 - dnl ================================================================
 - 
 - AX_CHECK_COMPILE_FLAG([-Wimplicit],              [CFLAGS="-Wimplicit $CFLAGS"])
 - AX_CHECK_COMPILE_FLAG([-Wint-conversion],        [CFLAGS="-Wint-conversion $CFLAGS"])
 - AX_CHECK_COMPILE_FLAG([-Wmissing-prototypes],    [CFLAGS="-Wmissing-prototypes $CFLAGS"])
 - AX_CHECK_COMPILE_FLAG([-Wreturn-type],           [CFLAGS="-Wreturn-type $CFLAGS"])
 - AX_CHECK_COMPILE_FLAG([-Wuninitialized],         [CFLAGS="-Wuninitialized $CFLAGS"])
 - AX_CHECK_COMPILE_FLAG([-Wunused],                [CFLAGS="-Wunused $CFLAGS"])
 - AX_CHECK_COMPILE_FLAG([-Wunused-parameter],      [CFLAGS="-Wunused-parameter $CFLAGS"])
 - 
 - dnl ================================================================
 - dnl libFuzzer checks.
 - dnl ================================================================
 - 
 - if test "$with_libfuzzer" = "yes" ; then
 - 	have_libfuzzer=yes
 - else
 - 	have_libfuzzer=no
 - fi
 - 
 - AM_CONDITIONAL(HAVE_LIBFUZZER, [test x"$have_libfuzzer" = xyes])
 - 
 - dnl ================================================================
 - dnl Generate output.
 - dnl ================================================================
 - 
 - AC_CONFIG_FILES([Makefile espeak-ng.pc])
 - AC_OUTPUT
 - 
 - if test "$enable_rpath" = "yes" ; then
 - 	true
 - else
 - 	# See https://old-en.opensuse.org/openSUSE:Packaging_Guidelines#Removing_Rpath
 - 	sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
 - 	sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
 - fi
 - 
 - AC_MSG_NOTICE([
 - 
 -     Configuration for eSpeak NG complete.
 - 
 -         Source code location:          ${srcdir}
 - 
 -         C99 Compiler:                  ${CC}
 -         C99 Compiler flags:            ${CFLAGS}
 - 
 -         Sonic:                         ${have_sonic}
 -         PCAudioLib:                    ${have_pcaudiolib}
 - 
 -         gradle (Android):              ${GRADLE}
 -         ndk-build (Android):           ${NDKBUILD_CHECK}
 - 
 -         Klatt:                         ${have_klatt}
 -         speechPlayer:                  ${have_speechplayer}
 -         MBROLA:                        ${have_mbrola}
 -         Async:                         ${have_async}
 - 
 -         Extended Dictionaries:
 -             Russian:                   ${have_extdict_ru}
 -             Chinese (Mandarin):        ${have_extdict_cmn}
 -             Chinese (Cantonese):       ${have_extdict_yue}
 - ])
 
 
  |