diff --git a/nvm.sh b/nvm.sh index e857577..1b717b1 100755 --- a/nvm.sh +++ b/nvm.sh @@ -1022,6 +1022,12 @@ nvm_install_node_source() { local ADDITIONAL_PARAMETERS ADDITIONAL_PARAMETERS="$2" + local NVM_ARCH + NVM_ARCH="$(nvm_get_arch)" + if [ $NVM_ARCH = "armv6l" ] || [ $NVM_ARCH = "armv7l" ]; then + ADDITIONAL_PARAMETERS="--without-snapshot $ADDITIONAL_PARAMETERS" + fi + if [ -n "$ADDITIONAL_PARAMETERS" ]; then echo "Additional options while compiling: $ADDITIONAL_PARAMETERS" fi diff --git a/test/installation/node/install from source without V8 snapshot for ARM b/test/installation/node/install from source without V8 snapshot for ARM new file mode 100755 index 0000000..3755d71 --- /dev/null +++ b/test/installation/node/install from source without V8 snapshot for ARM @@ -0,0 +1,25 @@ +#!/bin/sh + +die () { echo $@ ; exit 1; } + +. ../../../nvm.sh + +NVM_TEST_VERSION=v0.10.7 + +# Remove the stuff we're clobbering. +[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION + +# Fake ARM arch +nvm_get_arch() { + echo "armv7l" +} + +# Install from source +nvm install -s $NVM_TEST_VERSION || die "'nvm install -s $NVM_TEST_VERSION' failed" + +# Check Install +[ -d ../../../$NVM_TEST_VERSION ] +node --version | grep $NVM_TEST_VERSION || "'node --version | grep $NVM_TEST_VERSION' failed" + +# Check V8 snapshot isn't compiled +node -p "if(! process.config.variables.v8_use_snapshot) { console.log('no-snapshot'); }" | grep "no-snapshot" || "'node -p \"if(! process.config.variables.v8_use_snapshot) { console.log('no-snapshot'); }\" | grep \"no-snapshot\"' failed" \ No newline at end of file