Comments (8)
I tried it and it seems to be working and producing valid libs on every platform. Thank you, feel free to merge it.
from wasm-micro-runtime.
Hi, yes, it is not a good way to hardcode the configurations in the cmake file, I remember it was written that way due to the GitHub CI which only supports android 32-bit. I submitted PR #3239 to rewrite the cmake file and CI file, could you help have a view? Thanks.
from wasm-micro-runtime.
Thanks for your work, I tried and it seems good to me.
Simultaneously I started working on this problem (main...daniel7grant:wasm-micro-runtime:feature/android-build-options), but your CMakeLists.txt
seems to be more useful. The only thing I would add from my branch is the documentation: to add a note in the platform-mini/README.md
that the flags should be used instead of modifying the CMakeLists.txt
file.
from wasm-micro-runtime.
OK, I updated the document according to you branch and made small changes. Please check whether more need to be added or changed?
from wasm-micro-runtime.
I don't see anything else. Thank you for your help.
from wasm-micro-runtime.
Welcome.
from wasm-micro-runtime.
One more thing that I just noticed: if the WAMR_BUILD_TARGET
is not set (i.e. running without any -D
-s), it fails to compile for me, because the CMAKE_SYSTEM_PROCESSOR
is not set. It currently breaks the default example code. Probably it would be a good idea to keep the current behaviour and build for a default platform. Otherwise, there should be a better error message, for example "Build target cannot be determined, set WAMR_BUILD_TARGET."
from wasm-micro-runtime.
Yes, I did some test, it is not easy to set WAMR_BUILD_TARGET
according to the CMAKE_SYSTEM_PROCESSOR
: CMAKE_SYSTEM_PROCESSOR
is available only when project (iwasm)
is added in the CMakeLists.txt, but if the latter is added before setting ANDROID_ABI
and CMAKE_TOOLCHAIN_FILE
, the c/c++ compiler will be set to GNU compiler instead of NDK's compiler, and compilation errors will be reported. So I updated the PR to enforce the developer to set WAMR_BUILD_TARGET
explicitly, and use it to set ANDRDOI_ABI
if it isn't passed from the command line, and then pass it android.toolchain.cmake
, which checks ANDRDOI_ABI
and sets CMAKE_ANDROID_ARCH_ABI
accordingly:
https://android.googlesource.com/platform/ndk/+/master/build/cmake/android.toolchain.cmake#110
Please help review and try again, let's merge the PR if it works fine for you.
from wasm-micro-runtime.
Related Issues (20)
- Compilation errors when build iwasm with GC and EH support
- iwasm: WASM module load failed: struct or array as field is not supported in constant expr HOT 6
- iwasm: WASM module load failed: type mismatch: expect (ref null ht) but got other1 unknown type HOT 5
- exception handler intercepts c++ exceptions in the host on windows HOT 2
- WASM module instantiate failed on Mac HOT 1
- aot: xtensa xip triggers llvm assertion failure
- BH_DEBUG not set in multi-configuration cmake (eg. visual studio)
- printf_wrapper (libc builtin) makes multiple calls to os_printf with individual characters HOT 6
- Can AOT file built on windows run directly on other platforms? HOT 5
- How to load and run another wasm in a running wasm? HOT 6
- Exception Handling Support in Fast Interpreter HOT 1
- iwasm with aot file fail with SIGSEGV HOT 4
- Exception for Assemblyscript HOT 1
- How to cross compile to riscv64 HOT 2
- Unexpected behavior on fast interpreter mode HOT 1
- A bug in validation HOT 1
- Report some typo in wamr.gitbook HOT 1
- Calling "step-over" on the last line of the function failed
- CI test-wamr-ide failed to run
- Request to add vmlib on Android platform to align with Linux platform
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wasm-micro-runtime.