Autodetect flite voice registration function
authorKeith Packard <keithp@keithp.com>
Fri, 23 Apr 2010 20:53:25 +0000 (13:53 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 23 Apr 2010 20:53:25 +0000 (13:53 -0700)
Old versions of flite exported the function 'register_cmu_us_kal'
while new ones export 'register_cmu_us_kal16'. This patch just checks
which one is available and uses that.

Signed-off-by: Keith Packard <keithp@keithp.com>
ao-tools/ao-view/aoview_flite.c
configure.ac

index 00e6c9d..abcdc49 100644 (file)
@@ -21,6 +21,8 @@
 #include <alsa/asoundlib.h>
 
 cst_voice *register_cmu_us_kal16();
+cst_voice *register_cmu_us_kal();
+
 static cst_voice *voice;
 
 static FILE *pipe_write;
@@ -118,7 +120,13 @@ aoview_flite_start(void)
 
        if (!once) {
                flite_init();
+#if HAVE_REGISTER_CMU_US_KAL16
                voice = register_cmu_us_kal16();
+#else
+#if HAVE_REGISTER_CMU_US_KAL
+               voice = register_cmu_us_kal();
+#endif
+#endif
                if (!voice) {
                        perror("register voice");
                        exit(1);
index d4ddda1..d6c8682 100644 (file)
@@ -50,6 +50,10 @@ if test "x$HAVE_FLITE_H" = "xyes" -a "x$HAVE_LIBFLITE" = "xyes"; then
        AC_DEFINE(HAVE_FLITE,1,[Define if the flite library is usable])
        AC_SUBST(FLITE_LIBS,"-lflite_cmu_us_kal16 -lflite_usenglish -lflite_cmulex -lflite -lasound -lm")
        AC_SUBST(FLITE_INCS,-Iflite)
+       save_LIBS="$LIBS"
+       LIBS="$LIBS $FLITE_LIBS"
+       AC_CHECK_FUNCS([register_cmu_us_kal16 register_cmu_us_kal],break)
+       LIBS="$save_LIBS"
 fi
 AM_CONDITIONAL(USE_FLITE,test "x$HAVE_FLITE_H" = "xyes" -a "x$HAVE_LIBFLITE" = "xyes")