Commit Graph

132 Commits

Author SHA1 Message Date
Jack Jansen ac7cb05415 Fixed to run better in unix-Python, and to cater for bgenlocations
possibly being missing.
2002-08-05 15:32:30 +00:00
Jack Jansen 6573f31874 Moved bgenlocations to the Mac/Lib directory. Not perfect, but better than
where it was: it is really a configuration file, not a normal module.

By moving it into Mac/Lib we can now also store the location of bgen
itself in there, which is needed because bgen isn't installed.
2002-08-05 14:56:04 +00:00
Jack Jansen 7ea8143fe5 Specify pathnames in a way that works on both OS9 and OSX.
You'll still have to manually edit it, though...
2002-08-04 21:56:12 +00:00
Jack Jansen bae7734eef Use universal newline input when scanning header files. 2002-08-04 21:55:25 +00:00
Jeremy Hylton 938ace69a0 staticforward bites the dust.
The staticforward define was needed to support certain broken C
compilers (notably SCO ODT 3.0, perhaps early AIX as well) botched the
static keyword when it was used with a forward declaration of a static
initialized structure.  Standard C allows the forward declaration with
static, and we've decided to stop catering to broken C compilers.  (In
fact, we expect that the compilers are all fixed eight years later.)

I'm leaving staticforward and statichere defined in object.h as
static.  This is only for backwards compatibility with C extensions
that might still use it.

XXX I haven't updated the documentation.
2002-07-17 16:30:39 +00:00
Just van Rossum ec5d6b908c escape 8-bit chars when generating .py files. fixes bug #566302 2002-06-09 09:08:53 +00:00
Jack Jansen 3adf8d1dae Converted to use re in stead of regex and regsub (finally:-). 2002-04-23 22:43:37 +00:00
Jack Jansen a6aa71deec Oops: we used PyMem_DEL() to clean up objects, and that's a problem since
pymalloc, apparently. Fixed, but this means all bgen-generated modules will
have to be re-generated.

I hope (and expect) that the pymalloc fixes aren't bugfix candidates, because
if they are this is one too.
2002-04-19 14:29:47 +00:00
Jack Jansen ededa90f67 - Added support for inherent pointer types (typedefs of arrays)
- Added a debug class variable to enable parser debugging.
2002-04-12 13:21:49 +00:00
Jack Jansen da70485694 Give type name when complaining about using input-only type for output
or v.v.
2002-04-12 13:14:54 +00:00
Jack Jansen 89dbd97279 Some structures should be passed to Py_BuildValue by reference, not by value,
notably FSSpec and FSRef objects. First half of fix for #531291.

