Commit Graph

2149 Commits

Author SHA1 Message Date
rdb cbcb2416d7 Merge branch 'release/1.9.x' 2015-07-06 10:32:30 +02:00
rdb 69b8d6a4b5 Fix memory leak in tuple-returning getters 2015-07-06 10:31:33 +02:00
rdb 7026854cc2 Fixes to get the C binding generator to work 2015-07-05 16:07:08 +02:00
rdb dd17fd864b Properly separate dtoolconfig and interrogatedb 2015-06-30 16:16:35 +02:00
rdb d9342043b0 Deprecate pandac.PandaModules and genPyCode, move extensions to panda3d/, clean up imports and deprecated behaviour 2015-06-28 13:55:31 +02:00
rdb 236b0c590c Use explicit symbol visibility control in GCC/clang 2015-06-22 21:01:34 +02:00
rdb 269b4eac27 Fix METH_NOARGS calling convention violations in interrogate, and special support for LINK_ALL_STATIC in interrogated code 2015-06-21 17:53:37 +02:00
rdb 7a836cbbd9 Merge branch 'release/1.9.x' 2015-06-21 17:46:34 +02:00
rdb a7d56f0e65 Fix compilation error when compiling Python without threads 2015-06-21 17:41:28 +02:00
rdb 8ecf6a7b9f Fix getattr() and hasattr() of vector classes when invalid attribute name is used 2015-06-21 15:33:42 +02:00
rdb 2515ea5dff Merge branch 'release/1.9.x' 2015-06-13 13:37:33 +02:00
rdb 48208b0f27 Support #pragma once in interrogate 2015-06-13 13:33:11 +02:00
rdb 11ed8a4d8d Use dynamic type lookup for interrogate to eliminate inter-module dependencies
It is now no longer necessary to link to core.pyd
Also includes a slight coercion optimization for trivial types
2015-06-06 19:36:40 +02:00
rdb 4d46172fba Revert non-Windows template export changes from 1.9.x, they're less stable than I thought 2015-06-06 16:55:33 +02:00
rdb 205e731c4a Merge branch 'release/1.9.x' 2015-06-04 12:00:25 +02:00
rdb 4a88d71ff6 Fix compile issues on Windows with rtdist build 2015-06-04 11:44:29 +02:00
rdb 9c0076a09b Bump version to 1.10.0 2015-06-03 20:47:53 +02:00
rdb a70878c4ef Merge branch 'release/1.9.x' 2015-06-03 20:26:22 +02:00
rdb 6cbc608b8d Bump version to 1.9.1 2015-06-03 20:26:05 +02:00
rdb f42c6645d5 Update prebuilt bison files for people who build without bison 2015-06-03 19:54:01 +02:00
rdb f69354d9fa Explicit template instantiation on gcc/clang, implement cfsworks' suggestion of moving compiler-specific stuff out of pandasymbols.h et al 2015-06-03 13:36:04 +02:00
rdb 141c7a9c35 Improve build performance on Windows slightly 2015-06-02 21:02:35 +02:00
rdb 75978222a1 Merge branch 'release/1.9.x' 2015-06-02 00:31:24 +02:00
rdb cc62e731b7 Fix compilation with ppremake 2015-06-01 00:21:32 +02:00
rdb e2dfc935a1 Various refactoring, esp. of GLSL input system 2015-05-21 14:16:45 +02:00
tobspr ac779d46d7 Fix typos in interrogate 2015-05-18 18:12:09 +02:00
rdb 5f875239f2 Merge branch 'release/1.9.x' 2015-05-02 22:17:29 +02:00
Sam Edwards 88bb4102b2 dtoolbase: Rename pdtoa.c -> pdtoa.cxx.
It's actually a C++ file (contains C++-only constructs) and should have the proper file extension so it compiles with the appropriate language.
2015-05-02 22:14:17 +02:00
rdb ab1c516ebc Merge various fixes from branch 'release/1.9.x'
Conflicts:
	panda/src/gobj/texture.cxx
