Add multi-platform support for pyarmor_runtime executables
1. Platform Detection and Executable Selection:
- Automatically detects OS (Windows, Linux, macOS) and architecture
- Intelligently selects the appropriate executable based on platform
- Supports architecture-specific executables (e.g., pyarmor-1shot-windows-x86_64.exe)
- Falls back to platform-specific and generic executables when needed
2. Runtime File Auto-Detection:
- Added ability to automatically find all pyarmor_runtime files in a directory
- Supports multiple runtime file formats (.pyd, .so, .dylib)
- Recursively searches through all subdirectories
3. New Command-Line Options:
- Added --executable option to specify a custom executable path
- Added --auto-detect-runtime option to automatically detect runtime files
* Port test runner script to Python.
This allows us to keep the test output in sorted order while still running the
tests in parallel. It also now defaults to using the number of available CPU
threads for parallel execution, rather than the previously hard-coded default.
* Also port decompyle_test.sh script to python within run_tests.py
* Fix cmake check target for multi-config generators.
Adds testing of release builds on both MSVC and GCC.
* Fix diff comparisons on Windows
* Ubuntu runners don't have ninja by default
* Support for JUMP_BACKWARD
* Initial support for Python 3.13
* Remove opcode from another old PR, not needed in the current one
* Update bytes/python_3_13.cpp
Co-authored-by: Michael Hansen <zrax0111@gmail.com>
* Update bytecode_ops.inl
Co-authored-by: Michael Hansen <zrax0111@gmail.com>
* Update .gitignore
Co-authored-by: Michael Hansen <zrax0111@gmail.com>
* Update bytecode_ops.inl
---------
Co-authored-by: Michael Hansen <zrax0111@gmail.com>