* Remove dead code
* Added support for DLL tags just like we have with data files already.
* Static source files are now provided by Nuitka and not during scons runtime anymore.
* Also make onefile binary work on systems with no runtime, previously only standalone actually was made to work.
* Also moved code making the MSVC redist detection in Nuitka to DllDependenciesWin32 where it makes more sense.
* Now "auto" is something you can change and get informed about the consequences.
* Now ordered just like --help-plugin output is based on categries.
* Include annotations for plugins that are always enabled and such
that have a detector to tell the user when they should enable
them.
* Added more tags to the existing plugins and cleanup of their
descriptions for consistency.
* We don't need it to have an argument, can just detect used build system.
* We now check if setuptools is actually used.
* Move the handling of the project tool to dedicated modules in a
new package "nuitka.options" where long term option parsing will
go as well.
* We also prepared passing the requirements to install via command
line options, but that's not usable yet.
* The "--project" option is intended to grow and later support poetry as well.
* Added test coverage to compile all distutils cases that work with "-m build" as standalone applications as well.
* Enhanced trace output for the distutils cases somewhat.
* Doesn't create create a virtualenv with the requirements but compiles inside the current environment.
* Downloads zig if necessary via pip for use and sets up the
environment explicitely.
* Made the user query for download re-usable for private pip
space as well.
* With 3.13+ this is now downloaded in scons on Windows
because MinGW64 is not currently working on those Python
versions and may not for a while. This will improve the
out of the box experience for non-MSVC users and those
lacking the skill to install it dramatically.
* This doesn't do indentation anymore unless asked by
new option or in debug mode, saving 10% of the time
use for generation of code in a larger module.
* We skip the Python3 number space in order to avoid confusion
between them. Already Nuitka 2.7 could be confused with Python
2.7 without proper context.
* This is with an exception for the runtime library parts
to allow proprietary compiled code to link against it.
* But it makes creating competitors to Nuitka commercial
impossible, as they would need to open source their code.
* When we have both Python code and an extension module, we only had a global option available.
* This adds --recompile-extension-modules for more fine grained choices.
* Existing unworthy namespaces were migrated to not do it by default.
* For "zmq" we need to enforce it to never be compiled, as it checks if it is compiled with Cython at runtime.
* Support arbitrary debuggers in the --debugger flag, if you specify all of their command line.
* Remove implicit defaults for debugger name, make calls externally from test framework with
the variable resolved from there.
* Add support for valgrind-memcheck debugger option.
---------
Co-authored-by: Kay Hayen <kay.hayen@gmail.com>
* Some options got broken up at hyphens which then
didn't make it into the manpage.
* This now just avoids line breaks in help texts
and lets "man" handle the rendering into lines.
* Also spelling cleanups, now that man pages are
mostly well readable for cspell.
* It is the default if available and tqdm is only
used if it's not available.
* Also added option to select it that replaces the
old disabling option with value "none".
* There is an issue with calling "--version --help" where the later
takes precedence, avoid that by knowing the context we run in, as
otherwise we had options duplicated.
* We also created the wrong kind of command line to ask for help, which
no longer outputs full help for a while, so "nuitka-run" was almost
empty.
* The dill-compat plugin now handles both pickle
"dill-compat" and "cloudpickle" support modules
to also pickle compiled functions.
* For module mode, it would like a hint to know
which ones to handle, by default it tries both,
but that might be wasteful at runtime so you can
choose "dill" and/or "cloudpickle", by specifying
them.
* The default is "all", and we might add more pickle
related packages in the future, and we will also
aim at making this plugin enabled by default.
* Also major cleanup of the C code and existing
dill-compat code to move handling of all things
into C side code, but argument parsing.
* The new variable expands to the directory of the
onefile binary and can be useful for forced output
specs as well as for some onefile setups where you
know the user environment very well.
* Allowing the user to control the removal or not of
the temporary files. They may want to remove even
from what would be static paths, and they might
want to remove for what appears to be dynamic, but
they know it's not used like that.
* Also add new onefile section to reports.
* This is experimental at this time, but appears to work for many things.
* Multiprocessing will need help from launched binary, to provide fork ability, but current args are not passed.
* Intended for improvement of Windows GUI compatibility with tray icons and notifications in onefile mode, which will use this internally