2015-04-16 17:11:20 +02:00
rdb 52288e299b Fix interrogate regression that broke multiview support 2015-04-16 16:57:46 +02:00
rdb c130d25193 Add typedefs to API documentation generator 2015-04-15 13:55:50 +02:00
rdb d7552f0d8a Merge in bugfixes from branch 'release/1.9.x' 2015-04-14 15:50:53 +02:00
rdb d430e611bb size_t params of methods in template classes did not support 64-bit values on 64-bit systems 2015-04-14 15:47:35 +02:00
rdb 3b17e8fff1 Fix issue tracking memory allocations of more than 2GB at a time on 64-bit systems 2015-04-14 15:44:11 +02:00
rdb 8e76328b3b Fix Bullet support (Broken float division in default args in interrogate) 2015-04-09 13:08:17 +02:00
rdb 16e7831566 Remove executable permissions from files that don't need them 2015-04-05 15:41:49 +02:00
rdb 41184b1189 Optimizations to improve start-up time (esp. in JavaScript) 2015-04-04 19:05:54 +02:00
rdb 44346769b4 Fix pstrtod bug with exponents 2015-04-04 16:00:19 +02:00
rdb 19e5677e18 Let's increment coreapi version number to 1.0.4.2 2015-04-01 14:01:58 +02:00
rdb 426fdf0842 Fix issue where overloads with invalid default arg types weren't exported at all 2015-03-31 22:34:28 +02:00
rdb 346d04a256 Work around buggy list::remove in libc++ 2015-03-31 13:55:32 +02:00
rdb af0d853eef Disable i386 atomics impl on Mac OS X until we find out why it won't compile 2015-03-31 13:54:38 +02:00
rdb ff58db25ac Fix inheritance of hash functions, restore compare_to(), slot get_hash/get_key 2015-03-28 21:55:55 +01:00
rdb eaedfa68dc Fix regression: methods returning const char pointer were ignored. 2015-03-28 20:51:45 +01:00
rdb 53d10aa3a3 Fix sticky exception when passing over overloads with single string arg. 2015-03-28 20:51:08 +01:00
Sam Edwards 64120cd7d8 general: Add missing includes and forward-declarations. 2015-03-28 19:27:48 +01:00
rdb 477aa4bdfe Fix various Windows build issues 2015-03-27 23:17:35 +01:00
rdb f624cdcac0 Fix various Mac OS X bugs and build issues 2015-03-25 19:43:21 +01:00
rdb c9f8ccf901 Fix interrogate bug with detecting parameter coercion possibility 2015-03-25 19:37:00 +01:00
rdb 3371df8403 Fix tp_compare, better __repr__/__str__ handling 2015-03-25 19:36:35 +01:00
rdb 38d02fadf9 Fix various interrogate issues with parsing PhysX headers 2015-03-23 19:27:29 +01:00
rdb de0b0dd879 Fix various issues with Python 3 support, fix samples to work with Python 3 2015-03-23 00:32:47 +01:00
rdb b63d5fbe8c Support cyclic garbage collection through PythonTask objects 2015-03-15 12:24:06 +01:00
rdb e608fa69c7 Merge branch 'master' into interrogate-overhaul
Conflicts:
	dtool/src/cppparser/cppBison.yxx
	dtool/src/interrogate/interfaceMakerPythonNative.cxx
2015-03-14 16:47:31 +01:00
rdb 68cf8cf44f Fix various issues with API documentation generator 2015-03-13 18:40:26 +01:00
rdb 04d4309b14 SSE2-enhanced sRGB encode (with runtime CPU detection) 2015-03-01 11:46:52 +01:00
rdb da3f642902 Various interrogate improvements 2015-02-27 15:01:42 +01:00
rdb 238cbad2a1 Merge branch 'master' into interrogate-overhaul 2015-02-27 12:48:33 +01:00
rdb db87bc7914 PointerToArray fixes, Windows build fixes, more move constructors 2015-02-27 12:45:11 +01:00
deflected 2dd1b5e3b3 dtool: Fixed building under FreeBSD
There is missing define in dtoolutil which
	prevent building of dtool under FreeBSD.

Signed-off-by: deflected <deflected@github>
2015-02-20 11:58:28 +02:00
rdb e29efdd0c9 Don't use swap() as fallback for std::move(), it's more picky 2015-02-15 20:26:23 +01:00
rdb 9513046e59 Various substantial changes to Interrogate:
* Allow arbitrary selection of optional keyword arguments in some cases
* Reduce code bloat of generated bindings
* Work around awkward resolution of set_shader_input overloads
* Document the code a bit better
* Make coercion a bit cleaner for reference counted types
* A few optimization tweaks
* Use generic errors in NDEBUG build to reduce size of string pool
2015-02-15 13:48:13 +01:00
rdb 4dc4c9eb3d Merge branch 'master' into interrogate-overhaul
Conflicts:
	dtool/src/interrogate/functionRemap.cxx
	dtool/src/interrogate/interfaceMakerPythonNative.cxx
	panda/src/event/pythonTask.cxx
	panda/src/express/multifile.h
	panda/src/express/pointerToArray.I
	panda/src/mathutil/config_mathutil.N
	panda/src/putil/config_util.N
	panda/src/putil/doubleBitMask.h
