* Detect the tkinter version used and scan for its paths.
* Added path used when compiling tcl from source
* Check data directory paths for tcl and tk for expected files.
* This also cleans up how a supported version is determined
as this should have been more automatic. Now partial support in Nuitka
will make it considered.
* Use the system prefix on macOS, so virtualenv does not break the detection.
* Compare system prefix to registry found CPython installations, to
decide it on Windows.
* Nuitka can be used with pipenv/virtualenv forked from embeded python, but
without "pythonXY.dll" in "PATH". But we can always find *right* path from
a list of currently loaded DLLs.
* Added support for C long with Python2 interaction, and for C long
and C digit interaction for Python3 integers.
* This lays the foundation for faster operations generally, but more
work will be needed.
* Dedidicated code generation for rich comparison nodes.
* Do a two phase lookup, where from the shape, valid C types are deducted.
* Cleaner selection code for code helpers of rich comparisons.
* Iterator end check now use code that will be able to recognize
constant value check and benefit from future improvements.
* Prepared C types for "clong" and "digit" with value checking function,
making data composer code reusable.
* Solves TODO about C type deciding if it has error checking.
* Changed from Variant/Vendor to Flavor in project variable,
that should be less confusing.
* Detection of WinPython flavor was also added.
* For pyenv, we assume static libpython is usable, that seems to be
the case for Python2 at least.
* Need to not use limited API in that case, this is not a real
static linking, therefore still only DLL symbols are there
for Anaconda on Windows.
* Created CMD files for accelerated mode need to set PYTHONHOME
to work on Anaconda for Windows as well.
* Cleaned up detection of Anaconda Python to a dedicated function
* Also add type shape namedtuple for it, may need more work before
using it generally.
* For 2.7 or higher this is not a tuple, but a special namedtuple.
* Also clean up how future and importlib trusts are built, moving code
to more suitable modules.
* Added factory mechanism for specific hard name imports.
* Also cleanup where the LTO settings are done.
* With Nuitka-Python we are safe to use -O3 it seems
* When doing LTO, avoid creating fat object files, there is no need.
* It seems Nuitka-Python is faster with pystone than even Debian Python,
but there is no evidence of PGO usage
yet.
* These need more help with static linking than self compiled, we
have to provide the used libraries there.
* This should allow for faster binaries being created as we avoid
the DLL barrier here too.
* We detect if it could be used and output an information.
* We detect if its used in module mode and warn about not
being used there.
* We error out if it's used with "yes", but the file cannot be found.
* We already have plugins that use this information too, but were
using different code, e.g. for numpy.
* The real_prefix attribute is only there and most useful.
* This massively cleans up the backend scons file, where this was
noise in the backend scons code.