Build for android using the cmake build files. See #3268 and in particular this build failure.
Towards the end of the cmake run it says
-- Performing Test HAVE_POLL_FINE
CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
For details see C:/projects/curl/build/TryRunResults.cmake
-- Performing Test HAVE_POLL_FINE - Failed
I expected the following
The build to succeed
a build for Android on Windows
The text was updated successfully, but these errors were encountered:
The check tries to see if the poll() implementation works by running a small test, designed to detect a particular known problem with old macOS poll() implementations. Since we can't run programs for cross-compiled systems, a sensible default is probably the only thing we can do...
@bagder hmm... but according to reference I've provided this check is disabled for APPLE targets... if(NOT APPLE) will disable this check on macOS and perform it for all others OS.
What I can suggest is add to this check additional condition something like if(NOT APPLE AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
@bagder Anyway my proposal is the same - should remove check_c_source_runs if CMake generates for cross-compilation.
So if you've no objections I can provide PR for this.
Other checks for MacOS will not be performed since I've no Mac to check them :)
@bagder Going back to our discussion.
Looks like for cross-compilation poll will never be used.
Even in autoconfig HAVE_POLL_FINE will be set only if poll is able to run.
But run disabled by condition if test "x$cross_compiling" != "xyes".
Am I correct? Is it good for curl on embedded targets? Or it is not so important for client sockets?
Maybe it is better to explicitly state what to use?
For example ./configure --enable-poll --disable-select?