2015-02-11 14:41:58 +01:00
rdb a6eb3fa442 Make NodePathCollection and TextureCollection constructors extensions 2015-02-11 14:14:03 +01:00
rdb cbd70ad8af Move all Python bindings out of core DLLs into the .pyd files. 2015-02-10 14:30:51 +01:00
rdb 4f27ed600f Attempt to work around glibc bug when using clang with -ffast-math 2015-02-09 22:15:41 +01:00
rdb bd7d86ba9e We use /fp:fast on Windows, let's be consistent and use -ffast-math on other platforms in release builds 2015-02-09 20:39:16 +01:00
rdb 27582ff447 Remove HAVE_GL(ES) from dtool_config.h, we don't use it in source 2015-02-09 17:57:12 +01:00
rdb e9a64736a3 Fix 32-bit Windows compilation issues with Eigen 2015-02-09 16:51:59 +01:00
rdb bd86907181 Fix assortment of compilation issues and annoyances 2015-02-08 23:25:11 +01:00
rdb b2f73d0877 Merge branch 'master' into interrogate-overhaul 2015-02-08 12:11:19 +01:00
rdb 01cd4fcbd5 Fix compile error on clang when C++11 support is disabled 2015-02-07 18:15:56 +01:00
rdb 33249c5f43 Make pregenerated bison files up-to-date (for people without bison) 2015-02-07 17:40:31 +01:00
rdb 028c09add5 Implicit cast string to InternalName in c++, also optimize for string literals 2015-02-07 16:43:25 +01:00
rdb eaabc1bfa5 Add ConfigVariableColor 2015-02-05 13:34:52 +01:00
rdb 0a64bdb33b Fix MouseRecorder & let PandaNode inherit from TypedWritableReferenceCount 2015-01-24 16:12:04 +01:00
rdb 3423a09f4f Merge branch 'master' of github.com:panda3d/panda3d 2015-01-21 22:12:53 +01:00
rdb f68e8cdee4 More reliable and hopefully less crashy way of determining libp3dtool location 2015-01-21 20:32:48 +01:00
rdb 98cbf5c309 Remove unnecessary field 2015-01-19 00:08:39 +01:00
rdb b5a49efc2e Merge branch 'master' into interrogate-overhaul 2015-01-07 19:34:15 +01:00
rdb af15797a25 Many, many performance optimizations and enhancements 2015-01-07 19:30:01 +01:00
rdb ecf627b315 Fix a bug substituting some enums
(Still a bug: some enums in templated classes don't get instanced properly)
2015-01-05 17:04:38 +01:00
rdb e2cdade9d2 Merge branch 'master' into interrogate-overhaul 2015-01-04 20:39:58 +01:00
rdb 936fa653b0 Remove unneeded HAVE_ flags from dtool_config.h generation 2015-01-04 20:34:59 +01:00
rdb 5e905d4463 Fix various parser bugs, improve error reporting
(to show the included file chain -vv is now needed)
2015-01-04 20:30:24 +01:00
rdb 34761a0b9b Merge branch 'master' into interrogate-overhaul
Conflicts:
	dtool/src/cppparser/cppBison.yxx
2015-01-03 16:52:44 +01:00
rdb e8905b840c Use C++11 move semantics to dramatically improve PointerTo performance 2015-01-02 15:25:58 +01:00
rdb 368e1ca644 Support noexcept and rvalue references in C++ parser 2015-01-02 14:57:33 +01:00
rdb 202008c470 Support digraphs and alternate operator names in CPPParser 2015-01-02 14:55:06 +01:00
rdb 6db5d0dc11 Huge cppparser and interrogate overhaul, bringing:
* Better support for typedefs
* Same code should compile for both 32-bit and 64-bit
* C++11 typed enum support
* Synthesize __setitem__ when operator [] returns reference
* Rewrite coerce system to have better performance
* Change semantics of __getattr__ and __setattr__ to match
  Python's, add __getattribute__, __delattr__ and __delitem__
* Improve performance of slot functions a bit more
* Reduce memory overhead of type system
* Some support for wrapping arrays of numeric types
* C++11 character type support in cppparser
* Chars are handled as strings of length 1
* Template functions for CreatePyInstance that use runtime type map
* More functions from dtool as extension functions
* Code cleanup
2014-12-30 16:43:52 +01:00
rdb 624b3dad14 Delete DirectX 8 support 2014-12-30 02:00:43 +01:00
rdb be1eb1d812 More minor linux packaging fixes 2014-12-29 15:16:33 +01:00
rdb f189290dfe Support for automated build bot scripts, add PandaSystem::get_git_commit() 2014-12-22 20:27:37 +01:00
rdb 5aaaf72851 Fix issue with Eigen when matrix determinant is nearly 0
also fix error message for singular matrix
2014-12-10 16:32:04 +01:00
rdb 15b88283b2 Merge branch 'master' of github.com:panda3d/panda3d 2014-12-03 21:53:58 +01:00
rdb b3fd8b94ad Interrogate should be able to parse any constexpr as enum value, including one that references a different enum value 2014-12-03 21:51:58 +01:00
David Rose ad449848c2 extend .gitignores for more ppremake files 2014-12-02 09:48:04 -08:00
rdb 4c10c9ec1f Oops, fix GCC 2014-11-26 21:14:35 +00:00
rdb 861234c349 Bunch of minor compile fixes and changes 2014-11-26 13:33:10 +00:00
rdb 3490be94b7 Fix deadlock issues with type registry 2014-11-21 16:51:36 +00:00
rdb c3bf91d608 GCC atomics also work in clang 3.0+ 2014-10-21 20:49:58 +00:00
rdb a65b477734 Commit patches by cfsworks:
cxx: Fix missing includes masked by composite builds.
misc: Fix typos in comments.
config: Fix missing config forward-declarations.
direct: Adjust Python imports to panda3d.* instead of pandac.*.
display: Split graphicsWindow out into an extension.
framework: Use if/elif/elif/endif instead of ifdef/elif/elif/endif.
ode: Remove erroneous INLINE declarations.
interval: Fix missing import.
2014-10-19 22:41:47 +00:00
rdb f3094043df Fix left shift in Python (LP bug #1289475) 2014-10-19 15:50:54 +00:00
rdb 31a71c990d Fix issues with OS X 10.9 compilation, fix issues uncovered by clang 2014-10-12 18:45:37 +00:00
rdb 3ed7ae0bd9 Oops; fix memory leak 2014-10-10 13:54:53 +00:00
rdb 902bedc314 Fix Python 3 crash on Windows, and fix some Python 3-related compile errors 2014-10-10 13:45:05 +00:00
rdb fbc3564bf9 More work on Android port 2014-10-08 15:09:25 +00:00
rdb 0a84dd9ca3 Android fixes 2014-10-06 17:44:58 +00:00
rdb 24386cdc1e Use a table to make InternalName::make more efficient for Python interned strings 2014-10-02 18:28:06 +00:00
rdb 778b4390f4 Temporary fix for Python 3 compilation error 2014-09-21 13:37:32 +00:00
rdb db7a6561f2 When finding comment for an enum, don't accidentally pick up a same-line comment of an enum value on the preceding line 2014-09-21 13:22:52 +00:00
rdb d9c529a5d0 Update prebuild cppBison files 2014-09-20 11:54:04 +00:00
rdb a6229f1fac Support for comments in enums. Improve comment handling in C++ parser. Improve doxygen reference. Update interrogate interface. (Addendum to interrogatedb v2.3.) 2014-09-19 23:34:11 +00:00
rdb c178aba639 Add property support to interrogate (using MAKE_PROPERTY or using published members) 2014-09-19 15:23:52 +00:00
rdb 8afd8b1f57 interrogatedb v2.3: elements can have comments 2014-09-19 15:18:08 +00:00
rdb 30d8cc29b3 Rewrite handling of stringify and token-paste operators to work better. Add support for variadic macros. 2014-09-19 15:14:11 +00:00
rdb 87910799b6 Split off epvector.h into its own file in an attempt to cut down compilation time 2014-09-14 22:04:36 +00:00
rdb 5437a3e5a9 Allow const variables with initializers to be used in expressions (like enum definitions). Also fix compiler warning. 2014-09-14 22:02:16 +00:00
rdb a044561be5 *Always* check for exceptions in C++ methods, otherwise we miss important exceptions thrown in Python code called by C++ methods (like SystemExit!) 2014-08-26 21:01:12 +00:00
rdb e468b293d1 Fix a longstanding memory leak in certain interrogate exception handlers.
Raise MemoryError when constructor returns NULL.
Properly check argument count of constructors that take no arguments.
2014-08-26 17:17:37 +00:00
rdb ab5e4f496b Fix cmath includes on GNU 2014-08-21 17:00:57 +00:00
rdb 4db966f431 GNU needs #include <limits> for numeric_limits 2014-08-21 16:54:44 +00:00
rdb a7f2f50236 Move string_utils.* to from putil to dtoolutil 2014-08-20 19:33:55 +00:00
rdb 515f93a0b8 Better handling of nan/infinity. Previously, these weren't working on Windows in config strings. 2014-08-20 19:32:11 +00:00
rdb 24d705b031 The "null" ButtonHandle and TypeHandle now evaluate to false 2014-07-29 11:15:12 +00:00
rdb 3e974abf5d Fix silly bug with longs 2014-07-23 17:41:22 +00:00
rdb f02662d4e0 Improve interrogate code readability, use METH_STATIC for static methods, support anonymous enums 2014-07-22 20:06:59 +00:00
rdb e98618b105 Only use constexpr when the compiler conforms to C++11 2014-07-21 15:41:31 +00:00
rdb c257ce624e Interrogate overhaul that dramatically increases performance for the simpler methods 2014-07-18 13:54:38 +00:00
rdb dba717fe83 GCC 4.7 enables constexpr, not 4.6 2014-07-17 16:18:04 +00:00
rdb 1be0fb5169 Add atomic adjust impl that uses GCC intrinsics. Also, make use of "constexpr" when available. 2014-07-17 13:11:06 +00:00
rdb cba254d0bc Add wstring type handle. Also add some useful MAKE_SEQs. 2014-06-26 20:06:04 +00:00
rdb c33ef307d6 Delete MesaGL renderer, it seems not to be used any more 2014-06-18 14:59:11 +00:00
rdb 5dae464394 Add integer vectors. Also add __pow__ operator to vectors. 2014-06-11 18:01:50 +00:00
rdb 634190281d Support __pow__ in interrogate 2014-06-11 17:17:45 +00:00
rdb 5b967671fa Fix Python 3 build issue with iterator extensions 2014-05-23 13:42:26 +00:00
rdb d5d5de1d7e Make iterators work with interrogate by mapping None to NULL for the iternext method. Not the best solution, but is easy and fits most use cases. 2014-03-27 15:15:58 +00:00
rdb 31a192f27b Fix interrogate understanding of PY_VERSION_HEX 2014-03-09 11:43:08 +00:00
rdb ae4bddd7f7 Fix Python 3 compile issue 2014-03-09 01:00:23 +00:00
rdb c213712600 fix windows build when the module is in different dll than the library defs 2014-02-20 18:38:35 +00:00
rdb 5f2c0a6e04 Big commit aiding in separation of Python bindings:
* Most extension functions have been moved to C++.
 * In makepanda, Python bindings are compiled into panda3d/<module>.pyd.
2014-02-20 13:33:26 +00:00
rdb 3070f18c24 Add assertion in a case where I've seen an occasional crash 2014-02-19 08:38:57 +00:00
rdb a10bbe9c9e One more pystub symbol for Python 3 that's used in direct 2013-12-23 21:06:20 +00:00
rdb 4944d7cd7b use compare_to and get_class_type instead of compareTo and getClassType 2013-12-18 10:24:00 +00:00
rdb 708e8dc513 Remove HAVE_GETTIMEOFDAY which we aren't using 2013-12-17 18:01:54 +00:00
rdb f29c4681e1 Fix broken Python 3 support. 2013-12-17 17:42:16 +00:00
rdb 634c3c5a0a Stubs for Python 3 functions 2013-12-17 15:03:30 +00:00
rdb b4714bcdf1 no place in the source uses HAVE_GETTIMEOFDAY, and it conflicts with Python, so let's simply not define it 2013-12-12 17:20:14 +00:00
rdb 5b1ea47fee add F_operator flag 2013-11-18 18:37:27 +00:00
rdb 52e4acc0ce fix a crash with the python-obj, python and c interface makers 2013-11-08 10:30:27 +00:00