<div dir="ltr"><div>Here's a patch that I was able to apply to the code base that allowed me to cross-compile for Windows using the Autotools toolkit, and solved the problem of the missing regex.h header in diatheke. I will also attach the patch file to this email directly. I think the discrepancy happens because glibc doesn't come along with most MinGW toolkits in the same way, and it's lacking regex.h. It seems to be pretty standard to have that header in Linux or Unix systems, so on those platforms the internal regex.h would not commonly be used.<br></div><div><br></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">--- a/utilities/diatheke/Makefile.am
</span><br>+++ b/utilities/diatheke/Makefile.am
<br>@@ -1,5 +1,8 @@
<br> AUTOMAKE_OPTIONS = 1.6
<br>  <br>+if USE_INTERNAL_REGEX
<br>+AM_CPPFLAGS = -I$(top_srcdir)/include/internal/regex
<br>+endif
<br> LDADD = $(top_builddir)/lib/<a href="http://libsword.la">libsword.la</a>
<br>  <br> bin_PROGRAMS = diatheke<br>
<br><br></span></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 24, 2024 at 10:40 AM Greg Hellings <<a href="mailto:greg.hellings@gmail.com">greg.hellings@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I'm trying to build SWORD in an environment without a system regex.h. The library build itself goes great, but diatheke fails to find the internal regex.h file, ending with this error.</div><div><br>sword-x86_64-w64-mingw32> corediatheke.cpp:29:10: fatal error: regex.h: No such file or directory<br>sword-x86_64-w64-mingw32>    29 | #include <regex.h><br>sword-x86_64-w64-mingw32>       |          ^~~~~~~~~<br>sword-x86_64-w64-mingw32> compilation terminated.</div><div><br></div><div>The offending invocation of the compiler is:</div><div>x86_64-w64-mingw32-g++ -DHAVE_CONFIG_H -I. -I../../include    -Ofast 
-fPIC -D_ICU_ -DCURLAVAILABLE 
-I/nix/store/mkzj31p69kxrhar1b2l5vq7hkd1n45i4-curl-x86_64-w64-mingw32-8.9.1-dev/include
 -DCURLSFTPAVAILABLE -DUSEICUREGEX  -Wno-address -Wno-nonnull-compare 
-Wno-unused-but-set-variable -Wno-unknown-warning-option 
-DU_USING_ICU_NAMESPACE=1 -Wint-to-pointer-cast -fpermissive 
-D_ICUSWORD_ -DCURL_STATICLIB -ftemplate-depth=100 -c -o corediatheke.o 
corediatheke.cpp</div><div><br></div><div>I have tried this both with the -DUSEICUREGEX and with only the internal version, but that doesn't seem to affect this. It looks like the diatheke compile invocation needs to include -I../include/interna/regex when the internal regex.h is requested.</div><div><br></div><div>Am I missing something to set that flag?</div><div><br></div><div>--Greg<br></div></div>
</blockquote></div>