~malept/ubuntu/lucid/python2.6/dev-dependency-fix

« back to all changes in this revision

Viewing changes to Mac/Modules/ah/ahsupport.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-02-13 12:51:00 UTC
  • Revision ID: james.westby@ubuntu.com-20090213125100-uufgcb9yeqzujpqw
Tags: upstream-2.6.1
ImportĀ upstreamĀ versionĀ 2.6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# This script generates a Python interface for an Apple Macintosh Manager.
 
2
# It uses the "bgen" package to generate C code.
 
3
# The function specifications are generated by scanning the mamager's header file,
 
4
# using the "scantools" package (customized for this particular manager).
 
5
 
 
6
import string
 
7
 
 
8
# Declarations that change for each manager
 
9
MACHEADERFILE = 'AppleHelp.h'           # The Apple header file
 
10
MODNAME = '_AH'                         # The name of the module
 
11
 
 
12
# The following is *usually* unchanged but may still require tuning
 
13
MODPREFIX = 'Ah'                        # The prefix for module-wide routines
 
14
INPUTFILE = string.lower(MODPREFIX) + 'gen.py' # The file generated by the scanner
 
15
OUTPUTFILE = MODNAME + "module.c"       # The file generated by this program
 
16
 
 
17
from macsupport import *
 
18
 
 
19
# Create the type objects
 
20
AHTOCType = Type("AHTOCType", "h")
 
21
 
 
22
includestuff = includestuff + """
 
23
#include <Carbon/Carbon.h>
 
24
 
 
25
"""
 
26
 
 
27
# From here on it's basically all boiler plate...
 
28
 
 
29
# Create the generator groups and link them
 
30
module = MacModule(MODNAME, MODPREFIX, includestuff, finalstuff, initstuff)
 
31
 
 
32
# Create the generator classes used to populate the lists
 
33
Function = OSErrFunctionGenerator
 
34
 
 
35
# Create and populate the lists
 
36
functions = []
 
37
execfile(INPUTFILE)
 
38
 
 
39
# add the populated lists to the generator groups
 
40
# (in a different wordl the scan program would generate this)
 
41
for f in functions: module.add(f)
 
42
 
 
43
# generate output (open the output file as late as possible)
 
44
SetOutputFileName(OUTPUTFILE)
 
45
module.generate()