[android] support "make" based ports#21831
Conversation
1. ${BASH} -> ${bash_executable}
2. -avoid-version patch ignored
…o fix-android-ndk-clang
…o fix-android-ndk-clang
| endif() | ||
|
|
||
| # Android - cross-compiling support | ||
| if(VCPKG_TARGET_IS_ANDROID) |
There was a problem hiding this comment.
Keen to know if this should be avoided and if yes, how
|
I have cloned the branch config-x86-android-dbg-out.log shows that the c compiler does not work. And check the |
|
Please get failure logs here. |
|
Maybe you should check the port |
|
IIUC FTR the file from vcpkg does the following: |
I think it is impossible. Since the PR here is going to fix a community driven triplet that does not covered by the statandard CI pipeline. I could not find any failure logs about Android platform. |
OK, I would like to try it. |
|
@dg0yt I found some documentations here:
|
|
@holmescn this PR only works with NDK <= r21, if possible I'd like to deal with the r23 in a separate PR. |
|
Good to know that NDK and CMake are aligning. We can probaly assume building with CMake >= 3.21. (vcpkg ports will use it so users can use it, too.) But I don't think we can always assume NDK >= r23. |
Yes, more tests found more problems with the older NDK version. More patches needed. Sad. |
|
BTW the |
|
IIUC |
But old NDK do not have new API level. It causes a crash. Since the API level 21 is invalid in NDK r16 |
|
I think it's the users responsibility to make sure he has tools (ndk) that handle his settings (target API). What could be done is a warning/error to help point that out and with this help the user fix the mismatch. That would be a nice to have / enhancement. |
That is what I have done in #21847 which give two choices to solve this kind of problem:
|
Adds support for android builds using make.
Based on previous pull requests
Fix android ndk clang #21222 (by @holmescn) for the bare minimum to get things working
[android] vcpkg_configure_make correct set flags for android build #15605 (by @xandox) for the logic to extract variables from using get_cmake_vars
What does your PR fix?
Fixes building make based ports using android ndk
Which triplets are supported/not supported? Have you updated the CI baseline?
android, no
Does your PR follow the maintainer guide?
yes
If you have added/updated a port: Have you run
./vcpkg x-add-version --alland committed the result?no ports affected