Nuitka-winsvc 2.5.6__cp311-cp311-win_amd64.whl → 2.6.5__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of Nuitka-winsvc might be problematic. Click here for more details.
- {Nuitka_winsvc-2.5.6.data → Nuitka_winsvc-2.6.5.data}/scripts/nuitka-run.cmd +1 -1
- {Nuitka_winsvc-2.5.6.data → Nuitka_winsvc-2.6.5.data}/scripts/nuitka.cmd +1 -1
- {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.5.dist-info}/METADATA +36 -24
- Nuitka_winsvc-2.6.5.dist-info/RECORD +992 -0
- {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.5.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +1 -1
- nuitka/BytecodeCaching.py +15 -4
- nuitka/Bytecodes.py +1 -1
- nuitka/CacheCleanup.py +1 -1
- nuitka/Constants.py +1 -1
- nuitka/Errors.py +1 -1
- nuitka/HardImportRegistry.py +1 -1
- nuitka/MainControl.py +93 -94
- nuitka/ModuleRegistry.py +19 -4
- nuitka/OptionParsing.py +86 -17
- nuitka/Options.py +230 -106
- nuitka/OutputDirectories.py +5 -3
- nuitka/PostProcessing.py +76 -27
- nuitka/Progress.py +1 -1
- nuitka/PythonFlavors.py +24 -3
- nuitka/PythonOperators.py +1 -1
- nuitka/PythonVersions.py +8 -4
- nuitka/Serialization.py +1 -1
- nuitka/SourceCodeReferences.py +1 -1
- nuitka/Tracing.py +2 -1
- nuitka/TreeXML.py +1 -1
- nuitka/Variables.py +1 -1
- nuitka/Version.py +2 -2
- nuitka/__init__.py +1 -1
- nuitka/__main__.py +4 -1
- nuitka/__past__.py +1 -1
- nuitka/build/Backend.scons +44 -66
- nuitka/build/CCompilerVersion.scons +2 -1
- nuitka/build/DataComposerInterface.py +2 -1
- nuitka/build/Offsets.scons +644 -0
- nuitka/build/Onefile.scons +5 -13
- nuitka/build/SconsCaching.py +9 -7
- nuitka/build/SconsCompilerSettings.py +57 -35
- nuitka/build/SconsHacks.py +3 -3
- nuitka/build/SconsInterface.py +86 -58
- nuitka/build/SconsProgress.py +12 -5
- nuitka/build/SconsSpawn.py +3 -3
- nuitka/build/SconsUtils.py +20 -1
- nuitka/build/__init__.py +1 -1
- nuitka/build/include/nuitka/allocator.h +3 -1
- nuitka/build/include/nuitka/builtins.h +1 -1
- nuitka/build/include/nuitka/calling.h +1 -1
- nuitka/build/include/nuitka/checkers.h +1 -1
- nuitka/build/include/nuitka/checksum_tools.h +1 -1
- nuitka/build/include/nuitka/compiled_asyncgen.h +4 -2
- nuitka/build/include/nuitka/compiled_cell.h +1 -1
- nuitka/build/include/nuitka/compiled_coroutine.h +3 -2
- nuitka/build/include/nuitka/compiled_frame.h +6 -13
- nuitka/build/include/nuitka/compiled_function.h +2 -3
- nuitka/build/include/nuitka/compiled_generator.h +3 -2
- nuitka/build/include/nuitka/compiled_method.h +1 -1
- nuitka/build/include/nuitka/constants.h +5 -1
- nuitka/build/include/nuitka/constants_blob.h +1 -1
- nuitka/build/include/nuitka/debug_settings.h +1 -1
- nuitka/build/include/nuitka/environment_variables.h +1 -1
- nuitka/build/include/nuitka/environment_variables_system.h +1 -1
- nuitka/build/include/nuitka/exception_groups.h +1 -1
- nuitka/build/include/nuitka/exceptions.h +2 -2
- nuitka/build/include/nuitka/filesystem_paths.h +4 -1
- nuitka/build/include/nuitka/freelists.h +2 -2
- nuitka/build/include/nuitka/helper/attributes.h +1 -1
- nuitka/build/include/nuitka/helper/boolean.h +1 -1
- nuitka/build/include/nuitka/helper/bytearrays.h +1 -1
- nuitka/build/include/nuitka/helper/bytes.h +1 -1
- nuitka/build/include/nuitka/helper/calling_generated.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_eq.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_ge.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_gt.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_le.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_lt.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_ne.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_eq.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_ge.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_gt.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_le.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_lt.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_ne.h +1 -1
- nuitka/build/include/nuitka/helper/complex.h +1 -1
- nuitka/build/include/nuitka/helper/dictionaries.h +1 -1
- nuitka/build/include/nuitka/helper/floats.h +1 -1
- nuitka/build/include/nuitka/helper/import_hard.h +1 -1
- nuitka/build/include/nuitka/helper/indexes.h +1 -1
- nuitka/build/include/nuitka/helper/ints.h +1 -1
- nuitka/build/include/nuitka/helper/iterators.h +1 -1
- nuitka/build/include/nuitka/helper/lists.h +1 -1
- nuitka/build/include/nuitka/helper/lists_generated.h +1 -1
- nuitka/build/include/nuitka/helper/mappings.h +1 -1
- nuitka/build/include/nuitka/helper/operations.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_add.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_bitand.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_bitor.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_divmod.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_dual_add.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_lshift.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_matmult.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_mod.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_mult.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_pow.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_rshift.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_truediv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_builtin_types.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_mod.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_mult.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_pow.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +1 -1
- nuitka/build/include/nuitka/helper/raising.h +1 -1
- nuitka/build/include/nuitka/helper/rangeobjects.h +1 -1
- nuitka/build/include/nuitka/helper/richcomparisons.h +1 -1
- nuitka/build/include/nuitka/helper/sequences.h +1 -1
- nuitka/build/include/nuitka/helper/sets.h +1 -1
- nuitka/build/include/nuitka/helper/slices.h +1 -1
- nuitka/build/include/nuitka/helper/strings.h +1 -1
- nuitka/build/include/nuitka/helper/subscripts.h +1 -1
- nuitka/build/include/nuitka/helper/tuples.h +1 -1
- nuitka/build/include/nuitka/helpers.h +1 -43
- nuitka/build/include/nuitka/importing.h +1 -1
- nuitka/build/include/nuitka/jit_sources.h +1 -1
- nuitka/build/include/nuitka/prelude.h +10 -10
- nuitka/build/include/nuitka/printing.h +1 -1
- nuitka/build/include/nuitka/python_pgo.h +1 -1
- nuitka/build/include/nuitka/safe_string_ops.h +1 -1
- nuitka/build/include/nuitka/threading.h +1 -1
- nuitka/build/include/nuitka/tracing.h +1 -1
- nuitka/build/include/nuitka/type_aliases.h +2 -2
- nuitka/build/include/nuitka/unfreezing.h +1 -1
- nuitka/build/inline_copy/pefile/LICENSE.txt +21 -0
- nuitka/build/inline_copy/pefile/ordlookup/__init__.py +41 -0
- nuitka/build/inline_copy/pefile/ordlookup/oleaut32.py +400 -0
- nuitka/build/inline_copy/pefile/ordlookup/ws2_32.py +120 -0
- nuitka/build/inline_copy/pefile/pefile.py +8034 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +80 -75
- nuitka/build/static_src/CompiledCellType.c +2 -1
- nuitka/build/static_src/CompiledCodeHelpers.c +10 -28
- nuitka/build/static_src/CompiledCoroutineType.c +30 -40
- nuitka/build/static_src/CompiledFrameType.c +63 -5
- nuitka/build/static_src/CompiledFunctionType.c +11 -13
- nuitka/build/static_src/CompiledGeneratorType.c +56 -13
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +1 -1
- nuitka/build/static_src/CompiledMethodType.c +2 -1
- nuitka/build/static_src/GenerateHeadersMain.c +30 -0
- nuitka/build/static_src/HelpersAllocator.c +1 -1
- nuitka/build/static_src/HelpersAttributes.c +5 -2
- nuitka/build/static_src/HelpersBuiltin.c +1 -1
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +1 -1
- nuitka/build/static_src/HelpersBytes.c +1 -1
- nuitka/build/static_src/HelpersCalling.c +1 -1
- nuitka/build/static_src/HelpersCallingGenerated.c +6 -16
- nuitka/build/static_src/HelpersChecksumTools.c +1 -1
- nuitka/build/static_src/HelpersClasses.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualEq.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualGe.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualGt.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualLe.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualLt.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualNe.c +1 -1
- nuitka/build/static_src/HelpersComparisonEq.c +1 -1
- nuitka/build/static_src/HelpersComparisonEqUtils.c +1 -1
- nuitka/build/static_src/HelpersComparisonGe.c +1 -1
- nuitka/build/static_src/HelpersComparisonGt.c +1 -1
- nuitka/build/static_src/HelpersComparisonLe.c +1 -1
- nuitka/build/static_src/HelpersComparisonLt.c +1 -1
- nuitka/build/static_src/HelpersComparisonNe.c +1 -1
- nuitka/build/static_src/HelpersConsole.c +2 -2
- nuitka/build/static_src/HelpersConstantsBlob.c +199 -50
- nuitka/build/static_src/HelpersDeepcopy.c +3 -1
- nuitka/build/static_src/HelpersDictionaries.c +1 -1
- nuitka/build/static_src/HelpersDictionariesGenerated.c +1 -1
- nuitka/build/static_src/HelpersDumpBacktraces.c +1 -1
- nuitka/build/static_src/HelpersEnvironmentVariables.c +1 -1
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +1 -1
- nuitka/build/static_src/HelpersExceptions.c +1 -1
- nuitka/build/static_src/HelpersFiles.c +18 -10
- nuitka/build/static_src/HelpersFilesystemPaths.c +36 -16
- nuitka/build/static_src/HelpersFloats.c +1 -1
- nuitka/build/static_src/HelpersHeapStorage.c +1 -1
- nuitka/build/static_src/HelpersImport.c +1 -1
- nuitka/build/static_src/HelpersImportHard.c +1 -1
- nuitka/build/static_src/HelpersJitSources.c +1 -1
- nuitka/build/static_src/HelpersLists.c +2 -1
- nuitka/build/static_src/HelpersListsGenerated.c +1 -1
- nuitka/build/static_src/HelpersMappings.c +1 -1
- nuitka/build/static_src/HelpersMatching.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryMod.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryMult.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryPow.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +1 -1
- nuitka/build/static_src/HelpersOperationBinarySub.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceMod.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceMult.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +1 -1
- nuitka/build/static_src/HelpersOperationInplacePow.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceSub.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +1 -1
- nuitka/build/static_src/HelpersProfiling.c +1 -1
- nuitka/build/static_src/HelpersPythonPgo.c +5 -2
- nuitka/build/static_src/HelpersRaising.c +1 -1
- nuitka/build/static_src/HelpersSafeStrings.c +1 -1
- nuitka/build/static_src/HelpersSequences.c +1 -1
- nuitka/build/static_src/HelpersSlices.c +1 -1
- nuitka/build/static_src/HelpersStrings.c +1 -1
- nuitka/build/static_src/HelpersTuples.c +1 -1
- nuitka/build/static_src/HelpersTypes.c +5 -5
- nuitka/build/static_src/InspectPatcher.c +2 -1
- nuitka/build/static_src/MainProgram.c +30 -6
- nuitka/build/static_src/MetaPathBasedLoader.c +19 -11
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +1 -1
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +1 -1
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +17 -4
- nuitka/build/static_src/OnefileBootstrap.c +6 -4
- nuitka/build/static_src/OnefileSplashScreen.cpp +1 -1
- nuitka/code_generation/AsyncgenCodes.py +5 -6
- nuitka/code_generation/AttributeCodes.py +1 -1
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +1 -1
- nuitka/code_generation/BranchCodes.py +1 -1
- nuitka/code_generation/BuiltinCodes.py +15 -5
- nuitka/code_generation/CallCodes.py +1 -1
- nuitka/code_generation/ClassCodes.py +1 -1
- nuitka/code_generation/CodeGeneration.py +23 -17
- nuitka/code_generation/CodeHelperSelection.py +1 -1
- nuitka/code_generation/CodeHelpers.py +1 -1
- nuitka/code_generation/CodeObjectCodes.py +19 -2
- nuitka/code_generation/ComparisonCodes.py +1 -1
- nuitka/code_generation/ComparisonHelperDefinitions.py +1 -1
- nuitka/code_generation/ConditionalCodes.py +1 -1
- nuitka/code_generation/ConstantCodes.py +1 -1
- nuitka/code_generation/Contexts.py +52 -39
- nuitka/code_generation/CoroutineCodes.py +4 -5
- nuitka/code_generation/CtypesCodes.py +1 -1
- nuitka/code_generation/DictCodes.py +1 -1
- nuitka/code_generation/Emission.py +1 -1
- nuitka/code_generation/ErrorCodes.py +1 -1
- nuitka/code_generation/EvalCodes.py +1 -1
- nuitka/code_generation/ExceptionCodes.py +1 -1
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +1 -1
- nuitka/code_generation/ExpressionCodes.py +1 -1
- nuitka/code_generation/FrameCodes.py +26 -17
- nuitka/code_generation/FunctionCodes.py +9 -15
- nuitka/code_generation/GeneratorCodes.py +9 -10
- nuitka/code_generation/GlobalConstants.py +6 -4
- nuitka/code_generation/GlobalsLocalsCodes.py +1 -1
- nuitka/code_generation/IdCodes.py +1 -1
- nuitka/code_generation/ImportCodes.py +1 -1
- nuitka/code_generation/Indentation.py +1 -1
- nuitka/code_generation/IndexCodes.py +1 -1
- nuitka/code_generation/InjectCCodes.py +1 -1
- nuitka/code_generation/IntegerCodes.py +1 -1
- nuitka/code_generation/IteratorCodes.py +1 -1
- nuitka/code_generation/JitCodes.py +1 -1
- nuitka/code_generation/LabelCodes.py +1 -1
- nuitka/code_generation/LineNumberCodes.py +1 -1
- nuitka/code_generation/ListCodes.py +1 -1
- nuitka/code_generation/LoaderCodes.py +1 -1
- nuitka/code_generation/LocalsDictCodes.py +1 -1
- nuitka/code_generation/LoopCodes.py +1 -1
- nuitka/code_generation/MatchCodes.py +1 -1
- nuitka/code_generation/ModuleCodes.py +31 -4
- nuitka/code_generation/Namify.py +4 -1
- nuitka/code_generation/NetworkxCodes.py +1 -1
- nuitka/code_generation/OperationCodes.py +1 -1
- nuitka/code_generation/PackageResourceCodes.py +4 -10
- nuitka/code_generation/PrintCodes.py +1 -1
- nuitka/code_generation/PythonAPICodes.py +1 -1
- nuitka/code_generation/RaisingCodes.py +1 -1
- nuitka/code_generation/Reports.py +1 -1
- nuitka/code_generation/ReturnCodes.py +1 -1
- nuitka/code_generation/SetCodes.py +1 -1
- nuitka/code_generation/SliceCodes.py +1 -1
- nuitka/code_generation/StringCodes.py +1 -1
- nuitka/code_generation/SubscriptCodes.py +1 -1
- nuitka/code_generation/TensorflowCodes.py +1 -1
- nuitka/code_generation/TryCodes.py +1 -1
- nuitka/code_generation/TupleCodes.py +1 -1
- nuitka/code_generation/TypeAliasCodes.py +4 -3
- nuitka/code_generation/VariableCodes.py +1 -1
- nuitka/code_generation/VariableDeclarations.py +1 -1
- nuitka/code_generation/YieldCodes.py +1 -1
- nuitka/code_generation/__init__.py +1 -1
- nuitka/code_generation/c_types/CTypeBases.py +1 -1
- nuitka/code_generation/c_types/CTypeBooleans.py +1 -1
- nuitka/code_generation/c_types/CTypeCFloats.py +1 -1
- nuitka/code_generation/c_types/CTypeCLongs.py +1 -1
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +1 -1
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +1 -1
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +1 -1
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +1 -1
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +1 -1
- nuitka/code_generation/c_types/CTypeVoids.py +1 -1
- nuitka/code_generation/c_types/__init__.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesConstants.py +2 -2
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesFrames.py +21 -25
- nuitka/code_generation/templates/CodeTemplatesFunction.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +3 -3
- nuitka/code_generation/templates/CodeTemplatesIterators.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesLoader.py +26 -3
- nuitka/code_generation/templates/CodeTemplatesModules.py +21 -8
- nuitka/code_generation/templates/CodeTemplatesVariables.py +1 -1
- nuitka/code_generation/templates/TemplateDebugWrapper.py +1 -1
- nuitka/code_generation/templates/__init__.py +1 -1
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +1 -1
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +1 -1
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +1 -1
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +21 -1
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +1 -1
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationBinaryDual.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +1 -1
- nuitka/containers/Namedtuples.py +1 -1
- nuitka/containers/OrderedSetsFallback.py +1 -1
- nuitka/containers/__init__.py +1 -1
- nuitka/distutils/Build.py +1 -1
- nuitka/distutils/DistutilCommands.py +2 -2
- nuitka/distutils/__init__.py +1 -1
- nuitka/finalizations/Finalization.py +1 -1
- nuitka/finalizations/FinalizeMarkups.py +1 -1
- nuitka/finalizations/__init__.py +1 -1
- nuitka/freezer/DependsExe.py +2 -1
- nuitka/freezer/DllDependenciesCommon.py +1 -1
- nuitka/freezer/DllDependenciesMacOS.py +8 -3
- nuitka/freezer/DllDependenciesPosix.py +23 -4
- nuitka/freezer/DllDependenciesWin32.py +112 -25
- nuitka/freezer/ImportDetection.py +1 -1
- nuitka/freezer/IncludedDataFiles.py +2 -2
- nuitka/freezer/IncludedEntryPoints.py +9 -1
- nuitka/freezer/Onefile.py +13 -15
- nuitka/freezer/Standalone.py +16 -4
- nuitka/freezer/__init__.py +1 -1
- nuitka/importing/IgnoreListing.py +1 -1
- nuitka/importing/ImportCache.py +1 -1
- nuitka/importing/ImportResolving.py +1 -1
- nuitka/importing/Importing.py +6 -4
- nuitka/importing/PreloadedPackages.py +1 -1
- nuitka/importing/Recursion.py +37 -12
- nuitka/importing/StandardLibrary.py +1 -1
- nuitka/importing/__init__.py +1 -1
- nuitka/nodes/AsyncgenNodes.py +1 -1
- nuitka/nodes/AttributeLookupNodes.py +1 -1
- nuitka/nodes/AttributeNodes.py +1 -1
- nuitka/nodes/AttributeNodesGenerated.py +1 -1
- nuitka/nodes/BuiltinAllNodes.py +1 -1
- nuitka/nodes/BuiltinAnyNodes.py +1 -1
- nuitka/nodes/BuiltinComplexNodes.py +1 -1
- nuitka/nodes/BuiltinDecodingNodes.py +1 -1
- nuitka/nodes/BuiltinDecoratorNodes.py +1 -1
- nuitka/nodes/BuiltinDictNodes.py +1 -1
- nuitka/nodes/BuiltinFormatNodes.py +1 -1
- nuitka/nodes/BuiltinHashNodes.py +1 -1
- nuitka/nodes/BuiltinInputNodes.py +1 -1
- nuitka/nodes/BuiltinIntegerNodes.py +1 -1
- nuitka/nodes/BuiltinIteratorNodes.py +1 -1
- nuitka/nodes/BuiltinLenNodes.py +1 -1
- nuitka/nodes/BuiltinNextNodes.py +1 -1
- nuitka/nodes/BuiltinOpenNodes.py +1 -1
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +1 -1
- nuitka/nodes/BuiltinRangeNodes.py +1 -1
- nuitka/nodes/BuiltinRefNodes.py +1 -1
- nuitka/nodes/BuiltinSumNodes.py +1 -1
- nuitka/nodes/BuiltinTypeNodes.py +1 -1
- nuitka/nodes/BuiltinVarsNodes.py +1 -1
- nuitka/nodes/BytesNodes.py +1 -1
- nuitka/nodes/CallNodes.py +1 -1
- nuitka/nodes/Checkers.py +1 -1
- nuitka/nodes/ChildrenHavingMixins.py +240 -16
- nuitka/nodes/ClassNodes.py +1 -1
- nuitka/nodes/CodeObjectSpecs.py +4 -4
- nuitka/nodes/ComparisonNodes.py +1 -1
- nuitka/nodes/ConditionalNodes.py +1 -1
- nuitka/nodes/ConstantRefNodes.py +1 -1
- nuitka/nodes/ContainerMakingNodes.py +1 -1
- nuitka/nodes/ContainerOperationNodes.py +1 -1
- nuitka/nodes/CoroutineNodes.py +1 -1
- nuitka/nodes/CtypesNodes.py +1 -1
- nuitka/nodes/DictionaryNodes.py +1 -1
- nuitka/nodes/ExceptionNodes.py +1 -1
- nuitka/nodes/ExecEvalNodes.py +1 -1
- nuitka/nodes/ExpressionBases.py +1 -1
- nuitka/nodes/ExpressionBasesGenerated.py +1 -1
- nuitka/nodes/ExpressionShapeMixins.py +1 -1
- nuitka/nodes/FrameNodes.py +19 -7
- nuitka/nodes/FunctionAttributeNodes.py +1 -1
- nuitka/nodes/FunctionNodes.py +8 -1
- nuitka/nodes/FutureSpecs.py +34 -2
- nuitka/nodes/GeneratorNodes.py +1 -1
- nuitka/nodes/GlobalsLocalsNodes.py +1 -1
- nuitka/nodes/HardImportNodesGenerated.py +140 -56
- nuitka/nodes/ImportHardNodes.py +1 -1
- nuitka/nodes/ImportNodes.py +1 -1
- nuitka/nodes/IndicatorMixins.py +1 -1
- nuitka/nodes/InjectCNodes.py +1 -1
- nuitka/nodes/IterationHandles.py +1 -1
- nuitka/nodes/KeyValuePairNodes.py +1 -1
- nuitka/nodes/ListOperationNodes.py +1 -1
- nuitka/nodes/LocalsDictNodes.py +1 -1
- nuitka/nodes/LocalsScopes.py +1 -1
- nuitka/nodes/LoopNodes.py +1 -1
- nuitka/nodes/MatchNodes.py +1 -1
- nuitka/nodes/ModuleAttributeNodes.py +1 -1
- nuitka/nodes/ModuleNodes.py +23 -9
- nuitka/nodes/NetworkxNodes.py +1 -1
- nuitka/nodes/NodeBases.py +1 -1
- nuitka/nodes/NodeMakingHelpers.py +1 -1
- nuitka/nodes/NodeMetaClasses.py +1 -1
- nuitka/nodes/OperatorNodes.py +1 -1
- nuitka/nodes/OperatorNodesUnary.py +1 -1
- nuitka/nodes/OsSysNodes.py +1 -1
- nuitka/nodes/OutlineNodes.py +1 -1
- nuitka/nodes/PackageMetadataNodes.py +4 -2
- nuitka/nodes/PackageResourceNodes.py +42 -7
- nuitka/nodes/PrintNodes.py +1 -1
- nuitka/nodes/ReturnNodes.py +1 -1
- nuitka/nodes/SideEffectNodes.py +1 -1
- nuitka/nodes/SliceNodes.py +1 -1
- nuitka/nodes/StatementBasesGenerated.py +1 -1
- nuitka/nodes/StatementNodes.py +1 -1
- nuitka/nodes/StrNodes.py +1 -1
- nuitka/nodes/StringConcatenationNodes.py +1 -1
- nuitka/nodes/SubscriptNodes.py +1 -1
- nuitka/nodes/TensorflowNodes.py +1 -1
- nuitka/nodes/TryNodes.py +1 -1
- nuitka/nodes/TypeMatchNodes.py +1 -1
- nuitka/nodes/TypeNodes.py +4 -4
- nuitka/nodes/VariableAssignNodes.py +1 -1
- nuitka/nodes/VariableDelNodes.py +1 -1
- nuitka/nodes/VariableNameNodes.py +1 -1
- nuitka/nodes/VariableRefNodes.py +1 -1
- nuitka/nodes/VariableReleaseNodes.py +1 -1
- nuitka/nodes/YieldNodes.py +1 -1
- nuitka/nodes/__init__.py +1 -1
- nuitka/nodes/shapes/BuiltinTypeShapes.py +1 -1
- nuitka/nodes/shapes/ControlFlowDescriptions.py +1 -1
- nuitka/nodes/shapes/IteratorShapes.py +1 -1
- nuitka/nodes/shapes/ShapeMixins.py +1 -1
- nuitka/nodes/shapes/StandardShapes.py +1 -1
- nuitka/nodes/shapes/__init__.py +1 -1
- nuitka/optimizations/BytecodeDemotion.py +1 -1
- nuitka/optimizations/FunctionInlining.py +1 -1
- nuitka/optimizations/Graphs.py +1 -1
- nuitka/optimizations/Optimization.py +1 -1
- nuitka/optimizations/OptimizeBuiltinCalls.py +1 -1
- nuitka/optimizations/Tags.py +1 -1
- nuitka/optimizations/TraceCollections.py +1 -1
- nuitka/optimizations/ValueTraces.py +1 -1
- nuitka/optimizations/__init__.py +1 -1
- nuitka/pgo/PGO.py +1 -1
- nuitka/pgo/__init__.py +1 -1
- nuitka/plugins/PluginBase.py +91 -16
- nuitka/plugins/Plugins.py +58 -15
- nuitka/plugins/YamlPluginBase.py +1 -1
- nuitka/plugins/__init__.py +1 -1
- nuitka/plugins/standard/AntiBloatPlugin.py +138 -66
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +2 -1
- nuitka/plugins/standard/DataFilesPlugin.py +2 -2
- nuitka/plugins/standard/DelvewheelPlugin.py +2 -1
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +1 -1
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +1 -1
- nuitka/plugins/standard/DillPlugin.py +2 -2
- nuitka/plugins/standard/DllFilesPlugin.py +2 -12
- nuitka/plugins/standard/EnumPlugin.py +2 -2
- nuitka/plugins/standard/EventletPlugin.py +2 -1
- nuitka/plugins/standard/GeventPlugin.py +2 -1
- nuitka/plugins/standard/GiPlugin.py +2 -1
- nuitka/plugins/standard/GlfwPlugin.py +2 -1
- nuitka/plugins/standard/ImplicitImports.py +7 -6
- nuitka/plugins/standard/KivyPlugin.py +2 -1
- nuitka/plugins/standard/MatplotlibPlugin.py +2 -1
- nuitka/plugins/standard/MultiprocessingPlugin.py +2 -1
- nuitka/plugins/standard/NumpyPlugin.py +2 -1
- nuitka/plugins/standard/OptionsNannyPlugin.py +2 -2
- nuitka/plugins/standard/PbrPlugin.py +2 -2
- nuitka/plugins/standard/PkgResourcesPlugin.py +2 -1
- nuitka/plugins/standard/PlaywrightPlugin.py +10 -15
- nuitka/plugins/standard/PmwPlugin.py +2 -1
- nuitka/plugins/standard/PySidePyQtPlugin.py +25 -15
- nuitka/plugins/standard/PywebViewPlugin.py +2 -1
- nuitka/plugins/standard/SpacyPlugin.py +2 -1
- nuitka/plugins/standard/TensorflowPlugin.py +2 -1
- nuitka/plugins/standard/TkinterPlugin.py +15 -2
- nuitka/plugins/standard/TorchPlugin.py +2 -1
- nuitka/plugins/standard/TransformersPlugin.py +2 -2
- nuitka/plugins/standard/TrioPlugin.py +2 -1
- nuitka/plugins/standard/UpxPlugin.py +2 -1
- nuitka/plugins/standard/__init__.py +1 -1
- nuitka/plugins/standard/standard.nuitka-package.config.yml +257 -89
- nuitka/reports/CompilationReportReader.py +5 -1
- nuitka/reports/LicenseReport.rst.j2 +1 -1
- nuitka/reports/Reports.py +30 -3
- nuitka/reports/__init__.py +1 -1
- nuitka/specs/BuiltinBytesOperationSpecs.py +1 -1
- nuitka/specs/BuiltinDictOperationSpecs.py +1 -1
- nuitka/specs/BuiltinListOperationSpecs.py +1 -1
- nuitka/specs/BuiltinParameterSpecs.py +1 -1
- nuitka/specs/BuiltinStrOperationSpecs.py +1 -1
- nuitka/specs/BuiltinTypeOperationSpecs.py +1 -1
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +1 -1
- nuitka/specs/HardImportSpecs.py +10 -2
- nuitka/specs/ParameterSpecs.py +17 -2
- nuitka/specs/__init__.py +1 -1
- nuitka/tools/Basics.py +1 -1
- nuitka/tools/__init__.py +1 -1
- nuitka/tools/commercial/__init__.py +1 -1
- nuitka/tools/data_composer/DataComposer.py +125 -1
- nuitka/tools/data_composer/__init__.py +1 -1
- nuitka/tools/data_composer/__main__.py +1 -1
- nuitka/tools/environments/CreateEnvironment.py +1 -1
- nuitka/tools/environments/Virtualenv.py +1 -1
- nuitka/tools/environments/__init__.py +1 -1
- nuitka/tools/general/__init__.py +1 -1
- nuitka/tools/general/dll_report/__init__.py +1 -1
- nuitka/tools/general/dll_report/__main__.py +1 -1
- nuitka/tools/general/find_module/FindModuleCode.py +6 -3
- nuitka/tools/general/find_module/__init__.py +1 -1
- nuitka/tools/general/generate_header/GenerateHeader.py +73 -0
- nuitka/tools/general/generate_header/__init__.py +19 -0
- nuitka/tools/onefile_compressor/OnefileCompressor.py +1 -1
- nuitka/tools/onefile_compressor/__init__.py +1 -1
- nuitka/tools/onefile_compressor/__main__.py +1 -1
- nuitka/tools/podman/Podman.py +1 -1
- nuitka/tools/podman/__init__.py +1 -1
- nuitka/tools/podman/__main__.py +4 -2
- nuitka/tools/profiler/__init__.py +1 -1
- nuitka/tools/profiler/__main__.py +1 -1
- nuitka/tools/scanning/DisplayPackageDLLs.py +42 -20
- nuitka/tools/scanning/DisplayPackageData.py +1 -1
- nuitka/tools/scanning/__init__.py +1 -1
- nuitka/tools/specialize/CTypeDescriptions.py +1 -1
- nuitka/tools/specialize/Common.py +1 -1
- nuitka/tools/specialize/SpecializeC.py +1 -1
- nuitka/tools/specialize/SpecializePython.py +7 -3
- nuitka/tools/specialize/__init__.py +1 -1
- nuitka/tools/testing/Common.py +140 -19
- nuitka/tools/testing/Constructs.py +1 -1
- nuitka/tools/testing/OutputComparison.py +5 -4
- nuitka/tools/testing/Pythons.py +1 -1
- nuitka/tools/testing/RuntimeTracing.py +1 -1
- nuitka/tools/testing/SearchModes.py +1 -1
- nuitka/tools/testing/Valgrind.py +1 -1
- nuitka/tools/testing/__init__.py +1 -1
- nuitka/tools/testing/check_reference_counts/__init__.py +1 -1
- nuitka/tools/testing/check_reference_counts/__main__.py +6 -2
- nuitka/tools/testing/compare_with_cpython/__init__.py +1 -1
- nuitka/tools/testing/compare_with_cpython/__main__.py +51 -14
- nuitka/tools/testing/find_sxs_modules/__init__.py +1 -1
- nuitka/tools/testing/find_sxs_modules/__main__.py +1 -1
- nuitka/tools/testing/measure_construct_performance/__init__.py +1 -1
- nuitka/tools/testing/measure_construct_performance/__main__.py +1 -1
- nuitka/tools/testing/run_nuitka_tests/__init__.py +1 -1
- nuitka/tools/testing/run_nuitka_tests/__main__.py +1 -1
- nuitka/tools/watch/AutoStage.py +1 -1
- nuitka/tools/watch/Common.py +55 -0
- nuitka/tools/watch/Conda.py +125 -0
- nuitka/tools/watch/GitHub.py +1 -1
- nuitka/tools/watch/Pacman.py +73 -0
- nuitka/tools/watch/Pipenv.py +143 -0
- nuitka/tools/watch/__init__.py +1 -1
- nuitka/tools/watch/__main__.py +124 -266
- nuitka/tree/Building.py +5 -7
- nuitka/tree/ComplexCallHelperFunctions.py +1 -1
- nuitka/tree/Extractions.py +1 -1
- nuitka/tree/FutureSpecState.py +71 -0
- nuitka/tree/InternalModule.py +1 -1
- nuitka/tree/Operations.py +1 -1
- nuitka/tree/ReformulationAssertStatements.py +1 -1
- nuitka/tree/ReformulationAssignmentStatements.py +3 -3
- nuitka/tree/ReformulationBooleanExpressions.py +1 -1
- nuitka/tree/ReformulationCallExpressions.py +1 -1
- nuitka/tree/ReformulationClasses.py +1 -1
- nuitka/tree/ReformulationClasses3.py +1 -1
- nuitka/tree/ReformulationComparisonExpressions.py +1 -1
- nuitka/tree/ReformulationContractionExpressions.py +3 -1
- nuitka/tree/ReformulationDictionaryCreation.py +3 -3
- nuitka/tree/ReformulationExecStatements.py +1 -1
- nuitka/tree/ReformulationForLoopStatements.py +1 -1
- nuitka/tree/ReformulationFunctionStatements.py +2 -2
- nuitka/tree/ReformulationImportStatements.py +5 -52
- nuitka/tree/ReformulationLambdaExpressions.py +2 -1
- nuitka/tree/ReformulationMatchStatements.py +1 -1
- nuitka/tree/ReformulationMultidist.py +2 -2
- nuitka/tree/ReformulationNamespacePackages.py +28 -6
- nuitka/tree/ReformulationPrintStatements.py +1 -1
- nuitka/tree/ReformulationSequenceCreation.py +1 -1
- nuitka/tree/ReformulationSubscriptExpressions.py +1 -1
- nuitka/tree/ReformulationTryExceptStatements.py +1 -1
- nuitka/tree/ReformulationTryFinallyStatements.py +1 -1
- nuitka/tree/ReformulationWhileLoopStatements.py +1 -1
- nuitka/tree/ReformulationWithStatements.py +1 -1
- nuitka/tree/ReformulationYieldExpressions.py +1 -1
- nuitka/tree/SourceHandling.py +57 -18
- nuitka/tree/SyntaxErrors.py +1 -1
- nuitka/tree/TreeHelpers.py +24 -10
- nuitka/tree/VariableClosure.py +1 -1
- nuitka/tree/__init__.py +1 -1
- nuitka/utils/AppDirs.py +5 -2
- nuitka/utils/CStrings.py +1 -1
- nuitka/utils/CommandLineOptions.py +2 -2
- nuitka/utils/Distributions.py +197 -15
- nuitka/utils/Download.py +14 -6
- nuitka/utils/Execution.py +43 -14
- nuitka/utils/FileOperations.py +43 -10
- nuitka/utils/Hashing.py +1 -1
- nuitka/utils/Images.py +8 -2
- nuitka/utils/Importing.py +1 -1
- nuitka/utils/InlineCopies.py +1 -1
- nuitka/utils/InstalledPythons.py +1 -1
- nuitka/utils/InstanceCounters.py +1 -1
- nuitka/utils/Jinja2.py +1 -1
- nuitka/utils/Json.py +2 -2
- nuitka/utils/MacOSApp.py +4 -3
- nuitka/utils/MemoryUsage.py +1 -1
- nuitka/utils/ModuleNames.py +1 -1
- nuitka/utils/PackageResources.py +1 -1
- nuitka/utils/ReExecute.py +1 -1
- nuitka/utils/Rest.py +1 -1
- nuitka/utils/SharedLibraries.py +52 -7
- nuitka/utils/Shebang.py +1 -1
- nuitka/utils/Signing.py +2 -4
- nuitka/utils/SlotMetaClasses.py +1 -1
- nuitka/utils/StaticLibraries.py +29 -1
- nuitka/utils/ThreadedExecutor.py +1 -1
- nuitka/utils/Timing.py +1 -1
- nuitka/utils/Utils.py +1 -1
- nuitka/utils/WindowsFileUsage.py +1 -1
- nuitka/utils/WindowsResources.py +3 -1
- nuitka/utils/Yaml.py +1 -1
- nuitka/utils/__init__.py +1 -1
- Nuitka_winsvc-2.5.6.dist-info/RECORD +0 -978
- {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.5.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.5.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-2.5.6.dist-info → Nuitka_winsvc-2.6.5.dist-info}/top_level.txt +0 -0
nuitka/Builtins.py
CHANGED
nuitka/BytecodeCaching.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Caching of compiled code.
|
|
@@ -12,6 +12,7 @@ import sys
|
|
|
12
12
|
|
|
13
13
|
from nuitka.containers.OrderedSets import OrderedSet
|
|
14
14
|
from nuitka.importing.Importing import locateModule, makeModuleUsageAttempt
|
|
15
|
+
from nuitka.ModuleRegistry import getModuleOptimizationTimingInfos
|
|
15
16
|
from nuitka.plugins.Plugins import Plugins
|
|
16
17
|
from nuitka.utils.AppDirs import getCacheDir
|
|
17
18
|
from nuitka.utils.FileOperations import makePath
|
|
@@ -50,7 +51,7 @@ def hasCachedImportedModuleUsageAttempts(module_name, source_code, source_ref):
|
|
|
50
51
|
|
|
51
52
|
|
|
52
53
|
# Bump this is format is changed or enhanced implementation might different ones.
|
|
53
|
-
_cache_format_version =
|
|
54
|
+
_cache_format_version = 7
|
|
54
55
|
|
|
55
56
|
|
|
56
57
|
def getCachedImportedModuleUsageAttempts(module_name, source_code, source_ref):
|
|
@@ -118,11 +119,20 @@ def getCachedImportedModuleUsageAttempts(module_name, source_code, source_ref):
|
|
|
118
119
|
# something changed there.
|
|
119
120
|
pass
|
|
120
121
|
|
|
121
|
-
|
|
122
|
+
# The Json doesn't store integer keys.
|
|
123
|
+
for pass_timing_info in data["timing_infos"]:
|
|
124
|
+
pass_timing_info[3] = dict(
|
|
125
|
+
(int(key), value) for (key, value) in pass_timing_info[3].items()
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
return result, data["timing_infos"]
|
|
122
129
|
|
|
123
130
|
|
|
124
131
|
def writeImportedModulesNamesToCache(
|
|
125
|
-
module_name,
|
|
132
|
+
module_name,
|
|
133
|
+
source_code,
|
|
134
|
+
used_modules,
|
|
135
|
+
distribution_names,
|
|
126
136
|
):
|
|
127
137
|
cache_name = makeCacheName(module_name, source_code)
|
|
128
138
|
cache_filename = _getCacheFilename(cache_name, "json")
|
|
@@ -138,6 +148,7 @@ def writeImportedModulesNamesToCache(
|
|
|
138
148
|
# We use a tuple, so preserve the order.
|
|
139
149
|
"modules_used": used_modules,
|
|
140
150
|
"distribution_names": distribution_names,
|
|
151
|
+
"timing_infos": getModuleOptimizationTimingInfos(module_name),
|
|
141
152
|
}
|
|
142
153
|
|
|
143
154
|
makePath(os.path.dirname(cache_filename))
|
nuitka/Bytecodes.py
CHANGED
nuitka/CacheCleanup.py
CHANGED
nuitka/Constants.py
CHANGED
nuitka/Errors.py
CHANGED
nuitka/HardImportRegistry.py
CHANGED
nuitka/MainControl.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" This is the main actions of Nuitka.
|
|
@@ -35,7 +35,13 @@ from nuitka.freezer.IncludedEntryPoints import (
|
|
|
35
35
|
getStandaloneEntryPoints,
|
|
36
36
|
setMainEntryPoint,
|
|
37
37
|
)
|
|
38
|
-
from nuitka.importing import
|
|
38
|
+
from nuitka.importing.Importing import locateModule, setupImportingFromOptions
|
|
39
|
+
from nuitka.importing.Recursion import (
|
|
40
|
+
scanIncludedPackage,
|
|
41
|
+
scanPluginFilenamePattern,
|
|
42
|
+
scanPluginPath,
|
|
43
|
+
scanPluginSinglePath,
|
|
44
|
+
)
|
|
39
45
|
from nuitka.Options import (
|
|
40
46
|
getPythonPgoInput,
|
|
41
47
|
hasPythonFlagIsolated,
|
|
@@ -55,6 +61,7 @@ from nuitka.Progress import (
|
|
|
55
61
|
setupProgressBar,
|
|
56
62
|
)
|
|
57
63
|
from nuitka.PythonFlavors import (
|
|
64
|
+
getPythonFlavorName,
|
|
58
65
|
isApplePython,
|
|
59
66
|
isArchPackagePython,
|
|
60
67
|
isDebianPackagePython,
|
|
@@ -84,6 +91,7 @@ from nuitka.utils.FileOperations import (
|
|
|
84
91
|
changeFilenameExtension,
|
|
85
92
|
deleteFile,
|
|
86
93
|
getExternalUsePath,
|
|
94
|
+
getReportPath,
|
|
87
95
|
openTextFile,
|
|
88
96
|
removeDirectory,
|
|
89
97
|
resetDirectory,
|
|
@@ -103,8 +111,9 @@ from . import ModuleRegistry, Options, OutputDirectories
|
|
|
103
111
|
from .build.SconsInterface import (
|
|
104
112
|
asBoolStr,
|
|
105
113
|
cleanSconsDirectory,
|
|
114
|
+
getCommonSconsOptions,
|
|
106
115
|
runScons,
|
|
107
|
-
|
|
116
|
+
setPythonTargetOptions,
|
|
108
117
|
)
|
|
109
118
|
from .code_generation import CodeGeneration, LoaderCodes, Reports
|
|
110
119
|
from .finalizations import Finalization
|
|
@@ -205,31 +214,20 @@ def _createMainModule():
|
|
|
205
214
|
|
|
206
215
|
# Second, do it for the directories given.
|
|
207
216
|
for plugin_filename in Options.getShallFollowExtra():
|
|
208
|
-
|
|
217
|
+
scanPluginPath(plugin_filename=plugin_filename, module_package=None)
|
|
209
218
|
|
|
210
219
|
for pattern in Options.getShallFollowExtraFilePatterns():
|
|
211
|
-
|
|
220
|
+
scanPluginFilenamePattern(pattern=pattern)
|
|
212
221
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
parent_package=None,
|
|
217
|
-
level=0,
|
|
218
|
-
)
|
|
222
|
+
# For packages, include the full suite.
|
|
223
|
+
if Options.shallMakePackage():
|
|
224
|
+
scanIncludedPackage(main_module.getFullName())
|
|
219
225
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
"Error, failed to locate package '%s' you asked to include."
|
|
223
|
-
% package_name
|
|
224
|
-
)
|
|
225
|
-
|
|
226
|
-
Recursion.checkPluginPath(
|
|
227
|
-
plugin_filename=package_directory,
|
|
228
|
-
module_package=package_name.getPackageName(),
|
|
229
|
-
)
|
|
226
|
+
for package_name in Options.getMustIncludePackages():
|
|
227
|
+
scanIncludedPackage(package_name)
|
|
230
228
|
|
|
231
229
|
for module_name in Options.getMustIncludeModules():
|
|
232
|
-
module_name, module_filename, _module_kind, finding =
|
|
230
|
+
module_name, module_filename, _module_kind, finding = locateModule(
|
|
233
231
|
module_name=ModuleName(module_name),
|
|
234
232
|
parent_package=None,
|
|
235
233
|
level=0,
|
|
@@ -241,7 +239,7 @@ def _createMainModule():
|
|
|
241
239
|
% module_name.asString()
|
|
242
240
|
)
|
|
243
241
|
|
|
244
|
-
|
|
242
|
+
scanPluginSinglePath(
|
|
245
243
|
plugin_filename=module_filename,
|
|
246
244
|
module_package=module_name.getPackageName(),
|
|
247
245
|
package_only=True,
|
|
@@ -585,166 +583,164 @@ def runSconsBackend():
|
|
|
585
583
|
# Scons gets transported many details, that we express as variables, and
|
|
586
584
|
# have checks for them, leading to many branches and statements,
|
|
587
585
|
# pylint: disable=too-many-branches,too-many-statements
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
586
|
+
scons_options, env_values = getCommonSconsOptions()
|
|
587
|
+
|
|
588
|
+
setPythonTargetOptions(scons_options)
|
|
589
|
+
|
|
590
|
+
scons_options["source_dir"] = OutputDirectories.getSourceDirectoryPath()
|
|
591
|
+
scons_options["nuitka_python"] = asBoolStr(isNuitkaPython())
|
|
592
|
+
scons_options["debug_mode"] = asBoolStr(Options.is_debug)
|
|
593
|
+
scons_options["debugger_mode"] = asBoolStr(Options.shallRunInDebugger())
|
|
594
|
+
scons_options["python_debug"] = asBoolStr(Options.shallUsePythonDebug())
|
|
595
|
+
scons_options["module_mode"] = asBoolStr(Options.shallMakeModule())
|
|
596
|
+
scons_options["full_compat"] = asBoolStr(Options.is_full_compat)
|
|
597
|
+
scons_options["experimental"] = ",".join(Options.getExperimentalIndications())
|
|
598
|
+
scons_options["trace_mode"] = asBoolStr(Options.shallTraceExecution())
|
|
599
|
+
scons_options["file_reference_mode"] = Options.getFileReferenceMode()
|
|
600
|
+
scons_options["module_count"] = "%d" % len(ModuleRegistry.getDoneModules())
|
|
603
601
|
|
|
604
602
|
if Options.isLowMemory():
|
|
605
|
-
|
|
603
|
+
scons_options["low_memory"] = asBoolStr(True)
|
|
606
604
|
|
|
607
605
|
if not Options.shallMakeModule():
|
|
608
|
-
|
|
606
|
+
scons_options["result_exe"] = OutputDirectories.getResultFullpath(onefile=False)
|
|
609
607
|
|
|
610
608
|
main_module = ModuleRegistry.getRootTopModule()
|
|
611
609
|
assert main_module.isMainModule()
|
|
612
610
|
|
|
613
611
|
main_module_name = main_module.getFullName()
|
|
614
612
|
if main_module_name != "__main__":
|
|
615
|
-
|
|
613
|
+
scons_options["main_module_name"] = main_module_name
|
|
616
614
|
|
|
617
615
|
if Options.shallUseStaticLibPython():
|
|
618
|
-
|
|
616
|
+
scons_options["static_libpython"] = getSystemStaticLibPythonPath()
|
|
619
617
|
|
|
620
618
|
if isDebianPackagePython():
|
|
621
|
-
|
|
619
|
+
scons_options["debian_python"] = asBoolStr(True)
|
|
622
620
|
if isFedoraPackagePython():
|
|
623
|
-
|
|
621
|
+
scons_options["fedora_python"] = asBoolStr(True)
|
|
624
622
|
if isArchPackagePython():
|
|
625
|
-
|
|
623
|
+
scons_options["arch_python"] = asBoolStr(True)
|
|
626
624
|
if isApplePython():
|
|
627
|
-
|
|
625
|
+
scons_options["apple_python"] = asBoolStr(True)
|
|
628
626
|
if isPyenvPython():
|
|
629
|
-
|
|
627
|
+
scons_options["pyenv_python"] = asBoolStr(True)
|
|
630
628
|
|
|
631
629
|
if Options.isStandaloneMode():
|
|
632
|
-
|
|
630
|
+
scons_options["standalone_mode"] = asBoolStr(True)
|
|
633
631
|
|
|
634
632
|
if Options.isOnefileMode():
|
|
635
|
-
|
|
633
|
+
scons_options["onefile_mode"] = asBoolStr(True)
|
|
636
634
|
|
|
637
635
|
if Options.isOnefileTempDirMode():
|
|
638
|
-
|
|
636
|
+
scons_options["onefile_temp_mode"] = asBoolStr(True)
|
|
639
637
|
|
|
640
638
|
# TODO: Some things are going to hate that, we might need to bundle
|
|
641
639
|
# for accelerated mode still.
|
|
642
640
|
if Options.shallCreateAppBundle():
|
|
643
|
-
|
|
641
|
+
scons_options["macos_bundle_mode"] = asBoolStr(True)
|
|
644
642
|
|
|
645
643
|
if Options.getForcedStdoutPath():
|
|
646
|
-
|
|
644
|
+
scons_options["forced_stdout_path"] = Options.getForcedStdoutPath()
|
|
647
645
|
|
|
648
646
|
if Options.getForcedStderrPath():
|
|
649
|
-
|
|
647
|
+
scons_options["forced_stderr_path"] = Options.getForcedStderrPath()
|
|
650
648
|
|
|
651
649
|
if Options.isProfile():
|
|
652
|
-
|
|
650
|
+
scons_options["profile_mode"] = asBoolStr(True)
|
|
653
651
|
|
|
654
652
|
if Options.shallTreatUninstalledPython():
|
|
655
|
-
|
|
653
|
+
scons_options["uninstalled_python"] = asBoolStr(True)
|
|
656
654
|
|
|
657
655
|
if ModuleRegistry.getUncompiledTechnicalModules():
|
|
658
|
-
|
|
656
|
+
scons_options["frozen_modules"] = str(
|
|
659
657
|
len(ModuleRegistry.getUncompiledTechnicalModules())
|
|
660
658
|
)
|
|
661
659
|
|
|
662
660
|
if hasPythonFlagNoWarnings():
|
|
663
|
-
|
|
661
|
+
scons_options["no_python_warnings"] = asBoolStr(True)
|
|
664
662
|
|
|
665
663
|
if hasPythonFlagNoAsserts():
|
|
666
|
-
|
|
664
|
+
scons_options["python_sysflag_optimize"] = str(
|
|
667
665
|
2 if hasPythonFlagNoDocStrings() else 1
|
|
668
666
|
)
|
|
669
667
|
|
|
670
|
-
|
|
668
|
+
scons_options["python_flag_no_asserts"] = asBoolStr(True)
|
|
671
669
|
|
|
672
670
|
if hasPythonFlagNoDocStrings():
|
|
673
|
-
|
|
671
|
+
scons_options["python_flag_no_docstrings"] = asBoolStr(True)
|
|
674
672
|
|
|
675
673
|
if hasPythonFlagNoAnnotations():
|
|
676
|
-
|
|
674
|
+
scons_options["python_flag_no_annotations"] = asBoolStr(True)
|
|
677
675
|
|
|
678
676
|
if python_version < 0x300 and sys.flags.py3k_warning:
|
|
679
|
-
|
|
677
|
+
scons_options["python_sysflag_py3k_warning"] = asBoolStr(True)
|
|
680
678
|
|
|
681
679
|
if python_version < 0x300 and (
|
|
682
680
|
sys.flags.division_warning or sys.flags.py3k_warning
|
|
683
681
|
):
|
|
684
|
-
|
|
682
|
+
scons_options["python_sysflag_division_warning"] = asBoolStr(True)
|
|
685
683
|
|
|
686
684
|
if sys.flags.bytes_warning:
|
|
687
|
-
|
|
685
|
+
scons_options["python_sysflag_bytes_warning"] = asBoolStr(True)
|
|
688
686
|
|
|
689
687
|
if int(os.getenv("NUITKA_NOSITE_FLAG", Options.hasPythonFlagNoSite())):
|
|
690
|
-
|
|
688
|
+
scons_options["python_sysflag_no_site"] = asBoolStr(True)
|
|
691
689
|
|
|
692
690
|
if Options.hasPythonFlagTraceImports():
|
|
693
|
-
|
|
691
|
+
scons_options["python_sysflag_verbose"] = asBoolStr(True)
|
|
694
692
|
|
|
695
693
|
if Options.hasPythonFlagNoRandomization():
|
|
696
|
-
|
|
694
|
+
scons_options["python_sysflag_no_randomization"] = asBoolStr(True)
|
|
697
695
|
|
|
698
696
|
if python_version < 0x300 and sys.flags.unicode:
|
|
699
|
-
|
|
697
|
+
scons_options["python_sysflag_unicode"] = asBoolStr(True)
|
|
700
698
|
|
|
701
699
|
if python_version >= 0x370 and sys.flags.utf8_mode:
|
|
702
|
-
|
|
700
|
+
scons_options["python_sysflag_utf8"] = asBoolStr(True)
|
|
703
701
|
|
|
704
702
|
if hasPythonFlagNoBytecodeRuntimeCache():
|
|
705
|
-
|
|
703
|
+
scons_options["python_sysflag_unbuffered"] = asBoolStr(True)
|
|
706
704
|
|
|
707
705
|
if hasPythonFlagUnbuffered():
|
|
708
|
-
|
|
706
|
+
scons_options["python_sysflag_unbuffered"] = asBoolStr(True)
|
|
709
707
|
|
|
710
708
|
if hasPythonFlagIsolated():
|
|
711
|
-
|
|
709
|
+
scons_options["python_sysflag_isolated"] = asBoolStr(True)
|
|
712
710
|
|
|
713
711
|
abiflags = getPythonABI()
|
|
714
712
|
if abiflags:
|
|
715
|
-
|
|
713
|
+
scons_options["abiflags"] = abiflags
|
|
716
714
|
|
|
717
715
|
if Options.shallMakeModule():
|
|
718
|
-
|
|
716
|
+
scons_options["result_exe"] = OutputDirectories.getResultBasePath(
|
|
719
717
|
onefile=False
|
|
720
718
|
) + getSharedLibrarySuffix(preferred=True)
|
|
721
719
|
|
|
722
720
|
link_module_libs = getModuleLinkerLibs()
|
|
723
721
|
if link_module_libs:
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
env_values = setCommonSconsOptions(options)
|
|
722
|
+
scons_options["link_module_libs"] = ",".join(link_module_libs)
|
|
727
723
|
|
|
728
724
|
# Allow plugins to build definitions.
|
|
729
725
|
env_values.update(Plugins.getBuildDefinitions())
|
|
730
726
|
|
|
731
727
|
if Options.shallCreatePythonPgoInput():
|
|
732
|
-
|
|
728
|
+
scons_options["pgo_mode"] = "python"
|
|
733
729
|
|
|
734
730
|
result = runScons(
|
|
735
|
-
|
|
731
|
+
scons_options=scons_options,
|
|
736
732
|
env_values=env_values,
|
|
737
733
|
scons_filename="Backend.scons",
|
|
738
734
|
)
|
|
739
735
|
|
|
740
736
|
if not result:
|
|
741
|
-
return result,
|
|
737
|
+
return result, scons_options
|
|
742
738
|
|
|
743
739
|
# Need to make it usable before executing it.
|
|
744
740
|
executePostProcessing()
|
|
745
741
|
_runPythonPgoBinary()
|
|
746
742
|
|
|
747
|
-
return True,
|
|
743
|
+
return True, scons_options
|
|
748
744
|
|
|
749
745
|
# Need to restart compilation from scratch here.
|
|
750
746
|
if Options.isCPgoMode():
|
|
@@ -752,33 +748,33 @@ def runSconsBackend():
|
|
|
752
748
|
# and standalone mode proper support, which might need data files to be
|
|
753
749
|
# there, which currently are not yet there, so it won't run.
|
|
754
750
|
if Options.isCPgoMode():
|
|
755
|
-
|
|
751
|
+
scons_options["pgo_mode"] = "generate"
|
|
756
752
|
|
|
757
753
|
result = runScons(
|
|
758
|
-
|
|
754
|
+
scons_options=scons_options,
|
|
759
755
|
env_values=env_values,
|
|
760
756
|
scons_filename="Backend.scons",
|
|
761
757
|
)
|
|
762
758
|
|
|
763
759
|
if not result:
|
|
764
|
-
return result,
|
|
760
|
+
return result, scons_options
|
|
765
761
|
|
|
766
762
|
# Need to make it usable before executing it.
|
|
767
763
|
executePostProcessing()
|
|
768
764
|
_runCPgoBinary()
|
|
769
|
-
|
|
765
|
+
scons_options["pgo_mode"] = "use"
|
|
770
766
|
|
|
771
767
|
result = (
|
|
772
768
|
runScons(
|
|
773
|
-
|
|
769
|
+
scons_options=scons_options,
|
|
774
770
|
env_values=env_values,
|
|
775
771
|
scons_filename="Backend.scons",
|
|
776
772
|
),
|
|
777
|
-
|
|
773
|
+
scons_options,
|
|
778
774
|
)
|
|
779
775
|
|
|
780
776
|
# Delete PGO files if asked to do that.
|
|
781
|
-
if
|
|
777
|
+
if scons_options.get("pgo_mode") == "use" and _wasMsvcMode():
|
|
782
778
|
_deleteMsvcPGOFiles(pgo_mode="use")
|
|
783
779
|
|
|
784
780
|
return result
|
|
@@ -799,8 +795,8 @@ def callExecPython(args, add_path, uac):
|
|
|
799
795
|
|
|
800
796
|
def _executeMain(binary_filename):
|
|
801
797
|
# Wrap in debugger, unless the CMD file contains that call already.
|
|
802
|
-
if Options.shallRunInDebugger() and not Options.
|
|
803
|
-
args = wrapCommandForDebuggerForExec(binary_filename)
|
|
798
|
+
if Options.shallRunInDebugger() and not Options.shallCreateScriptFileForExecution():
|
|
799
|
+
args = wrapCommandForDebuggerForExec(command=(binary_filename,))
|
|
804
800
|
else:
|
|
805
801
|
args = (binary_filename, binary_filename)
|
|
806
802
|
|
|
@@ -849,7 +845,9 @@ import sys; sys.path.insert(0, %(output_dir)r)
|
|
|
849
845
|
}
|
|
850
846
|
|
|
851
847
|
if Options.shallRunInDebugger():
|
|
852
|
-
args = wrapCommandForDebuggerForExec(
|
|
848
|
+
args = wrapCommandForDebuggerForExec(
|
|
849
|
+
command=(sys.executable, "-c", python_command)
|
|
850
|
+
)
|
|
853
851
|
else:
|
|
854
852
|
args = (sys.executable, "python", "-c", python_command)
|
|
855
853
|
|
|
@@ -970,9 +968,10 @@ def _main():
|
|
|
970
968
|
readPGOInputFile(pgo_filename)
|
|
971
969
|
|
|
972
970
|
general.info(
|
|
973
|
-
"Starting Python compilation with Nuitka %r on Python %r commercial grade %r."
|
|
971
|
+
"Starting Python compilation with Nuitka %r on Python (flavor %s), %r commercial grade %r."
|
|
974
972
|
% (
|
|
975
973
|
getNuitkaVersion(),
|
|
974
|
+
getPythonFlavorName(),
|
|
976
975
|
python_version_str,
|
|
977
976
|
getCommercialVersion() or "not installed",
|
|
978
977
|
)
|
|
@@ -989,7 +988,7 @@ def _main():
|
|
|
989
988
|
|
|
990
989
|
# Initialize the importing layer from options, main filenames, debugging
|
|
991
990
|
# options, etc.
|
|
992
|
-
|
|
991
|
+
setupImportingFromOptions()
|
|
993
992
|
|
|
994
993
|
addIncludedDataFilesFromFileOptions()
|
|
995
994
|
addIncludedDataFilesFromPackageOptions()
|
|
@@ -1131,7 +1130,7 @@ not use compiled code while it exists."""
|
|
|
1131
1130
|
mnemonic="compiled-package-hidden-by-package",
|
|
1132
1131
|
)
|
|
1133
1132
|
|
|
1134
|
-
general.info("Successfully created '%s'." % final_filename)
|
|
1133
|
+
general.info("Successfully created '%s'." % getReportPath(final_filename))
|
|
1135
1134
|
|
|
1136
1135
|
writeCompilationReports(aborted=False)
|
|
1137
1136
|
|
nuitka/ModuleRegistry.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" This to keep track of used modules.
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import collections
|
|
15
15
|
import os
|
|
16
16
|
|
|
17
|
+
from nuitka.containers.Namedtuples import makeNamedtupleClass
|
|
17
18
|
from nuitka.containers.OrderedSets import OrderedSet
|
|
18
19
|
from nuitka.PythonVersions import python_version
|
|
19
20
|
|
|
@@ -234,7 +235,7 @@ def addModuleInfluencingCondition(
|
|
|
234
235
|
|
|
235
236
|
|
|
236
237
|
def addModuleInfluencingVariable(
|
|
237
|
-
module_name, plugin_name, variable_name, control_tags, result
|
|
238
|
+
module_name, config_module_name, plugin_name, variable_name, control_tags, result
|
|
238
239
|
):
|
|
239
240
|
if module_name not in module_influencing_plugins:
|
|
240
241
|
module_influencing_plugins[module_name] = OrderedSet()
|
|
@@ -242,7 +243,7 @@ def addModuleInfluencingVariable(
|
|
|
242
243
|
(
|
|
243
244
|
plugin_name,
|
|
244
245
|
"variable-used",
|
|
245
|
-
(variable_name, tuple(control_tags), repr(result)),
|
|
246
|
+
(variable_name, tuple(control_tags), repr(result), config_module_name),
|
|
246
247
|
)
|
|
247
248
|
)
|
|
248
249
|
|
|
@@ -278,7 +279,8 @@ def getModuleInfluences(module_name):
|
|
|
278
279
|
# Information about how long the optimization took.
|
|
279
280
|
module_timing_infos = {}
|
|
280
281
|
|
|
281
|
-
|
|
282
|
+
|
|
283
|
+
ModuleOptimizationTimingInfo = makeNamedtupleClass(
|
|
282
284
|
"ModuleOptimizationTimingInfo",
|
|
283
285
|
("pass_number", "time_used", "micro_passes", "merge_counts"),
|
|
284
286
|
)
|
|
@@ -288,6 +290,13 @@ def addModuleOptimizationTimeInformation(
|
|
|
288
290
|
module_name, pass_number, time_used, micro_passes, merge_counts
|
|
289
291
|
):
|
|
290
292
|
module_timing_info = list(module_timing_infos.get(module_name, []))
|
|
293
|
+
|
|
294
|
+
# Do not record cached bytecode loaded timing information, not useful
|
|
295
|
+
# and duplicate, we want the original values.
|
|
296
|
+
if pass_number == 1 and len(module_timing_info) == 1:
|
|
297
|
+
assert micro_passes == 0
|
|
298
|
+
return
|
|
299
|
+
|
|
291
300
|
module_timing_info.append(
|
|
292
301
|
ModuleOptimizationTimingInfo(
|
|
293
302
|
pass_number=pass_number,
|
|
@@ -303,6 +312,12 @@ def getModuleOptimizationTimingInfos(module_name):
|
|
|
303
312
|
return module_timing_infos.get(module_name, ())
|
|
304
313
|
|
|
305
314
|
|
|
315
|
+
def setModuleOptimizationTimingInfos(module_name, timing_infos):
|
|
316
|
+
module_timing_infos[module_name] = [
|
|
317
|
+
ModuleOptimizationTimingInfo(*timing_info) for timing_info in timing_infos
|
|
318
|
+
]
|
|
319
|
+
|
|
320
|
+
|
|
306
321
|
def getImportedModuleNames():
|
|
307
322
|
result = OrderedSet()
|
|
308
323
|
|