Nuitka
Nuitka copied to clipboard
Detect all DLLs of a package during compile time reliably and inform about ones not included
For 1.9 the isExtensionModule
as used by --list-package-dlls
can only decide if the Python entry point is there for Linux and macOS, but not for Windows, or FreeBSD. I am assuming that FreeBSD is trivial to add, since nm
will work there, in fact this should probably just become a non-Windows branch once confirmed for FreeBSD.
If we had that function, we could distinguish DLLs and extension modules reliably. Currently we do it mostly by filenames, and it's common that we have to specifiy e.g. to allow ".pyd" suffix for DLL inclusion, because these are disguised DLLs for packaging and location purposes. Recognizing those automatically without pretending they are Python modules would be a good help to correctness of this part of the stack.
This should then be used in one release cycle maybe to see if we encounter any issues with the scanning function in our daily work, and then to inform the users about packages that may or may not need treatment. At that point, we should also become able to classify DLLs as non-essential or potential use only.