From 80ad74f7613d7d790a5152ee377af361ecd3ff9b Mon Sep 17 00:00:00 2001 From: Christian Beier Date: Sun, 26 Mar 2017 16:11:16 +0200 Subject: [PATCH] Fix building for Android and add build instructions to README --- README | 11 +++++++++++ libvncclient/listen.c | 2 +- rfb/rfbclient.h | 5 +++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/README b/README index 5a69f3e..6227069 100644 --- a/README +++ b/README @@ -81,6 +81,17 @@ LibVNCServer uses CMake, so you can build via: For some more comprehensive examples that include installation of dependencies, see the [Unix CI](.travis.yml) and [Windows CI](.appveyor.yml) build setups. +Crosscompiling involves some more advanced command line switches but is easily possible +as well. + +For instance, building for Android (see https://developer.android.com/ndk/guides/cmake.html as a reference): + + mkdir build + cd build + cmake .. -DANDROID_NDK= -DCMAKE_TOOLCHAIN_FILE= -DANDROID_NATIVE_API_LEVEL= -DWITH_PNG=OFF # NDK not shipping png per default + cmake --build . + + How to use ---------- diff --git a/libvncclient/listen.c b/libvncclient/listen.c index 8674b3f..4ecedff 100644 --- a/libvncclient/listen.c +++ b/libvncclient/listen.c @@ -89,7 +89,7 @@ listenForIncomingConnections(rfbClient* client) int r; /* reap any zombies */ int status, pid; - while ((pid= wait3(&status, WNOHANG, (struct rusage *)0))>0); + while ((pid= wait4(-1, &status, WNOHANG, (struct rusage *)0))>0); /* TODO: callback for discard any events (like X11 events) */ diff --git a/rfb/rfbclient.h b/rfb/rfbclient.h index 505dd9c..72e7a5a 100644 --- a/rfb/rfbclient.h +++ b/rfb/rfbclient.h @@ -35,6 +35,11 @@ #define WIN32_LEAN_AND_MEAN /* Prevent loading any Winsock 1.x headers from windows.h */ #endif +#if defined(ANDROID) || defined(LIBVNCSERVER_HAVE_ANDROID) +#include +#include +#endif + #include #include #include