No, it isn't. It is parsed by a python module and does not recognize any "commands" except for the most primitive variable substitution.

fpemud wrote:

Code:

cat /proc/cpuinfo | grep 'processor'

Just an unrelated remark: This is useless use of cat You want

Code:

grep processor /proc/cpuinfo

Time is here somewhat important, since /etc/portage/bashrc is sourced in every phase of emerging of every package. Since /etc/portage/bashrc is guaranteed to be bash code, I would also recommend to avoid the call to the external `expr' and instead use the bash/posix $((...)). But even better is to execute this code only in the setup phase. (See e.g. portage-bashrc-mv from the mv overlay how to write code in /etc/portage/bashrc.d which is executed only in a particular phase; with that package, if you name you code /etc/portage/bashrc.d/30-... you should also see automatically which value of MAKEOPTS is actually used).

fpemud, your conjecture is false: emerge --info should not list such things, because you cannot "push up" a variable from bash to the python code. However, during emerge of a package the variable should be set correctly.

Another (less intrusive) possibility is to export MAKEOPTS in the environment (e.g. in /etc/profile).

However, the value "number of CPUs + 1" is just an empirical value, not necessarily the best choice for all systems. What is the best choice depends on so many things (and also on the package) that it is not possible to give a universal recommendation. The recommendation in the manual was written when the number of processors on machines was usually 1 or at most 2...

I use a script in profile.d. I use gentoo mostly as vmware guests so the number of cpu's can change drastically depending on the deployment.
I prefer to only use physical cores and omit hyperthreading from the results.