summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-08-05 16:46:05 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-08-05 16:46:05 +0200
commitd13a2ee5c6c972fafc14f68ffbe7cc81cde0f7c1 (patch)
tree74fe13e1aa1d972f567527e4f15be008e613acdf
parent0481a7f3b883862cadf963314d23490adc6656a4 (diff)
downloadandroid-node-v8-d13a2ee5c6c972fafc14f68ffbe7cc81cde0f7c1.tar.gz
android-node-v8-d13a2ee5c6c972fafc14f68ffbe7cc81cde0f7c1.tar.bz2
android-node-v8-d13a2ee5c6c972fafc14f68ffbe7cc81cde0f7c1.zip
android support
-rwxr-xr-xandroid-configure79
-rw-r--r--common.gypi8
-rw-r--r--deps/openssl/openssl-cl_no_asm.gypi2
-rw-r--r--deps/openssl/openssl_no_asm.gypi2
-rw-r--r--deps/v8/src/snapshot/mksnapshot.cc2
-rw-r--r--node.gyp3
6 files changed, 11 insertions, 85 deletions
diff --git a/android-configure b/android-configure
deleted file mode 100755
index 59f0a40c1a..0000000000
--- a/android-configure
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/bin/bash
-
-# In order to cross-compile node for Android using NDK, run:
-# source android-configure <path_to_ndk> [arch]
-#
-# By running android-configure with source, will allow environment variables to
-# be persistent in current session. This is useful for installing native node
-# modules with npm. Also, don't forget to set the arch in npm config using
-# 'npm config set arch=<arch>'
-
-
-if [ -z "$2" ]; then
- ARCH=arm
-else
- ARCH="$2"
-fi
-
-CC_VER="4.9"
-case $ARCH in
- arm)
- DEST_CPU="$ARCH"
- SUFFIX="$ARCH-linux-androideabi"
- TOOLCHAIN_NAME="$SUFFIX"
- ;;
- x86)
- DEST_CPU="ia32"
- SUFFIX="i686-linux-android"
- TOOLCHAIN_NAME="$ARCH"
- ;;
- x86_64)
- DEST_CPU="ia32"
- SUFFIX="$ARCH-linux-android"
- TOOLCHAIN_NAME="$ARCH"
- ;;
- *)
- echo "Unsupported architecture provided: $ARCH"
- exit 1
- ;;
-esac
-
-NDK_PATH=$1
-function make_toolchain {
- $NDK_PATH/build/tools/make-standalone-toolchain.sh \
- --toolchain=$TOOLCHAIN_NAME-$CC_VER \
- --arch=$ARCH \
- --install-dir=$TOOLCHAIN \
- --platform=android-21
-}
-
-export TOOLCHAIN=$PWD/android-toolchain
-if [ -d "$TOOLCHAIN" ]; then
- read -r -p "NDK toolchain already exists. Replace it? [y/N]" response
- case "$response" in
- [Yy])
- rm -rf "$TOOLCHAIN"
- make_toolchain
- esac
-else
- make_toolchain
-fi
-export PATH=$TOOLCHAIN/bin:$PATH
-export AR=$TOOLCHAIN/bin/$SUFFIX-ar
-export CC=$TOOLCHAIN/bin/$SUFFIX-gcc
-export CXX=$TOOLCHAIN/bin/$SUFFIX-g++
-export LINK=$TOOLCHAIN/bin/$SUFFIX-g++
-
-GYP_DEFINES="target_arch=$ARCH"
-GYP_DEFINES+=" v8_target_arch=$ARCH"
-GYP_DEFINES+=" android_target_arch=$ARCH"
-GYP_DEFINES+=" host_os=linux OS=android"
-export GYP_DEFINES
-
-if [ -f "configure" ]; then
- ./configure \
- --dest-cpu=$DEST_CPU \
- --dest-os=android \
- --without-snapshot \
- --openssl-no-asm
-fi
diff --git a/common.gypi b/common.gypi
index 1eadd779a3..0773d2f193 100644
--- a/common.gypi
+++ b/common.gypi
@@ -161,8 +161,8 @@
'ldflags': [ '-Wl,-bbigtoc' ],
}],
['OS == "android"', {
- 'cflags': [ '-fPIE' ],
- 'ldflags': [ '-fPIE', '-pie' ]
+ 'cflags': [ '-fPIC' ],
+ 'ldflags': [ '-fPIC' ]
}],
],
'msvs_settings': {
@@ -221,8 +221,8 @@
],
},],
['OS == "android"', {
- 'cflags': [ '-fPIE' ],
- 'ldflags': [ '-fPIE', '-pie' ]
+ 'cflags': [ '-fPIC' ],
+ 'ldflags': [ '-fPIC' ]
}],
],
'msvs_settings': {
diff --git a/deps/openssl/openssl-cl_no_asm.gypi b/deps/openssl/openssl-cl_no_asm.gypi
index f3e1373802..5db4421d88 100644
--- a/deps/openssl/openssl-cl_no_asm.gypi
+++ b/deps/openssl/openssl-cl_no_asm.gypi
@@ -16,6 +16,8 @@
'includes': ['config/archs/linux64-s390x/no-asm/openssl-cl.gypi'],
}, 'target_arch=="arm" and OS=="linux"', {
'includes': ['config/archs/linux-armv4/no-asm/openssl-cl.gypi'],
+ }, 'target_arch=="arm" and OS=="android"', {
+ 'includes': ['config/archs/linux-armv4/no-asm/openssl-cl.gypi'],
}, 'target_arch=="arm64" and OS=="linux"', {
'includes': ['config/archs/linux-aarch64/no-asm/openssl-cl.gypi'],
}, 'target_arch=="arm64" and OS=="win"', {
diff --git a/deps/openssl/openssl_no_asm.gypi b/deps/openssl/openssl_no_asm.gypi
index e492c43ffb..171dcb3380 100644
--- a/deps/openssl/openssl_no_asm.gypi
+++ b/deps/openssl/openssl_no_asm.gypi
@@ -17,6 +17,8 @@
'includes': ['config/archs/linux64-s390x/no-asm/openssl.gypi'],
}, 'target_arch=="arm" and OS=="linux"', {
'includes': ['config/archs/linux-armv4/no-asm/openssl.gypi'],
+ }, 'target_arch=="arm" and OS=="android"', {
+ 'includes': ['config/archs/linux-armv4/no-asm/openssl.gypi'],
}, 'target_arch=="arm64" and OS=="linux"', {
'includes': ['config/archs/linux-aarch64/no-asm/openssl.gypi'],
}, 'target_arch=="ia32" and OS=="linux"', {
diff --git a/deps/v8/src/snapshot/mksnapshot.cc b/deps/v8/src/snapshot/mksnapshot.cc
index f44f71e145..b58d0b971c 100644
--- a/deps/v8/src/snapshot/mksnapshot.cc
+++ b/deps/v8/src/snapshot/mksnapshot.cc
@@ -87,7 +87,7 @@ class SnapshotFileWriter {
static void WriteSnapshotFileData(FILE* fp,
const i::Vector<const i::byte>& blob) {
- fprintf(fp, "static const byte blob_data[] = {\n");
+ fprintf(fp, "alignas(kPointerAlignment) static const byte blob_data[] = {\n");
WriteBinaryContentsAsCArray(fp, blob);
fprintf(fp, "};\n");
fprintf(fp, "static const int blob_size = %d;\n", blob.length());
diff --git a/node.gyp b/node.gyp
index 55b7da02cc..8a7c4e0543 100644
--- a/node.gyp
+++ b/node.gyp
@@ -487,7 +487,8 @@
'include_dirs': [
'src',
- '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h
+ 'deps/v8/include',
+ '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h,
],
'dependencies': [ 'deps/histogram/histogram.gyp:histogram' ],