[POC][APR] Support for cross-building using configuration variables#24329
Conversation
This comment has been minimized.
This comment has been minimized.
recipes/apr/all/conanfile.py
Outdated
| "ac_cv_file__dev_zero=yes", | ||
| "ac_cv_mmap__dev_zero=yes", |
There was a problem hiding this comment.
For ` "ac_cv_file__dev_zero=yes", "ac_cv_mmap__dev_zero=yes":
- Linux should have
/dev/zeroand it should bemmap'able, and but fairly certainmmapalso supports zeroing with with theMAP_ANONYMOUSflag - so on Linux I think these two checks areyesalmost universally.
recipes/apr/all/conanfile.py
Outdated
| configure_args.extend(["apr_cv_mutex_robust_shared=yes", | ||
| "ac_cv_file__dev_zero=yes", | ||
| "ac_cv_mmap__dev_zero=yes", | ||
| "ac_cv_define_PTHREAD_PROCESS_SHARED=yes", |
There was a problem hiding this comment.
Surprised this check needs any runtime anything, fairly certain it just checks that the PTHREAD_PROCESS_SHARED macro is defined in pthread.h - this seems part of Posix and I can't find examples of this not being defined on Linux. Very much not the case on windows though
| "ac_cv_mmap__dev_zero=yes", | ||
| "ac_cv_define_PTHREAD_PROCESS_SHARED=yes", | ||
| "apr_cv_process_shared_works=yes", | ||
| "apr_cv_tcp_nodelay_with_cork=yes"]) |
There was a problem hiding this comment.
tcpcork is available on Linux since kernel 2.2 released in 1999
https://linux.die.net/man/7/tcp
So I think we can also assume that this is available - the check is more useful keeping in mind that apr is quite old and aims to support things like solaris, sunOS, etc
This comment has been minimized.
This comment has been minimized.
Conan v1 pipeline ✔️All green in build 5 (
Conan v2 pipeline ✔️
All green in build 5 ( |
Summary
Changes to recipe: apr/[*]
Motivation
Coming from: #17609
This PR does not provide pre-built cached files, it offers some common flags to let the machine configure the APR library when cross-building.
Details
user.apr:cache_fileto pass any pre-built cached file.cc @swebb2066