Commit Graph

2300 Commits

Author SHA1 Message Date
rdb 0210384615 dtoolbase: Fix static destructor ordering issue 2026-01-24 20:28:07 +01:00
rdb 8fe8862f06 dtoolbase: The default pvector constructor shouldn't be explicit 2026-01-07 19:59:45 +01:00
rdb b630e14dc4 py_compat: Add vectorcall functions 2026-01-07 19:50:08 +01:00
rdb 0bb8a4519a Use PyObject_CallOneArg instead of PyObject_CallFunctionObjArgs for perf 2026-01-07 19:34:49 +01:00
rdb cb03554da5 putil: Support vector_uchar to be passed to an event parameter 2025-12-31 23:01:43 +01:00
rdb b4b18724bd dtoolutil: Improve error messages for iostream wrappers 2025-12-30 23:18:46 +01:00
Bernhard M. Wiedemann 2759fb9606 build: Allow to build for riscv64 2025-12-18 15:21:50 +00:00
rdb 6acdcc5a8a patomic: Fix support for macOS pre-10.12
For now we will unconditionally use ulock APIs on arm64 (which requires macOS 11 anyway) and weak-link it (with fallback to pthreads implementation) on Intel

See also #1780
2025-12-18 13:41:38 +01:00
rdb e809c9eb92 android: Complete support for android:extractNativeLibs=false
This is the non-legacy way to ship native libraries nowadays, leaving them in the .apk so that there doesn't need to be an extraction step and the app takes up less space.
2025-11-09 21:58:08 +01:00
rdb 32bdca9015 android: Work on API level 36 support (though target 35 for now) 2025-11-08 23:58:21 +01:00
rdb 90ca53ac2d android: Fixes to allow Panda to run from the adb shell 2025-11-05 12:50:30 +01:00
rdb e524dc9766 dtoolbase: Apply pvector libc++ workaround across the board
The bug with empty vector_uchar causing a crash seems to occur on Android as well
2025-11-05 12:47:40 +01:00
rdb ce31e41ab7 dtoolbase: Work around macOS compiler bug with empty vector
Observed with macOS 15.4 SDK when passed two equal pointers to vector_uchar
2025-10-26 12:54:40 +01:00
rdb 867f1747e9 dtoolbase: Fix out-of-bounds access in pdtoa.cxx 2025-10-15 21:22:03 +02:00
rdb 5f9bb65505 make-prc-key: Update deprecated API use for OpenSSL v3 2025-10-15 11:42:10 +02:00
rdb f40e611eed parser-inc: Add some missing headers
[skip ci]
2025-10-14 15:20:14 +02:00
rdb 6ac2164c25 notify: Print out C++ backtrace on assert-abort 2025-10-10 17:51:30 +02:00
rdb cd791ca7fc pstats: Add new feature to count Python objects by type
This is useful for profiling cases where the number of Python objects is growing more than expected

