Commit Graph

111 Commits

Author SHA1 Message Date
Kay Hayen
718ab60539 Bump copyright year 2025-04-28 11:04:36 +02:00
Kay Hayen
0bb97d6db0 Minor cleanup 2024-12-22 10:26:54 +01:00
Kay Hayen
351c79852c Python3.13: Consider it officially supported 2024-12-18 11:10:34 +01:00
Kay Hayen
a3807611e5 UI: Added GIL usage to --version output for 3.13 or higher 2024-12-18 11:05:24 +01:00
Kay Hayen
8671e920d0 UI: Avoid leaking environment variables to child processes
* This is visible with "--run" but we should avoid it for everything.

* For Linux, we now recognize if we are the new exec and use them only if so.
2024-12-18 11:04:21 +01:00
Kay Hayen
cd24515596 Fix, "dict.fromkeys" didn't give compatible error messages for no args 2024-12-18 10:56:01 +01:00
Kay Hayen
e295f70a4c Python3.12: Added official support for it 2024-12-18 10:54:56 +01:00
Kay Hayen
20480c912f Python3.12: Mark this version as experimentally supported
* Also mark "3.13" as unsupported
2024-12-18 10:52:22 +01:00
Kay Hayen
f34f8d0c63 Bump copyright year
* Also split copyright notices between the top and bottom,
  such that readability of just opened files is not harmed
  by license text.
2024-12-18 10:48:16 +01:00
Fabien LOISON
7dd4f81226 Standalone: Allow using self-compiled Python versions that are not installed
* Properly handles a "virtualenv" of not installed, self-compiled Python as well.
2024-12-18 10:43:10 +01:00
Kay Hayen
2676d9d89e Python3.3: Was still listed as officially supported
* Also a couple of places in the docs referred to special cases
  with it, not needed anymore.
2024-12-18 10:40:08 +01:00
Kay Hayen
233cd02d95 Linux: Enhanced support for self compiled Python
* This allows for static link libraries of modules to be supported
2024-12-18 10:39:33 +01:00
Kay Hayen
2c561eacf1 Standalone: Make tk-inter plugin more robust
* Detect the tkinter version used and scan for its paths.

* Added path used when compiling tcl from source

* Check data directory paths for tcl and tk for expected files.
2024-12-18 10:39:33 +01:00
Kay Hayen
7c96ded14f Merge tag '1.8.5' into develop 2024-12-18 10:39:31 +01:00
Kay Hayen
e0ac2a0861 Watch: Treat Windows Python flavors Anaconda and MSYS2 as OSes
* This was make it easier to work with them and probably will
  be done for other OSes as well.
2024-12-18 10:38:49 +01:00
Kay Hayen
64812de542 Python3.12: Mark as unsupported for now
* We still need to do some adaptating of str and int changes on
  the C side before we can execute anything.
2024-12-18 10:35:19 +01:00
Kay Hayen
909d41f02d Bump copyright year 2023-06-02 15:07:22 +02:00
Kay Hayen
11ac653d76 Python3.11: Mark as fully supported
* Some corner cases are still missing, but this works for the
  largest parts.
2023-06-02 15:07:22 +02:00
Kay Hayen
1b9bf8d4fa Python3.11: Allow it for onefile compression
* This also cleans up how a supported version is determined
  as this should have been more automatic. Now partial support in Nuitka
  will make it considered.
2023-04-14 13:27:06 +02:00
Kay Hayen
e8b839c3ea Python3.11: Enable this version as partially supported
* There are still heavy problems, but some things work now.
2023-04-14 13:23:01 +02:00
Kay Hayen
423d1d8bbb Optimization: Slightly faster float digit checks
* Avoid recalculating float digit boundary for every call, that can only
  be slow.
2023-02-13 14:19:57 +01:00
Kay Hayen
5b1068c05d Tests: Make Python3.11 test execution recognized
* We add versions that we run the tests for, regardless of support status.
2023-02-13 14:19:57 +01:00
Kay Hayen
fe20230360 Detect CPython flavor more often
* Use the system prefix on macOS, so virtualenv does not break the detection.

* Compare system prefix to registry found CPython installations, to
  decide it on Windows.
2023-01-09 16:42:12 +01:00
Kay Hayen
aabc33064a Python3.11: Follow change in unbound local error message
* Use an automatic template for this error too, so partly this is
  automatically detected in the future.
2022-11-26 11:12:30 +01:00
Kay Hayen
1857903156 Python3.11: Catch usage of not yet supported Python versions
* The experimental option "--experimental=python3.11" can be used
  to override it, but it makes no sense for users to get those.
2022-11-06 14:07:05 +01:00
Stas Fomin
f150890c3f Standalone: Lets find "not found dlls" from currently loaded dlls on Windows
* Nuitka can be used with pipenv/virtualenv forked from embeded python, but
  without "pythonXY.dll" in "PATH". But we can always find *right* path from
  a list of currently loaded DLLs.
2022-09-18 11:21:04 +02:00
Kay Hayen
d5665b1689 Optimization: Faster comparison with int/long constant values
* Added support for C long with Python2 interaction, and for C long
  and C digit interaction for Python3 integers.

* This lays the foundation for faster operations generally, but more
  work will be needed.
