Commit Graph
94 Commits
Author SHA1 Message Date
Samuel Thibault eabe24901f Fuzzing: compile the whole libespeak with -fsanitize=fuzzer-no-link
-fsanitize=fuzzer-no-link makes it workable to build a library with fuzzing
enabled, and let the fuzzing test program explicitly trigger the fuzzing.

This allows fuzzing to trace cmp instructions to guide the fuzzing to
improve results.
2023-03-30 02:31:03 +02:00
Yury Popov 19dfee4d71 autoconf: fix sonic/pcaudio definitions 2022-12-08 22:18:21 +03:00
1f76c4b8bd adding fuzzer for espeak_synth (#1178)
* Add: fuzzer files and modifications in config & compil
* add configure.ac change
* add minimize-corpus.sh
* add fuzzing directory and readme
* add to check if CC support libfuzzer
* Make workflow dump the crash POC
* Add debugging information
* Run fuzzing only once a week for now

Co-authored-by: kmamadoudram <kalilou.mamadou-drame@etu.u-bordeaux.fr>
Co-authored-by: yocvito <nicolas.morel@etu.u-bordeaux.fr>
Co-authored-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2022-06-30 13:06:47 +02:00
Samuel Thibault 5a53282746 Merge pull request #1003 from ryandesign/patch-1
Enhance detection of gradle
2022-06-12 00:56:57 +02:00
Samuel Thibault a25849e4d5 configure.ac: Fix inline function test
fixes #1171
2022-04-24 18:46:27 +02:00
Alexander Epaneshnikov 95678616f7 android: integrate ndk-build step into main gradle pipeline
this greatly simplifies the assembly of the android application. moreover, ndk
will be downloaded automatically via sdk-manager.
2022-04-15 19:06:53 +03:00
Samuel Thibault 3ce135ac2b Mark re-used buffers as undefined
These are global arrays reused several times. When using them msan and
valgrind thus believe they are always initialized, which reduces their
capacity to detect uninitialized values. We can however explicitly tell them
when they are reused, and thus to be considered as uninitialized.
2022-04-10 22:42:51 +02:00
Valdis Vitolins 9fc8aa4a54 eSpeak NG 1.52-dev 2022-04-02 22:35:41 +03:00
Valdis Vitolins 2e9a5fccbb Release 1.51 2022-04-02 22:24:41 +03:00
Alexander Epaneshnikov 0931763144 enable all extra dictionaries by default
let's be honest, using espeak-ng without these dictionaries is simply
unbearable... at least for Russian. so let's all get a little bit happy.
2022-03-23 21:58:23 +03:00
Samuel Thibault 3b8eeb2f7b Pass -fwrapv option to compiler
espeak source code uses signed integer wrapping (e.g. wavephase in
wavegen.c's Wavegen). It happens that this is undefined behavior, so a
compiler would be free optimize away various situations... Fortunately gcc
has an -fwrapv option to make signed integer wrapping defined.

Options would be needed for other compilers.
2022-03-11 18:38:37 +01:00
Ryan Schmidt 51ed8cadb5 Set HAVE_GRADLE in a more autoconfy way
It is perhaps more autoconfy to have AM_CONDITIONAL evaluate a variable
rather than call it with what are essentially constants representing
either true or false. It might be even more autoconfy to use
AC_CHECK_PROG here instead; I don't know if there's a good reason why
that wasn't already done here.
2021-08-17 21:03:40 -05:00
Ryan Schmidt f02ef622e4 Show in configure summary when gradle is not found
Previously, if configure determined that gradle could not be found, the
summary at the end of the configure output would nevertheless print the
name or path of the nonexistent gradle executable that it tried to find.
Now it clears that variable.
2021-08-17 20:10:47 -05:00
Ryan Schmidt c8902dff5c Remove unnecessary curly braces around var name 2021-08-17 20:08:33 -05:00
Ryan Schmidt 3fe500aebb Check more accurately if gradle exists
Previously, the configure script would only successfully determine that
gradle exists if the user specified an absolute path to the executable.
It would fail if the user specified only an executable name or if the
default value of "gradle" were used. Now it should succeed in either
situation.
2021-08-17 20:07:33 -05:00
Valdis Vitolins b4589413d7 Fix bug in condition: 'test ...' should return false in this case 2021-07-31 16:27:44 +03:00
Minas Tirith Citizen eaa553748e fix conditional for GRADLE
without this fix (assuming it does, what the original author intended to check for), the configure script spits out an error:

checking for ndk-build                                                                              no
checking for gradle                                                                                 no
${_source}/configure: line 13806: 0: command not found
checking if zsp-gcc supports C99 without any flags                                                  yes
checking if zsp-gcc supports C99 with the -std=c99 flag                                             yes

that's because the condition in AM_CONDITIONAL is expected to be a valid shell expression for an if-statement, not just plain value:

{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gradle" >&5
printf %s "checking for gradle... " >&6; }
if test -e ${GRADLE} ; then
    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${GRADLE}" >&5
printf "%s\n" "${GRADLE}" >&6; }
     if 1; then
  HAVE_GRADLE_TRUE=
  HAVE_GRADLE_FALSE='#'
else
  HAVE_GRADLE_TRUE='#'
  HAVE_GRADLE_FALSE=
fi

else
    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
     if 0; then
  HAVE_GRADLE_TRUE=
  HAVE_GRADLE_FALSE='#'
else
  HAVE_GRADLE_TRUE='#'
  HAVE_GRADLE_FALSE=
fi

fi
2021-06-16 15:22:12 +02:00
Reece H. Dunn a13f9bb62a Fix -Wint-conversion warnings. 2021-05-30 17:55:41 +01:00
Juho Hiltunen d91b7cf288 Rename zh (Mandarin) to cmn across the codebase.
See discussion in #933.
2021-05-11 20:14:54 +03:00
Juho Hiltunen 875174c3e9 Rename zhy (Cantonese) to yue across the codebase.
See discussion in #933.
2021-05-11 19:19:55 +03:00
Valdis Vitolins bb8f1dbec9 Fix indentation 2020-12-14 18:38:53 +02:00
datajake1999 5e502661d6 Add speechPlayer Klatt implementation as Klatt 6. 2020-12-06 08:34:38 -08:00
Daniel Bair b56c9429bc Add check for kramdown so that both RONN and KRAMDOWN are set by configure script 2020-07-03 17:13:16 +07:00
Valdis Vitolins b47a75f4e4 eSpeak NG 1.51-dev 2019-11-30 20:49:12 +02:00
Valdis Vitolins b702b03996 eSpeak NG 1.50 2019-11-29 18:50:54 +02:00
Reece H. Dunn d7aee052c2 configure: Add a --disable-rpath option to prevent libtool hardcoding rpath variables. 2018-04-02 12:40:21 +01:00
Reece H. Dunn 8847b44b23 configure: Group all arguments at the top of the configure file. 2018-04-02 12:26:57 +01:00
Reece H. Dunn d5c52ab39f Fix building ssml-fuzzer with libFuzzer. 2018-03-19 21:50:08 +00:00
Reece H. Dunn 22bbd28d2c Add -Wimplicit warning checks. 2017-10-11 22:03:08 +01:00
Reece H. Dunn c59c9633de Fix -Wuninitialized warnings. 2017-10-11 22:01:41 +01:00
Reece H. Dunn f4248fd728 tests: Fix -Wmissing-prototypes warnings. 2017-10-11 21:20:39 +01:00
Reece H. Dunn 553a6f38a6 Enable and fix -Wreturn-type warnings. 2017-10-05 20:28:28 +01:00
Reece H. Dunn 20dc74eafb Use the -Wunused flag instead of the separate flags. 2017-10-05 07:39:58 +01:00
Reece H. Dunn 977c85ad6e Enable and fix -Wunused-but-set-variable warnings. 2017-10-05 07:35:10 +01:00
Reece H. Dunn d89fa59bed Enable and fix -Wunused-variable warnings. 2017-10-05 07:23:17 +01:00
Reece H. Dunn 6d9bb7ef17 Enable and fix -Wunused-parameter warnings. 2017-10-05 07:20:44 +01:00
Reece H. Dunn dd3df1d0a8 Enable and fix -Wunused-function warnings. 2017-10-05 07:05:47 +01:00
Reece H. Dunn 3a2663030b Update the version to 1.49.3-dev. 2017-09-24 10:46:15 +01:00
Reece H. Dunn 3ed34d3a74 eSpeak NG 1.49.2 2017-09-24 10:10:00 +01:00
Anthony Cornehl 06c87ae25b Detect FreeBSD
FreeBSD requires __BSD_VISIBLE to be set to expose M_PI and mkstemp() in the
system includes. This is normally set when _ANSI_SOURCE, _C99_SOURCE, or
_C11_SOURCE are undefined. I don't want to dig into what the compiler is
setting, so I'm just setting it in the configure script.

/bin/sh ./libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I.    -fPIC -fvisibility=hidden -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"/usr/local/share/espeak-ng-data\" -DLIBESPEAK_NG_EXPORT  -Isrc/include -Isrc/include/compat -I src/ucd-tools/src/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L -Wno-endif-labels    -g -O2 -std=c99 -MT src/libespeak-ng/src_libespeak_ng_la-wavegen.lo -MD -MP -MF src/libespeak-ng/.deps/src_libespeak_ng_la-wavegen.Tpo -c -o src/libespeak-ng/src_libespeak_ng_la-wavegen.lo `test -f 'src/libespeak-ng/wavegen.c' || echo './'`src/libespeak-ng/wavegen.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -fPIC -fvisibility=hidden -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"/usr/local/share/espeak-ng-data\" -DLIBESPEAK_NG_EXPORT -Isrc/include -Isrc/include/compat -I src/ucd-tools/src/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L -Wno-endif-labels -g -O2 -std=c99 -MT src/libespeak-ng/src_libespeak_ng_la-wavegen.lo -MD -MP -MF src/libespeak-ng/.deps/src_libespeak_ng_la-wavegen.Tpo -c src/libespeak-ng/wavegen.c  -fPIC -DPIC -o src/libespeak-ng/.libs/src_libespeak_ng_la-wavegen.o
src/libespeak-ng/wavegen.c:355:24: error: use of undeclared identifier 'M_PI'
                        x = 127*(1.0 - cos((M_PI*2)*ix/wavemult_max));
                                            ^
src/libespeak-ng/wavegen.c:623:16: error: use of undeclared identifier 'M_PI'
        minus_pi_t = -M_PI / samplerate;
                      ^
2 errors generated.
gmake[1]: *** [Makefile:1690: src/libespeak-ng/src_libespeak_ng_la-wavegen.lo] Error 1
2017-08-31 17:42:17 -07:00
Reece H. Dunn ee61cc4358 Fix running 'make clean' when gradle is not present. Gradle is used for the Android build and is not needed when just building eSpeak NG on Linux/BSD systems. 2017-04-24 18:37:06 +01:00
Reece H. Dunn 9bb4b53967 Update the version to 1.49.2-dev. 2017-01-22 15:22:38 +00:00
Reece H. Dunn 2e84bbbcc8 Use autoconf to check for sys/endian.h. 2017-01-15 10:02:30 +00:00
Reece H. Dunn 58c655abae Use autoconf to check for endian.h. 2017-01-15 09:51:44 +00:00
Reece H. Dunn 7cb79ea358 Don't use AC_FUNC_(M|RE)ALLOC as they cause 'Undefined reference to rpl_(m|re)alloc' on some systems. 2017-01-15 09:14:57 +00:00
Reece H. Dunn 6bc5f409a3 Don't generate an error if ndk-build (for Android builds) is not present. 2017-01-05 22:41:40 +00:00
Reece H. Dunn 7390b9de0a Allow the build to work without gradle (for non-Android builds). 2017-01-05 20:31:44 +00:00
Reece H. Dunn 66ac27a94e Merge branch 'android' 2017-01-05 20:27:27 +00:00
Reece H. Dunn 4bf9f0775f Update the version to 1.49.1 (in development). 2016-09-24 12:45:10 +01:00
Reece H. Dunn 76e5224545 eSpeak NG 1.49.0 2016-09-10 11:10:44 +01:00