Commit Graph

2854 Commits

Author SHA1 Message Date
Donny Lawrence aed55d4e7e CMake: Don't compile PRC's encryptStream unless we have OpenSSL. 2019-06-27 17:38:18 -06:00
Sam Edwards 449a514f5f CMake: Fix typo causing bad paths in installed target files 2019-06-05 02:27:47 -06:00
Sam Edwards d7a093a455 CMake: Define LIBP3DTOOL_FILENAMES for p3dtoolutil 2019-06-04 00:07:11 -06:00
Sam Edwards 088949e2a1 CMake: Update for upstream changes 2019-06-04 00:00:09 -06:00
Sam Edwards 039f5af34e Merge branch 'master' into cmake 2019-06-03 23:12:23 -06:00
Sam Edwards 2f97b76b42 dtoolutil: Overhaul ExecutionEnvironment's dtool path hunting code
The main change here is it uses an array of expected filenames,
which optionally itself feeds off of a compiler definition, rather
than hardcoding the expected filenames straight into the search
code.

The other change is this code is omitted when building statically.
2019-06-02 01:34:54 -06:00
Sam Edwards 83c10d1a0b dtoolutil: Fix UB when musl's dlinfo(RTLD_DI_LINKMAP) fails 2019-05-29 17:27:16 -06:00
rdb 2e9bd0f241 prc: fix compilation issue on MSVC 2019-05-12 20:58:13 +02:00
rdb a7c743fd5e Allow seek of IDecryptStream to begin (for looping encrypted audio) 2019-05-12 15:51:35 +02:00
rdb 60922fabc1 Give istream/ostream a friendlier file-like interface for Python 2019-05-12 15:46:14 +02:00
rdb 0ac36185a9 Merge branch 'release/1.10.x' 2019-05-02 21:34:25 +02:00
Sam Edwards 059c78bade CMake: Restructure multi-configuration binary directory layout
This changes the structure to use paths like `build/Release/lib`
instead of `build/lib/Release`, so that the `build/Release` directory
more closely mimics the structure of `build` when in single-configuration
mode.
2019-05-01 23:44:47 -06:00
rdb 204cbe4464 interrogate: support unicode characters in Python 3 for 'char' arg
Fixes #626
2019-05-01 17:05:12 +02:00
rdb 5d6b4f4a77 dtool: add StreamReader/StreamWriter move ctor and assignment ops 2019-04-29 18:17:54 +02:00
Sam Edwards 873c6b48d6 CMake: Generate interrogate_preamble_python_native.cxx at build time
This also makes sure the file is only rebuilt if the inputs
change, saving on unnecessary rebuilds.
2019-04-16 19:44:03 -06:00
Sam Edwards b8f3c7eb63 CMake: Move some symbols from dtool_config.h to -D flags
The symbols moved aren't used in any headers, so they don't
have to be in the installed dtool_config.h. Removing them
keeps the recompiling to a minimum when an optional feature
is toggled.
2019-04-15 22:16:05 -06:00
Sam Edwards 865d824313 CMake: Remove some unused #cmakedefine directives 2019-04-15 22:15:27 -06:00
Sam Edwards 12036c7ed0 CMake: Remove remaining references to HAVE_CARBON 2019-04-14 22:38:25 -06:00
Sam Edwards 6097d34ead CMake: Neatly format everything for readability and consistency 2019-04-14 22:37:18 -06:00
Sam Edwards 5e82d8e43e CMake: Don't find GLES on macOS; headers known broken 2019-04-14 19:06:33 -06:00
rdb daa57733cb Merge branch 'release/1.10.x' 2019-04-14 23:11:03 +02:00
rdb 3ca3dfd13a interrogate: fix in-place or (|=) operators (see #588) 2019-04-14 17:10:52 +02:00
Sam Edwards b4a532f1d0 CMake: Add support for building against FCollada 2019-03-18 01:56:38 -06:00
Sam Edwards 6eb112a13a CMake: Discover FFTW3 by MODULE only, never CONFIG
This stops a CMake crash on some folks' systems.
2019-03-18 01:54:34 -06:00
rdb d44b090ecd CMake: update for latest Android NDK; fix missing Android sources 2019-03-17 21:16:08 +01:00
rdb a8ceac919a Raise version number to 1.10.3 on release/1.10.x branch 2019-03-12 18:08:19 +01:00
Sam Edwards f8161cc529 Merge branch 'master' into cmake 2019-03-12 02:03:16 -06:00
rdb 8d1bdf0118 Merge branch 'release/1.10.x' 2019-03-10 20:49:52 +01:00
rdb a634e729c8 interrogate: fix uninitialized var, fixes sporadic nb_true_divide
This was a regression introduced by fa6c066b2f (which in turn fixed #529)
2019-03-08 11:53:45 +01:00
rdb 148134284d Merge branch 'release/1.10.x' 2019-03-07 19:04:27 +01:00
rdb 12eeff0dec py_panda: fix memory leak accessing map/seq properties 2019-03-07 17:33:21 +01:00
rdb ba256a8b07 interrogate: fix regression in 2c91fdda1b 2019-03-04 22:51:20 +01:00
rdb 0f5da1c155 dtoolbase: fix warning when compiling on Windows 2019-03-04 16:58:18 +01:00
rdb cbb3c182a5 Merge branch 'release/1.10.x' 2019-03-04 16:57:52 +01:00
rdb 8e4add0326 interrogate: fix refcount trouble assigning PyObject* properties
In particular, this fixes accessing PythonTask.__dict__
2019-03-04 16:46:28 +01:00
rdb fa6c066b2f interrogate: enable true division in Python 2 as well
This allows using "from __future__ import division" and get the expected result for divisions in Python 2.

Fixes #529
2019-03-03 10:29:39 +01:00
rdb 2c91fdda1b interrogate: support in-place ops on properties (eg. light.color *= 2) 2019-02-19 13:46:38 +01:00
rdb c37a33baef interrogate: don't export bindings for global operators
linmath exports a global __mul__, which isn't really useful.
2019-02-19 13:45:37 +01:00
rdb 5e9c478b1a Raise version number to 1.10.2 on release/1.10.x branch
[skip ci]
2019-02-18 12:50:28 +01:00
rdb 80bb5c09fe Merge branch 'release/1.10.x' 2019-02-12 01:13:56 +01:00
rdb 5310945f4c py_panda: fix use of macro that was removed in Python 3.8 2019-02-11 23:36:30 +01:00
rdb 3df3b27a4e prc: prefer global-scope static MutexImpl over local one
MutexImpl guarantees nowadays to be initialized at constant init time, so this is safer on Windows, where we can't rely on magic statics.
2019-02-11 16:23:16 +01:00
rdb b466e77fe3 dtoolbase: make TypeRegistry lock statically initialized
This is possible now that all MutexImpl have a constexpr constructor.
2019-02-11 16:23:16 +01:00
rdb fb5191e812 pipeline: unify ConditionVarFull and ConditionVar
See #550.  Now that we use the Vista API for condition variables, the only place where the distinction is still relevant is Windows XP, and it's just not worth it for that one corner case.
2019-02-11 16:23:10 +01:00
rdb ab569916b1 Disable WinXP mutex emulation when _WIN32_WINNT >= 0x0600 2019-02-11 14:52:21 +01:00
rdb 89392f0e2d dtoolbase: new mutex and condition variable impl on Windows
This uses SRWLock on Vista and above, and uses a hand-rolled implementation on Windows XP that uses Events (and a spinlock, if this is a multi-core system).

Since SRWLocks aren't recursive, ReMutexWin32Impl has been added to implement recursive mutices, using old-fashioned critical sections.

MutexImpl now has a constexpr constructor on all implementations.
2019-02-07 00:20:59 +01:00
rdb 7e0952e367 parser-inc: add synchapi.h and winnt.h headers 2019-02-07 00:20:59 +01:00
rdb 36dd8889e7 Merge branch 'release/1.10.x' 2019-02-06 22:52:19 +01:00
rdb 666568a513 prc: fix recursive use of non-recursive mutex 2019-02-06 22:10:39 +01:00
rdb 86c266fd88 Merge branch 'release/1.10.x' 2019-01-31 00:58:29 +01:00