OSDN Git Service

Integrate generation of comTypes COM interfaces in to scons:
authorMichael Curran <mick@kulgan.net>
Mon, 15 Nov 2010 06:28:44 +0000 (16:28 +1000)
committerMichael Curran <mick@kulgan.net>
Mon, 15 Nov 2010 06:28:44 +0000 (16:28 +1000)
*Rename source/generate.py to source/generateComInterfaces.py, as that is all this file does now.
*NVDA's root sconstruct: generate comtypes COM interfaces in source/comInterfaces with the help of generateComInterfaces.py.
*source/setup.py: no longer call generate.py.

sconstruct
source/generateComInterfaces.py [moved from source/generate.py with 95% similarity]
source/setup.py

index 3cce815..f86a29d 100755 (executable)
@@ -127,6 +127,12 @@ for t2tFile in env.Glob(os.path.join(userDocsDir.path,'*','*.t2t')):
 \r
 env.Depends(sourceDir,userDocsDir)\r
 \r
+#Generate all needed comtypes COM interfaces\r
+comInterfaces=env.Command(sourceDir.Dir('comInterfaces'),None,[['cd',sourceDir.path,'&&',sys.executable,'generateComInterfaces.py']])\r
+env.AlwaysBuild(comInterfaces)\r
+env.Depends(comInterfaces,sourceDir.Dir('typelibs'))\r
+\r
+\r
 # A builder to generate an NVDA distribution.\r
 def NVDADistGenerator(target, source, env, for_signature):\r
        buildCmd = ["cd", source[0].path, "&&",\r
similarity index 95%
rename from source/generate.py
rename to source/generateComInterfaces.py
index d4bccba..295d681 100755 (executable)
@@ -16,9 +16,6 @@ comtypes.client.gen_dir='.\\comInterfaces'
 import sys\r
 sys.modules['comtypes.gen']=comtypes.gen=__import__("comInterfaces",globals(),locals(),[])\r
 \r
-import os\r
-from glob import glob\r
-\r
 COM_INTERFACES = (\r
        ("UI Automation", comtypes.client.GetModule, "UIAutomationCore.dll"),\r
        ("IAccessible 2", comtypes.client.GetModule, "typelibs/ia2.tlb"),\r
index 14fd200..fcf13b0 100755 (executable)
@@ -39,7 +39,6 @@ build_exe.isSystemDLL = isSystemDLL
 class py2exe(build_exe.py2exe):\r
        """Overridden py2exe command to:\r
                * Add a command line option --enable-uiAccess to enable uiAccess for the main executable\r
-               * Run generate.py first\r
                * Add additional files, including those generated by generate.py, to the data files list\r
                * Don't copy w9xpopen, as NVDA will never run on Win9x\r
        """\r
@@ -53,9 +52,6 @@ class py2exe(build_exe.py2exe):
                self.enable_uiAccess = False\r
 \r
        def run(self):\r
-               # Run generate.py.\r
-               import generate\r
-               generate.main()\r
                # Add the files just generated.\r
                compiledModExtention=getModuleExtention(imp.PY_COMPILED)\r
                sourceModExtention=getModuleExtention(imp.PY_SOURCE)\r