sconscript 2.99 KB
###
#This file is a part of the NVDA project.
#URL: http://www.nvda-project.org/
#Copyright 2006-2010 NVDA contributers.
#This program is free software: you can redistribute it and/or modify
#it under the terms of the GNU General Public License version 2.0, as published by
#the Free Software Foundation.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#This license can be found at:
#http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
###

Import([
	'env',
	'ia2RPCStubs',
	'minHookLib',
])

winIPCUtilsObj=env.Object("./winIPCUtils","../common/winIPCUtils.cpp")

controllerRPCHeader,controllerRPCClientSource=env.MSRPCStubs(
	target="./nvdaController",
	source=[
		"../interfaces/nvdaController/nvdaController.idl",
		"../interfaces/nvdaController/nvdaController.acf",
	],
	MSRPCStubs_noServer=True,
	MSRPCStubs_prefix="nvdaController_",
)

controllerInternalRPCHeader,controllerInternalRPCClientSource=env.MSRPCStubs(
	target="./nvdaControllerInternal",
	source=[
		"../interfaces/nvdaControllerInternal/nvdaControllerInternal.idl",
		"../interfaces/nvdaControllerInternal/nvdaControllerInternal.acf",
	],
	MSRPCStubs_noServer=True,
	MSRPCStubs_prefix="nvdaControllerInternal_",
)

vbufRPCHeader,vbufRPCServerSource=env.MSRPCStubs(
	target="./vbufRemote",
	source=[
		"../interfaces/vbuf/vbuf.idl",
		"../interfaces/vbuf/vbuf.acf",
	],
	MSRPCStubs_noClient=True,
	MSRPCStubs_prefix="VBufRemote_",
)

displayModelRPCHeader,displayModelRPCServerSource=env.MSRPCStubs(
	target="./displayModelRemote",
	source=[
		"../interfaces/displayModel/displayModel.idl",
		"../interfaces/displayModel/displayModel.acf",
	],
	MSRPCStubs_noClient=True,
	MSRPCStubs_prefix="displayModelRemote_",
)

nvdaInProcUtilsRPCHeader,nvdaInProcUtilsRPCServerSource=env.MSRPCStubs(
	target="./nvdaInProcUtils",
	source=[
		"../interfaces/nvdaInProcUtils/nvdaInProcUtils.idl",
		"../interfaces/nvdaInProcUtils/nvdaInProcUtils.acf",
	],
	MSRPCStubs_noClient=True,
	MSRPCStubs_prefix="nvdaInProcUtils_",
)

ia2utilsObj=env.Object("./ia2utils","../common/ia2utils.cpp")

remoteLib=env.SharedLibrary(
	target="nvdaHelperRemote",
	source=[
		env['projectResFile'],
		"injection.cpp",
		"log.cpp",
		"inProcess.cpp",
		"apiHook.cpp",
		"inputLangChange.cpp",
		"typedCharacter.cpp",
		"ime.cpp",
		"tsf.cpp",
		"ia2Support.cpp",
		"ia2LiveRegions.cpp",
		ia2utilsObj,
		env.Object('_ia2_i',ia2RPCStubs[3]),
		"rpcSrv.cpp",
		"vbufRemote.cpp",
		vbufRPCServerSource,
		winIPCUtilsObj,
		controllerRPCClientSource,
		controllerInternalRPCClientSource,
		"sysListView32.cpp",
		"winword.cpp",
		"WinWord/Fields.cpp",
		"gdiHooks.cpp",
		"displayModel.cpp",
		"displayModelRemote.cpp",
		displayModelRPCServerSource,
		nvdaInProcUtilsRPCServerSource,
		"nvdaHelperRemote.def",
	],
	LIBS=[
		"user32",
		"gdi32",
		"ole32",
		"rpcrt4",
		"shlwapi",
		"oleaut32",
		"oleacc",
		"usp10",
		"imm32",
		"advapi32",
		"version",
		"DbgHelp",
	],
)

Return('remoteLib')