Adapt to newer Emscripten SDK

Newer Emscripten SDKs no longer provide <sys/epoll.h> and
<sys/inotify.h>. The corresponding functionality is not present, I
assume.

Until now we have been using Emscripten SDK 2.0.31 and that is still
the recommended known-to-work version, but I am experimenting with the
latest, 3.1.30.

Signed-off-by: Tor Lillqvist <tml@collabora.com>
Change-Id: I26e89dc38554548aee3ce2dbf6ba352917ba6266
pull/5782/head
Tor Lillqvist 2023-01-12 15:03:40 +02:00 committed by Tor Lillqvist
parent 4417ec556b
commit c944348ad7
2 changed files with 12 additions and 1 deletions

View File

@ -67,7 +67,7 @@ Then build POCO:
patch -p1 < $HOME/lo/online/wasm/poco-1.12.4-emscripten.patch
mv XML/src/xmlparse.cpp XML/src/xmlparse.c
patch -p0 < $HOME/lo/online/wasm/poco-no-special-expat-sauce.diff
podman run -v /data/lo/poco-1.12.4-all:/data/lo/poco-1.12.4-all:rw --security-opt=label=disable -ti public.ecr.aws/allotropia/libo-builders/wasm /bin/bash -c 'source /home/builder/emsdk/emsdk_env.sh && cd /data/lo/poco-1.12.4-all && emconfigure ./configure --static --no-samples --no-tests --omit=Crypto,NetSSL_OpenSSL,JWT,Data,Data/SQLite,Data/ODBC,Data/MySQL,Data/PostgreSQL,Zip,PageCompiler,PageCompiler/File2Page,MongoDB,Redis,ActiveRecord,ActiveRecord/Compiler,Prometheus && emmake make -j8 CC=/home/builder/emsdk/upstream/emscripten/emcc CXX=/home/builder/emsdk/upstream/emscripten/em++ LD=/home/builder/emsdk/upstream/emscripten/em++ CXXFLAGS="-DPOCO_NO_LINUX_IF_PACKET_H -pthread -s USE_PTHREADS=1 -s DISABLE_EXCEPTION_CATCHING=0" && make -j8 install INSTALLDIR=/data/lo/poco-1.12.4-all/install'
podman run -v /data/lo/poco-1.12.4-all:/data/lo/poco-1.12.4-all:rw --security-opt=label=disable -ti public.ecr.aws/allotropia/libo-builders/wasm /bin/bash -c 'source /home/builder/emsdk/emsdk_env.sh && cd /data/lo/poco-1.12.4-all && emconfigure ./configure --static --no-samples --no-tests --omit=Crypto,NetSSL_OpenSSL,JWT,Data,Data/SQLite,Data/ODBC,Data/MySQL,Data/PostgreSQL,Zip,PageCompiler,PageCompiler/File2Page,MongoDB,Redis,ActiveRecord,ActiveRecord/Compiler,Prometheus && emmake make -j8 CC=/home/builder/emsdk/upstream/emscripten/emcc CXX=/home/builder/emsdk/upstream/emscripten/em++ LD=/home/builder/emsdk/upstream/emscripten/em++ CXXFLAGS="-DPOCO_NO_LINUX_IF_PACKET_H -DPOCO_NO_INOTIFY -pthread -s USE_PTHREADS=1 -s DISABLE_EXCEPTION_CATCHING=0" && make -j8 install INSTALLDIR=/data/lo/poco-1.12.4-all/install'
== Build Online with manually built dependencies ==

View File

@ -18,3 +18,14 @@
return ::syscall(SYS_gettid);
#elif POCO_OS == POCO_OS_MAC_OS_X
return ::pthread_mach_thread_np(::pthread_self());
--- poco-1.12.4-all/Net/include/Poco/Net/Net.h
+++ poco-1.12.4-all/Net/include/Poco/Net/Net.h
@@ -132,7 +132,7 @@
#endif
-#if (POCO_OS == POCO_OS_LINUX) || (POCO_OS == POCO_OS_WINDOWS_NT)
+#if ((POCO_OS == POCO_OS_LINUX) || (POCO_OS == POCO_OS_WINDOWS_NT)) && !defined(__EMSCRIPTEN__)
#define POCO_HAVE_FD_EPOLL 1
#endif