Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.5.1__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.5.1.data/scripts/nuitka-run.cmd +9 -9
- Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.5.1.data/scripts/nuitka.cmd +15 -15
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/METADATA +5 -3
- Nuitka_winsvc-2.5.1.dist-info/RECORD +977 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +49 -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 +408 -0
- nuitka/MainControl.py +209 -116
- nuitka/ModuleRegistry.py +83 -20
- nuitka/OptionParsing.py +467 -221
- nuitka/Options.py +701 -225
- nuitka/OutputDirectories.py +47 -23
- nuitka/PostProcessing.py +133 -79
- nuitka/Progress.py +73 -24
- nuitka/PythonFlavors.py +141 -32
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +107 -19
- nuitka/Serialization.py +70 -55
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +176 -70
- nuitka/TreeXML.py +31 -26
- nuitka/Variables.py +39 -41
- nuitka/Version.py +22 -8
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +95 -29
- nuitka/__past__.py +44 -34
- nuitka/build/Backend.scons +243 -141
- nuitka/build/CCompilerVersion.scons +45 -31
- nuitka/build/DataComposerInterface.py +20 -17
- nuitka/build/Onefile.scons +56 -54
- nuitka/build/SconsCaching.py +105 -92
- nuitka/build/SconsCompilerSettings.py +167 -68
- nuitka/build/SconsHacks.py +25 -19
- nuitka/build/SconsInterface.py +155 -54
- nuitka/build/SconsProgress.py +19 -18
- nuitka/build/SconsSpawn.py +62 -33
- nuitka/build/SconsUtils.py +152 -55
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +228 -22
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +24 -24
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -19
- nuitka/build/include/nuitka/compiled_asyncgen.h +28 -25
- 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 +93 -54
- 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 +35 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/debug_settings.h +60 -0
- 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 +717 -171
- 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 -22
- 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 +69 -69
- nuitka/build/include/nuitka/helper/comparisons_dual_eq.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_ge.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_gt.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_le.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_lt.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_ne.h +39 -0
- 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 +89 -51
- 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 +115 -54
- nuitka/build/include/nuitka/helper/iterators.h +99 -51
- 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 +20 -17
- nuitka/build/include/nuitka/helper/operations_binary_add.h +23 -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_dual_add.h +34 -0
- 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 +23 -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 +20 -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 +20 -17
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/raising.h +68 -37
- nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
- nuitka/build/include/nuitka/helper/richcomparisons.h +21 -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 +50 -22
- nuitka/build/include/nuitka/importing.h +28 -21
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +163 -71
- nuitka/build/include/nuitka/printing.h +29 -22
- 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 +45 -32
- nuitka/build/include/nuitka/tracing.h +28 -18
- nuitka/build/include/nuitka/type_aliases.h +30 -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/stubgen/astunparse.py +938 -0
- nuitka/build/inline_copy/stubgen/six.py +998 -0
- nuitka/build/inline_copy/stubgen/stubgen.py +307 -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 +221 -221
- nuitka/build/static_src/CompiledCellType.c +69 -44
- nuitka/build/static_src/CompiledCodeHelpers.c +276 -159
- nuitka/build/static_src/CompiledCoroutineType.c +229 -226
- nuitka/build/static_src/CompiledFrameType.c +323 -138
- nuitka/build/static_src/CompiledFunctionType.c +547 -231
- nuitka/build/static_src/CompiledGeneratorType.c +416 -290
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +593 -228
- nuitka/build/static_src/CompiledMethodType.c +91 -82
- nuitka/build/static_src/HelpersAllocator.c +352 -45
- nuitka/build/static_src/HelpersAttributes.c +30 -72
- nuitka/build/static_src/HelpersBuiltin.c +65 -46
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +19 -20
- nuitka/build/static_src/HelpersCalling.c +40 -37
- nuitka/build/static_src/HelpersCallingGenerated.c +1061 -242
- nuitka/build/static_src/HelpersChecksumTools.c +35 -21
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonDualEq.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualGe.c +121 -0
- nuitka/build/static_src/HelpersComparisonDualGt.c +121 -0
- nuitka/build/static_src/HelpersComparisonDualLe.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualLt.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualNe.c +121 -0
- nuitka/build/static_src/HelpersComparisonEq.c +536 -496
- nuitka/build/static_src/HelpersComparisonEqUtils.c +22 -19
- nuitka/build/static_src/HelpersComparisonGe.c +531 -501
- nuitka/build/static_src/HelpersComparisonGt.c +530 -500
- nuitka/build/static_src/HelpersComparisonLe.c +531 -501
- nuitka/build/static_src/HelpersComparisonLt.c +530 -500
- nuitka/build/static_src/HelpersComparisonNe.c +538 -496
- nuitka/build/static_src/HelpersConsole.c +122 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +550 -521
- nuitka/build/static_src/HelpersDeepcopy.c +33 -33
- nuitka/build/static_src/HelpersDictionaries.c +232 -63
- nuitka/build/static_src/HelpersDictionariesGenerated.c +130 -127
- 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 +147 -62
- nuitka/build/static_src/HelpersFiles.c +116 -22
- 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 +61 -29
- nuitka/build/static_src/HelpersImportHard.c +74 -61
- nuitka/build/static_src/HelpersJitSources.c +46 -0
- nuitka/build/static_src/HelpersLists.c +237 -58
- 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 +397 -152
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +102 -52
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +49 -43
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +172 -0
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +55 -49
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +83 -83
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +25 -24
- nuitka/build/static_src/HelpersOperationBinaryMod.c +129 -117
- nuitka/build/static_src/HelpersOperationBinaryMult.c +98 -82
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +55 -49
- nuitka/build/static_src/HelpersOperationBinaryPow.c +68 -68
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +51 -51
- nuitka/build/static_src/HelpersOperationBinarySub.c +309 -88
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +49 -43
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +333 -163
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +73 -68
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +64 -64
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +38 -37
- nuitka/build/static_src/HelpersOperationInplaceMod.c +145 -140
- nuitka/build/static_src/HelpersOperationInplaceMult.c +89 -84
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +73 -68
- nuitka/build/static_src/HelpersOperationInplacePow.c +82 -82
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +48 -48
- nuitka/build/static_src/HelpersOperationInplaceSub.c +275 -122
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +68 -63
- nuitka/build/static_src/HelpersProfiling.c +25 -24
- nuitka/build/static_src/HelpersPythonPgo.c +22 -22
- nuitka/build/static_src/HelpersRaising.c +296 -283
- 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 +235 -38
- nuitka/build/static_src/HelpersTuples.c +46 -34
- nuitka/build/static_src/HelpersTypes.c +166 -25
- nuitka/build/static_src/InspectPatcher.c +108 -27
- nuitka/build/static_src/MainProgram.c +464 -280
- nuitka/build/static_src/MetaPathBasedLoader.c +381 -257
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +227 -29
- nuitka/build/static_src/OnefileBootstrap.c +281 -164
- nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
- nuitka/code_generation/AsyncgenCodes.py +21 -23
- nuitka/code_generation/AttributeCodes.py +31 -27
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +290 -184
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +29 -18
- nuitka/code_generation/CallCodes.py +35 -33
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +61 -28
- nuitka/code_generation/CodeHelperSelection.py +20 -18
- nuitka/code_generation/CodeHelpers.py +28 -21
- nuitka/code_generation/CodeObjectCodes.py +36 -26
- nuitka/code_generation/ComparisonCodes.py +51 -22
- nuitka/code_generation/ComparisonHelperDefinitions.py +42 -25
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +82 -28
- nuitka/code_generation/Contexts.py +180 -42
- nuitka/code_generation/CoroutineCodes.py +21 -23
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +28 -26
- nuitka/code_generation/Emission.py +21 -18
- nuitka/code_generation/ErrorCodes.py +57 -79
- nuitka/code_generation/EvalCodes.py +24 -20
- nuitka/code_generation/ExceptionCodes.py +182 -104
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +45 -27
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +28 -31
- nuitka/code_generation/FunctionCodes.py +26 -27
- nuitka/code_generation/GeneratorCodes.py +25 -26
- nuitka/code_generation/GlobalConstants.py +51 -25
- nuitka/code_generation/GlobalsLocalsCodes.py +23 -21
- 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 +86 -71
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +20 -20
- 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 +71 -29
- nuitka/code_generation/Namify.py +27 -23
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +80 -51
- nuitka/code_generation/PackageResourceCodes.py +96 -23
- nuitka/code_generation/PrintCodes.py +19 -17
- nuitka/code_generation/PythonAPICodes.py +19 -17
- nuitka/code_generation/RaisingCodes.py +183 -107
- nuitka/code_generation/Reports.py +32 -22
- nuitka/code_generation/ReturnCodes.py +20 -32
- 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 +31 -41
- nuitka/code_generation/TupleCodes.py +20 -18
- nuitka/code_generation/TypeAliasCodes.py +119 -0
- nuitka/code_generation/VariableCodes.py +118 -55
- nuitka/code_generation/VariableDeclarations.py +28 -25
- nuitka/code_generation/YieldCodes.py +23 -21
- nuitka/code_generation/__init__.py +5 -4
- nuitka/code_generation/c_types/CTypeBases.py +29 -19
- 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 +22 -17
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +22 -21
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +89 -43
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +20 -18
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +43 -31
- nuitka/code_generation/c_types/CTypeVoids.py +20 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesConstants.py +143 -39
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +33 -33
- nuitka/code_generation/templates/CodeTemplatesFrames.py +36 -27
- nuitka/code_generation/templates/CodeTemplatesFunction.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +21 -19
- nuitka/code_generation/templates/CodeTemplatesIterators.py +19 -53
- nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
- nuitka/code_generation/templates/CodeTemplatesModules.py +278 -169
- nuitka/code_generation/templates/CodeTemplatesVariables.py +115 -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 +21 -21
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +79 -28
- 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 +74 -106
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +19 -20
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +19 -19
- 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/HelperOperationBinaryDual.c.j2 +115 -0
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +37 -37
- nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +86 -0
- 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 +50 -38
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +27 -27
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +37 -37
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +31 -31
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +35 -31
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +28 -28
- 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 +48 -48
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +27 -25
- 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 +25 -18
- nuitka/containers/OrderedSets.py +105 -5
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +33 -18
- nuitka/distutils/DistutilCommands.py +84 -33
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +21 -18
- nuitka/finalizations/FinalizeMarkups.py +31 -55
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +60 -30
- nuitka/freezer/DllDependenciesCommon.py +47 -20
- nuitka/freezer/DllDependenciesMacOS.py +165 -58
- nuitka/freezer/DllDependenciesPosix.py +29 -19
- nuitka/freezer/DllDependenciesWin32.py +55 -33
- nuitka/freezer/ImportDetection.py +23 -17
- nuitka/freezer/IncludedDataFiles.py +142 -48
- nuitka/freezer/IncludedEntryPoints.py +104 -39
- nuitka/freezer/Onefile.py +32 -22
- nuitka/freezer/Standalone.py +166 -53
- 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 +319 -98
- nuitka/importing/PreloadedPackages.py +21 -18
- nuitka/importing/Recursion.py +142 -47
- nuitka/importing/StandardLibrary.py +96 -80
- nuitka/importing/__init__.py +5 -4
- nuitka/nodes/AsyncgenNodes.py +22 -23
- 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 +25 -21
- 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 +73 -40
- 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 +1624 -283
- nuitka/nodes/ClassNodes.py +49 -29
- nuitka/nodes/CodeObjectSpecs.py +29 -18
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +24 -25
- nuitka/nodes/ConstantRefNodes.py +57 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +22 -23
- nuitka/nodes/CtypesNodes.py +19 -18
- nuitka/nodes/DictionaryNodes.py +19 -18
- nuitka/nodes/ExceptionNodes.py +131 -43
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +34 -26
- nuitka/nodes/ExpressionBasesGenerated.py +341 -35
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +41 -28
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +84 -38
- nuitka/nodes/FutureSpecs.py +35 -20
- nuitka/nodes/GeneratorNodes.py +24 -25
- nuitka/nodes/GlobalsLocalsNodes.py +22 -17
- nuitka/nodes/HardImportNodesGenerated.py +746 -148
- nuitka/nodes/ImportHardNodes.py +46 -38
- nuitka/nodes/ImportNodes.py +438 -448
- 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 +73 -44
- nuitka/nodes/NodeMakingHelpers.py +92 -69
- nuitka/nodes/NodeMetaClasses.py +45 -28
- nuitka/nodes/OperatorNodes.py +28 -26
- nuitka/nodes/OperatorNodesUnary.py +148 -20
- nuitka/nodes/OsSysNodes.py +97 -18
- nuitka/nodes/OutlineNodes.py +24 -22
- 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 -79
- nuitka/nodes/StatementNodes.py +27 -24
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +20 -17
- nuitka/nodes/SubscriptNodes.py +27 -25
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +68 -18
- 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 +169 -46
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +57 -17
- nuitka/nodes/shapes/StandardShapes.py +80 -21
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +21 -18
- 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 +655 -112
- nuitka/plugins/Plugins.py +247 -61
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +374 -135
- 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 +403 -54
- nuitka/plugins/standard/KivyPlugin.py +24 -20
- nuitka/plugins/standard/MatplotlibPlugin.py +99 -42
- nuitka/plugins/standard/MultiprocessingPlugin.py +35 -39
- 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/PlaywrightPlugin.py +184 -0
- nuitka/plugins/standard/PmwPlugin.py +30 -27
- nuitka/plugins/standard/PySidePyQtPlugin.py +82 -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 +102 -108
- nuitka/plugins/standard/TorchPlugin.py +20 -17
- nuitka/plugins/standard/TransformersPlugin.py +90 -231
- 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 +3925 -1293
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +154 -66
- nuitka/reports/CompilationReportReader.py +79 -0
- nuitka/reports/LicenseReport.rst.j2 +21 -21
- nuitka/reports/Reports.py +363 -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 +35 -21
- nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +74 -22
- nuitka/specs/ParameterSpecs.py +60 -45
- 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 +29 -22
- 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 +251 -80
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +248 -82
- nuitka/tools/specialize/SpecializePython.py +108 -45
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +175 -114
- 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 +39 -30
- 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 +23 -33
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +134 -51
- nuitka/tools/watch/AutoStage.py +145 -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 +184 -182
- nuitka/tree/ComplexCallHelperFunctions.py +84 -58
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +29 -20
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +51 -31
- nuitka/tree/ReformulationAssignmentStatements.py +96 -91
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +20 -18
- nuitka/tree/ReformulationClasses.py +45 -39
- nuitka/tree/ReformulationClasses3.py +239 -116
- nuitka/tree/ReformulationComparisonExpressions.py +29 -35
- nuitka/tree/ReformulationContractionExpressions.py +58 -55
- nuitka/tree/ReformulationDictionaryCreation.py +41 -35
- nuitka/tree/ReformulationExecStatements.py +42 -39
- nuitka/tree/ReformulationForLoopStatements.py +30 -34
- nuitka/tree/ReformulationFunctionStatements.py +59 -55
- nuitka/tree/ReformulationImportStatements.py +34 -29
- nuitka/tree/ReformulationLambdaExpressions.py +23 -24
- nuitka/tree/ReformulationMatchStatements.py +246 -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 +44 -24
- 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 +111 -22
- nuitka/utils/Distributions.py +445 -54
- nuitka/utils/Download.py +89 -57
- nuitka/utils/Execution.py +102 -58
- nuitka/utils/FileOperations.py +357 -128
- nuitka/utils/Hashing.py +55 -33
- nuitka/utils/Images.py +26 -19
- nuitka/utils/Importing.py +119 -37
- nuitka/utils/InlineCopies.py +52 -0
- nuitka/utils/InstalledPythons.py +85 -75
- nuitka/utils/InstanceCounters.py +20 -17
- nuitka/utils/Jinja2.py +30 -22
- nuitka/utils/Json.py +21 -19
- nuitka/utils/MacOSApp.py +26 -18
- nuitka/utils/MemoryUsage.py +20 -18
- nuitka/utils/ModuleNames.py +42 -26
- nuitka/utils/PackageResources.py +44 -0
- 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 +132 -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.5.1.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/top_level.txt +0 -0
|
@@ -1,21 +1,6 @@
|
|
|
1
1
|
# -*- python -*-
|
|
2
|
-
# Copyright
|
|
3
|
-
|
|
4
|
-
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
5
|
-
# integrates with CPython, but also works on its own.
|
|
6
|
-
#
|
|
7
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
-
# you may not use this file except in compliance with the License.
|
|
9
|
-
# You may obtain a copy of the License at
|
|
10
|
-
#
|
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
#
|
|
13
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
# See the License for the specific language governing permissions and
|
|
17
|
-
# limitations under the License.
|
|
18
|
-
#
|
|
2
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
3
|
+
|
|
19
4
|
|
|
20
5
|
"""
|
|
21
6
|
The CCompileVersion scons file is for version output of the C compiler used with
|
|
@@ -69,6 +54,7 @@ from .SconsUtils import (
|
|
|
69
54
|
getArgumentBool,
|
|
70
55
|
getArgumentDefaulted,
|
|
71
56
|
getArgumentList,
|
|
57
|
+
getArgumentRequired,
|
|
72
58
|
getExecutablePath,
|
|
73
59
|
initScons,
|
|
74
60
|
isClangName,
|
|
@@ -86,12 +72,18 @@ setArguments(ARGUMENTS)
|
|
|
86
72
|
# Set up the basic stuff.
|
|
87
73
|
initScons()
|
|
88
74
|
|
|
75
|
+
nuitka_src = getArgumentRequired("nuitka_src")
|
|
76
|
+
|
|
89
77
|
# Module mode: Create a Python extension module, create an executable otherwise.
|
|
90
78
|
module_mode = getArgumentBool("module_mode", False)
|
|
91
79
|
|
|
92
80
|
# Debug mode: Less optimizations, debug information in the resulting binary.
|
|
93
81
|
debug_mode = getArgumentBool("debug_mode", False)
|
|
94
82
|
|
|
83
|
+
# Debugger mode: Debug information in the resulting binary and intention to run
|
|
84
|
+
# in debugger.
|
|
85
|
+
debugger_mode = getArgumentBool("debugger_mode", False)
|
|
86
|
+
|
|
95
87
|
# Experimental indications. Do things that are not yet safe to do.
|
|
96
88
|
experimental = getArgumentList("experimental", "")
|
|
97
89
|
|
|
@@ -99,12 +91,8 @@ experimental = getArgumentList("experimental", "")
|
|
|
99
91
|
# good with the compiler in question.
|
|
100
92
|
lto_mode = getArgumentDefaulted("lto_mode", "auto")
|
|
101
93
|
|
|
102
|
-
#
|
|
103
|
-
|
|
104
|
-
win_target = os.name == "nt"
|
|
105
|
-
|
|
106
|
-
# Windows subsystem mode: Disable console for windows builds.
|
|
107
|
-
disable_console = getArgumentBool("disable_console", False)
|
|
94
|
+
# Console mode specified
|
|
95
|
+
console_mode = getArgumentDefaulted("console_mode", "attach")
|
|
108
96
|
|
|
109
97
|
# Unstripped mode: Do not remove debug symbols.
|
|
110
98
|
unstripped_mode = getArgumentBool("unstripped_mode", False)
|
|
@@ -122,7 +110,7 @@ clang_mode = getArgumentBool("clang_mode", False)
|
|
|
122
110
|
# Clang on Windows with no requirement to use MinGW64 or using MSYS2 MinGW flavor,
|
|
123
111
|
# is changed to ClangCL from Visual Studio.
|
|
124
112
|
clangcl_mode = False
|
|
125
|
-
if
|
|
113
|
+
if os.name == "nt" and not mingw_mode and clang_mode:
|
|
126
114
|
clang_mode = False
|
|
127
115
|
clangcl_mode = True
|
|
128
116
|
|
|
@@ -130,7 +118,7 @@ if win_target and not mingw_mode and clang_mode:
|
|
|
130
118
|
show_scons_mode = getArgumentBool("show_scons", False)
|
|
131
119
|
scons_details_logger.is_quiet = not show_scons_mode
|
|
132
120
|
|
|
133
|
-
if int(os.
|
|
121
|
+
if int(os.getenv("NUITKA_QUIET", "0")):
|
|
134
122
|
setQuiet()
|
|
135
123
|
|
|
136
124
|
# Forced MSVC version (windows-only)
|
|
@@ -148,6 +136,9 @@ macos_min_version = getArgumentDefaulted("macos_min_version", "")
|
|
|
148
136
|
# Target arch for macOS.
|
|
149
137
|
macos_target_arch = getArgumentDefaulted("macos_target_arch", "")
|
|
150
138
|
|
|
139
|
+
# gcc compiler cf_protection option
|
|
140
|
+
cf_protection = getArgumentDefaulted("cf_protection", "auto")
|
|
141
|
+
|
|
151
142
|
# Amount of jobs to use.
|
|
152
143
|
job_count = GetOption("num_jobs")
|
|
153
144
|
|
|
@@ -163,7 +154,7 @@ if "CXX" in os.environ:
|
|
|
163
154
|
|
|
164
155
|
cxx_dirname = os.path.dirname(os.environ["CXX"])
|
|
165
156
|
|
|
166
|
-
if
|
|
157
|
+
if os.name == "nt" and isGccName(os.path.basename(os.environ["CXX"])):
|
|
167
158
|
if show_scons_mode:
|
|
168
159
|
my_print("Scons: Environment CXX seems to be a gcc, enable mingw_mode.")
|
|
169
160
|
mingw_mode = True
|
|
@@ -184,6 +175,7 @@ env = createEnvironment(
|
|
|
184
175
|
target_arch=target_arch,
|
|
185
176
|
experimental=experimental,
|
|
186
177
|
no_deployment=(),
|
|
178
|
+
debug_modes=(),
|
|
187
179
|
)
|
|
188
180
|
|
|
189
181
|
scons_details_logger.info("Initial CC: %r" % env.get("CC"))
|
|
@@ -193,13 +185,14 @@ scons_details_logger.info(
|
|
|
193
185
|
|
|
194
186
|
if "CC" in os.environ:
|
|
195
187
|
# If the environment variable CC is set, use that.
|
|
188
|
+
env["CC"] = os.environ["CC"]
|
|
196
189
|
env["CCVERSION"] = None
|
|
197
190
|
|
|
198
191
|
scons_details_logger.info("Overridden with environment CC: %r" % env["CC"])
|
|
199
192
|
elif clangcl_mode:
|
|
200
193
|
# If possible, add Clang directory from MSVC if available.
|
|
201
194
|
addClangClPathFromMSVC(env=env)
|
|
202
|
-
elif clang_mode:
|
|
195
|
+
elif clang_mode and not mingw_mode:
|
|
203
196
|
# If requested by the user, use the clang compiler, overriding what was
|
|
204
197
|
# said in environment.
|
|
205
198
|
|
|
@@ -219,8 +212,10 @@ env = checkWindowsCompilerFound(
|
|
|
219
212
|
env.the_compiler = env["CC"] or env["CXX"]
|
|
220
213
|
env.the_cc_name = os.path.normcase(os.path.basename(env.the_compiler))
|
|
221
214
|
env.debug_mode = debug_mode
|
|
215
|
+
env.debugger_mode = debugger_mode
|
|
222
216
|
env.unstripped_mode = unstripped_mode
|
|
223
|
-
env.
|
|
217
|
+
env.console_mode = console_mode
|
|
218
|
+
env.nuitka_src = nuitka_src
|
|
224
219
|
env.low_memory = False
|
|
225
220
|
env.macos_min_version = macos_min_version
|
|
226
221
|
env.macos_target_arch = macos_target_arch
|
|
@@ -236,10 +231,13 @@ env.gcc_mode = isGccName(env.the_cc_name) or clang_mode
|
|
|
236
231
|
env.clang_mode = clang_mode
|
|
237
232
|
|
|
238
233
|
# Only use MSVC if not already clear, we are using MinGW.
|
|
239
|
-
env.msvc_mode =
|
|
240
|
-
env.mingw_mode =
|
|
234
|
+
env.msvc_mode = os.name == "nt" and not env.gcc_mode
|
|
235
|
+
env.mingw_mode = os.name == "nt" and env.gcc_mode
|
|
241
236
|
env.clangcl_mode = clangcl_mode
|
|
242
237
|
|
|
238
|
+
# gcc compiler cf_protection option
|
|
239
|
+
env.cf_protection = cf_protection
|
|
240
|
+
|
|
243
241
|
# Consider switching from gcc to its g++ compiler as a workaround that makes us work without C11.
|
|
244
242
|
switchFromGccToGpp(
|
|
245
243
|
env=env,
|
|
@@ -253,14 +251,30 @@ env.the_compiler = getExecutablePath(env.the_compiler, env=env)
|
|
|
253
251
|
# Report the C compiler used.
|
|
254
252
|
reportCCompiler(env, "Version", my_print)
|
|
255
253
|
|
|
256
|
-
# Set up C compiler settings.
|
|
254
|
+
# Set up C compiler settings, we would use that mode mode outputs.
|
|
257
255
|
setupCCompiler(
|
|
258
256
|
env=env,
|
|
259
257
|
lto_mode=lto_mode,
|
|
260
258
|
pgo_mode="no", # TODO: Have this here too, decompression might benefit.
|
|
261
259
|
job_count=job_count,
|
|
260
|
+
onefile_compile=False,
|
|
262
261
|
)
|
|
263
262
|
|
|
264
263
|
# TODO: Report modes.
|
|
265
264
|
|
|
266
265
|
sys.exit(0)
|
|
266
|
+
|
|
267
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
268
|
+
# integrates with CPython, but also works on its own.
|
|
269
|
+
#
|
|
270
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
271
|
+
# you may not use this file except in compliance with the License.
|
|
272
|
+
# You may obtain a copy of the License at
|
|
273
|
+
#
|
|
274
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
275
|
+
#
|
|
276
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
277
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
278
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
279
|
+
# See the License for the specific language governing permissions and
|
|
280
|
+
# limitations under the License.
|
|
@@ -1,23 +1,10 @@
|
|
|
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
|
""" Interface to data composer
|
|
19
5
|
|
|
20
6
|
"""
|
|
7
|
+
|
|
21
8
|
import os
|
|
22
9
|
import subprocess
|
|
23
10
|
import sys
|
|
@@ -110,3 +97,19 @@ def deriveModuleConstantsBlobName(filename):
|
|
|
110
97
|
basename = basename[7:]
|
|
111
98
|
|
|
112
99
|
return basename
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
103
|
+
# integrates with CPython, but also works on its own.
|
|
104
|
+
#
|
|
105
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
106
|
+
# you may not use this file except in compliance with the License.
|
|
107
|
+
# You may obtain a copy of the License at
|
|
108
|
+
#
|
|
109
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
110
|
+
#
|
|
111
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
112
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
113
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
114
|
+
# See the License for the specific language governing permissions and
|
|
115
|
+
# limitations under the License.
|
nuitka/build/Onefile.scons
CHANGED
|
@@ -1,21 +1,6 @@
|
|
|
1
1
|
# -*- python -*-
|
|
2
|
-
# Copyright
|
|
3
|
-
|
|
4
|
-
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
5
|
-
# integrates with CPython, but also works on its own.
|
|
6
|
-
#
|
|
7
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
-
# you may not use this file except in compliance with the License.
|
|
9
|
-
# You may obtain a copy of the License at
|
|
10
|
-
#
|
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
#
|
|
13
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
# See the License for the specific language governing permissions and
|
|
17
|
-
# limitations under the License.
|
|
18
|
-
#
|
|
2
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
3
|
+
|
|
19
4
|
|
|
20
5
|
"""
|
|
21
6
|
The Onefile scons file for the bootstrap binary, check out Backend.scons for
|
|
@@ -54,6 +39,7 @@ from nuitka.Tracing import (
|
|
|
54
39
|
scons_logger,
|
|
55
40
|
setQuiet,
|
|
56
41
|
)
|
|
42
|
+
from nuitka.utils.FileOperations import getExternalUsePath
|
|
57
43
|
from nuitka.utils.Utils import isMacOS
|
|
58
44
|
|
|
59
45
|
from .SconsCaching import enableCcache, enableClcache
|
|
@@ -124,12 +110,19 @@ module_mode = getArgumentBool("module_mode", False)
|
|
|
124
110
|
# Debug mode: Less optimizations, debug information in the resulting binary.
|
|
125
111
|
debug_mode = getArgumentBool("debug_mode", False)
|
|
126
112
|
|
|
113
|
+
# Debugger mode: Debug information in the resulting binary and intention to run
|
|
114
|
+
# in debugger.
|
|
115
|
+
debugger_mode = getArgumentBool("debugger_mode", False)
|
|
116
|
+
|
|
127
117
|
# Deployment mode
|
|
128
118
|
deployment_mode = getArgumentBool("deployment", False)
|
|
129
119
|
|
|
130
120
|
# Experimental indications. Do things that are not yet safe to do.
|
|
131
121
|
no_deployment = getArgumentList("no_deployment", "")
|
|
132
122
|
|
|
123
|
+
# Debug mode indications. Do check things with fine granularity.
|
|
124
|
+
debug_modes = getArgumentList("debug_modes", "")
|
|
125
|
+
|
|
133
126
|
# Experimental indications. Do things that are not yet safe to do.
|
|
134
127
|
experimental = getArgumentList("experimental", "")
|
|
135
128
|
|
|
@@ -140,12 +133,8 @@ trace_mode = getArgumentBool("trace_mode", False)
|
|
|
140
133
|
# good with the compiler in question.
|
|
141
134
|
lto_mode = getArgumentDefaulted("lto_mode", "auto")
|
|
142
135
|
|
|
143
|
-
#
|
|
144
|
-
|
|
145
|
-
win_target = os.name == "nt"
|
|
146
|
-
|
|
147
|
-
# Windows subsystem mode: Disable console for windows builds.
|
|
148
|
-
disable_console = getArgumentBool("disable_console", False)
|
|
136
|
+
# Console mode specified
|
|
137
|
+
console_mode = getArgumentDefaulted("console_mode", "attach")
|
|
149
138
|
|
|
150
139
|
# Unstripped mode: Do not remove debug symbols.
|
|
151
140
|
unstripped_mode = getArgumentBool("unstripped_mode", False)
|
|
@@ -163,7 +152,7 @@ clang_mode = getArgumentBool("clang_mode", False)
|
|
|
163
152
|
# Clang on Windows with no requirement to use MinGW64 or using MSYS2 MinGW flavor,
|
|
164
153
|
# is changed to ClangCL from Visual Studio.
|
|
165
154
|
clangcl_mode = False
|
|
166
|
-
if clang_mode and
|
|
155
|
+
if clang_mode and os.name == "nt" and not mingw_mode:
|
|
167
156
|
clang_mode = False
|
|
168
157
|
clangcl_mode = True
|
|
169
158
|
|
|
@@ -171,13 +160,15 @@ if clang_mode and win_target and not mingw_mode:
|
|
|
171
160
|
show_scons_mode = getArgumentBool("show_scons", False)
|
|
172
161
|
scons_details_logger.is_quiet = not show_scons_mode
|
|
173
162
|
|
|
174
|
-
if int(os.
|
|
163
|
+
if int(os.getenv("NUITKA_QUIET", "0")):
|
|
175
164
|
setQuiet()
|
|
176
165
|
|
|
177
166
|
# Home of Python to be compiled against, used to find tools like clcache and
|
|
178
167
|
# ccache, no linking against Python is needed here.
|
|
179
168
|
python_prefix = getArgumentRequired("python_prefix")
|
|
180
169
|
|
|
170
|
+
python_prefix_external = getExternalUsePath(python_prefix)
|
|
171
|
+
|
|
181
172
|
# Forced MSVC version (windows-only)
|
|
182
173
|
msvc_version = getArgumentDefaulted("msvc_version", None)
|
|
183
174
|
|
|
@@ -202,6 +193,9 @@ macos_min_version = getArgumentDefaulted("macos_min_version", "")
|
|
|
202
193
|
# Target arch for macOS.
|
|
203
194
|
macos_target_arch = getArgumentDefaulted("macos_target_arch", "")
|
|
204
195
|
|
|
196
|
+
# gcc compiler cf_protection option
|
|
197
|
+
cf_protection = getArgumentDefaulted("cf_protection", "auto")
|
|
198
|
+
|
|
205
199
|
if getArgumentBool("progress_bar", True) and not show_scons_mode:
|
|
206
200
|
enableSconsProgressBar()
|
|
207
201
|
|
|
@@ -220,7 +214,7 @@ if "CXX" in os.environ:
|
|
|
220
214
|
|
|
221
215
|
cxx_dirname = os.path.dirname(os.environ["CXX"])
|
|
222
216
|
|
|
223
|
-
if
|
|
217
|
+
if os.name == "nt" and isGccName(os.path.basename(os.environ["CXX"])):
|
|
224
218
|
if show_scons_mode:
|
|
225
219
|
my_print("Scons: Environment CXX seems to be a gcc, enable mingw_mode.")
|
|
226
220
|
mingw_mode = True
|
|
@@ -241,6 +235,7 @@ env = createEnvironment(
|
|
|
241
235
|
target_arch=target_arch,
|
|
242
236
|
experimental=experimental,
|
|
243
237
|
no_deployment=no_deployment,
|
|
238
|
+
debug_modes=debug_modes,
|
|
244
239
|
)
|
|
245
240
|
|
|
246
241
|
scons_details_logger.info("Initial CC: %r" % env.get("CC"))
|
|
@@ -250,13 +245,14 @@ scons_details_logger.info(
|
|
|
250
245
|
|
|
251
246
|
if "CC" in os.environ:
|
|
252
247
|
# If the environment variable CC is set, use that.
|
|
248
|
+
env["CC"] = os.environ["CC"]
|
|
253
249
|
env["CCVERSION"] = None
|
|
254
250
|
|
|
255
251
|
scons_details_logger.info("Overridden with environment CC: %r" % env["CC"])
|
|
256
252
|
elif clangcl_mode:
|
|
257
253
|
# If possible, add Clang directory from MSVC if available.
|
|
258
254
|
addClangClPathFromMSVC(env=env)
|
|
259
|
-
elif clang_mode:
|
|
255
|
+
elif clang_mode and not mingw_mode:
|
|
260
256
|
# If requested by the user, use the clang compiler, overriding what was
|
|
261
257
|
# said in environment.
|
|
262
258
|
|
|
@@ -277,9 +273,11 @@ env.the_compiler = env["CC"] or env["CXX"]
|
|
|
277
273
|
env.the_cc_name = os.path.normcase(os.path.basename(env.the_compiler))
|
|
278
274
|
env.standalone_mode = True # We are only used in this case.
|
|
279
275
|
env.debug_mode = debug_mode
|
|
276
|
+
env.debugger_mode = debugger_mode
|
|
280
277
|
env.unstripped_mode = unstripped_mode
|
|
281
|
-
env.
|
|
278
|
+
env.console_mode = console_mode
|
|
282
279
|
env.source_dir = source_dir
|
|
280
|
+
env.nuitka_src = nuitka_src
|
|
283
281
|
env.low_memory = False # Never a concern in this case.
|
|
284
282
|
env.macos_min_version = macos_min_version
|
|
285
283
|
env.macos_target_arch = macos_target_arch
|
|
@@ -295,10 +293,13 @@ env.gcc_mode = isGccName(env.the_cc_name) or clang_mode
|
|
|
295
293
|
env.clang_mode = clang_mode
|
|
296
294
|
|
|
297
295
|
# Only use MSVC if not already clear, we are using MinGW.
|
|
298
|
-
env.msvc_mode =
|
|
299
|
-
env.mingw_mode =
|
|
296
|
+
env.msvc_mode = os.name == "nt" and not env.gcc_mode
|
|
297
|
+
env.mingw_mode = os.name == "nt" and env.gcc_mode
|
|
300
298
|
env.clangcl_mode = clangcl_mode
|
|
301
299
|
|
|
300
|
+
# gcc compiler cf_protection option
|
|
301
|
+
env.cf_protection = cf_protection
|
|
302
|
+
|
|
302
303
|
# Consider switching from gcc to its g++ compiler as a workaround that makes us work without C11.
|
|
303
304
|
switchFromGccToGpp(
|
|
304
305
|
env=env,
|
|
@@ -311,7 +312,7 @@ if show_scons_mode:
|
|
|
311
312
|
my_print("Scons: Compiler used", end=" ")
|
|
312
313
|
my_print(getExecutablePath(env.the_compiler, env=env), end=" ")
|
|
313
314
|
|
|
314
|
-
if
|
|
315
|
+
if os.name == "nt" and env.msvc_mode:
|
|
315
316
|
my_print("(MSVC %s)" % getMsvcVersionString(env))
|
|
316
317
|
|
|
317
318
|
my_print()
|
|
@@ -329,6 +330,7 @@ setupCCompiler(
|
|
|
329
330
|
lto_mode=lto_mode,
|
|
330
331
|
pgo_mode="no", # TODO: Have this here too, decompression might benefit.
|
|
331
332
|
job_count=job_count,
|
|
333
|
+
onefile_compile=True,
|
|
332
334
|
)
|
|
333
335
|
|
|
334
336
|
# Avoid them as appearing to be different files. TODO: Find out which
|
|
@@ -370,14 +372,6 @@ if debug_mode:
|
|
|
370
372
|
CCFLAGS=[
|
|
371
373
|
"-Wall",
|
|
372
374
|
"-Werror",
|
|
373
|
-
# Unfortunately Py_INCREF(Py_False) triggers aliasing warnings,
|
|
374
|
-
# which are unfounded, so disable them.
|
|
375
|
-
"-Wno-error=strict-aliasing",
|
|
376
|
-
"-Wno-strict-aliasing",
|
|
377
|
-
# At least for self-compiled Python3.2, and MinGW this happens
|
|
378
|
-
# and has little use anyway.
|
|
379
|
-
"-Wno-error=format",
|
|
380
|
-
"-Wno-format",
|
|
381
375
|
]
|
|
382
376
|
)
|
|
383
377
|
|
|
@@ -424,8 +418,8 @@ env.Append(
|
|
|
424
418
|
CPPPATH=[
|
|
425
419
|
source_dir,
|
|
426
420
|
nuitka_include,
|
|
427
|
-
os.path.join(nuitka_src, "static_src"),
|
|
428
|
-
os.path.join(nuitka_src, "inline_copy", "zstd"),
|
|
421
|
+
os.path.join(env.nuitka_src, "static_src"),
|
|
422
|
+
os.path.join(env.nuitka_src, "inline_copy", "zstd"),
|
|
429
423
|
],
|
|
430
424
|
)
|
|
431
425
|
|
|
@@ -434,8 +428,6 @@ if env.msvc_mode:
|
|
|
434
428
|
env.Append(CCFLAGS=["/MT"]) # Multithreaded, static version of C run time.
|
|
435
429
|
|
|
436
430
|
if isMacOS():
|
|
437
|
-
env.Append(CPPDEFINES=["_NUITKA_PAYLOAD_FROM_MACOS_SECTION"])
|
|
438
|
-
|
|
439
431
|
addConstantBlobFile(
|
|
440
432
|
env=env,
|
|
441
433
|
blob_filename=os.path.join(source_dir, "__payload.bin"),
|
|
@@ -460,9 +452,8 @@ def discoverSourceFiles():
|
|
|
460
452
|
# Main onefile bootstrap program
|
|
461
453
|
result.append(
|
|
462
454
|
provideStaticSourceFile(
|
|
455
|
+
env=env,
|
|
463
456
|
sub_path="OnefileBootstrap.c",
|
|
464
|
-
nuitka_src=nuitka_src,
|
|
465
|
-
source_dir=source_dir,
|
|
466
457
|
c11_mode=env.c11_mode,
|
|
467
458
|
)
|
|
468
459
|
)
|
|
@@ -470,9 +461,8 @@ def discoverSourceFiles():
|
|
|
470
461
|
if onefile_splash_screen:
|
|
471
462
|
result.append(
|
|
472
463
|
provideStaticSourceFile(
|
|
464
|
+
env=env,
|
|
473
465
|
sub_path="OnefileSplashScreen.cpp",
|
|
474
|
-
nuitka_src=nuitka_src,
|
|
475
|
-
source_dir=source_dir,
|
|
476
466
|
c11_mode=False,
|
|
477
467
|
)
|
|
478
468
|
)
|
|
@@ -507,7 +497,6 @@ env.Append(LIBS=link_libraries)
|
|
|
507
497
|
# Work around windows bugs and use watchdogs to track progress of compilation.
|
|
508
498
|
enableSpawnMonitoring(
|
|
509
499
|
env=env,
|
|
510
|
-
win_target=win_target,
|
|
511
500
|
module_mode=module_mode,
|
|
512
501
|
source_files=source_files,
|
|
513
502
|
)
|
|
@@ -517,12 +506,13 @@ enableSpawnMonitoring(
|
|
|
517
506
|
changeKeyboardInterruptToErrorExit()
|
|
518
507
|
|
|
519
508
|
# Check if ccache is installed, and complain if it is not.
|
|
520
|
-
if env.gcc_mode
|
|
509
|
+
if env.gcc_mode:
|
|
521
510
|
enableCcache(
|
|
522
511
|
env=env,
|
|
523
512
|
source_dir=source_dir,
|
|
524
|
-
python_prefix=
|
|
513
|
+
python_prefix=python_prefix_external,
|
|
525
514
|
assume_yes_for_downloads=assume_yes_for_downloads,
|
|
515
|
+
disable_ccache=disable_ccache,
|
|
526
516
|
)
|
|
527
517
|
|
|
528
518
|
if env.msvc_mode and not disable_ccache:
|
|
@@ -557,12 +547,24 @@ if env.gcc_mode:
|
|
|
557
547
|
env=env,
|
|
558
548
|
)
|
|
559
549
|
|
|
560
|
-
writeSconsReport(
|
|
561
|
-
env=env,
|
|
562
|
-
source_dir=source_dir,
|
|
563
|
-
)
|
|
550
|
+
writeSconsReport(env=env, target=target)
|
|
564
551
|
|
|
565
552
|
setSconsProgressBarTotal(name="Onefile", total=len(source_files))
|
|
566
553
|
|
|
567
554
|
scons_details_logger.info("Launching Scons target: %s" % target)
|
|
568
555
|
env.Default(target)
|
|
556
|
+
|
|
557
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
558
|
+
# integrates with CPython, but also works on its own.
|
|
559
|
+
#
|
|
560
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
561
|
+
# you may not use this file except in compliance with the License.
|
|
562
|
+
# You may obtain a copy of the License at
|
|
563
|
+
#
|
|
564
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
565
|
+
#
|
|
566
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
567
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
568
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
569
|
+
# See the License for the specific language governing permissions and
|
|
570
|
+
# limitations under the License.
|