build: default to armv7+vfpv3 for android
authorGiovanny Andres Gongora Granada <gioyik@gmail.com>
Mon, 9 Mar 2015 03:19:21 +0000 (22:19 -0500)
committerBen Noordhuis <info@bnoordhuis.nl>
Fri, 3 Apr 2015 22:53:03 +0000 (00:53 +0200)
Also add Android build instructions to the README.

PR-URL: https://github.com/iojs/io.js/pull/1307
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
.gitignore
README.md
android-configure
configure

index c71df78..19fb384 100644 (file)
@@ -54,6 +54,7 @@ deps/icu*.zip
 deps/icu*.tgz
 deps/icu-tmp
 ./node_modules
+android-toolchain/
 .svn/
 
 # generated by gyp on Windows
index 5608a50..e3076ef 100644 (file)
--- a/README.md
+++ b/README.md
@@ -140,6 +140,17 @@ To run the tests:
 > vcbuild test
 ```
 
+### Android / Android based devices, aka. Firefox OS
+
+Be sure you have downloaded and extracted [Android NDK]
+(https://developer.android.com/tools/sdk/ndk/index.html)
+before in a folder. Then run:
+
+```
+$ ./android-configure /path/to/your/android-ndk
+$ make
+```
+
 ### `Intl` (ECMA-402) support:
 
 [Intl](https://github.com/joyent/node/wiki/Intl) support is not
index b3145e5..af47aa3 100755 (executable)
@@ -3,15 +3,15 @@
 export TOOLCHAIN=$PWD/android-toolchain
 mkdir -p $TOOLCHAIN
 $1/build/tools/make-standalone-toolchain.sh \
-    --toolchain=arm-linux-androideabi-4.7 \
+    --toolchain=arm-linux-androideabi-4.9 \
     --arch=arm \
     --install-dir=$TOOLCHAIN \
     --platform=android-9
 export PATH=$TOOLCHAIN/bin:$PATH
-export AR=arm-linux-androideabi-ar
-export CC=arm-linux-androideabi-gcc
-export CXX=arm-linux-androideabi-g++
-export LINK=arm-linux-androideabi-g++
+export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar
+export CC=$TOOLCHAIN/bin/arm-linux-androideabi-gcc
+export CXX=$TOOLCHAIN/bin/arm-linux-androideabi-g++
+export LINK=$TOOLCHAIN/bin/arm-linux-androideabi-g++
 
 ./configure \
     --dest-cpu=arm \
index 6ee9b99..8a3298d 100755 (executable)
--- a/configure
+++ b/configure
@@ -431,7 +431,8 @@ def is_arch_armv7():
   return ('__ARM_ARCH_7__' in cc_macros_cache or
           '__ARM_ARCH_7A__' in cc_macros_cache or
           '__ARM_ARCH_7R__' in cc_macros_cache or
-          '__ARM_ARCH_7M__' in cc_macros_cache)
+          '__ARM_ARCH_7M__' in cc_macros_cache or
+          '__ARM_ARCH_7S__' in cc_macros_cache)
 
 
 def is_arch_armv6():
@@ -508,6 +509,10 @@ def configure_arm(o):
   o['variables']['arm_thumb'] = 0      # -marm
   o['variables']['arm_float_abi'] = arm_float_abi
 
+  if options.dest_os == 'android':
+    o['variables']['arm_fpu'] = 'vfpv3'
+    o['variables']['arm_version'] = '7'
+
   # Print warning when snapshot is enabled and building on armv6
   if is_arch_armv6() and options.with_snapshot:
     warn('when building on ARMv6, don\'t use --with-snapshot')