23389 Commits

Author SHA1 Message Date
rdb
14f118b672 pgraph: expose WeakNodePath to Python 2018-05-20 15:56:58 +02:00
rdb
140644d8b6 stdpy: add Python 3 stuff to glob module, remove re dependency 2018-05-20 11:50:32 +02:00
Donny Lawrence
1b3c6fb444 Fix issue with extra flags 2018-05-19 10:30:26 -05:00
Donny Lawrence
8b51b0faeb Merge branch 'cmake' of https://github.com/panda3d/panda3d into cmake 2018-05-17 16:59:04 -05:00
Donny Lawrence
beec6578c8 Fix CMake build issues on macOS. 2018-05-17 15:41:31 -05:00
Sam Edwards
a3a24f9840 travis: Fix Python test execution 2018-05-16 19:41:15 -06:00
Sam Edwards
c62f3d0d23 CMake: Don't set a default Python version.
A blank string to FindPythonInterp finds the version
of Python that the system "python" interpreter invokes,
so this means the default is now the system default.
2018-05-16 18:14:07 -06:00
Sam Edwards
94937dd432 travis: Fix error reporting on failed builds
Apparently after_script is allowed to fail, so just
run the tests inside script.
2018-05-16 18:05:40 -06:00
Sam Edwards
d96765b957 CMake: Enhance checkPandaVersion.h
This removes the requirement that it only be included
in a single C++ file per library, by forcing the compiler
to emit the function that references the version symbol
as a weak symbol itself.  Now, the linker will not only
tolerate redundant inclusions, it will also coalesce them
together.
2018-05-16 17:38:13 -06:00
Sam Edwards
b08ab6324e CMake: Move panda version logic to dtoolbase 2018-05-16 14:36:31 -06:00
Sam Edwards
9f46d3dc48 CMake: Remove unused LINK_IN_PHYSX 2018-05-15 18:35:22 -06:00
rdb
0bb81a43c9 express: make a thread safe weak pointer implementation (#321)
To access a WeakPointerTo in a thread-safe way, use something like this:

    if (auto ptr = weak_ptr.lock()) {
      ..use ptr as regular PointerTo
    }

The new implementation no longer needs a reference to be stored to all weak pointers on the WeakReferenceList; a mere count of weak pointers is sufficient.  Therefore, callbacks theoretically no longer require a WeakPointerTo to be constructed.

The WeakPointerTo class is not actually atomic; it could be made so, but I don't believe it's worth it at this time.
2018-05-15 13:40:21 +02:00
Sam Edwards
62e335a801 CMake: Update for upstream changes 2018-05-14 19:20:44 -06:00
Sam Edwards
6efb07de93 Merge branch 'master' into cmake 2018-05-14 19:09:14 -06:00
Sam Edwards
aeeabdbd3b CMake: Move interrogatedb interrogation to p3interrogatedb 2018-05-14 19:07:27 -06:00
Sam Edwards
538c615abe CMake: Light tidying in Interrogate.cmake 2018-05-14 19:07:27 -06:00
Sam Edwards
8e230495a1 CMake: Consolidate "module or static" library logic 2018-05-14 19:07:27 -06:00
Sam Edwards
d2d5e3014c CMake: Generate, don't use, pydtool.cxx 2018-05-14 19:07:27 -06:00
Sam Edwards
47f7d3f297 general: Add headers explaining the renamed config_*.h 2018-05-14 02:36:42 -06:00
Sam Edwards
c81229c1a8 pfmprogs: Rename config_pfm to config_pfmprogs 2018-05-14 02:36:42 -06:00
Sam Edwards
52e7c952b3 putil: Rename config_util to config_putil 2018-05-14 02:36:42 -06:00
Sam Edwards
87c11d8018 pstatclient: Rename config_pstats to config_pstatclient 2018-05-14 02:36:42 -06:00
rdb
b6f2919420 deploy-ng: make Tkinter work for Windows non-cross-builds
This is only a temporary solution, since this only supports one platform.  We may have to pack the .tcl files into the panda3d .whl archive.
2018-05-13 23:39:30 +02:00
rdb
d00109452a deploy-ng: set __file__ for all frozen modules (using import hooks)
Many thirdparty libraries rely on __file__ being set properly, for example to be able to locate data files, so it is easiest to just set this to something remotely sensible (like the executable path).
2018-05-13 23:37:40 +02:00
rdb
5322811e08 deploy-ng: be lenient when processing DLLs with invalid codepage 2018-05-13 23:35:52 +02:00
rdb
ef69e8935f freezer: add mechanism for overriding modules with custom code 2018-05-13 23:35:00 +02:00
rdb
f34d4c4851 deploy-ng: add hidden imports for matplotlib 2018-05-13 23:32:46 +02:00
rdb
126f4bc418 deploy-ng: copy over data directories for matplotlib 2018-05-13 23:30:14 +02:00
rdb
229e1a1b1f deploy-ng: fix building a Linux build from Python 2.7 on Windows 2018-05-13 23:26:55 +02:00
rdb
e292fedd91 deploy-ng: add .libs directory in .whl to search path
This seems to be a convention imposed by auditwheel and used by numpy.
2018-05-13 22:56:44 +02:00
rdb
ea351da50c deploy-ng: fix issue with irrelevant wheels in cache dir being used
This is still not a perfect solution, since eg. the wrong version of a package may still be used if older versions are still in the __whl_cache__ directory.  We may want to look into using pip to resolve the package versions, or do something clever such as automatically remove cached wheels if a newer version of the same package was downloaded.
2018-05-13 22:56:11 +02:00
rdb
6175e79c57 cppparser: fix infinite recursion stack overflow with enum classes 2018-05-06 22:21:24 +02:00
rdb
666591ff48 cppparser: fix compile warnings on MSVC 2018-05-06 22:19:33 +02:00
rdb
ed54856e9f makepanda: don't fail building Windows installer if Pmw is missing 2018-05-06 22:18:30 +02:00
Mitchell Stokes
bf1b486e5a Merge branch 'master' into deploy-ng 2018-05-06 11:30:01 -07:00
Mitchell Stokes
ebe2588a50 Merge branch 'master' into deploy-ng 2018-05-06 11:21:13 -07:00
Mitchell Stokes
cb077fcdae deploy-ng: Add panda3d.dist-info to installers 2018-05-06 11:20:19 -07:00
Mitchell Stokes
7073609480 deploy-ng: Use sys.executable instead of 'python' in tests/build_samples.py 2018-05-06 10:25:32 -07:00
Mitchell Stokes
7eeb416765 deploy-ng: Remove debug print 2018-05-06 10:24:55 -07:00
Mitchell Stokes
081ceb4329 deploy-ng: Fix parsing platforms from setup.cfg 2018-05-06 09:50:17 -07:00
Mitchell Stokes
82d32e1f14 deploy-ng: Fix using lists in dictionaries when using setup.cfg 2018-05-06 09:47:02 -07:00
Mitchell Stokes
aaf7ff9a6c device: Define BTN_DPAD* if not present 2018-05-05 18:12:52 -07:00
rdb
549301d0f0 putil: keep reference to objects queued for writing
This prevents a crash when a reference counted object is destroyed right after a write_pointer call.

Fixes #310
2018-05-05 23:10:41 +02:00
rdb
8a98bf42a3 general: enable use of tie and tuple on macOS (from TR1, for now) 2018-05-05 23:09:39 +02:00
rdb
71eee6df3f showbase: make iris/fade/letterbox transitions awaitable
This allows using a coroutine to build up a more complex sequence including transitions (eg. scripted cutscene), as well as provide a standard way to register callbacks upon completion of the transition.
2018-05-05 23:05:50 +02:00
rdb
cf58de4d04 showbase: make base.movie() awaitable (by returning a future) 2018-05-05 23:02:11 +02:00
rdb
11e21af52c showbase: fix iris/fade transitions for extreme aspect ratios
Fixes #311
2018-05-05 22:08:52 +02:00
rdb
b45726001e task: fix double free when failing to retrieve coroutine exception 2018-05-05 20:53:04 +02:00
rdb
9db74bca1d task: use consistent ordering for tasks with same sort value
We don't guarantee a specific order in this case, especially because they can be run in either order if there is more than one thread, but it is still useful to have a defined order for single-threaded task chains.  To that end, tasks
are now run in the order in which they were added to taskMgr.add (in absence of any other ordering constraints).

Fixes #309
2018-05-01 15:06:27 +02:00
Mitchell Stokes
52360dc10c deploy-ng: Add bztar and xztar installers 2018-04-30 20:31:54 -07:00