11From 6f07580b8dd6ec0cf3419d5bceff097de2e213df Mon Sep 17 00:00:00 2001
22From: mcarans <rans@email.com>
33Date: Sun, 21 Sep 2025 17:31:01 +1200
4- Subject: [PATCH 1/5 ] audio_object_flush before fifo_stop
4+ Subject: [PATCH 1/6 ] audio_object_flush before fifo_stop
55
66---
77 src/libespeak-ng/speech.c | 10 +++++-----
@@ -36,7 +36,7 @@ index 3c36e9a5a..beec848b8 100644
3636From 247839fa8ee9b3cf327c4b836441a0d4be0e6e0d Mon Sep 17 00:00:00 2001
3737From: Mike <rans@email.com>
3838Date: Tue, 30 Sep 2025 09:50:14 +1300
39- Subject: [PATCH 2/5 ] Change path separator for mingw64
39+ Subject: [PATCH 2/6 ] Change path separator for mingw64
4040
4141---
4242 src/libespeak-ng/speech.h | 7 ++++++-
@@ -67,7 +67,7 @@ index ee81d0526..bf57d3b16 100644
6767From 553d189ee384a303846b0e2e2bf5cdfccff640e6 Mon Sep 17 00:00:00 2001
6868From: Mike <rans@email.com>
6969Date: Wed, 1 Oct 2025 09:49:15 +1300
70- Subject: [PATCH 3/5 ] Change back speech.h to original Add msys2path conversion
70+ Subject: [PATCH 3/6 ] Change back speech.h to original Add msys2path conversion
7171 to CMakeLists.txt for mingw only
7272
7373---
@@ -138,7 +138,7 @@ index bf57d3b16..ee81d0526 100644
138138From 31373ca6a54be87247f0c84e874c1e37ed08a10d Mon Sep 17 00:00:00 2001
139139From: Mike <rans@email.com>
140140Date: Wed, 1 Oct 2025 10:22:56 +1300
141- Subject: [PATCH 4/5 ] Fix msys2path
141+ Subject: [PATCH 4/6 ] Fix msys2path
142142
143143---
144144 cmake/msys2path.cmake | 8 ++++++++
@@ -192,7 +192,7 @@ index 4c12244cd..281908db6 100644
192192From 67d8e09ae8c3378a6e9862fc319d9991a4a9dd88 Mon Sep 17 00:00:00 2001
193193From: Mike <rans@email.com>
194194Date: Wed, 1 Oct 2025 10:35:05 +1300
195- Subject: [PATCH 5/5 ] Fix msys2path
195+ Subject: [PATCH 5/6 ] Fix msys2path
196196
197197---
198198 cmake/msys2path.cmake | 3 ++-
@@ -212,3 +212,95 @@ index 0d015f2a9..7c6cb491c 100644
212212 endif ()
213213 endfunction()
214214\ No newline at end of file
215+
216+ From b4dff5ad0b0a158a5a87f3565b17b2fe549e57c8 Mon Sep 17 00:00:00 2001
217+ From: Mike <rans@email.com>
218+ Date: Thu, 13 Nov 2025 20:08:57 +1300
219+ Subject: [PATCH 6/6] Path fixes
220+
221+ ---
222+ cmake/msys2path.cmake | 18 ------------------
223+ src/libespeak-ng/CMakeLists.txt | 11 +----------
224+ src/libespeak-ng/speech.h | 7 ++++++-
225+ src/libespeak-ng/voices.c | 2 +-
226+ 4 files changed, 8 insertions(+), 30 deletions(-)
227+ delete mode 100644 cmake/msys2path.cmake
228+
229+ diff --git a/cmake/msys2path.cmake b/cmake/msys2path.cmake
230+ deleted file mode 100644
231+ index 7c6cb491c..000000000
232+ --- a/cmake/msys2path.cmake
233+ +++ /dev/null
234+ @@ -1,18 +0,0 @@
235+ - # Usage: msys2_to_windows("${msys_path}" win_path)
236+ -
237+ - function(msys_to_windows MsysPath WinPath)
238+ - execute_process(
239+ - COMMAND cygpath -w "${MsysPath}"
240+ - OUTPUT_VARIABLE converted_path
241+ - OUTPUT_STRIP_TRAILING_WHITESPACE
242+ - ERROR_VARIABLE err
243+ - RESULT_VARIABLE res
244+ - )
245+ - if(NOT res EQUAL 0)
246+ - message(WARNING "cygpath failed: ${err}")
247+ - set(${WinPath} "${MsysPath}" PARENT_SCOPE)
248+ - else ()
249+ - string(REPLACE "\\" "/" norm_path "${converted_path}")
250+ - set(${WinPath} "${norm_path}" PARENT_SCOPE)
251+ - endif ()
252+ - endfunction()
253+ \ No newline at end of file
254+ diff --git a/src/libespeak-ng/CMakeLists.txt b/src/libespeak-ng/CMakeLists.txt
255+ index 281908db6..bb39dc281 100644
256+ --- a/src/libespeak-ng/CMakeLists.txt
257+ +++ b/src/libespeak-ng/CMakeLists.txt
258+ @@ -69,16 +69,7 @@ if (NOT BUILD_SHARED_LIBS)
259+ target_compile_definitions(espeak-ng INTERFACE "LIBESPEAK_NG_EXPORT=1")
260+ endif()
261+
262+ - set(espeakngdata_in "${CMAKE_INSTALL_PREFIX}/share/espeak-ng-data")
263+ - if (MINGW)
264+ - include("${CMAKE_SOURCE_DIR}/cmake/msys2path.cmake")
265+ - msys_to_windows("${espeakngdata_in}" espeakngdata)
266+ - message(STATUS "Converted espeak-ng data path: ${espeakngdata}")
267+ - else ()
268+ - set(espeakngdata "${espeakngdata_in}")
269+ - endif()
270+ -
271+ - target_compile_definitions(espeak-ng PRIVATE "PATH_ESPEAK_DATA=\"${espeakngdata}\"")
272+ + target_compile_definitions(espeak-ng PRIVATE "PATH_ESPEAK_DATA=\"${CMAKE_INSTALL_PREFIX}/share/espeak-ng-data\"")
273+
274+ if (USE_ASYNC)
275+ target_sources(espeak-ng PRIVATE
276+ diff --git a/src/libespeak-ng/speech.h b/src/libespeak-ng/speech.h
277+ index ee81d0526..97cd7dd2f 100644
278+ --- a/src/libespeak-ng/speech.h
279+ +++ b/src/libespeak-ng/speech.h
280+ @@ -55,7 +55,12 @@ extern "C"
281+ #if defined(_WIN32) || defined(_WIN64) // Windows
282+
283+ #define PLATFORM_WINDOWS 1
284+ - #define PATHSEP '\\'
285+ +
286+ + #ifdef __MINGW32__
287+ + #define PATHSEP '/'
288+ + #else
289+ + #define PATHSEP '\\'
290+ + #endif
291+ #define N_PATH_HOME_DEF 230
292+ #define NO_VARIADIC_MACROS
293+
294+ diff --git a/src/libespeak-ng/voices.c b/src/libespeak-ng/voices.c
295+ index 756b24722..68c0ae37d 100644
296+ --- a/src/libespeak-ng/voices.c
297+ +++ b/src/libespeak-ng/voices.c
298+ @@ -80,7 +80,7 @@ static const char variants_male[N_VOICE_VARIANTS] = { 1, 2, 3, 4, 5, 6, 0 };
299+ static const char variants_female[N_VOICE_VARIANTS] = { 11, 12, 13, 14, 0 };
300+ static const char *const variant_lists[3] = { variants_either, variants_male, variants_female };
301+
302+ - #ifdef _WIN32
303+ + #if !defined(__MINGW32__) && defined(_WIN32)
304+ #define MB_PREFIX "mb\\"
305+ #else
306+ #define MB_PREFIX "mb/"
0 commit comments