Commit Graph

76 Commits

Author SHA1 Message Date
rdb db3ab953e4 Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +01:00
rdb da3f642902 Various interrogate improvements 2015-02-27 15:01:42 +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 b2f73d0877 Merge branch 'master' into interrogate-overhaul 2015-02-08 12:11:19 +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 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 861234c349 Bunch of minor compile fixes and changes 2014-11-26 13:33:10 +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 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 c257ce624e Interrogate overhaul that dramatically increases performance for the simpler methods 2014-07-18 13:54:38 +00:00
rdb 5dae464394 Add integer vectors. Also add __pow__ operator to vectors. 2014-06-11 18:01:50 +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 634c3c5a0a Stubs for Python 3 functions 2013-12-17 15:03:30 +00:00
rdb 0d656a6848 fix typo. thanks to heek_ 2013-09-19 08:04:15 +00:00
rdb b7b9adfd35 compile fixes 2013-09-18 23:35:15 +00:00
rdb d4d93c5d3f Add PyExc_Exception 2013-03-07 11:04:19 +00:00
rdb e1fda64ad3 add PyObject_RichCompareBool 2013-03-06 18:15:12 +00:00
rdb c5bc7790ae Add PyLong_AsSsize_t 2013-02-19 22:41:38 +00:00
rdb f3c2b51084 Add PyUnicode_FromStringAndSize 2013-02-19 19:01:43 +00:00
David Rose 97f805b24a pystub should be a static library for better portability, especially for dynamic loaders that aren't so awesome. 2012-06-20 21:41:49 +00:00
David Rose 646f12f625 squelch backtrace on SystemExit 2012-02-16 00:19:09 +00:00
David Rose dfe16c64f6 rename all Panda-built libraries to begin with libp3 or libpanda 2011-12-06 02:39:21 +00:00
rdb 3414a4ff1c add PyBool_FromLong to pystub, apparently it's needed to compile on FreeBSD 8.2 2011-09-19 17:23:13 +00:00
rdb 71ddd9de3b Add missing PyList_Type 2011-01-23 19:33:42 +00:00
rdb b18fd7d192 Add missing symbols to pystub hopefully to stop the buildbots' error diarrhoea 2010-12-24 19:57:26 +00:00
Chris Brunner b709455d4e support for PyObject_Compare 2010-06-23 00:35:57 +00:00
rdb c957b42580 Fix compilation issue on Linux (dunno where it came from) 2010-05-25 15:27:15 +00:00
David Rose a942ce5fbf lists and strings will be automatically coerced into a PTA_blah 2010-02-11 22:38:34 +00:00
David Rose 816ddc0387 low-level support for python copy and pickle modules 2009-12-10 01:09:06 +00:00
rdb e545c9193e Forgot PyList_GetItem 2009-07-19 10:06:54 +00:00
rdb 36d663ff98 Better solution for MAIN_DIR: read out sys.argv 2009-07-19 09:52:43 +00:00
rdb 99df904c89 Add missing PyEval_CallObjectWithKeywords 2009-06-28 12:23:13 +00:00
David Rose c5f3c844e1 PyExc_StandardError 2009-04-28 00:44:58 +00:00
David Rose e4d6159667 PyErr_WarnEx 2009-02-17 19:20:53 +00:00
David Rose 0ec1467ea9 warnings 2009-02-15 01:44:54 +00:00
rdb d078e16236 added PyInt_AsSsize_t (to fix build errors 2008-11-08 15:16:37 +00:00
David Rose 58e0537e3c wide interrogate improvements: sequence protocol, MAKE_SEQ, __setitem__, and parameter coercion 2008-11-07 21:12:42 +00:00
David Rose f7105a081b raise an exception if 'this' is null 2008-10-29 00:53:27 +00:00
rdb 2b34362166 Added PyExc_RuntimeError 2008-10-23 11:07:37 +00:00
David Rose fd1218b07b task generators 2008-09-27 12:33:47 +00:00
David Rose cfee0052d9 ValueError 2008-09-27 00:16:38 +00:00
David Rose 2ea1a241a1 PyTuple_Pack 2008-09-19 14:17:34 +00:00
David Rose 524128b9fd wip: starting experimental C-based task manager 2008-09-19 00:58:04 +00:00
David Rose fb9c56432a we are now using the modified BSD license 2008-05-28 18:37:20 +00:00
Josh Yelon d71fd1d89c Changes for 64-bit 2008-04-10 20:03:16 +00:00
David Rose 523ef75910 more symbols 2007-09-07 20:44:00 +00:00
David Rose d412ad35d1 PyThreadState stuff 2007-06-26 00:27:36 +00:00
David Rose 8d2bdc39fd first pass at SIMPLE_THREADS 2007-06-21 15:33:27 +00:00
David Rose 4bde6a0604 add PyLong_AsLong() 2007-04-27 17:26:34 +00:00
David Rose 01b6acdcfe PyEval_InitThreads 2007-04-18 22:05:19 +00:00