UNPKG

giac

Version:

Giac, a free computer algebra system

75 lines (60 loc) 2.04 kB
This tutorial explains how to create Linux -> android-eabi, android-x86 cross compilers and compile the Giac library. The tutorial has been tested on Kubuntu 14.04, Ubuntu 14.10 and Ubuntu 16.04 systems. Prerequisites ------------- 1. Download Crystax NDK 10.2.1 from https://crystax.net/en/download. You may need about 2 GB free space. 2. Unpack the contents to ~/android-sdks/. Note that you need about 8 GB extra free space. 3. Set the enviroment variables: ``` NDK_DIR=~/android-sdks/crystax-ndk-10.2.1 CC_DIR=~/cross-compilers ``` 4. Set ``` ARCH=arm HOST=arm-linux-androideabi ``` 5. Run ``` $NDK_DIR/build/tools/make-standalone-toolchain.sh --ndk-dir=$NDK_DIR --arch=$ARCH --platform=android-21 --install-dir=$CC_DIR/$ARCH ``` 6. Type ``` export PATH=$CC_DIR/$ARCH/bin/:$PATH ``` 7. Optionally check out GMP and MPFR and make them with the following command (for versions see src/jni/prebuilt/android/README.txt): ``` CFLAGS="-fPIC" ./configure --host=$HOST --prefix=$CC_DIR/$ARCH/sysroot/usr --disable-assembly && make && make install ``` This step requires additional 300-500 MB disk space. 8. The static and shared libraries can be found in `$CC_DIR/$ARCH/sysroot/usr/lib` 9. Repeat the steps 4-8 above but instead in step 4 use ``` ARCH=x86 HOST=i686-linux-android ``` 10. Repeat the steps 4-8 above but instead in step 4 use ``` ARCH=x86_64 HOST=x86_64-linux-android ``` 11. Repeat the steps 4-8 above but instead in step 4 use ``` ARCH=arm64 HOST=aarch64-linux-android ``` 11. Now you may remove the `$NDK_DIR` folder and save some disk space. Compilation ----------- 1. Make sure that the `PATH` variable is properly set (see step 6 above). 2. Run ``` ../gradlew androidAar ``` in this directory. Troubleshooting --------------- You may need to create the file `local.properties` on your own with `sdk.dir=/path/to/android/sdk` if you don't want to set the `ANDROID_SDK` variable manually.