diff --git a/.gitignore b/.gitignore index c71df785ab..19fb384003 100644 --- a/.gitignore +++ b/.gitignore @@ -54,6 +54,7 @@ deps/icu*.zip deps/icu*.tgz deps/icu-tmp ./node_modules +android-toolchain/ .svn/ # generated by gyp on Windows diff --git a/README.md b/README.md index 5608a502e4..e3076ef4f2 100644 --- 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 diff --git a/android-configure b/android-configure index b3145e5838..af47aa3a7d 100755 --- a/android-configure +++ b/android-configure @@ -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 \ diff --git a/configure b/configure index 6ee9b99a41..8a3298d65f 100755 --- 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')