2022-09-18 11:20:34 +02:00
Kay Hayen
bbb94c9b58 Optimization: Enhanced code generation for rich comparisons
* Dedidicated code generation for rich comparison nodes.

* Do a two phase lookup, where from the shape, valid C types are deducted.

* Cleaner selection code for code helpers of rich comparisons.

* Iterator end check now use code that will be able to recognize
  constant value check and benefit from future improvements.

* Prepared C types for "clong" and "digit" with value checking function,
  making data composer code reusable.

* Solves TODO about C type deciding if it has error checking.
2022-09-18 11:20:34 +02:00
Kay Hayen
4cfdd9f9c0 Bump copyright year 2022-05-23 10:28:11 +02:00
Kay Hayen
4eef32659f Fix, need to catch cases where we run with --python-debug on non-debug versions 2022-05-15 23:11:35 +02:00
Kay Hayen
1c4fb84c96 Minor cleanups 2022-04-04 15:09:59 +02:00
Kay Hayen
1f59e0b791 3.10: Add official support 2021-12-27 14:00:10 +01:00
Kay Hayen
4d441434bb Minor cleanup
* This TODO is long solved.
2021-12-07 09:40:02 +01:00
Kay Hayen
a2e218e13c Quality: Pylint cleanups needed for Windows 2021-12-07 09:39:59 +01:00
Kay Hayen
d661c349d1 Optimization: Detect and handle pyenv
* Changed from Variant/Vendor to Flavor in project variable,
  that should be less confusing.

* Detection of WinPython flavor was also added.

* For pyenv, we assume static libpython is usable, that seems to be
  the case for Python2 at least.
2021-12-07 09:39:58 +01:00
Kay Hayen
6c186085d9 Python3.10: Consider it partially supported 2021-12-07 09:37:30 +01:00
Kay Hayen
e6d147d01c Anaconda: Enable static linking on Windows, cleanup detection
* Need to not use limited API in that case, this is not a real
  static linking, therefore still only DLL symbols are there
  for Anaconda on Windows.

* Created CMD files for accelerated mode need to set PYTHONHOME
  to work on Anaconda for Windows as well.

* Cleaned up detection of Anaconda Python to a dedicated function
2021-12-07 09:37:30 +01:00
Kay Hayen
189d396623 Quality: Changes for latest PyLint 2021-12-07 09:37:30 +01:00
Kay Hayen
c7a5ca676d Optimization: Add support for "sys.version_info" as a compile time constant
* Also add type shape namedtuple for it, may need more work before
  using it generally.

* For 2.7 or higher this is not a tuple, but a special namedtuple.

* Also clean up how future and importlib trusts are built, moving code
  to more suitable modules.

* Added factory mechanism for specific hard name imports.
2021-11-24 08:05:37 +01:00
Kay Hayen
d744e98093 Cleanup
* Avoid WindowsError being undefined by adding it to past module.
2021-09-12 13:54:08 +02:00
Kay Hayen
acb48f78d8 Optimization: Add support for Nuitka-Python 2.7 and on Linux
* Also cleanup where the LTO settings are done.

* With Nuitka-Python we are safe to use -O3 it seems

* When doing LTO, avoid creating fat object files, there is no need.

* It seems Nuitka-Python is faster with pystone than even Debian Python,
  but there is no evidence of PGO usage
  yet.
2021-09-12 13:53:36 +02:00
Kay Hayen
55ae1221ab Debian: Enable static libpython by default. 2021-08-09 12:34:30 +02:00
Kay Hayen
64a470965d Debian: Add support for static linking with Python2 2021-08-09 12:34:30 +02:00
Kay Hayen
43fad9bdc0 Fix, uninstalled Python can be static Python of course 2021-08-09 12:34:30 +02:00
Kay Hayen
ef280869a3 Debian: Support static link libraries for system Python
* These need more help with static linking than self compiled, we
  have to provide the used libraries there.

* This should allow for faster binaries being created as we avoid
  the DLL barrier here too.
2021-08-09 12:34:30 +02:00
Kay Hayen
9afc8b6f91 Cleanup, sloppy version checks were present
* Also support 3.10 for shebang analysis
2021-08-07 18:11:02 +02:00
Kay Hayen
87d979f63e Nuitka-Python: Fix, static Python detection for Windows wasn't implemented 2021-06-09 09:50:57 +02:00
Maxwell175
f81ea3c1ec Added Nuitka-Python Integration with Windows Static Build (#1104)
* Initial cut for simple static build with only builtin modules.

* Update static build methodology.

* Added Nuitka Python check.
2021-06-02 12:56:10 +02:00
Kay Hayen
f5cd5fa468 UI: Warnings and errors for static libpython options
* We detect if it could be used and output an information.

* We detect if its used in module mode and warn about not
  being used there.

* We error out if it's used with "yes", but the file cannot be found.
2021-05-10 17:21:29 +02:00
Kay Hayen
89f4ba2f40 Scons: Determine system prefix no virtualenv path on the outside
* We already have plugins that use this information too, but were
  using different code, e.g. for numpy.

* The real_prefix attribute is only there and most useful.

* This massively cleans up the backend scons file, where this was
  noise in the backend scons code.
2021-05-10 17:21:29 +02:00