No portage isn't a meta-build language something like premake would be but the premake implementation is pretty broken. Portage also does a mess of shell `use foo && FLAGS+='--foo'` which is a mess of state that needs to be tested for every combination which per branch options could fix.