2.2.1 candidate.
2002-03-18 15:24:22 +00:00
Jack Jansen dcfc20282b Added some support for Uicode arguments. Still leaves something to be desired, especially because of poor unicode support in PyArg_ParseTuple. 2002-01-01 22:40:08 +00:00
Jack Jansen f1472384dc Updated to current pathnames. 2002-01-01 22:39:07 +00:00
Jack Jansen 6f4f8c7fe1 Small change to allow for generation of QuickTime module for Windows. 2001-12-18 15:48:28 +00:00
Just van Rossum b48f1d3f8a OSX tweak: recognize both EXTERN_API_C and EXTERN_API declarations.
Jack: I hope I didn't break anything for you!
2001-12-12 20:51:22 +00:00
Jack Jansen 5801a2d8e3 The module generator now tells its object generators about the module name (through the new setmodulename() method). If the module name has been set the object generators output it as part of the tp_name field for the object type. 2001-12-09 23:25:00 +00:00
Jack Jansen b3be216b41 Merged changes made on r22b2-branch between r22b2 and r22b2-mac (the
changes from start of branch upto r22b2 were already merged, of course).
2001-11-30 14:16:36 +00:00
Jack Jansen 1062e706e5 Don't initialize tp_type statically, it won't work on Windows. Spotted
by Thomas Heller (patch 459442).
2001-11-14 15:48:13 +00:00
Jack Jansen fc6a89270e Don't override asplit_pat in Scanner_UH3. No reason to do so, and it broke
generating Waste.
2001-10-30 13:11:24 +00:00
Jack Jansen 5a1516bce5 Only output the buffer size error label if it is used.
Shuts up another couple of gcc warnings.
2001-09-05 10:27:53 +00:00
Jack Jansen d157b3795b Don't use a default "int" return type, gcc gives a warning about it. 2001-09-04 22:16:33 +00:00
Jack Jansen 9403591014 Fixes by Thomas Heller:
- make the selftests work again (they were apparently not used since
  very early in bgen's development), with some minor cleanup by me
- make emacs python mode happier
2001-08-27 14:30:55 +00:00
Jack Jansen 3d3a91c188 Oops, left in a debug statement. It's gone now. 2001-07-17 20:44:50 +00:00
Jack Jansen b2a1de4679 Allow [] after a parameter name. We currently take this to be the same as * in front, which isn't 100% correct but good enough. 2001-07-13 22:28:36 +00:00
Jack Jansen eefac35594 Added WeakLink...Generator classes (should have done that ages ago). These check the c-function pointer for being NULL before calling it and raise UnimplementedError if it is.
This allows system libs to be weak-linked, thereby allowing us to generate functions that are only available on some OS versions without getting a NULL dereference if the function isn't available.
2001-07-01 22:09:29 +00:00
Jack Jansen 1319abf745 Make basechain a class variable in stead of initializing it in __init__. That way it's more easily overridden. 2001-06-28 22:07:30 +00:00
Jack Jansen 4f0f1584fb Added a couple more types that Apple has taken a fancy to. 2001-06-27 21:58:40 +00:00
Jack Jansen ff1cc902fe Added a Parser_OSX class that can parse new-style (C-only) headers,
such as the Core Foundation ones.
2001-06-26 21:53:25 +00:00
Jack Jansen 656fe69383 Generate prototype-style function headers in stead of K&R style. Makes life easier with gcc -Wstrict-function-prototypes. 2001-05-19 13:59:18 +00:00
Jack Jansen 8a69373664 Dialog and Window objects are (finally) different beasts. 2001-02-27 11:05:00 +00:00
Jack Jansen d67566b0f0 Use the filename, not the pathname, in the definitions file
comment. This way the generated files are identical when generated on
different machines.
2001-02-27 11:04:20 +00:00
Jack Jansen 27489d4c8c Optionally weed out duplicate prototypes for the same function (which
happens because the scanner ignores preprocessor #ifs).
2000-12-12 22:24:35 +00:00
Jack Jansen c1a4a04792 Adapted to new standard for initmodule() routine: don't call
Py_FatalError on errors.
2000-12-12 22:22:59 +00:00
Jack Jansen 7e0c0050a8 Various new standard types. 2000-12-12 22:21:39 +00:00
Jack Jansen b8c68634b3 Added support for generating a single module from multiple .h files.
Allow /* */ comments within function prototypes.
2000-12-12 22:21:11 +00:00
Jack Jansen c8081e9bfa Modified the standard mac preamble so we include pymactoolbox.h in
stead of defining lots of function prototypes in each module.
2000-07-15 22:29:30 +00:00
Jack Jansen 629eee0636 ScannerPREUH3.initpatterns() should call Scanner.initpatterns() so the
new comment patterns get included.
2000-07-15 22:27:47 +00:00
Jack Jansen e3889da076 Make a distinction between shorts and unsigned shorts. 2000-07-06 15:17:52 +00:00
Guido van Rossum b7c298f806 Jack Jansen: Support for conditional inclusion of methods and functions 2000-06-28 20:53:33 +00:00
Guido van Rossum e56b4cf804 Jack Jansen: A few new types needed by new API calls. 2000-04-24 14:56:00 +00:00
Guido van Rossum f158887505 Two patches from Jack Jansen:
Three bgen mods:
- support for FSSpecs passed-by-value and points-passed-by-reference added.
- strip single-line comments when parsing header files
- if a definition is blacklisted _do_ output it, but in comment
2000-01-20 20:49:28 +00:00
Guido van Rossum fa968ac35b Patches by Jack Jansen: new type OptionalInBuffer allows
passing either a string/input buffer or None.
1999-09-30 14:15:14 +00:00
Guido van Rossum c7e7c60756 New mixin class that defines cmp and hash that use
the ob_itself pointer.  This allows (when using the mixin)
different Python objects pointing to the same C object and
behaving well as dictionary keys.

Or so sez Jack Jansen...
1999-03-15 16:37:54 +00:00
Guido van Rossum d2cd6f8c93 Small change by Jack Jansen.
Test for self.returntype behaving like OSErr rather than being it.
1999-03-09 16:05:26 +00:00
Guido van Rossum 92f01c54d4 accept * in return value type and convert it to _ptr after the
typename, as in argument types.
(Jack)
1998-04-28 16:04:50 +00:00
Guido van Rossum db9a7b9ef6 Style and StyleParameter are two different types.
(Jack)
1998-04-28 16:04:26 +00:00
Guido van Rossum 8b3c30c0eb class ByAddressType, a simple Type but passed by address even on
input.
(Jack)
1998-04-28 16:04:12 +00:00
Guido van Rossum 557f446618 Patches from Jack for new Apple headers 1998-02-23 15:30:44 +00:00
Guido van Rossum 845037018d Generate new style exception initializer (Jack). 1997-10-08 15:21:57 +00:00
Guido van Rossum 03be7f525e Changes by jack so the generated modules export their types
to Python.
1997-09-22 16:13:19 +00:00
Guido van Rossum dd6798c691 Added NumVersion definition. 1996-08-26 14:38:40 +00:00
Guido van Rossum c30461dd38 Insert filename in IOError message. 1996-08-26 14:37:47 +00:00
Guido van Rossum e47d5f9c52 Addition by Jack to test for missing type support 1996-07-21 02:49:55 +00:00
Guido van Rossum 814842f395 Removed most of the README text since it is all about the Mac specific
examples, which no longer live here.
1996-05-24 18:43:47 +00:00
Guido van Rossum d544d0126d Moved customization to bgenlocations.py module. 1996-04-12 16:39:00 +00:00
Jack Jansen 7d1eba9783 Added extra module argument varstuff, to declare extra module-level vars 1996-01-05 18:05:45 +00:00
Jack Jansen 425e9eb6cb - Added color window/pixmap support
- Added support for obtaining pixmap data
- Added OptResObj_* routines for optional handles
1995-12-12 15:02:03 +00:00
Jack Jansen 1e4ce733fc Added Sint8 and Uint8 types 1995-12-09 14:02:54 +00:00
Jack Jansen 0a54ae24c3 Added cm and qt demos 1995-12-09 14:02:10 +00:00
Jack Jansen 135fb71481 BitMap object support 1995-11-16 22:47:22 +00:00
Jack Jansen 7830ab8f49 Added definitions for GrafPort object and Fixed type. 1995-11-15 15:17:23 +00:00
Jack Jansen b5cf5dad43 Changed file signature to CW7 project mgr 1995-11-14 10:40:45 +00:00
Jack Jansen d40f3c60ca New universal headers 1995-10-09 23:12:22 +00:00
Jack Jansen b95ea18a4c Added ResObj_OptNew declaration 1995-08-17 14:32:23 +00:00
Jack Jansen ec38010808 Added basic mac documentation. 1995-08-14 11:55:07 +00:00
Jack Jansen 80adc227d2 Added missing setselftype method to ManualGenerator 1995-06-18 20:08:28 +00:00
Jack Jansen 7d0bc8343f Ported to Universal Header 2.0.1f (i.e. CW6) 1995-06-09 20:56:31 +00:00
Jack Jansen ae8a68f40c Trying again to check it in. Changes to:
- Use Universal Headers as input
- Change addpack calls to not depend on Guido's disklayout
- Checkge testprograms to use new names for some functions
1995-06-06 12:55:40 +00:00
Guido van Rossum 953dc1a079 added transferSize() method 1995-05-03 17:36:54 +00:00
Guido van Rossum a4007eb816 added listing of argument types encountered 1995-03-23 10:41:10 +00:00
Guido van Rossum 227a4232e6 the usual 1995-03-10 14:42:57 +00:00
Guido van Rossum ea64dea05f another round 1995-02-27 10:11:31 +00:00
Guido van Rossum 9784295b15 another round... ported to __SC__ 1995-02-19 15:59:49 +00:00
Guido van Rossum d9ff26b1a0 reorganized class structure so Manualgenerator works again 1995-02-05 16:56:49 +00:00
Guido van Rossum 4df16c7996 read repair instructions from file 1995-02-05 16:56:02 +00:00
Guido van Rossum bcf0854b53 added README 1995-02-05 16:52:24 +00:00
Guido van Rossum 80ffd6683c bgenGeneratorGroup.py: changed placement of some blank lines in output
bgenObjectDefinition.py: support chaining of object definitions
macsupport.py: support functions returning pointers to existing windows/dialogs
bgen.py: tighten rules for recognizing simple symbol definitions
1995-01-30 11:44:02 +00:00
Guido van Rossum f808012f5e Use case-dependent variant of fnmatch 1995-01-27 02:40:02 +00:00
Guido van Rossum 01f5a81d11 Lots of new stuff again. Moved buffer types to some separate files.
Added some new-fangled features to bgenOutput.  Generate doc strings!
1995-01-25 22:59:21 +00:00
Guido van Rossum f8de0685c9 Lots of changes.
Renamed some things.
Added support for methods directly to bgenGenerator.py.
Completely reworked buffer, string and and structure types.
1995-01-22 18:35:09 +00:00
Guido van Rossum 8d6c180c8d fully adapted to new naming scheme and added some features for AppleEvent generation 1995-01-18 23:46:59 +00:00
Guido van Rossum 8cfc4bfb9d initial version 1995-01-18 23:45:01 +00:00