OSDN Git Service

SCons will now build IAccessible2 and acrobatAccess typelibs itself from their respec...
authorMichael Curran <mick@kulgan.net>
Wed, 11 May 2011 07:42:27 +0000 (17:42 +1000)
committerMichael Curran <mick@kulgan.net>
Wed, 11 May 2011 07:42:27 +0000 (17:42 +1000)
nvdaHelper/acrobatAccess_sconscript
nvdaHelper/archBuild_sconscript
nvdaHelper/ia2_sconscript
nvdaHelper/remote/sconscript
nvdaHelper/vbufBackends/adobeAcrobat/sconscript
nvdaHelper/vbufBackends/gecko_ia2/sconscript
readme.txt
sconstruct

index 7187808..2c4ab7c 100644 (file)
@@ -17,8 +17,6 @@ Import('env')
 idlFile=env.Command("acrobatAccess.idl","#/include/acrobatAccess/acrobatAccess.idl",Copy("$TARGET","$SOURCE"))\r
 \r
 tlbFile,headerFile,iidSourceFile,proxySourceFile,dlldataSourceFile=env.TypeLibrary(source=idlFile)\r
-iidObjFile=env.Object(iidSourceFile)\r
-proxyObjFile=env.Object(proxySourceFile)\r
-dlldataObjFile=env.Object(dlldataSourceFile)\r
 \r
-Return(['tlbFile','headerFile','iidObjFile','proxyObjFile','dlldataObjFile'])\r
+Return(['tlbFile','headerFile','iidSourceFile'])\r
+\r
index 0dfa763..1ce074d 100644 (file)
@@ -15,6 +15,7 @@
 Import(\r
        'env',\r
        'sourceDir',\r
+       'sourceTypelibDir',\r
        'libInstallDir',\r
        'clientInstallDir',\r
 )\r
@@ -52,9 +53,14 @@ Export('env')
 \r
 acrobatAccessRPCStubs=env.SConscript('acrobatAccess_sconscript')\r
 Export('acrobatAccessRPCStubs')\r
+if TARGET_ARCH=='x86':\r
+       env.Install(sourceTypelibDir,acrobatAccessRPCStubs[0]) #typelib\r
 \r
 ia2RPCStubs=env.SConscript('ia2_sconscript')\r
 Export('ia2RPCStubs')\r
+env.Install(libInstallDir,ia2RPCStubs[0]) #proxy dll\r
+if TARGET_ARCH=='x86':\r
+       env.Install(sourceTypelibDir,ia2RPCStubs[1]) #typelib\r
 \r
 if TARGET_ARCH=='x86':\r
        localLib=env.SConscript('local/sconscript')\r
index 4a67cbf..80785b8 100644 (file)
@@ -17,8 +17,13 @@ Import('env')
 idlFile=env.Command("ia2.idl","#/include/ia2/ia2.idl",Copy("$TARGET","$SOURCE"))\r
 \r
 tlbFile,headerFile,iidSourceFile,proxySourceFile,dlldataSourceFile=env.TypeLibrary(source=idlFile)\r
-iidObjFile=env.Object(iidSourceFile)\r
-proxyObjFile=env.Object(proxySourceFile)\r
-dlldataObjFile=env.Object(dlldataSourceFile)\r
 \r