Requires Python 3.14a6 and can be enabled with pstats-python-ref-tracer true
2025-09-04 16:29:15 +02:00
rdb 3f45a8e367 dtool: Improve memory usage tracking without USE_DELETED_CHAIN
Now all classes that use ALLOC_DELETED_CHAIN participate in memory usage tracking even when USE_DELETED_CHAIN is not set (as long as DO_MEMORY_USAGE is set)
2025-09-04 14:35:56 +02:00
rdb 9427f2b590 dtool: Track DeletedChain memory use even without USE_DELETED_CHAIN 2025-09-04 14:04:48 +02:00
rdb 212ad7486c prc: Fix recursion reading notify-timestamp config.prc variable 2025-09-04 13:31:24 +02:00
rdb 32d2a13751 dtoolutil: Fix missing std:: prefix 2025-09-04 00:57:37 +02:00
rdb 05a610fadf build: Update to interrogate 0.7.0 2025-09-04 00:44:12 +02:00
rdb 2ab3ea39c4 interrogatedb: Name interrogate_request structs
This allows them to be forward-declared
2025-09-03 23:36:43 +02:00
rdb f5713d1240 cleanup: Fix missing `std::` prefixes 2025-09-03 23:36:04 +02:00
rdb d1f4be7305 py_compat: Add PyUnstable_Object_IsUniquelyReferenced 2025-08-26 14:19:27 +02:00
rdb 535105c373 build: Update to interrogate 0.6.0
Fixes #1743
2025-07-28 15:18:03 +02:00
Olivier Roussel cbb313d732
Use Win32 native calls for atomic also with clang-cl (#1746) 2025-05-11 09:15:12 +02:00
rdb 6452907b64 Improvements for env handling with node.js and emscripten
- Initializes the environment so that getenv et al works properly
- No longer calls JS functions at static init time; the JS preamble will
  pass the right env vars to ExecutionEnvironment
- Sets the binary name to the path of the .js file
2025-02-03 18:06:30 +01:00
rdb 79d6727077 Move MAIN_DIR initialization code from interrogate to panda3d
Using the new -init flag, see panda3d/interrogate#3
2025-02-02 20:11:32 +01:00
rdb fa25c51d30 notify: Fix compile error on Android 2024-11-26 16:40:18 +01:00
rdb b51dd4d7bc Merge branch 'release/1.10.x' 2024-11-06 22:52:54 +01:00
rdb 72b9dd9a70 parser-inc: add emscripten/heap.h to squelch interrogate warning 2024-11-04 18:40:33 +01:00
rdb 7c74060035 dtoolutil: Read environment variables in emscripten under node.js 2024-11-04 18:40:26 +01:00
rdb 94c63fe9da dtoolutil: Remove silly unused variable 2024-11-04 13:25:22 +01:00
rdb 50b984cffd dtoolbase: Fix test failure on 32-bit Windows with pftoa 2024-10-31 23:50:27 +01:00
rdb ff91f127bf py_compat: Fix Python 2.7 compilation error
This code never actually gets compiled in Python 3

[skip ci]
2024-10-30 21:52:23 +01:00
rdb 6d54aee0c7 Remove runtime dependency on interrogatedb 2024-10-30 17:46:26 +01:00
rdb 0c1a0799b1 Fix faulty auto-merge 2024-10-30 14:41:06 +01:00
rdb e58449cde7 dtoolutil: Let Python do Filename conversion to UTF-8 2024-10-30 13:42:33 +01:00
rdb 7560a1edd1 Merge branch 'release/1.10.x' 2024-10-30 13:42:21 +01:00
rdb f47b34d2a1 Fix remaining uses of ._PyType member in extension code
This should be replaced with Dtool_GetPyTypeObject, hiding the implementation details a bit so that we can more easily change the underlying structure if we need later

Also adds Py_NewRef to py_compat.h, backporting from master
2024-10-30 13:26:34 +01:00
rdb 0ba2aadcd6 Introduce Py_IS_TYPE, use for Py_TYPE comparisons 2024-10-30 13:17:11 +01:00
rdb 64454b1c9f Replace direct uses of ob_type, which gives problems in nogil build 2024-10-30 13:17:11 +01:00
rdb f50fef3744 Switch over to C++14, drop support for MSVC 2015
The main reason is that the current development version of Eigen requires C++14 to be enabled, so otherwise we can't compile with the latest Eigen.

If really needed, we can keep support for MSVC 2015 (please make your voice heard) but that would lock us out of a few features of C++14.
2024-10-19 13:16:36 +02:00
rdb beff684af3 Further thread safety changes for Python 3.13 free threading
See #1683
2024-09-19 20:43:06 +02:00
rdb 4b2fa45578 Make use of PyImport_GetModule function 2024-09-19 20:42:31 +02:00
rdb 5106fc879f Changes for compatibility with Python 3.13
Includes some preliminary work to make free-threading safe, see also #1683
2024-09-19 16:01:10 +02:00
rdb b32459ffa1 Merge branch 'release/1.10.x' 2024-09-19 15:51:25 +02:00
rdb cdafd81764 Fix compilation issues with Python 3.13 2024-09-19 15:47:50 +02:00