From 45771499ee7927a6855d1d6f1e2b5ce598d7bd13 Mon Sep 17 00:00:00 2001 From: Peter Dave Hello Date: Tue, 29 Nov 2016 15:30:01 +0800 Subject: [PATCH] [Fix] nvm should respect CC/CXX env var - Also set CC for Freebsd, not only CXX - Also set CC=cc, CXX=c++ on Mac OS by default as upstream Reference: https://github.com/nodejs/node/blob/1bd871655a8b76fa3be1e3c6c325efa74c86fcd9/configure#L16-L17 --- nvm.sh | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/nvm.sh b/nvm.sh index 86fd814..0e19598 100755 --- a/nvm.sh +++ b/nvm.sh @@ -1853,15 +1853,24 @@ nvm_install_source() { local make make='make' - if [ "${NVM_OS}" = 'freebsd' ]; then - make='gmake' - MAKE_CXX='CXX=c++' - elif [ "${NVM_OS}" = 'aix' ]; then - make='gmake' - fi - if nvm_has "clang++" && nvm_has "clang" && nvm_version_greater_than_or_equal_to nvm_clang_version 3.5 ; then - nvm_echo "Clang v3.5+ detected! Use Clang as c/c++ compiler!" - MAKE_CXX='CC=clang CXX=clang++' + local MAKE_CXX + case "${NVM_OS}" in + 'freebsd') + make='gmake' + MAKE_CXX="CC=${CC:-cc} CXX=${CXX:-c++}" + ;; + 'darwin') + MAKE_CXX="CC=${CC:-cc} CXX=${CXX:-c++}" + ;; + 'aix') + make='gmake' + ;; + esac + if nvm_has "clang++" && nvm_has "clang" && nvm_version_greater_than_or_equal_to nvm_clang_version 3.5; then + if [ -z "${CC-}" ] || [ -z "${CXX-}" ] ; then + nvm_echo "Clang v3.5+ detected! CC or CXX not specified, will use Clang as c/c++ compiler!" + MAKE_CXX="CC=${CC:-cc} CXX=${CXX:-c++}" + fi fi local tar_compression_flag