Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 13578
Collapse All | Expand All

(-)eutils.eclass (-9 / +24 lines)
Lines 319-324 Link Here
319
# Thanks to nall <nall@gentoo.org> for this.
319
# Thanks to nall <nall@gentoo.org> for this.
320
#
320
#
321
get_number_of_jobs() {
321
get_number_of_jobs() {
322
	local jobs=0
323
322
	if [ ! -r /proc/cpuinfo ]
324
	if [ ! -r /proc/cpuinfo ]
323
	then
325
	then
324
		return 1
326
		return 1
Lines 329-363 Link Here
329
	if [ "${ARCH}" = "x86" ]
331
	if [ "${ARCH}" = "x86" ]
330
	then
332
	then
331
		# x86 always has "processor"
333
		# x86 always has "processor"
332
		export MAKEOPTS="${MAKEOPTS} -j$((`grep -c ^processor /proc/cpuinfo` * 2))"
334
		jobs="$((`grep -c ^processor /proc/cpuinfo` * 2))"
333
	
335
	
334
	elif [ "${ARCH}" = "sparc" -o "${ARCH}" = "sparc64" ]
336
	elif [ "${ARCH}" = "sparc" -o "${ARCH}" = "sparc64" ]
335
	then
337
	then
336
		# sparc always has "ncpus active"
338
		# sparc always has "ncpus active"
337
		export MAKEOPTS="${MAKEOPTS} -j$((`grep "^ncpus active" /proc/cpuinfo | sed -e "s/^.*: //"` * 2))"
339
		jobs="$((`grep "^ncpus active" /proc/cpuinfo | sed -e "s/^.*: //"` * 2))"
338
	
340
	
339
	elif [ "${ARCH}" = "alpha" ]
341
	elif [ "${ARCH}" = "alpha" ]
340
	then
342
	then
341
		# alpha has "cpus active", but only when compiled with SMP
343
		# alpha has "cpus active", but only when compiled with SMP
342
		if [ "`grep -c "^cpus active" /proc/cpuinfo`" = "1" ]
344
		if [ "`grep -c "^cpus active" /proc/cpuinfo`" -eq 1 ]
343
		then
345
		then
344
			export MAKEOPTS="${MAKEOPTS} -j$((`grep "^cpus active" /proc/cpuinfo | sed -e "s/^.*: //"` * 2))"
346
			jobs="$((`grep "^cpus active" /proc/cpuinfo | sed -e "s/^.*: //"` * 2))"
345
		else
347
		else
346
			export MAKEOPTS="${MAKEOPTS} -j2"
348
			jobs=2
347
		fi
349
		fi
348
		
350
		
349
	elif [ "${ARCH}" = "ppc" ]
351
	elif [ "${ARCH}" = "ppc" ]
350
	then
352
	then
351
		# ppc has "processor", but only when compiled with SMP
353
		# ppc has "processor", but only when compiled with SMP
352
		if [ "`grep -c "^processor" /proc/cpuinfo`" = "1" ]
354
		if [ "`grep -c "^processor" /proc/cpuinfo`" -eq 1 ]
353
		then
355
		then
354
			export MAKEOPTS="${MAKEOPTS} -j$((`grep -c ^processor /proc/cpuinfo` * 2))"
356
			jobs="$((`grep -c ^processor /proc/cpuinfo` * 2))"
355
		else
357
		else
356
			export MAKEOPTS="${MAKEOPTS} -j2"
358
			jobs=2
357
		fi
359
		fi
360
	elif [ "${ARCH}" = "mips" ]
361
	then
362
		# mips always has "processor"
363
		jobs="$((`grep -c ^processor /proc/cpuinfo` * 2))"
364
		
358
	else
365
	else
359
		export MAKEOPTS="${MAKEOPTS} -j$((`grep -c ^cpu /proc/cpuinfo` * 2))"
366
		jobs="$((`grep -c ^cpu /proc/cpuinfo` * 2))"
360
		die "Unknown ARCH -- ${ARCH}!"
367
		die "Unknown ARCH -- ${ARCH}!"
361
	fi
368
	fi
369
370
	# Make sure the number is valid ...
371
	if [ "${jobs}" -lt 1 ]
372
	then
373
		jobs=1
374
	fi
375
376
	export MAKEOPTS="${MAKEOPTS} -j${jobs}"
362
}
377
}
363
378

Return to bug 13578