Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.4.8__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-1.8.data/scripts/nuitka-run.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka-run.cmd +9 -9
- Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka.cmd +15 -15
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/METADATA +4 -3
- Nuitka_winsvc-2.4.8.dist-info/RECORD +954 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +18 -17
- nuitka/BytecodeCaching.py +24 -20
- nuitka/Bytecodes.py +23 -19
- nuitka/CacheCleanup.py +28 -23
- nuitka/Constants.py +19 -17
- nuitka/Errors.py +23 -17
- nuitka/HardImportRegistry.py +400 -0
- nuitka/MainControl.py +200 -112
- nuitka/ModuleRegistry.py +83 -20
- nuitka/OptionParsing.py +368 -175
- nuitka/Options.py +632 -213
- nuitka/OutputDirectories.py +40 -21
- nuitka/PostProcessing.py +73 -50
- nuitka/Progress.py +58 -24
- nuitka/PythonFlavors.py +141 -32
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +106 -19
- nuitka/Serialization.py +68 -55
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +108 -70
- nuitka/TreeXML.py +31 -26
- nuitka/Variables.py +39 -41
- nuitka/Version.py +21 -7
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +95 -29
- nuitka/__past__.py +44 -34
- nuitka/build/Backend.scons +202 -140
- nuitka/build/CCompilerVersion.scons +39 -31
- nuitka/build/DataComposerInterface.py +20 -17
- nuitka/build/Onefile.scons +50 -54
- nuitka/build/SconsCaching.py +93 -90
- nuitka/build/SconsCompilerSettings.py +157 -69
- nuitka/build/SconsHacks.py +25 -19
- nuitka/build/SconsInterface.py +154 -54
- nuitka/build/SconsProgress.py +19 -18
- nuitka/build/SconsSpawn.py +62 -33
- nuitka/build/SconsUtils.py +147 -55
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +105 -22
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +18 -18
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -19
- nuitka/build/include/nuitka/compiled_asyncgen.h +18 -18
- nuitka/build/include/nuitka/compiled_cell.h +33 -18
- nuitka/build/include/nuitka/compiled_coroutine.h +18 -18
- nuitka/build/include/nuitka/compiled_frame.h +91 -53
- nuitka/build/include/nuitka/compiled_function.h +42 -20
- nuitka/build/include/nuitka/compiled_generator.h +24 -18
- nuitka/build/include/nuitka/compiled_method.h +17 -18
- nuitka/build/include/nuitka/constants.h +29 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/environment_variables.h +30 -0
- nuitka/build/include/nuitka/environment_variables_system.h +45 -0
- nuitka/build/include/nuitka/exception_groups.h +23 -26
- nuitka/build/include/nuitka/exceptions.h +593 -190
- nuitka/build/include/nuitka/filesystem_paths.h +26 -20
- nuitka/build/include/nuitka/freelists.h +38 -18
- nuitka/build/include/nuitka/helper/attributes.h +24 -18
- nuitka/build/include/nuitka/helper/boolean.h +17 -17
- nuitka/build/include/nuitka/helper/bytearrays.h +17 -17
- nuitka/build/include/nuitka/helper/bytes.h +14 -15
- nuitka/build/include/nuitka/helper/calling_generated.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_eq.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ge.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_gt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_le.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_lt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ne.h +17 -17
- nuitka/build/include/nuitka/helper/complex.h +17 -17
- nuitka/build/include/nuitka/helper/dictionaries.h +24 -22
- nuitka/build/include/nuitka/helper/floats.h +17 -18
- nuitka/build/include/nuitka/helper/import_hard.h +25 -17
- nuitka/build/include/nuitka/helper/indexes.h +17 -18
- nuitka/build/include/nuitka/helper/ints.h +32 -20
- nuitka/build/include/nuitka/helper/iterators.h +17 -17
- nuitka/build/include/nuitka/helper/lists.h +26 -24
- nuitka/build/include/nuitka/helper/lists_generated.h +22 -22
- nuitka/build/include/nuitka/helper/mappings.h +17 -18
- nuitka/build/include/nuitka/helper/operations.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_divmod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_builtin_types.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/raising.h +29 -17
- nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
- nuitka/build/include/nuitka/helper/richcomparisons.h +14 -14
- nuitka/build/include/nuitka/helper/sequences.h +19 -13
- nuitka/build/include/nuitka/helper/sets.h +11 -12
- nuitka/build/include/nuitka/helper/slices.h +31 -25
- nuitka/build/include/nuitka/helper/strings.h +16 -17
- nuitka/build/include/nuitka/helper/subscripts.h +18 -201
- nuitka/build/include/nuitka/helper/tuples.h +64 -52
- nuitka/build/include/nuitka/helpers.h +38 -20
- nuitka/build/include/nuitka/importing.h +28 -21
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +128 -46
- nuitka/build/include/nuitka/printing.h +22 -17
- nuitka/build/include/nuitka/python_pgo.h +19 -18
- nuitka/build/include/nuitka/safe_string_ops.h +20 -18
- nuitka/build/include/nuitka/threading.h +32 -33
- nuitka/build/include/nuitka/tracing.h +28 -18
- nuitka/build/include/nuitka/type_aliases.h +27 -0
- nuitka/build/include/nuitka/unfreezing.h +29 -23
- nuitka/build/inline_copy/bin/scons.py +14 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/ListVariable.py +6 -6
- nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +0 -3
- nuitka/build/inline_copy/python_hacl/LICENSE.txt +201 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.c +1430 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.c +463 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.c +1273 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.h +204 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.c +734 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.h +131 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Streaming_Types.h +83 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt128_Verified.h +346 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt_8_16_32_64.h +107 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/fstar_uint128_struct_endianness.h +68 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/internal/target.h +293 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/lowstar_endianness.h +231 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/types.h +14 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_MD5.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA1.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA2.h +164 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA3.h +65 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/python_hacl_namespaces.h +89 -0
- nuitka/build/inline_copy/tqdm/tqdm/__init__.py +2 -2
- nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +4 -1
- nuitka/build/inline_copy/tqdm/tqdm/utils.py +14 -8
- nuitka/build/inline_copy/tqdm/tqdm/version.py +1 -8
- nuitka/build/inline_copy/zlib/LICENSE +22 -0
- nuitka/build/inline_copy/zlib/crc32.c +1049 -0
- nuitka/build/inline_copy/zlib/crc32.h +9446 -0
- nuitka/build/inline_copy/zlib/zconf.h +551 -0
- nuitka/build/inline_copy/zlib/zlib.h +1938 -0
- nuitka/build/inline_copy/zlib/zutil.h +275 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +176 -182
- nuitka/build/static_src/CompiledCellType.c +63 -40
- nuitka/build/static_src/CompiledCodeHelpers.c +181 -128
- nuitka/build/static_src/CompiledCoroutineType.c +196 -203
- nuitka/build/static_src/CompiledFrameType.c +287 -133
- nuitka/build/static_src/CompiledFunctionType.c +389 -95
- nuitka/build/static_src/CompiledGeneratorType.c +376 -252
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +185 -198
- nuitka/build/static_src/CompiledMethodType.c +83 -71
- nuitka/build/static_src/HelpersAllocator.c +88 -19
- nuitka/build/static_src/HelpersAttributes.c +33 -54
- nuitka/build/static_src/HelpersBuiltin.c +43 -33
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +19 -20
- nuitka/build/static_src/HelpersCalling.c +33 -30
- nuitka/build/static_src/HelpersCallingGenerated.c +1000 -181
- nuitka/build/static_src/HelpersChecksumTools.c +35 -21
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonEq.c +518 -492
- nuitka/build/static_src/HelpersComparisonEqUtils.c +21 -19
- nuitka/build/static_src/HelpersComparisonGe.c +513 -497
- nuitka/build/static_src/HelpersComparisonGt.c +512 -496
- nuitka/build/static_src/HelpersComparisonLe.c +513 -497
- nuitka/build/static_src/HelpersComparisonLt.c +512 -496
- nuitka/build/static_src/HelpersComparisonNe.c +520 -492
- nuitka/build/static_src/HelpersConsole.c +96 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +542 -519
- nuitka/build/static_src/HelpersDeepcopy.c +33 -33
- nuitka/build/static_src/HelpersDictionaries.c +51 -29
- nuitka/build/static_src/HelpersDictionariesGenerated.c +177 -68
- nuitka/build/static_src/HelpersDumpBacktraces.c +63 -0
- nuitka/build/static_src/HelpersEnvironmentVariables.c +65 -0
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +93 -0
- nuitka/build/static_src/HelpersExceptions.c +161 -50
- nuitka/build/static_src/HelpersFiles.c +37 -17
- nuitka/build/static_src/HelpersFilesystemPaths.c +292 -181
- nuitka/build/static_src/HelpersFloats.c +37 -31
- nuitka/build/static_src/HelpersHeapStorage.c +21 -17
- nuitka/build/static_src/HelpersImport.c +48 -20
- nuitka/build/static_src/HelpersImportHard.c +53 -17
- nuitka/build/static_src/HelpersJitSources.c +46 -0
- nuitka/build/static_src/HelpersLists.c +140 -50
- nuitka/build/static_src/HelpersListsGenerated.c +41 -41
- nuitka/build/static_src/HelpersMappings.c +17 -17
- nuitka/build/static_src/HelpersMatching.c +137 -51
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +173 -146
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +99 -52
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +24 -24
- nuitka/build/static_src/HelpersOperationBinaryMod.c +107 -107
- nuitka/build/static_src/HelpersOperationBinaryMult.c +81 -75
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryPow.c +44 -44
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinarySub.c +80 -80
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +41 -41
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +171 -153
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +37 -37
- nuitka/build/static_src/HelpersOperationInplaceMod.c +134 -134
- nuitka/build/static_src/HelpersOperationInplaceMult.c +78 -78
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplacePow.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceSub.c +112 -112
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +62 -62
- nuitka/build/static_src/HelpersProfiling.c +24 -23
- nuitka/build/static_src/HelpersPythonPgo.c +22 -22
- nuitka/build/static_src/HelpersRaising.c +88 -20
- nuitka/build/static_src/HelpersSafeStrings.c +34 -22
- nuitka/build/static_src/HelpersSequences.c +18 -19
- nuitka/build/static_src/HelpersSlices.c +29 -23
- nuitka/build/static_src/HelpersStrings.c +234 -37
- nuitka/build/static_src/HelpersTuples.c +46 -34
- nuitka/build/static_src/HelpersTypes.c +68 -23
- nuitka/build/static_src/InspectPatcher.c +108 -27
- nuitka/build/static_src/MainProgram.c +359 -263
- nuitka/build/static_src/MetaPathBasedLoader.c +367 -242
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +97 -22
- nuitka/build/static_src/OnefileBootstrap.c +276 -164
- nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
- nuitka/code_generation/AsyncgenCodes.py +19 -17
- nuitka/code_generation/AttributeCodes.py +31 -27
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +24 -20
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +20 -17
- nuitka/code_generation/CallCodes.py +19 -17
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +48 -27
- nuitka/code_generation/CodeHelperSelection.py +19 -17
- nuitka/code_generation/CodeHelpers.py +24 -20
- nuitka/code_generation/CodeObjectCodes.py +34 -24
- nuitka/code_generation/ComparisonCodes.py +38 -20
- nuitka/code_generation/ComparisonHelperDefinitions.py +19 -17
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +82 -28
- nuitka/code_generation/Contexts.py +152 -26
- nuitka/code_generation/CoroutineCodes.py +19 -17
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +25 -23
- nuitka/code_generation/Emission.py +21 -18
- nuitka/code_generation/ErrorCodes.py +27 -33
- nuitka/code_generation/EvalCodes.py +24 -20
- nuitka/code_generation/ExceptionCodes.py +27 -18
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +20 -17
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +24 -20
- nuitka/code_generation/FunctionCodes.py +24 -21
- nuitka/code_generation/GeneratorCodes.py +23 -20
- nuitka/code_generation/GlobalConstants.py +43 -23
- nuitka/code_generation/GlobalsLocalsCodes.py +21 -19
- nuitka/code_generation/IdCodes.py +19 -17
- nuitka/code_generation/ImportCodes.py +90 -50
- nuitka/code_generation/Indentation.py +23 -22
- nuitka/code_generation/IndexCodes.py +19 -17
- nuitka/code_generation/InjectCCodes.py +14 -12
- nuitka/code_generation/IntegerCodes.py +19 -17
- nuitka/code_generation/IteratorCodes.py +19 -17
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +19 -17
- nuitka/code_generation/ListCodes.py +32 -36
- nuitka/code_generation/LoaderCodes.py +22 -17
- nuitka/code_generation/LocalsDictCodes.py +56 -32
- nuitka/code_generation/LoopCodes.py +19 -17
- nuitka/code_generation/MatchCodes.py +42 -22
- nuitka/code_generation/ModuleCodes.py +43 -25
- nuitka/code_generation/Namify.py +27 -23
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +29 -31
- nuitka/code_generation/PackageResourceCodes.py +59 -23
- nuitka/code_generation/PrintCodes.py +19 -17
- nuitka/code_generation/PythonAPICodes.py +19 -17
- nuitka/code_generation/RaisingCodes.py +19 -17
- nuitka/code_generation/Reports.py +19 -17
- nuitka/code_generation/ReturnCodes.py +19 -17
- nuitka/code_generation/SetCodes.py +19 -17
- nuitka/code_generation/SliceCodes.py +22 -20
- nuitka/code_generation/StringCodes.py +19 -17
- nuitka/code_generation/SubscriptCodes.py +24 -30
- nuitka/code_generation/TensorflowCodes.py +54 -0
- nuitka/code_generation/TryCodes.py +19 -17
- nuitka/code_generation/TupleCodes.py +20 -18
- nuitka/code_generation/TypeAliasCodes.py +71 -0
- nuitka/code_generation/VariableCodes.py +26 -22
- nuitka/code_generation/VariableDeclarations.py +20 -17
- nuitka/code_generation/YieldCodes.py +22 -20
- nuitka/code_generation/__init__.py +5 -4
- nuitka/code_generation/c_types/CTypeBases.py +19 -17
- nuitka/code_generation/c_types/CTypeBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeCFloats.py +19 -17
- nuitka/code_generation/c_types/CTypeCLongs.py +19 -18
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +19 -18
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +19 -17
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +27 -25
- nuitka/code_generation/c_types/CTypeVoids.py +20 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesConstants.py +132 -36
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +19 -18
- nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesFunction.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +19 -17
- nuitka/code_generation/templates/CodeTemplatesIterators.py +18 -18
- nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
- nuitka/code_generation/templates/CodeTemplatesModules.py +244 -165
- nuitka/code_generation/templates/CodeTemplatesVariables.py +42 -27
- nuitka/code_generation/templates/TemplateDebugWrapper.py +19 -18
- nuitka/code_generation/templates/__init__.py +5 -4
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +18 -18
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +76 -25
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +22 -22
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +19 -19
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +121 -48
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +6 -6
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +23 -23
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +44 -32
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +24 -24
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +33 -29
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +27 -27
- nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +26 -24
- nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +17 -17
- nuitka/containers/Namedtuples.py +19 -18
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +19 -18
- nuitka/distutils/DistutilCommands.py +34 -23
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +20 -17
- nuitka/finalizations/FinalizeMarkups.py +21 -41
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +48 -28
- nuitka/freezer/DllDependenciesCommon.py +47 -20
- nuitka/freezer/DllDependenciesMacOS.py +147 -57
- nuitka/freezer/DllDependenciesPosix.py +29 -19
- nuitka/freezer/DllDependenciesWin32.py +29 -21
- nuitka/freezer/ImportDetection.py +20 -17
- nuitka/freezer/IncludedDataFiles.py +118 -47
- nuitka/freezer/IncludedEntryPoints.py +102 -38
- nuitka/freezer/Onefile.py +32 -22
- nuitka/freezer/Standalone.py +105 -50
- nuitka/freezer/__init__.py +5 -4
- nuitka/importing/IgnoreListing.py +19 -17
- nuitka/importing/ImportCache.py +24 -21
- nuitka/importing/ImportResolving.py +103 -95
- nuitka/importing/Importing.py +286 -92
- nuitka/importing/PreloadedPackages.py +21 -18
- nuitka/importing/Recursion.py +131 -47
- nuitka/importing/StandardLibrary.py +46 -28
- nuitka/importing/__init__.py +5 -4
- nuitka/nodes/AsyncgenNodes.py +19 -17
- nuitka/nodes/AttributeLookupNodes.py +19 -17
- nuitka/nodes/AttributeNodes.py +19 -17
- nuitka/nodes/AttributeNodesGenerated.py +49 -24
- nuitka/nodes/BuiltinAllNodes.py +19 -17
- nuitka/nodes/BuiltinAnyNodes.py +19 -17
- nuitka/nodes/BuiltinComplexNodes.py +20 -17
- nuitka/nodes/BuiltinDecodingNodes.py +19 -17
- nuitka/nodes/BuiltinDecoratorNodes.py +19 -17
- nuitka/nodes/BuiltinDictNodes.py +19 -17
- nuitka/nodes/BuiltinFormatNodes.py +20 -17
- nuitka/nodes/BuiltinHashNodes.py +19 -17
- nuitka/nodes/BuiltinInputNodes.py +19 -17
- nuitka/nodes/BuiltinIntegerNodes.py +19 -17
- nuitka/nodes/BuiltinIteratorNodes.py +24 -20
- nuitka/nodes/BuiltinLenNodes.py +19 -17
- nuitka/nodes/BuiltinNextNodes.py +19 -17
- nuitka/nodes/BuiltinOpenNodes.py +52 -18
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +40 -23
- nuitka/nodes/BuiltinRangeNodes.py +21 -19
- nuitka/nodes/BuiltinRefNodes.py +68 -19
- nuitka/nodes/BuiltinSumNodes.py +20 -18
- nuitka/nodes/BuiltinTypeNodes.py +19 -17
- nuitka/nodes/BuiltinVarsNodes.py +19 -18
- nuitka/nodes/BytesNodes.py +19 -17
- nuitka/nodes/CallNodes.py +19 -17
- nuitka/nodes/Checkers.py +19 -17
- nuitka/nodes/ChildrenHavingMixins.py +1250 -302
- nuitka/nodes/ClassNodes.py +49 -29
- nuitka/nodes/CodeObjectSpecs.py +29 -18
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +21 -23
- nuitka/nodes/ConstantRefNodes.py +57 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +19 -17
- nuitka/nodes/CtypesNodes.py +19 -18
- nuitka/nodes/DictionaryNodes.py +19 -18
- nuitka/nodes/ExceptionNodes.py +29 -17
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +34 -26
- nuitka/nodes/ExpressionBasesGenerated.py +54 -32
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +19 -17
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +81 -35
- nuitka/nodes/FutureSpecs.py +35 -20
- nuitka/nodes/GeneratorNodes.py +21 -19
- nuitka/nodes/GlobalsLocalsNodes.py +22 -17
- nuitka/nodes/HardImportNodesGenerated.py +545 -129
- nuitka/nodes/ImportHardNodes.py +46 -38
- nuitka/nodes/ImportNodes.py +436 -446
- nuitka/nodes/IndicatorMixins.py +19 -17
- nuitka/nodes/InjectCNodes.py +19 -18
- nuitka/nodes/IterationHandles.py +55 -34
- nuitka/nodes/KeyValuePairNodes.py +19 -17
- nuitka/nodes/ListOperationNodes.py +33 -21
- nuitka/nodes/LocalsDictNodes.py +19 -17
- nuitka/nodes/LocalsScopes.py +41 -41
- nuitka/nodes/LoopNodes.py +28 -17
- nuitka/nodes/MatchNodes.py +37 -24
- nuitka/nodes/ModuleAttributeNodes.py +18 -35
- nuitka/nodes/ModuleNodes.py +90 -31
- nuitka/nodes/NetworkxNodes.py +45 -0
- nuitka/nodes/NodeBases.py +45 -43
- nuitka/nodes/NodeMakingHelpers.py +21 -19
- nuitka/nodes/NodeMetaClasses.py +45 -28
- nuitka/nodes/OperatorNodes.py +28 -26
- nuitka/nodes/OperatorNodesUnary.py +20 -17
- nuitka/nodes/OsSysNodes.py +66 -18
- nuitka/nodes/OutlineNodes.py +22 -20
- nuitka/nodes/PackageMetadataNodes.py +37 -27
- nuitka/nodes/PackageResourceNodes.py +29 -23
- nuitka/nodes/PrintNodes.py +19 -17
- nuitka/nodes/ReturnNodes.py +20 -18
- nuitka/nodes/SideEffectNodes.py +19 -17
- nuitka/nodes/SliceNodes.py +20 -18
- nuitka/nodes/StatementBasesGenerated.py +125 -77
- nuitka/nodes/StatementNodes.py +19 -17
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +20 -17
- nuitka/nodes/SubscriptNodes.py +26 -24
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +40 -17
- nuitka/nodes/VariableAssignNodes.py +122 -64
- nuitka/nodes/VariableDelNodes.py +19 -17
- nuitka/nodes/VariableNameNodes.py +19 -17
- nuitka/nodes/VariableRefNodes.py +63 -26
- nuitka/nodes/VariableReleaseNodes.py +19 -17
- nuitka/nodes/YieldNodes.py +21 -19
- nuitka/nodes/__init__.py +5 -4
- nuitka/nodes/shapes/BuiltinTypeShapes.py +145 -39
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +40 -17
- nuitka/nodes/shapes/StandardShapes.py +27 -20
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +19 -17
- nuitka/optimizations/FunctionInlining.py +22 -23
- nuitka/optimizations/Graphs.py +19 -17
- nuitka/optimizations/Optimization.py +39 -35
- nuitka/optimizations/OptimizeBuiltinCalls.py +31 -27
- nuitka/optimizations/Tags.py +19 -18
- nuitka/optimizations/TraceCollections.py +67 -24
- nuitka/optimizations/ValueTraces.py +92 -25
- nuitka/optimizations/__init__.py +5 -4
- nuitka/pgo/PGO.py +33 -23
- nuitka/pgo/__init__.py +5 -4
- nuitka/plugins/PluginBase.py +610 -109
- nuitka/plugins/Plugins.py +241 -58
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +357 -129
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +20 -19
- nuitka/plugins/standard/DataFilesPlugin.py +65 -29
- nuitka/plugins/standard/DelvewheelPlugin.py +32 -24
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +256 -0
- nuitka/plugins/standard/DillPlugin.py +42 -134
- nuitka/plugins/standard/DllFilesPlugin.py +125 -42
- nuitka/plugins/standard/EnumPlugin.py +19 -17
- nuitka/plugins/standard/EventletPlugin.py +19 -17
- nuitka/plugins/standard/GeventPlugin.py +19 -17
- nuitka/plugins/standard/GiPlugin.py +44 -28
- nuitka/plugins/standard/GlfwPlugin.py +20 -17
- nuitka/plugins/standard/ImplicitImports.py +407 -46
- nuitka/plugins/standard/KivyPlugin.py +30 -17
- nuitka/plugins/standard/MatplotlibPlugin.py +88 -42
- nuitka/plugins/standard/MultiprocessingPlugin.py +25 -20
- nuitka/plugins/standard/NumpyPlugin.py +19 -17
- nuitka/plugins/standard/OptionsNannyPlugin.py +48 -76
- nuitka/plugins/standard/PbrPlugin.py +21 -19
- nuitka/plugins/standard/PkgResourcesPlugin.py +34 -23
- nuitka/plugins/standard/PmwPlugin.py +30 -27
- nuitka/plugins/standard/PySidePyQtPlugin.py +74 -80
- nuitka/plugins/standard/PywebViewPlugin.py +19 -17
- nuitka/plugins/standard/SpacyPlugin.py +136 -0
- nuitka/plugins/standard/TensorflowPlugin.py +20 -17
- nuitka/plugins/standard/TkinterPlugin.py +103 -53
- nuitka/plugins/standard/TorchPlugin.py +20 -17
- nuitka/plugins/standard/TransformersPlugin.py +94 -30
- nuitka/plugins/standard/TrioPlugin.py +18 -15
- nuitka/plugins/standard/UpxPlugin.py +21 -19
- nuitka/plugins/standard/__init__.py +5 -4
- nuitka/plugins/standard/standard.nuitka-package.config.yml +3449 -1299
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +121 -66
- nuitka/reports/CompilationReportReader.py +67 -0
- nuitka/reports/LicenseReport.rst.j2 +21 -21
- nuitka/reports/Reports.py +352 -76
- nuitka/reports/__init__.py +5 -4
- nuitka/specs/BuiltinBytesOperationSpecs.py +18 -17
- nuitka/specs/BuiltinDictOperationSpecs.py +18 -17
- nuitka/specs/BuiltinListOperationSpecs.py +18 -17
- nuitka/specs/BuiltinParameterSpecs.py +30 -20
- nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +67 -22
- nuitka/specs/ParameterSpecs.py +56 -41
- nuitka/specs/__init__.py +5 -4
- nuitka/tools/Basics.py +20 -18
- nuitka/tools/__init__.py +5 -4
- nuitka/tools/commercial/__init__.py +7 -6
- nuitka/tools/data_composer/DataComposer.py +78 -62
- nuitka/tools/data_composer/__init__.py +5 -4
- nuitka/tools/data_composer/__main__.py +18 -17
- nuitka/tools/environments/CreateEnvironment.py +20 -17
- nuitka/tools/environments/Virtualenv.py +60 -32
- nuitka/tools/environments/__init__.py +5 -4
- nuitka/tools/general/__init__.py +5 -4
- nuitka/tools/general/dll_report/__init__.py +5 -4
- nuitka/tools/general/dll_report/__main__.py +19 -21
- nuitka/tools/general/find_module/FindModuleCode.py +35 -22
- nuitka/tools/general/find_module/__init__.py +5 -4
- nuitka/tools/onefile_compressor/OnefileCompressor.py +213 -131
- nuitka/tools/onefile_compressor/__init__.py +5 -4
- nuitka/tools/onefile_compressor/__main__.py +18 -17
- nuitka/tools/podman/Podman.py +19 -17
- nuitka/tools/podman/__init__.py +5 -4
- nuitka/tools/podman/__main__.py +35 -19
- nuitka/tools/profiler/__init__.py +5 -4
- nuitka/tools/profiler/__main__.py +18 -17
- nuitka/tools/scanning/DisplayPackageDLLs.py +47 -22
- nuitka/tools/scanning/DisplayPackageData.py +31 -19
- nuitka/tools/scanning/__init__.py +5 -4
- nuitka/tools/specialize/CTypeDescriptions.py +93 -71
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +31 -27
- nuitka/tools/specialize/SpecializePython.py +108 -45
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +106 -52
- nuitka/tools/testing/Constructs.py +19 -17
- nuitka/tools/testing/OutputComparison.py +54 -18
- nuitka/tools/testing/Pythons.py +19 -18
- nuitka/tools/testing/RuntimeTracing.py +20 -19
- nuitka/tools/testing/SearchModes.py +26 -20
- nuitka/tools/testing/Valgrind.py +19 -17
- nuitka/tools/testing/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__main__.py +18 -18
- nuitka/tools/testing/compare_with_cpython/__init__.py +5 -4
- nuitka/tools/testing/compare_with_cpython/__main__.py +36 -29
- nuitka/tools/testing/find_sxs_modules/__init__.py +5 -4
- nuitka/tools/testing/find_sxs_modules/__main__.py +17 -17
- nuitka/tools/testing/measure_construct_performance/__init__.py +5 -4
- nuitka/tools/testing/measure_construct_performance/__main__.py +22 -25
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +57 -40
- nuitka/tools/watch/AutoStage.py +144 -0
- nuitka/tools/watch/GitHub.py +113 -0
- nuitka/tools/watch/__init__.py +5 -4
- nuitka/tools/watch/__main__.py +322 -91
- nuitka/tree/Building.py +176 -147
- nuitka/tree/ComplexCallHelperFunctions.py +80 -58
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +29 -20
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +20 -17
- nuitka/tree/ReformulationAssignmentStatements.py +92 -91
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +20 -18
- nuitka/tree/ReformulationClasses.py +45 -39
- nuitka/tree/ReformulationClasses3.py +146 -98
- nuitka/tree/ReformulationComparisonExpressions.py +29 -35
- nuitka/tree/ReformulationContractionExpressions.py +58 -55
- nuitka/tree/ReformulationDictionaryCreation.py +40 -35
- nuitka/tree/ReformulationExecStatements.py +42 -39
- nuitka/tree/ReformulationForLoopStatements.py +30 -34
- nuitka/tree/ReformulationFunctionStatements.py +58 -54
- nuitka/tree/ReformulationImportStatements.py +34 -29
- nuitka/tree/ReformulationLambdaExpressions.py +23 -24
- nuitka/tree/ReformulationMatchStatements.py +244 -92
- nuitka/tree/ReformulationMultidist.py +22 -18
- nuitka/tree/ReformulationNamespacePackages.py +55 -46
- nuitka/tree/ReformulationPrintStatements.py +23 -24
- nuitka/tree/ReformulationSequenceCreation.py +50 -49
- nuitka/tree/ReformulationSubscriptExpressions.py +19 -17
- nuitka/tree/ReformulationTryExceptStatements.py +19 -17
- nuitka/tree/ReformulationTryFinallyStatements.py +34 -17
- nuitka/tree/ReformulationWhileLoopStatements.py +19 -17
- nuitka/tree/ReformulationWithStatements.py +39 -41
- nuitka/tree/ReformulationYieldExpressions.py +21 -19
- nuitka/tree/SourceHandling.py +76 -31
- nuitka/tree/SyntaxErrors.py +19 -17
- nuitka/tree/TreeHelpers.py +33 -20
- nuitka/tree/VariableClosure.py +35 -39
- nuitka/tree/__init__.py +5 -4
- nuitka/utils/AppDirs.py +41 -20
- nuitka/utils/CStrings.py +66 -21
- nuitka/utils/CommandLineOptions.py +84 -19
- nuitka/utils/Distributions.py +445 -54
- nuitka/utils/Download.py +89 -57
- nuitka/utils/Execution.py +73 -34
- nuitka/utils/FileOperations.py +318 -74
- nuitka/utils/Hashing.py +55 -33
- nuitka/utils/Images.py +26 -19
- nuitka/utils/Importing.py +118 -24
- nuitka/utils/InstalledPythons.py +80 -75
- nuitka/utils/InstanceCounters.py +20 -17
- nuitka/utils/Jinja2.py +30 -22
- nuitka/utils/Json.py +19 -17
- nuitka/utils/MacOSApp.py +26 -18
- nuitka/utils/MemoryUsage.py +20 -18
- nuitka/utils/ModuleNames.py +42 -26
- nuitka/utils/ReExecute.py +50 -28
- nuitka/utils/Rest.py +20 -17
- nuitka/utils/SharedLibraries.py +161 -75
- nuitka/utils/Shebang.py +20 -17
- nuitka/utils/Signing.py +63 -18
- nuitka/utils/SlotMetaClasses.py +57 -0
- nuitka/utils/StaticLibraries.py +83 -56
- nuitka/utils/ThreadedExecutor.py +18 -17
- nuitka/utils/Timing.py +22 -20
- nuitka/utils/Utils.py +115 -25
- nuitka/utils/WindowsFileUsage.py +22 -20
- nuitka/utils/WindowsResources.py +25 -18
- nuitka/utils/Yaml.py +62 -24
- nuitka/utils/__init__.py +5 -4
- Nuitka_winsvc-1.8.dist-info/RECORD +0 -905
- nuitka/build/inline_copy/tqdm/tqdm/_tqdm_gui.py +0 -9
- nuitka/build/inline_copy/tqdm/tqdm/gui.py +0 -191
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/top_level.txt +0 -0
nuitka/MainControl.py
CHANGED
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" This is the main actions of Nuitka.
|
|
19
5
|
|
|
20
6
|
This can do all the steps to translate one module to a target language using
|
|
@@ -28,8 +14,15 @@ import os
|
|
|
28
14
|
import sys
|
|
29
15
|
|
|
30
16
|
from nuitka.build.DataComposerInterface import runDataComposer
|
|
31
|
-
from nuitka.build.SconsUtils import
|
|
32
|
-
|
|
17
|
+
from nuitka.build.SconsUtils import (
|
|
18
|
+
getSconsReportValue,
|
|
19
|
+
readSconsErrorReport,
|
|
20
|
+
readSconsReport,
|
|
21
|
+
)
|
|
22
|
+
from nuitka.code_generation.ConstantCodes import (
|
|
23
|
+
addDistributionMetadataValue,
|
|
24
|
+
getDistributionMetadataValues,
|
|
25
|
+
)
|
|
33
26
|
from nuitka.freezer.IncludedDataFiles import (
|
|
34
27
|
addIncludedDataFilesFromFileOptions,
|
|
35
28
|
addIncludedDataFilesFromPackageOptions,
|
|
@@ -51,6 +44,7 @@ from nuitka.Options import (
|
|
|
51
44
|
hasPythonFlagNoDocStrings,
|
|
52
45
|
hasPythonFlagNoWarnings,
|
|
53
46
|
hasPythonFlagUnbuffered,
|
|
47
|
+
isExperimental,
|
|
54
48
|
)
|
|
55
49
|
from nuitka.plugins.Plugins import Plugins
|
|
56
50
|
from nuitka.PostProcessing import executePostProcessing
|
|
@@ -61,19 +55,21 @@ from nuitka.Progress import (
|
|
|
61
55
|
)
|
|
62
56
|
from nuitka.PythonFlavors import (
|
|
63
57
|
isApplePython,
|
|
58
|
+
isArchPackagePython,
|
|
64
59
|
isDebianPackagePython,
|
|
65
60
|
isFedoraPackagePython,
|
|
66
61
|
isNuitkaPython,
|
|
67
62
|
isPyenvPython,
|
|
68
63
|
)
|
|
69
64
|
from nuitka.PythonVersions import (
|
|
65
|
+
getModuleLinkerLibs,
|
|
70
66
|
getPythonABI,
|
|
71
67
|
getSupportedPythonVersions,
|
|
72
68
|
python_version,
|
|
73
69
|
python_version_str,
|
|
74
70
|
)
|
|
75
71
|
from nuitka.Serialization import ConstantAccessor
|
|
76
|
-
from nuitka.Tracing import general, inclusion_logger
|
|
72
|
+
from nuitka.Tracing import general, inclusion_logger, pgo_logger
|
|
77
73
|
from nuitka.tree import SyntaxErrors
|
|
78
74
|
from nuitka.tree.ReformulationMultidist import createMultidistMainSourceCode
|
|
79
75
|
from nuitka.utils import InstanceCounters
|
|
@@ -91,19 +87,21 @@ from nuitka.utils.FileOperations import (
|
|
|
91
87
|
removeDirectory,
|
|
92
88
|
resetDirectory,
|
|
93
89
|
)
|
|
94
|
-
from nuitka.utils.Importing import
|
|
90
|
+
from nuitka.utils.Importing import (
|
|
91
|
+
getPackageDirFilename,
|
|
92
|
+
getSharedLibrarySuffix,
|
|
93
|
+
)
|
|
95
94
|
from nuitka.utils.MemoryUsage import reportMemoryUsage, showMemoryTrace
|
|
96
95
|
from nuitka.utils.ModuleNames import ModuleName
|
|
97
96
|
from nuitka.utils.ReExecute import callExecProcess, reExecuteNuitka
|
|
98
97
|
from nuitka.utils.StaticLibraries import getSystemStaticLibPythonPath
|
|
99
|
-
from nuitka.utils.Utils import isMacOS, isWin32Windows
|
|
98
|
+
from nuitka.utils.Utils import getArchitecture, isMacOS, isWin32Windows
|
|
100
99
|
from nuitka.Version import getCommercialVersion, getNuitkaVersion
|
|
101
100
|
|
|
102
101
|
from . import ModuleRegistry, Options, OutputDirectories
|
|
103
102
|
from .build.SconsInterface import (
|
|
104
103
|
asBoolStr,
|
|
105
104
|
cleanSconsDirectory,
|
|
106
|
-
getSconsDataPath,
|
|
107
105
|
runScons,
|
|
108
106
|
setCommonSconsOptions,
|
|
109
107
|
)
|
|
@@ -123,16 +121,6 @@ from .tree.SourceHandling import writeSourceCode
|
|
|
123
121
|
from .TreeXML import dumpTreeXMLToFile
|
|
124
122
|
|
|
125
123
|
|
|
126
|
-
def _setupFromMainFilenames():
|
|
127
|
-
main_filenames = Options.getMainEntryPointFilenames()
|
|
128
|
-
for filename in main_filenames:
|
|
129
|
-
# Inform the importing layer about the main script directory, so it can use
|
|
130
|
-
# it when attempting to follow imports.
|
|
131
|
-
Importing.addMainScriptDirectory(
|
|
132
|
-
main_dir=os.path.dirname(os.path.abspath(filename))
|
|
133
|
-
)
|
|
134
|
-
|
|
135
|
-
|
|
136
124
|
def _createMainModule():
|
|
137
125
|
"""Create a node tree.
|
|
138
126
|
|
|
@@ -142,24 +130,19 @@ def _createMainModule():
|
|
|
142
130
|
directory paths.
|
|
143
131
|
|
|
144
132
|
"""
|
|
145
|
-
# Many cases to deal with, pylint: disable=too-many-branches
|
|
133
|
+
# Many cases and details to deal with, pylint: disable=too-many-branches
|
|
146
134
|
|
|
147
135
|
Plugins.onBeforeCodeParsing()
|
|
148
136
|
|
|
149
|
-
main_filenames = Options.getMainEntryPointFilenames()
|
|
150
|
-
|
|
151
137
|
# First, build the raw node tree from the source code.
|
|
152
|
-
if
|
|
138
|
+
if Options.isMultidistMode():
|
|
153
139
|
assert not Options.shallMakeModule()
|
|
154
140
|
|
|
155
141
|
main_module = buildMainModuleTree(
|
|
156
|
-
|
|
157
|
-
filename=main_filenames[0],
|
|
158
|
-
source_code=createMultidistMainSourceCode(main_filenames),
|
|
142
|
+
source_code=createMultidistMainSourceCode(),
|
|
159
143
|
)
|
|
160
144
|
else:
|
|
161
145
|
main_module = buildMainModuleTree(
|
|
162
|
-
filename=main_filenames[0],
|
|
163
146
|
source_code=None,
|
|
164
147
|
)
|
|
165
148
|
|
|
@@ -174,7 +157,11 @@ def _createMainModule():
|
|
|
174
157
|
% distribution_name
|
|
175
158
|
)
|
|
176
159
|
|
|
177
|
-
addDistributionMetadataValue(
|
|
160
|
+
addDistributionMetadataValue(
|
|
161
|
+
distribution_name=distribution_name,
|
|
162
|
+
distribution=distribution,
|
|
163
|
+
reason="user requested",
|
|
164
|
+
)
|
|
178
165
|
|
|
179
166
|
# First remove old object files and old generated files, old binary or
|
|
180
167
|
# module, and standalone mode program directory if any, they can only do
|
|
@@ -187,11 +174,19 @@ def _createMainModule():
|
|
|
187
174
|
# Prepare the ".dist" directory, throwing away what was there before.
|
|
188
175
|
if Options.isStandaloneMode():
|
|
189
176
|
standalone_dir = OutputDirectories.getStandaloneDirectoryPath(bundle=False)
|
|
190
|
-
resetDirectory(
|
|
177
|
+
resetDirectory(
|
|
178
|
+
path=standalone_dir,
|
|
179
|
+
logger=general,
|
|
180
|
+
ignore_errors=True,
|
|
181
|
+
extra_recommendation="Stop previous binary.",
|
|
182
|
+
)
|
|
191
183
|
|
|
192
184
|
if Options.shallCreateAppBundle():
|
|
193
185
|
resetDirectory(
|
|
194
|
-
path=changeFilenameExtension(standalone_dir, ".app"),
|
|
186
|
+
path=changeFilenameExtension(standalone_dir, ".app"),
|
|
187
|
+
logger=general,
|
|
188
|
+
ignore_errors=True,
|
|
189
|
+
extra_recommendation=None,
|
|
195
190
|
)
|
|
196
191
|
|
|
197
192
|
# Delete result file, to avoid confusion with previous build and to
|
|
@@ -246,7 +241,9 @@ def _createMainModule():
|
|
|
246
241
|
)
|
|
247
242
|
|
|
248
243
|
Recursion.checkPluginSinglePath(
|
|
249
|
-
plugin_filename=module_filename,
|
|
244
|
+
plugin_filename=module_filename,
|
|
245
|
+
module_package=module_name.getPackageName(),
|
|
246
|
+
package_only=True,
|
|
250
247
|
)
|
|
251
248
|
|
|
252
249
|
# Allow plugins to add more modules based on the initial set being complete.
|
|
@@ -262,6 +259,14 @@ def _createMainModule():
|
|
|
262
259
|
if Options.isStandaloneMode():
|
|
263
260
|
checkFreezingModuleSet()
|
|
264
261
|
|
|
262
|
+
# Check if distribution meta data is included, that cannot be used.
|
|
263
|
+
for distribution_name, meta_data_value in getDistributionMetadataValues():
|
|
264
|
+
if not ModuleRegistry.hasDoneModule(meta_data_value.module_name):
|
|
265
|
+
inclusion_logger.sysexit(
|
|
266
|
+
"Error, including metadata for distribution '%s' without including related package '%s'."
|
|
267
|
+
% (distribution_name, meta_data_value.module_name)
|
|
268
|
+
)
|
|
269
|
+
|
|
265
270
|
# Allow plugins to comment on final module set.
|
|
266
271
|
Plugins.onModuleCompleteSet()
|
|
267
272
|
|
|
@@ -280,7 +285,7 @@ def dumpTreeXML():
|
|
|
280
285
|
filename = Options.getXMLDumpOutputFilename()
|
|
281
286
|
|
|
282
287
|
if filename is not None:
|
|
283
|
-
with openTextFile(filename, "
|
|
288
|
+
with openTextFile(filename, "wb") as output_file:
|
|
284
289
|
# XML output only.
|
|
285
290
|
for module in ModuleRegistry.getDoneModules():
|
|
286
291
|
dumpTreeXMLToFile(tree=module.asXml(), output_file=output_file)
|
|
@@ -524,11 +529,11 @@ def _runCPgoBinary():
|
|
|
524
529
|
source_dir=OutputDirectories.getSourceDirectoryPath(), key="PATH"
|
|
525
530
|
),
|
|
526
531
|
):
|
|
527
|
-
|
|
532
|
+
exit_code_pgo = _runPgoBinary()
|
|
528
533
|
|
|
529
534
|
pgo_data_collected = os.path.exists(msvc_pgc_filename)
|
|
530
535
|
else:
|
|
531
|
-
|
|
536
|
+
exit_code_pgo = _runPgoBinary()
|
|
532
537
|
|
|
533
538
|
# gcc file suffix, spell-checker: ignore gcda
|
|
534
539
|
gcc_constants_pgo_filename = os.path.join(
|
|
@@ -537,12 +542,21 @@ def _runCPgoBinary():
|
|
|
537
542
|
|
|
538
543
|
pgo_data_collected = os.path.exists(gcc_constants_pgo_filename)
|
|
539
544
|
|
|
545
|
+
if exit_code_pgo != 0:
|
|
546
|
+
pgo_logger.warning(
|
|
547
|
+
"""\
|
|
548
|
+
Error, the C PGO compiled program error exited. Make sure it works \
|
|
549
|
+
fully before using '--pgo-c' option."""
|
|
550
|
+
)
|
|
551
|
+
|
|
540
552
|
if not pgo_data_collected:
|
|
541
|
-
|
|
542
|
-
"
|
|
553
|
+
pgo_logger.sysexit(
|
|
554
|
+
"""\
|
|
555
|
+
Error, no C PGO compiled program did not produce expected information, \
|
|
556
|
+
did the created binary run at all?"""
|
|
543
557
|
)
|
|
544
558
|
|
|
545
|
-
|
|
559
|
+
pgo_logger.info("Successfully collected C level PGO information.", style="blue")
|
|
546
560
|
|
|
547
561
|
|
|
548
562
|
def _runPythonPgoBinary():
|
|
@@ -553,11 +567,14 @@ def _runPythonPgoBinary():
|
|
|
553
567
|
pgo_filename = OutputDirectories.getPgoRunInputFilename()
|
|
554
568
|
|
|
555
569
|
with withEnvironmentVarOverridden("NUITKA_PGO_OUTPUT", pgo_filename):
|
|
556
|
-
|
|
570
|
+
exit_code = _runPgoBinary()
|
|
557
571
|
|
|
558
572
|
if not os.path.exists(pgo_filename):
|
|
559
573
|
general.sysexit(
|
|
560
|
-
"
|
|
574
|
+
"""\
|
|
575
|
+
Error, no Python PGO information produced, did the created binary
|
|
576
|
+
run (exit code %d) as expected?"""
|
|
577
|
+
% exit_code
|
|
561
578
|
)
|
|
562
579
|
|
|
563
580
|
return pgo_filename
|
|
@@ -569,17 +586,15 @@ def runSconsBackend():
|
|
|
569
586
|
# pylint: disable=too-many-branches,too-many-statements
|
|
570
587
|
|
|
571
588
|
options = {
|
|
572
|
-
"result_name": OutputDirectories.getResultBasePath(onefile=False),
|
|
573
589
|
"source_dir": OutputDirectories.getSourceDirectoryPath(),
|
|
574
590
|
"nuitka_python": asBoolStr(isNuitkaPython()),
|
|
575
591
|
"debug_mode": asBoolStr(Options.is_debug),
|
|
592
|
+
"debugger_mode": asBoolStr(Options.shallRunInDebugger()),
|
|
576
593
|
"python_debug": asBoolStr(Options.shallUsePythonDebug()),
|
|
577
594
|
"module_mode": asBoolStr(Options.shallMakeModule()),
|
|
578
595
|
"full_compat": asBoolStr(Options.is_full_compat),
|
|
579
596
|
"experimental": ",".join(Options.getExperimentalIndications()),
|
|
580
597
|
"trace_mode": asBoolStr(Options.shallTraceExecution()),
|
|
581
|
-
"python_version": python_version_str,
|
|
582
|
-
"nuitka_src": getSconsDataPath(),
|
|
583
598
|
"file_reference_mode": Options.getFileReferenceMode(),
|
|
584
599
|
"module_count": "%d" % len(ModuleRegistry.getDoneModules()),
|
|
585
600
|
}
|
|
@@ -602,13 +617,12 @@ def runSconsBackend():
|
|
|
602
617
|
|
|
603
618
|
if isDebianPackagePython():
|
|
604
619
|
options["debian_python"] = asBoolStr(True)
|
|
605
|
-
|
|
606
620
|
if isFedoraPackagePython():
|
|
607
621
|
options["fedora_python"] = asBoolStr(True)
|
|
608
|
-
|
|
622
|
+
if isArchPackagePython():
|
|
623
|
+
options["arch_python"] = asBoolStr(True)
|
|
609
624
|
if isApplePython():
|
|
610
625
|
options["apple_python"] = asBoolStr(True)
|
|
611
|
-
|
|
612
626
|
if isPyenvPython():
|
|
613
627
|
options["pyenv_python"] = asBoolStr(True)
|
|
614
628
|
|
|
@@ -621,12 +635,20 @@ def runSconsBackend():
|
|
|
621
635
|
if Options.isOnefileTempDirMode():
|
|
622
636
|
options["onefile_temp_mode"] = asBoolStr(True)
|
|
623
637
|
|
|
638
|
+
# TODO: Some things are going to hate that, we might need to bundle
|
|
639
|
+
# for accelerated mode still.
|
|
640
|
+
if Options.shallCreateAppBundle():
|
|
641
|
+
options["macos_bundle_mode"] = asBoolStr(True)
|
|
642
|
+
|
|
624
643
|
if Options.getForcedStdoutPath():
|
|
625
644
|
options["forced_stdout_path"] = Options.getForcedStdoutPath()
|
|
626
645
|
|
|
627
646
|
if Options.getForcedStderrPath():
|
|
628
647
|
options["forced_stderr_path"] = Options.getForcedStderrPath()
|
|
629
648
|
|
|
649
|
+
if Options.isProfile():
|
|
650
|
+
options["profile_mode"] = asBoolStr(True)
|
|
651
|
+
|
|
630
652
|
if Options.shallTreatUninstalledPython():
|
|
631
653
|
options["uninstalled_python"] = asBoolStr(True)
|
|
632
654
|
|
|
@@ -635,9 +657,6 @@ def runSconsBackend():
|
|
|
635
657
|
len(ModuleRegistry.getUncompiledTechnicalModules())
|
|
636
658
|
)
|
|
637
659
|
|
|
638
|
-
if Options.isProfile():
|
|
639
|
-
options["profile_mode"] = asBoolStr(True)
|
|
640
|
-
|
|
641
660
|
if hasPythonFlagNoWarnings():
|
|
642
661
|
options["no_python_warnings"] = asBoolStr(True)
|
|
643
662
|
|
|
@@ -665,7 +684,7 @@ def runSconsBackend():
|
|
|
665
684
|
if sys.flags.bytes_warning:
|
|
666
685
|
options["python_sysflag_bytes_warning"] = asBoolStr(True)
|
|
667
686
|
|
|
668
|
-
if int(os.
|
|
687
|
+
if int(os.getenv("NUITKA_NOSITE_FLAG", Options.hasPythonFlagNoSite())):
|
|
669
688
|
options["python_sysflag_no_site"] = asBoolStr(True)
|
|
670
689
|
|
|
671
690
|
if Options.hasPythonFlagTraceImports():
|
|
@@ -691,14 +710,20 @@ def runSconsBackend():
|
|
|
691
710
|
options["abiflags"] = abiflags
|
|
692
711
|
|
|
693
712
|
if Options.shallMakeModule():
|
|
694
|
-
options["
|
|
713
|
+
options["result_exe"] = OutputDirectories.getResultBasePath(
|
|
714
|
+
onefile=False
|
|
715
|
+
) + getSharedLibrarySuffix(preferred=True)
|
|
716
|
+
|
|
717
|
+
link_module_libs = getModuleLinkerLibs()
|
|
718
|
+
if link_module_libs:
|
|
719
|
+
options["link_module_libs"] = ",".join(link_module_libs)
|
|
695
720
|
|
|
696
721
|
env_values = setCommonSconsOptions(options)
|
|
697
722
|
|
|
698
723
|
# Allow plugins to build definitions.
|
|
699
724
|
env_values.update(Plugins.getBuildDefinitions())
|
|
700
725
|
|
|
701
|
-
if Options.
|
|
726
|
+
if Options.shallCreatePythonPgoInput():
|
|
702
727
|
options["pgo_mode"] = "python"
|
|
703
728
|
|
|
704
729
|
result = runScons(
|
|
@@ -717,11 +742,11 @@ def runSconsBackend():
|
|
|
717
742
|
return True, options
|
|
718
743
|
|
|
719
744
|
# Need to restart compilation from scratch here.
|
|
720
|
-
if Options.
|
|
745
|
+
if Options.isCPgoMode():
|
|
721
746
|
# For C level PGO, we have a 2 pass system. TODO: Make it more global for onefile
|
|
722
747
|
# and standalone mode proper support, which might need data files to be
|
|
723
748
|
# there, which currently are not yet there, so it won't run.
|
|
724
|
-
if Options.
|
|
749
|
+
if Options.isCPgoMode():
|
|
725
750
|
options["pgo_mode"] = "generate"
|
|
726
751
|
|
|
727
752
|
result = runScons(
|
|
@@ -754,12 +779,7 @@ def runSconsBackend():
|
|
|
754
779
|
return result
|
|
755
780
|
|
|
756
781
|
|
|
757
|
-
def callExecPython(args,
|
|
758
|
-
old_python_path = os.environ.get("PYTHONPATH")
|
|
759
|
-
|
|
760
|
-
if clean_path and old_python_path is not None:
|
|
761
|
-
os.environ["PYTHONPATH"] = ""
|
|
762
|
-
|
|
782
|
+
def callExecPython(args, add_path, uac):
|
|
763
783
|
if add_path:
|
|
764
784
|
if "PYTHONPATH" in os.environ:
|
|
765
785
|
os.environ["PYTHONPATH"] += ":" + Options.getOutputDir()
|
|
@@ -769,20 +789,24 @@ def callExecPython(args, clean_path, add_path):
|
|
|
769
789
|
# Add the main arguments, previous separated.
|
|
770
790
|
args += Options.getPositionalArgs()[1:] + Options.getMainArgs()
|
|
771
791
|
|
|
772
|
-
callExecProcess(args)
|
|
792
|
+
callExecProcess(args, uac=uac)
|
|
773
793
|
|
|
774
794
|
|
|
775
|
-
def
|
|
795
|
+
def _executeMain(binary_filename):
|
|
776
796
|
# Wrap in debugger, unless the CMD file contains that call already.
|
|
777
797
|
if Options.shallRunInDebugger() and not Options.shallCreateCmdFileForExecution():
|
|
778
798
|
args = wrapCommandForDebuggerForExec(binary_filename)
|
|
779
799
|
else:
|
|
780
800
|
args = (binary_filename, binary_filename)
|
|
781
801
|
|
|
782
|
-
callExecPython(
|
|
802
|
+
callExecPython(
|
|
803
|
+
args=args,
|
|
804
|
+
add_path=False,
|
|
805
|
+
uac=isWin32Windows() and Options.shallAskForWindowsAdminRights(),
|
|
806
|
+
)
|
|
783
807
|
|
|
784
808
|
|
|
785
|
-
def
|
|
809
|
+
def _executeModule(tree):
|
|
786
810
|
"""Execute the extension module just created."""
|
|
787
811
|
|
|
788
812
|
if python_version < 0x340:
|
|
@@ -798,6 +822,15 @@ assert os.path.normcase(os.path.abspath(os.path.normpath(\
|
|
|
798
822
|
importlib.util.find_spec('%(module_name)s').origin))) == %(expected_filename)r,\
|
|
799
823
|
'Error, cannot launch extension module %(module_name)s, original package is in the way.'"""
|
|
800
824
|
|
|
825
|
+
output_dir = os.path.normpath(Options.getOutputDir())
|
|
826
|
+
if output_dir != ".":
|
|
827
|
+
python_command_template = (
|
|
828
|
+
"""\
|
|
829
|
+
import sys; sys.path.insert(0, %(output_dir)r)
|
|
830
|
+
"""
|
|
831
|
+
+ python_command_template
|
|
832
|
+
)
|
|
833
|
+
|
|
801
834
|
python_command_template += ";__import__('%(module_name)s')"
|
|
802
835
|
|
|
803
836
|
python_command = python_command_template % {
|
|
@@ -807,6 +840,7 @@ importlib.util.find_spec('%(module_name)s').origin))) == %(expected_filename)r,\
|
|
|
807
840
|
os.path.normpath(OutputDirectories.getResultFullpath(onefile=False))
|
|
808
841
|
)
|
|
809
842
|
),
|
|
843
|
+
"output_dir": output_dir,
|
|
810
844
|
}
|
|
811
845
|
|
|
812
846
|
if Options.shallRunInDebugger():
|
|
@@ -814,7 +848,7 @@ importlib.util.find_spec('%(module_name)s').origin))) == %(expected_filename)r,\
|
|
|
814
848
|
else:
|
|
815
849
|
args = (sys.executable, "python", "-c", python_command)
|
|
816
850
|
|
|
817
|
-
callExecPython(
|
|
851
|
+
callExecPython(args=args, add_path=True, uac=False)
|
|
818
852
|
|
|
819
853
|
|
|
820
854
|
def compileTree():
|
|
@@ -827,9 +861,11 @@ def compileTree():
|
|
|
827
861
|
|
|
828
862
|
reportMemoryUsage(
|
|
829
863
|
"before_c_code_generation",
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
864
|
+
(
|
|
865
|
+
"Total memory usage before generating C code:"
|
|
866
|
+
if Options.isShowProgress() or Options.isShowMemory()
|
|
867
|
+
else None
|
|
868
|
+
),
|
|
833
869
|
)
|
|
834
870
|
|
|
835
871
|
# Now build the target language code for the whole tree.
|
|
@@ -855,9 +891,11 @@ def compileTree():
|
|
|
855
891
|
|
|
856
892
|
reportMemoryUsage(
|
|
857
893
|
"before_running_scons",
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
894
|
+
(
|
|
895
|
+
"Total memory usage before running scons"
|
|
896
|
+
if Options.isShowProgress() or Options.isShowMemory()
|
|
897
|
+
else None
|
|
898
|
+
),
|
|
861
899
|
)
|
|
862
900
|
|
|
863
901
|
if Options.isShowMemory():
|
|
@@ -878,9 +916,9 @@ def compileTree():
|
|
|
878
916
|
general.info("Running C compilation via Scons.")
|
|
879
917
|
|
|
880
918
|
# Run the Scons to build things.
|
|
881
|
-
result,
|
|
919
|
+
result, scons_options = runSconsBackend()
|
|
882
920
|
|
|
883
|
-
return result,
|
|
921
|
+
return result, scons_options
|
|
884
922
|
|
|
885
923
|
|
|
886
924
|
def handleSyntaxError(e):
|
|
@@ -938,12 +976,16 @@ def _main():
|
|
|
938
976
|
|
|
939
977
|
reportMemoryUsage(
|
|
940
978
|
"after_launch",
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
979
|
+
(
|
|
980
|
+
"Total memory usage before processing:"
|
|
981
|
+
if Options.isShowProgress() or Options.isShowMemory()
|
|
982
|
+
else None
|
|
983
|
+
),
|
|
944
984
|
)
|
|
945
985
|
|
|
946
|
-
|
|
986
|
+
# Initialize the importing layer from options, main filenames, debugging
|
|
987
|
+
# options, etc.
|
|
988
|
+
Importing.setupImportingFromOptions()
|
|
947
989
|
|
|
948
990
|
addIncludedDataFilesFromFileOptions()
|
|
949
991
|
addIncludedDataFilesFromPackageOptions()
|
|
@@ -959,14 +1001,18 @@ def _main():
|
|
|
959
1001
|
dumpTreeXML()
|
|
960
1002
|
|
|
961
1003
|
# Make the actual compilation.
|
|
962
|
-
result,
|
|
1004
|
+
result, scons_options = compileTree()
|
|
963
1005
|
|
|
964
1006
|
# Exit if compilation failed.
|
|
965
1007
|
if not result:
|
|
966
|
-
general.sysexit(
|
|
1008
|
+
general.sysexit(
|
|
1009
|
+
message="Failed unexpectedly in Scons C backend compilation.",
|
|
1010
|
+
mnemonic="scons-backend-failure",
|
|
1011
|
+
reporting=True,
|
|
1012
|
+
)
|
|
967
1013
|
|
|
968
1014
|
# Relaunch in case of Python PGO input to be produced.
|
|
969
|
-
if Options.
|
|
1015
|
+
if Options.shallCreatePythonPgoInput():
|
|
970
1016
|
# Will not return.
|
|
971
1017
|
pgo_filename = OutputDirectories.getPgoRunInputFilename()
|
|
972
1018
|
general.info(
|
|
@@ -983,10 +1029,8 @@ def _main():
|
|
|
983
1029
|
|
|
984
1030
|
executePostProcessing()
|
|
985
1031
|
|
|
986
|
-
copyDataFiles()
|
|
987
|
-
|
|
988
1032
|
if Options.isStandaloneMode():
|
|
989
|
-
binary_filename =
|
|
1033
|
+
binary_filename = scons_options["result_exe"]
|
|
990
1034
|
|
|
991
1035
|
setMainEntryPoint(binary_filename)
|
|
992
1036
|
|
|
@@ -1005,6 +1049,9 @@ def _main():
|
|
|
1005
1049
|
standalone_entry_points=getStandaloneEntryPoints(),
|
|
1006
1050
|
)
|
|
1007
1051
|
|
|
1052
|
+
copyDataFiles(standalone_entry_points=getStandaloneEntryPoints())
|
|
1053
|
+
|
|
1054
|
+
if Options.isStandaloneMode():
|
|
1008
1055
|
Plugins.onStandaloneDistributionFinished(dist_dir)
|
|
1009
1056
|
|
|
1010
1057
|
if Options.isOnefileMode():
|
|
@@ -1013,7 +1060,12 @@ def _main():
|
|
|
1013
1060
|
if Options.isRemoveBuildDir():
|
|
1014
1061
|
general.info("Removing dist folder '%s'." % dist_dir)
|
|
1015
1062
|
|
|
1016
|
-
removeDirectory(
|
|
1063
|
+
removeDirectory(
|
|
1064
|
+
path=dist_dir,
|
|
1065
|
+
logger=general,
|
|
1066
|
+
ignore_errors=False,
|
|
1067
|
+
extra_recommendation=None,
|
|
1068
|
+
)
|
|
1017
1069
|
else:
|
|
1018
1070
|
general.info(
|
|
1019
1071
|
"Keeping dist folder '%s' for inspection, no need to use it."
|
|
@@ -1028,7 +1080,14 @@ def _main():
|
|
|
1028
1080
|
|
|
1029
1081
|
# Make sure the scons report is cached before deleting it.
|
|
1030
1082
|
readSconsReport(source_dir)
|
|
1031
|
-
|
|
1083
|
+
readSconsErrorReport(source_dir)
|
|
1084
|
+
|
|
1085
|
+
removeDirectory(
|
|
1086
|
+
path=source_dir,
|
|
1087
|
+
logger=general,
|
|
1088
|
+
ignore_errors=False,
|
|
1089
|
+
extra_recommendation=None,
|
|
1090
|
+
)
|
|
1032
1091
|
assert not os.path.exists(source_dir)
|
|
1033
1092
|
else:
|
|
1034
1093
|
general.info("Keeping build directory '%s'." % source_dir)
|
|
@@ -1040,17 +1099,26 @@ def _main():
|
|
|
1040
1099
|
if Options.isStandaloneMode() and isMacOS():
|
|
1041
1100
|
general.info(
|
|
1042
1101
|
"Created binary that runs on macOS %s (%s) or higher."
|
|
1043
|
-
% (
|
|
1102
|
+
% (scons_options["macos_min_version"], scons_options["macos_target_arch"])
|
|
1044
1103
|
)
|
|
1045
1104
|
|
|
1105
|
+
if scons_options["macos_target_arch"] != getArchitecture():
|
|
1106
|
+
general.warning(
|
|
1107
|
+
"It will only work as well as 'arch -%s %s %s' does."
|
|
1108
|
+
% (
|
|
1109
|
+
scons_options["macos_target_arch"],
|
|
1110
|
+
sys.executable,
|
|
1111
|
+
Options.getMainEntryPointFilenames()[0],
|
|
1112
|
+
),
|
|
1113
|
+
mnemonic="macos-cross-compile",
|
|
1114
|
+
)
|
|
1115
|
+
|
|
1046
1116
|
Plugins.onFinalResult(final_filename)
|
|
1047
1117
|
|
|
1048
1118
|
if Options.shallMakeModule():
|
|
1049
1119
|
base_path = OutputDirectories.getResultBasePath(onefile=False)
|
|
1050
1120
|
|
|
1051
|
-
if os.path.isdir(base_path) and
|
|
1052
|
-
os.path.join(base_path, "__init__.py")
|
|
1053
|
-
):
|
|
1121
|
+
if os.path.isdir(base_path) and getPackageDirFilename(base_path):
|
|
1054
1122
|
general.warning(
|
|
1055
1123
|
"""\
|
|
1056
1124
|
The compilation result is hidden by package directory '%s'. Importing will \
|
|
@@ -1068,18 +1136,12 @@ not use compiled code while it exists."""
|
|
|
1068
1136
|
|
|
1069
1137
|
# Execute the module immediately if option was given.
|
|
1070
1138
|
if Options.shallExecuteImmediately():
|
|
1071
|
-
general.info("Launching '%s'" % run_filename)
|
|
1139
|
+
general.info("Launching '%s'." % run_filename)
|
|
1072
1140
|
|
|
1073
1141
|
if Options.shallMakeModule():
|
|
1074
|
-
|
|
1075
|
-
tree=main_module,
|
|
1076
|
-
clean_path=Options.shallClearPythonPathEnvironment(),
|
|
1077
|
-
)
|
|
1142
|
+
_executeModule(tree=main_module)
|
|
1078
1143
|
else:
|
|
1079
|
-
|
|
1080
|
-
binary_filename=run_filename,
|
|
1081
|
-
clean_path=Options.shallClearPythonPathEnvironment(),
|
|
1082
|
-
)
|
|
1144
|
+
_executeMain(run_filename)
|
|
1083
1145
|
else:
|
|
1084
1146
|
if run_filename != final_filename:
|
|
1085
1147
|
general.info(
|
|
@@ -1094,7 +1156,33 @@ def main():
|
|
|
1094
1156
|
except BaseException:
|
|
1095
1157
|
try:
|
|
1096
1158
|
writeCompilationReports(aborted=True)
|
|
1159
|
+
except KeyboardInterrupt:
|
|
1160
|
+
general.warning("""Report writing was prevented by user interrupt.""")
|
|
1097
1161
|
except BaseException as e: # Catch all the things, pylint: disable=broad-except
|
|
1098
|
-
general.warning(
|
|
1162
|
+
general.warning(
|
|
1163
|
+
"""\
|
|
1164
|
+
Report writing was prevented by exception %r, use option \
|
|
1165
|
+
'--experimental=debug-report-traceback' for full traceback."""
|
|
1166
|
+
% e
|
|
1167
|
+
)
|
|
1168
|
+
|
|
1169
|
+
if isExperimental("debug-report-traceback"):
|
|
1170
|
+
raise
|
|
1099
1171
|
|
|
1100
1172
|
raise
|
|
1173
|
+
|
|
1174
|
+
|
|
1175
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1176
|
+
# integrates with CPython, but also works on its own.
|
|
1177
|
+
#
|
|
1178
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1179
|
+
# you may not use this file except in compliance with the License.
|
|
1180
|
+
# You may obtain a copy of the License at
|
|
1181
|
+
#
|
|
1182
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1183
|
+
#
|
|
1184
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1185
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1186
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1187
|
+
# See the License for the specific language governing permissions and
|
|
1188
|
+
# limitations under the License.
|