This is one step towards using python3 by default everywhere.
Notably:
- python2 is still fully supported at this point
- The top level scripts such as `emcc` as opposed to `emcc.py` are
still run under just "python" so will work with whatever the system
default is. This is because we still want to run on the default OSX
install which doesn't python3 installed (and probably never will).
Also:
- switch circleci testing on linux to python3
- Update some docs that refer to python3
See #7198
This change is precursor to removing EMSCRIPTEN_ROOT from
the emscripten config file. Now scons requires EMSCRIPTEN_ROOT
to be set explicitly in the environment.
The rational for this change is that having the EMSCRIPTEN_ROOT
set in the config can leave is in a contradictory state. e.g.
when emcc runs from location X but the config file says EMSCRIPTEN_ROOT
is location Y. In most cases it is the tool entry point that dictates
the root directory.
The only exception was scons which was trying to imply the root
based on the config.
Also importantly this change removes the `exec` of the config file from
scons which should allow is to be more strict in how we parse and
evaluate the config file in `tools/shared.py` since it will hopefully
soon be the only consumer.