summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChanho Park <chanho61.park@samsung.com>2014-05-12 21:47:35 +0900
committerChanho Park <chanho61.park@samsung.com>2014-09-24 17:27:56 +0900
commitf0ea2101363e31d19bc5cf3e47cc41c186a172ea (patch)
tree81017e634f04a71e434a5541ddbacb77540e9756
parent5bd8d0813b7aad1a6b631f74aa14ea9f5c3eb767 (diff)
downloadnodejs-f0ea2101363e31d19bc5cf3e47cc41c186a172ea.tar.gz
nodejs-f0ea2101363e31d19bc5cf3e47cc41c186a172ea.tar.bz2
nodejs-f0ea2101363e31d19bc5cf3e47cc41c186a172ea.zip
support arm64 build
Change-Id: Ib817c9c3ef16ce35fc36738d57cf2b6e36ee4d33 Signed-off-by: Chanho Park <chanho61.park@samsung.com>
-rw-r--r--Makefile4
-rw-r--r--common.gypi2
-rwxr-xr-xconfigure13
3 files changed, 17 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 11304e118..a423d29a7 100644
--- a/Makefile
+++ b/Makefile
@@ -232,9 +232,13 @@ else
ifeq ($(DESTCPU),arm)
ARCH=arm
else
+ifeq ($(DESTCPU),arm64)
+ARCH=arm64
+else
ARCH=x86
endif
endif
+endif
TARNAME=node-$(VERSION)
ifdef NIGHTLY
TAG = nightly-$(NIGHTLY)
diff --git a/common.gypi b/common.gypi
index 6aa485bad..124bfbf16 100644
--- a/common.gypi
+++ b/common.gypi
@@ -22,7 +22,7 @@
'v8_postmortem_support': 'false'
}, {
'os_posix': 1,
- 'v8_postmortem_support': 'true'
+ 'v8_postmortem_support': 'false'
}],
['GENERATOR == "ninja" or OS== "mac"', {
'OBJ_DIR': '<(PRODUCT_DIR)/obj',
diff --git a/configure b/configure
index 2e0858325..73a3b44d3 100755
--- a/configure
+++ b/configure
@@ -31,7 +31,7 @@ parser.add_option('--debug',
parser.add_option('--dest-cpu',
action='store',
dest='dest_cpu',
- help='CPU architecture to build for. Valid values are: arm, ia32, x64')
+ help='CPU architecture to build for. Valid values are: arm, arm64, ia32, x64')
parser.add_option('--dest-os',
action='store',
@@ -403,6 +403,7 @@ def host_arch_cc():
matchup = {
'__x86_64__' : 'x64',
'__i386__' : 'ia32',
+ '__aarch64__' : 'arm64',
'__arm__' : 'arm',
'__mips__' : 'mips',
}
@@ -468,7 +469,15 @@ def configure_arm(o):
o['variables']['arm_neon'] = int(is_arm_neon())
o['variables']['arm_thumb'] = 0 # -marm
o['variables']['arm_float_abi'] = arm_float_abi
+ if is_arch_armv7():
+ o['variables']['arm_version'] = 7
+ else:
+ o['variables']['arm_version'] = default
+def configure_arm64(o):
+ o['variables']['armv8'] = 1
+ o['variables']['aarch64'] = 1
+ o['variables']['arm64'] = 1
def configure_node(o):
if options.dest_os == 'android':
@@ -489,6 +498,8 @@ def configure_node(o):
if target_arch == 'arm':
configure_arm(o)
+ elif target_arch == 'arm64':
+ configure_arm64(o)
cc_version, is_clang = compiler_version()
o['variables']['clang'] = 1 if is_clang else 0