mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-10-31 18:25:52 +08:00 
			
		
		
		
	Support parameter -j to set jobs for make
This commit is contained in:
		
							
								
								
									
										57
									
								
								nvm.sh
									
									
									
									
									
								
							
							
						
						
									
										57
									
								
								nvm.sh
									
									
									
									
									
								
							| @@ -1232,27 +1232,29 @@ nvm_install_node_source() { | |||||||
|     MAKE_CXX="CXX=c++" |     MAKE_CXX="CXX=c++" | ||||||
|   fi |   fi | ||||||
|  |  | ||||||
|   if [ "_$NVM_OS" = "_linux" ]; then |   if [ -z "$MAKE_JOBS" ]; then | ||||||
|     CPU_THREADS="$(grep -c 'core id' /proc/cpuinfo)" |     if [ "_$NVM_OS" = "_linux" ]; then | ||||||
|   elif [ "_$NVM_OS" = "_freebsd" ] || [ "_$NVM_OS" = "_darwin" ]; then |       CPU_THREADS="$(grep -c 'core id' /proc/cpuinfo)" | ||||||
|     CPU_THREADS="$(sysctl -n hw.ncpu)" |     elif [ "_$NVM_OS" = "_freebsd" ] || [ "_$NVM_OS" = "_darwin" ]; then | ||||||
|   elif [ "_$NVM_OS" = "_sunos" ]; then |       CPU_THREADS="$(sysctl -n hw.ncpu)" | ||||||
|     CPU_THREADS="$(psrinfo | wc -l)" |     elif [ "_$NVM_OS" = "_sunos" ]; then | ||||||
|   fi |       CPU_THREADS="$(psrinfo | wc -l)" | ||||||
|   local CPU_THREAD_VALID |     fi | ||||||
|   CPU_THREAD_VALID=$(nvm_is_natural_num $CPU_THREADS) |     local CPU_THREAD_VALID | ||||||
|   if [ -z "$CPU_THREADS" ] || [ "$CPU_THREAD_VALID" != "true" ] ; then |     CPU_THREAD_VALID=$(nvm_is_natural_num $CPU_THREADS) | ||||||
|     echo "Can not determine how many thread(s) we can use, set to only 1 now." 1>&2 |     if [ -z "$CPU_THREADS" ] || [ "$CPU_THREAD_VALID" != "true" ] ; then | ||||||
|     echo "Please report an issue on GitHub to help us make it better and run it faster on your computer!" 1>&2 |       echo "Can not determine how many thread(s) we can use, set to only 1 now." 1>&2 | ||||||
|     MAKE_JOBS="1" |       echo "Please report an issue on GitHub to help us make it better and run it faster on your computer!" 1>&2 | ||||||
|   else |       MAKE_JOBS="1" | ||||||
|     echo "Detected that you have $CPU_THREADS CPU thread(s)" |  | ||||||
|     if [ $CPU_THREADS -gt 2 ]; then |  | ||||||
|       MAKE_JOBS=$(($CPU_THREADS - 1)) |  | ||||||
|       echo "Set the number of jobs to $CPU_THREADS - 1 = $MAKE_JOBS jobs to speed up the build" |  | ||||||
|     else |     else | ||||||
|       MAKE_JOBS=1 |       echo "Detected that you have $CPU_THREADS CPU thread(s)" | ||||||
|       echo "Number of CPU thread(s) less or equal to 2 will have only one job a time for 'make'" |       if [ $CPU_THREADS -gt 2 ]; then | ||||||
|  |         MAKE_JOBS=$(($CPU_THREADS - 1)) | ||||||
|  |         echo "Set the number of jobs to $CPU_THREADS - 1 = $MAKE_JOBS jobs to speed up the build" | ||||||
|  |       else | ||||||
|  |         MAKE_JOBS=1 | ||||||
|  |         echo "Number of CPU thread(s) less or equal to 2 will have only one job a time for 'make'" | ||||||
|  |       fi | ||||||
|     fi |     fi | ||||||
|   fi |   fi | ||||||
|   local tmpdir |   local tmpdir | ||||||
| @@ -1579,6 +1581,21 @@ nvm() { | |||||||
|       if [ "_$1" = "_-s" ]; then |       if [ "_$1" = "_-s" ]; then | ||||||
|         nobinary=1 |         nobinary=1 | ||||||
|         shift |         shift | ||||||
|  |         if [ "_$1" = "_-j" ]; then | ||||||
|  |           shift | ||||||
|  |           local CPU_THREAD_VALID | ||||||
|  |           CPU_THREAD_VALID=$(nvm_is_natural_num $1) | ||||||
|  |           if [ "$CPU_THREAD_VALID" = "true" ]; then | ||||||
|  |             MAKE_JOBS=$1 | ||||||
|  |             echo "Set number of jobs to $MAKE_JOBS for 'make' utility" | ||||||
|  |           else | ||||||
|  |             unset MAKE_JOBS | ||||||
|  |             echo >&2 "$1 is invalid for CPU threads, should be a natural number" | ||||||
|  |           fi | ||||||
|  |           shift | ||||||
|  |         else | ||||||
|  |           unset MAKE_JOBS | ||||||
|  |         fi | ||||||
|       fi |       fi | ||||||
|  |  | ||||||
|       provided_version="$1" |       provided_version="$1" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user