-Return(['tlbFile','headerFile','iidObjFile','proxyObjFile','dlldataObjFile'])\r
+proxyDll=env.SharedLibrary(\r
+       target='IAccessible2Proxy',\r
+       source=[iidSourceFile,proxySourceFile,dlldataSourceFile],\r
+       LIBS=['rpcrt4','oleaut32','ole32'],\r
+       CPPDEFINES=[env['CPPDEFINES'],'WIN32','REGISTER_PROXY_DLL'],\r
+       LINKFLAGS=[env['LINKFLAGS'],'/export:DllGetClassObject,private'],\r
+)\r
+\r
+Return(['proxyDll','tlbFile','headerFile','iidSourceFile','proxySourceFile','dlldataSourceFile'])\r
index 25195f3..4c01be6 100644 (file)
@@ -74,7 +74,7 @@ remoteLib=env.SharedLibrary(
                "ia2Support.cpp",\r
                "ia2LiveRegions.cpp",\r
                ia2utilsObj,\r
-               ia2RPCStubs[2],\r
+               env.Object('_ia2_i',ia2RPCStubs[3]),\r
                "rpcSrv.cpp",\r
                "vbufRemote.cpp",\r
                vbufRPCServerSource,\r
index df7cf19..3034f8d 100644 (file)
@@ -22,7 +22,7 @@ adobeAcrobatBackendLib=env.SharedLibrary(
        target="VBufBackend_adobeAcrobat",\r
        source=[\r
                "adobeAcrobat.cpp",\r
-               acrobatAccessRPCStubs[2],\r
+               env.Object('_acrobatAccess_i',acrobatAccessRPCStubs[2]),\r
        ],\r
        LIBS=[\r
                vbufBaseStaticLib,\r
index b2c29e6..ef59213 100644 (file)
@@ -25,7 +25,7 @@ geckoBackendLib=env.SharedLibrary(
        source=[\r
                "gecko_ia2.cpp",\r
                ia2utilsObj,\r
-               ia2RPCStubs[2],\r
+               env.Object('_ia2_i',ia2RPCStubs[3]),\r
        ],\r
        LIBS=[\r
                vbufBaseStaticLib,\r
index 8cec751..19d2720 100644 (file)
@@ -21,11 +21,6 @@ General dependencies:
                * Extract the archive into the source\synthDrivers directory.\r
        * IAccessible2, version 1.1.0.0 or later: http://www.linuxfoundation.org/en/Accessibility/IAccessible2\r
                * Download the merged IDL and copy it to include\ia2\ia2.idl.\r
-               * The proxy dll and typelib are also required.\r
-                       * Pre-built versions have been provided for convenience at http://www.nvda-project.org/3rdParty/\r
-               * Copy ia2.tlb into the source\typelibs directory.\r
-               * Copy the 32 bit version of the proxy dll into the source\lib directory, naming it IAccessible2Proxy.dll.\r
-               * Copy the 64 bit version of the proxy dll into the source\lib64 directory, naming it IAccessible2Proxy.dll.\r
        * ConfigObj, version 4.6.0 or later:\r
                * Web site: http://www.voidspace.org.uk/python/configobj.html\r
                * Copy configobj.py and validate.py into the global Python site-packages directory.\r
@@ -45,9 +40,6 @@ General dependencies:
                * This can be found in the client files archive available from http://www.adobe.com/devnet/acrobat/interapplication_communication.html\r
                        * The archive is named something like Acrobat_Accessibility_9.1.zip.\r
                * Extract the AcrobatAccess.idl file into include\AcrobatAccess.\r
-               * The typelib is also required.\r
-                       * A pre-built version has been provided for convenience at http://www.nvda-project.org/3rdParty/AcrobatAccess.tlb\r
-               * Copy AcrobatAccess.tlb into the source\typelibs directory.\r
        * Adobe FlashAccessibility interface typelib: http://www.nvda-project.org/3rdParty/FlashAccessibility.tlb\r
                * Copy FlashAccessibility.tlb into the source\typelibs directory.\r
        * txt2tags, version 2.5 or later: http://txt2tags.sourceforge.net/\r
index e43c5cc..33e3945 100755 (executable)
@@ -98,6 +98,8 @@ clientDir=Dir('extras/controllerClient')
 Export('clientDir')\r
 sourceLibDir=sourceDir.Dir('lib')\r
 Export('sourceLibDir')\r
+sourceTypelibDir=sourceDir.Dir('typelibs')\r
+Export('sourceTypelibDir')\r
 sourceLibDir64=sourceDir.Dir('lib64')\r
 Export('sourceLibDir64')\r
 buildDir = Dir("build")\r