Comments (4)
I think it is unlikely that you will ever get it to compile on Windows. In any case, a Windows-based cross compile is not something I'm willing to support.
Once you've got the Ubuntu 12.04 virtual machine up and running, you'll need to ensure that you have an appropriate build environment. You'll need, at a minimum, build-essential, autotools, and m4.
Then you have to consider the target architecture. Does the NDK specify any required flags for the compiler and/or the linker, as it does for the ARM architecture? What CFLAGS should you use when optimizing the code? Do you build binaries with debugging symbols? Are there multiple MIPS targets (as with ARM, where there are two different ABIs)? Does the GMP platform itself require specific CFLAGS in addition to those specified by Google in the NDK documentation?
Even if you get all of the above questions right, or even close to correct, how do you test and validate the generated binaries? There have been many reported cases where GMP compiles and links cleanly, but generates incorrect results at runtime. They even say so on their website - GMP tends to test the unexplored corners of compiler optimizers, so it is crucial that you find a way to test the shared object prior to distribution.
I guess what I'm saying here is that targeting a new cross-compiled architecture with GMP is not a trivial task. You cannot just take the script from this git repository, replace the toolchain, and expect it to work. I guarantee you that it will not. I will consider doing this work, but it probably won't happen for several weeks at a minimum.
from gmp.
Initial mips & x86 support has been added under tag bin_5.0.5_r3. Please proceed with caution as these builds have not been tested. If you're able to run them and they work (i.e. they do not crash and they generate correct results), please let me know. I'll leave the issue open in the hopes that you report back.
from gmp.
Hi,
I did a quick test of the x86 binary (VMLite-Android-v4.0.4 under Oracle VM virtual box) using the mpz internal factorial function mpz_fac_ui. It produces the correct result for that function (up to around n = 400000, beyond that the app fails probably due memory contraints. The same happens on my SS Galaxy SIII obviously with the ARM binary). So for the x86 it looks promising.
I don't have the means to test the MIPS binary as I don't have a device running with that processor.
from gmp.
Thanks for testing. I spent some time tonight to run the armeabi test suite binaries on a Galaxy Nexus running Jelly Bean. As far as I can tell everything runs fine, so I think I'll call it good.
from gmp.
Related Issues (8)
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 gmp.