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