rdb
4ef8e5228e
interrogate: fix ability to return ReferenceCount-like classes
...
Classes with virtual ref(), unref() and get_ref_count() methods, like RecorderBase, could not be returned by PT() from methods because they didn't inherit from ReferenceCount. However, classes do not need to inherit ReferenceCount to be able to be tracked by a PointerTo, and defining an abstract base class with pure virtual ref()/unref()/get_ref_count() is a way to avoid dual inheritance of ReferenceCount.
2020-02-22 12:10:55 +01:00
Leandro (Cerberus1746) Benedet Garcia
5f7809469c
general: removed all WIN32, WIN32_VC and friends
2020-02-05 22:45:03 -07:00
rdb
b272af8bbf
Merge branch 'cmake'
2020-01-22 11:20:51 +01:00
Sam Edwards
d0b6e2275d
CMake: Remove IS(_NOT)_MINSIZE_BUILD
2020-01-21 18:15:28 -07:00
Sam Edwards
36e06236a9
CMake: Remove IS(_NOT)_DEBUG_BUILD
2020-01-21 17:42:17 -07:00
Sam Edwards
68f1083dbf
CMake: Make HAVE_VIDEO4LINUX dependent on Linux
2020-01-21 17:07:04 -07:00
rdb
601fc8f46a
dtool: remove obsolete PandaVersion.pp
...
This file was used by ppremake and is no longer used by makepanda.
The version number should instead be obtained from the setup.cfg file in the root.
2020-01-13 15:14:21 +01:00
rdb
1bb4a032aa
Drop support for Windows XP
2020-01-13 15:06:44 +01:00
rdb
2960ae60e2
Bump version number on release/1.10.x branch to 1.10.6
...
[skip ci]
2020-01-13 15:05:39 +01:00
Sam Edwards
572019bd50
CMake: Remove reference to PhysX
2020-01-12 13:53:26 -07:00
Sam Edwards
151d51ef09
CMake: Autodetect THIRDPARTY_DIRECTORY when in source root
2020-01-12 12:02:22 -07:00
Sam Edwards
a1d43f7b88
CMake: Fix WANT_PYTHON_VERSION not always being respected
2020-01-08 21:03:52 -07:00
Sam Edwards
ce6caa8d3e
CMake: `/etc/*.prc` -> `/etc/panda3d/*.prc`
2020-01-07 17:04:30 -07:00
Sam Edwards
0aa599feeb
CMake: Take away the HAVE_TINYDISPLAY option
...
This is at least until we can support building it, so that
other components in Panda don't assume TINYDISPLAY is present.
2020-01-07 13:16:51 -07:00
Sam Edwards
b00d7b23bc
CMake: Use `CMAKE_FIND_PACKAGE_PREFER_CONFIG` to control `find_package` override
2019-12-31 06:48:06 -07:00
Sam Edwards
74e9c610d3
CMake: Don't assume <PackageName>_FOUND will always be caps
...
This is more consistent with the new find_package() behavior,
especially when CONFIG mode is involved.
2019-12-31 06:47:34 -07:00
rdb
b78b7be326
Merge branch 'release/1.10.x'
2019-12-30 01:50:54 +01:00
rdb
ac85b05400
py_compat: fix _PyObject_CallNoArg in Python 3.5
2019-12-25 16:32:19 +01:00
Sam Edwards
cdc16291dd
CMake: `SKIP_COMPOSITING` -> `SKIP_UNITY_BUILD_INCLUSION`
...
The latter is what CMake (3.16+) itself uses; we should start using
CMake's own unity build capabilities if available.
2019-12-24 17:20:43 -07:00
Sam Edwards
10760d5f7a
CMake: Properly redetect Python if WANT_PYTHON_VERSION changes
2019-12-24 16:16:31 -07:00
pmp-p
8615e25a12
interrogate: use fully qualified module name in PyModule_Create
...
This is helpful when static linking and explicitly initializing the modules.
Closes #308
2019-12-11 16:49:42 +01:00
rdb
9565d99fab
Merge branch 'release/1.10.x'
2019-12-08 15:18:51 +01:00
rdb
97a19c278b
parser-inc: define __SIZE_TYPE__ and __PTRDIFF_TYPE__
...
This fixes an Interrogate parse error in termux when /usr/include gets added as -S argument
2019-12-08 10:28:50 +01:00
Sam Edwards
e474350a48
CMake: Add a "Coverage" configuration, when using GCC/Clang
2019-12-05 10:35:25 -07:00
Sam Edwards
6bde9423df
CMake: Don't pass GNU-like -f options to clang-cl
2019-12-05 10:34:47 -07:00
Sam Edwards
5c98b793a2
CMake: Make sure C++11 is marked as the required standard
2019-12-05 10:34:47 -07:00
Sam Edwards
cfedd71093
CMake: Disable searching macOS frameworks when using THIRDPARTY_DIRECTORY
2019-12-05 10:34:47 -07:00
Leandro Benedet Garcia
71dfc51f8a
general: Changed macros and definitions for the engine to compile with MinGW ( #793 )
2019-12-02 09:21:01 -07:00
Leandro Benedet Garcia
ae33d62978
general: Update EXPCL declarations to be MinGW-friendly ( #792 )
2019-11-27 11:25:24 -07:00
Sam Edwards
4556059c90
CMake: Use find_program to detect host tools when cross-compiling
...
In the future, we should also try to do find_package(Panda3D) to use
the host tools even if Panda3D isn't in a system path.
2019-11-13 15:30:26 -07:00
Sam Edwards
f377bdfb29
CMake: Copy thirdparty/**/*.dll to bin/ directory
2019-11-13 15:30:23 -07:00
Sam Edwards
ae59bd031f
CMake: Fix typo
2019-11-11 20:16:00 -07:00
Sam Edwards
0b342d0f9f
CMake: Don't use PythonInterp/PythonLibs when FindPython available
2019-11-11 00:48:14 -07:00
Sam Edwards
1c866dff78
CMake: Don't override Python_ROOT
2019-11-11 00:48:11 -07:00
rdb
1b863ead55
cppparser: fix finding types in explicitly specialized template class
2019-11-09 20:26:33 +01:00
Sam Edwards
9b7bcf2564
Merge branch 'master' into cmake
2019-11-07 21:21:04 -07:00
rdb
d2bd4181e0
interrogate: set tp_base to DTOOL_SUPER_BASE and tp_basicsize to 0
...
The tp_basicsize field, as well as a few others, seem to be inherited from whatever is set in tp_base. In absence of a tp_base, Python will set it to PyBaseObject_Type, which is not at all correct for Panda types.
2019-11-06 10:49:53 +01:00
Sam Edwards
856754a3de
general: Don't abuse PyErr_Restore
...
The intended purpose of this function is to restore an exception
that has already been raised and saved with PyErr_Fetch. It should
not be used to raise new exceptions nor should it be used to clear
the current exception.
The especially egregious example is
`PyErr_Restore(exc_type, nullptr, nullptr);`
as the null value may not be handled correctly.
2019-11-05 18:44:20 -07:00
Sam Edwards
0e0b2186c7
CMake: Add #line directives to interrogate_preamble_python_native
2019-11-04 16:43:12 -07:00
Sam Edwards
cf59d3d983
CMake: Remove p3dtoolconfig from build
...
It's just p3prc now, so instead we install some symlinks
2019-11-04 14:02:06 -07:00
Sam Edwards
5b4ea0e277
CMake: Proper Standard compiler flags for MSVC
2019-11-04 13:41:20 -07:00
rdb
a72be90f17
Merge branch 'release/1.10.x'
2019-10-29 23:13:22 +01:00
rdb
4098f55d70
dtoolutil: record stdlib (libc++ vs libstdc++) in PandaSystem
...
This is particularly relevant on macOS, for finding out which stdlib Panda was compiled with.
2019-10-25 10:21:30 +02:00
Sam Edwards
12c16eb9ff
Merge branch 'master' into cmake
2019-10-15 23:43:25 -06:00
Sam Edwards
9ecaa0056b
CMake: Break out p3interrogatedb as a first-class library
2019-10-15 23:27:03 -06:00
rdb
247f3c415a
Merge branch 'release/1.10.x'
2019-10-08 19:50:48 +02:00
rdb
c6990b9f9b
prc: fix possible stack overflow in StreamReader
...
Fixes #754
2019-10-08 19:44:23 +02:00
rdb
3c9591cfbf
interrogate: envelop function calls in parentheses
...
This reduces the risk of calling a preprocessor macro instead of a method.
2019-10-08 19:43:34 +02:00
rdb
fb5440bd07
cppparser: hack fix for method defs in parentheses
2019-10-08 19:43:34 +02:00
rdb
657af0edb5
cppparser: don't expand function-style macro if not followed by (
2019-10-07 18:38:21 +02:00
Sam Edwards
5961cc2ee0
Merge branch 'master' into cmake
2019-10-05 15:00:49 -06:00
Sam Edwards
aadcb179d6
CMake: Change default build type to Standard
2019-09-21 02:45:46 -06:00
Sam Edwards
9bb59b03b9
CMake: Add several essential flags
...
See GH #717 for relevant discussion
2019-09-19 22:33:11 -06:00
Sam Edwards
bd1605907e
CMake: Rename 'Distribution' config to 'Standard'
...
This is the configuration shipped to Python developers
in the form of the public SDK.
2019-09-19 22:18:28 -06:00
Sam Edwards
8429f50d3a
CMake: Use -fno-rtti on most build configurations
2019-09-19 04:44:46 -06:00
rdb
5242b6a8b4
interrogate: remove apparently-unused definition
2019-09-16 21:22:16 +02:00
rdb
9d14117ad3
Merge branch 'release/1.10.x'
2019-09-16 21:20:20 +02:00
rdb
343c808fc4
dtoolbase: fix repeated calls to TypeRegistry::ptr() in register_type
2019-09-16 21:09:15 +02:00
rdb
f4926bff20
Fix a variety of ABI compatibility issues
...
We need third-party extensions that link with the Panda3D libraries to continue to work when shipping them with the optimized libraries that deploy-ng uses. To do this, we need the optimized build not to omit symbols that these extensions might depend on.
2019-09-16 03:33:09 +02:00
rdb
5a23821ac1
notify: work around GCC 4.7 compilation issue with constexpr
...
This can be reverted on master if we can verify that it does work with GCC 4.8.
2019-09-16 03:27:22 +02:00
rdb
d7681b23d3
notify: fix ABI incompatibility with NDEBUG on Windows
...
On MSVC (not with GCC/clang), adding `static` changes the mangled symbol name, so we shouldn't add that when building with NDEBUG. On GCC/clang, it doesn't, but adding `const` does, and C++11 rules make `constexpr` methods implicitly `const`, so I've removed the `constexpr` variants from NotifyCategoryProxy for now. Hopefully the compiler is still smart enough to compile out any references when compiling with NDEBUG.
2019-09-15 20:24:58 +02:00
Mitchell Stokes
660249a5cc
Remove p3d/AppRunner/plugin system
...
Co-authored-by: rdb <git@rdb.name>
Closes #734
2019-09-10 16:49:57 +02:00
rdb
2c42cfcc1a
Merge branch 'release/1.10.x'
2019-09-10 16:34:11 +02:00
rdb
72b1814331
interrogate: fix comment in C bindings for default arguments
...
Fixes #732
2019-09-10 09:37:25 +02:00
rdb
b3f3f53e01
interrogate: fix missing std:: prefix for string_holder
2019-09-10 09:37:25 +02:00
Paul m. p. P
35b80d0751
interrogate: add missing async/await keywords
...
Closes #735
2019-09-10 09:37:24 +02:00
Paul m. p. P
a667a303bd
parser-inc: fix missing include to pick up PyObject
...
Closes #723
2019-09-06 16:02:51 +02:00
rdb
9415ca811d
parser-inc: remove obsolete libtar.h file
2019-09-06 16:02:51 +02:00
Sam Edwards
9512b2274b
CMake: Remove libtar, unneeded downloadertools progs
2019-09-06 04:07:42 -06:00
Sam Edwards
dbe7a2f94b
Merge branch 'master' into cmake
2019-09-06 04:05:12 -06:00
rdb
b4fd82b812
load_dso: we can expect LoadLibraryExW to be available
2019-09-06 09:46:57 +02:00
rdb
d92b440617
Merge branch 'release/1.10.x'
2019-09-06 09:46:20 +02:00
Sam Edwards
5654e64645
CMake: First batch of improvements per review
...
Addressing feedback per @rdb in GitHub #717
2019-09-06 01:11:50 -06:00
rdb
57ff1a5441
interrogate: remove vestigial code causing assert for C bindings
...
Fixes #722
2019-09-03 12:15:02 +02:00
Sam Edwards
5fa4af9189
CMake: Rely on GNUInstallDirs to specify install paths
...
This makes multiarch OSes happy as they can dictate that
64-bit libraries go into 'lib64'
2019-08-31 00:48:42 -06:00
Sam Edwards
1a654cba04
CMake: Record the location that headers are installed
...
This populates INTERFACE_INCLUDE_DIRECTORIES on the targets
after they're installed.
2019-08-30 22:58:18 -06:00
Sam Edwards
cde25670d6
CMake: Remove some uses of CFG_INTDIR
...
It's not install() friendly, so we use $<CONFIG> instead in
some cases. Unfortunately, $<CONFIG> isn't friendly with
add_custom_command's OUTPUT options while CMAKE_CFG_INTDIR
explicitly is, so we use a hybrid approach until CMake gets
its act together.
2019-08-28 17:12:01 -06:00
Sam Edwards
8588ddc3dc
CMake: When building on MSVC, add /bigobj to compiler where necessary
2019-08-25 15:54:02 -06:00
Sam Edwards
855d217f35
CMake: Update for upstream changes
...
- Miles is gone; remove all references
- pystub is gone; remove all references
- dcparser uses Interrogate extensions properly; don't depend on Python
- stringStream* moved to express from downloader
2019-08-24 18:07:22 -06:00
Sam Edwards
19ed9f6b47
Merge branch 'master' into cmake
2019-08-24 18:07:12 -06:00
Sam Edwards
60c1570db8
CMake: Add support for makepanda-style thirdparty directories
2019-08-23 16:09:13 -06:00
rdb
1ec7c5d20e
Delete pystub, it is no longer needed or used for anything.
2019-08-23 18:58:53 +02:00
rdb
0e4597fb2e
cppparser: fix finding types in explicitly specialized template class
2019-08-23 13:15:36 +02:00
Sam Edwards
c62d5fbe35
CMake: Fix incorrect comment
2019-08-22 14:58:43 -06:00
Sam Edwards
9ca4f19b90
CMake: Make sure we define flags variables for Distribution
...
This fixes a CMake error with the MSVC generator, but it's also
generally good to have around.
2019-08-22 14:58:43 -06:00
Sam Edwards
896a8dbca5
CMake: Some more changes to p3pystub
...
- Don't build it at all on Win32 where it isn't needed
- Don't link it into interrogate_module (oops, missed that)
2019-08-22 14:58:43 -06:00
rdb
d5a576f3cb
Bump version number on release/1.10.x branch to 1.10.5
2019-08-20 13:23:11 +02:00
rdb
a40228202b
Merge branch 'release/1.10.x'
2019-08-18 22:34:23 +02:00
Sam Edwards
d008037244
CMake: Use Python::Module, not Python::Python, for extension linkage
...
CMake 3.15+ provides the former, which extension modules should link
against in order to ensure the ABI-appropriate linkage for the
platform.
For older versions of CMake, try to hack up the correct linkage for
the platform. If the platform isn't recognized, tell the user to
upgrade CMake.
This also tweaks p3pystub just a bit, since now it's actually relied
upon to resolve runtime link issues when p3dcparse pulls in direct,
as p3dcparse doesn't link against Python at all.
2019-08-15 16:47:53 -06:00
rdb
df8ccdb7ab
Add support for Python 3.8
2019-08-13 17:48:32 +02:00
rdb
b141483b22
notify: fix macOS build, don't include <atomic> if we don't have it
2019-08-13 13:48:17 +02:00
rdb
bc563c8664
Merge branch 'release/1.10.x'
2019-08-03 11:24:05 +02:00
rdb
a86bdcfe3f
notify: support setting notify-output after static init time
...
Previously it was only possible to set this in the default-loaded Config.prc file; now it is possible to set this at any time, though it can only be set once from its default value and not changed after it has already been set to something other than the default value.
2019-08-03 10:36:00 +02:00
rdb
0ce25d0e30
prc: fix a compilation warning in encryptStream.cxx
2019-07-10 14:12:05 +02:00
rdb
99e6a1d9b8
dtoolutil: iostream should use Py_ssize_t instead of int
2019-07-10 14:11:53 +02:00
rdb
fa62344452
express: better fix for encrypt_string Python 3 issues
...
A workaround for the bug described in #684 was made in e080d33e31 but this fix is significantly cleaner.
Unit test was added.
2019-07-10 13:46:42 +02:00
rdb
d5788d9422
Merge branch 'release/1.10.x'
2019-07-10 12:22:56 +02:00
rdb
e080d33e31
interrogate: temp hack to make encrypt_string return bytes
...
Fixes #684
2019-07-10 09:54:57 +02:00
Donny Lawrence
3160c77bc3
CMake: MODULEs should use .dylib, not .so
2019-06-27 17:38:18 -06:00
Donny Lawrence
603e240788
CMake: Allow for config-specific dtool-config vars
...
This makes it so some options can be toggled on a per-configuration
basis (for multi-config generators), as long as they don't affect what
targets are actually being generated.
2019-06-27 17:38:18 -06:00