def setUp(self):
		self.raptor = raptor.Raptor()
		self.__testRoot = generic_path.Path(os.environ[raptor.env], "test").Absolute()
		self.__makefilePathTestRoot = self.__testRoot
		self.__epocroot = self.__testRoot
		self.__variant_cfg_root = self.__testRoot.Append('metadata/config')
		self.__variant_cfg = self.__variant_cfg_root.Append('test_cfg.cfg')
		self.__platmacros_armv5 = "ARMCC EPOC32 MARM EABI ARMCC_2 ARMCC_2_2 GENERIC_MARM MARM_ARMV5"
		self.__platmacros_armv6 = "ARMCC EPOC32 MARM EABI ARMCC_2 ARMCC_2_2 GENERIC_MARM MARM_ARMV5 ARMV6"
		self.__platmacros_armv7 = "ARMCC EPOC32 MARM EABI ARMCC_2 ARMCC_2_2 GENERIC_MARM MARM_ARMV5 ARMV7"
		self.__platmacros_winscw = "CW32 WINS WINSCW"
		self.__platmacros_x86gcc = "X86GCC EPOC32"

		self.variant_hrh = self.__testRoot.Append('metadata/include/test_hrh.hrh')
		
		self.__OSRoot = ""
		if raptor_utilities.getOSFileSystem() == "cygwin":
			self.__OSRoot = str(self.__makefilePathTestRoot)[:2]

		# we need some sort of generic platform for preprocessing
		self.defaultPlatform = { 'PLATFORM': 'generic',
							     'EPOCROOT': self.__epocroot,
							     'VARIANT_HRH': self.variant_hrh,
							     'SYSTEMINCLUDE' : '',
							     'id': 0,
							     'key': '0000000000000000',
							     'key_md5': '0000000000000000',
							     'ISFEATUREVARIANT' : False,
							     'PLATMACROS' : self.__platmacros_armv5,
								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
								 'METADEPS' : [] 
							   }
		# For testing purposes, the ARMV5 platform is flagged here as feature variant.
		# In metadata processing terms, this means that the location of the HRH file
		# is not automatically added to the SYSTEMINCLUDE path, and so is specified
		# directly.
		self.ARMV5           = { 'PLATFORM': 'ARMV5',
							     'EPOCROOT': self.__epocroot,
							     'VARIANT_HRH': self.variant_hrh,
							     'SYSTEMINCLUDE' : str(self.variant_hrh.Dir()),
							     'id': 1,
							     'key': '1111111111111111',
							     'key_md5': '1111111111111111',
							     'ISFEATUREVARIANT' : True,
							     'PLATMACROS' : self.__platmacros_armv5,
								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
								 'METADEPS' : [] 
							   }
		self.ARMV5SMP        = { 'PLATFORM': 'ARMV5SMP',
							     'EPOCROOT': self.__epocroot,
							     'VARIANT_HRH': self.variant_hrh,
							     'SYSTEMINCLUDE' : str(self.variant_hrh.Dir()),
							     'id': 1,
							     'key': '1111111111111111',
							     'key_md5': '1111111111111111',
							     'ISFEATUREVARIANT' : False,
							     'PLATMACROS' : self.__platmacros_armv5,
								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
								 'METADEPS' : [] 
							   }
		self.ARMV6           = { 'PLATFORM': 'ARMV6',
							     'EPOCROOT': self.__epocroot,
							     'VARIANT_HRH': self.variant_hrh,
							     'SYSTEMINCLUDE' : str(self.variant_hrh.Dir()),
							     'id': 1,
							     'key': '1111111111111111',
							     'key_md5': '1111111111111111',
							     'ISFEATUREVARIANT' : False,
							     'PLATMACROS' : self.__platmacros_armv6,
								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
								 'METADEPS' : [] 
							   }
		self.ARMV7           = { 'PLATFORM': 'ARMV7',
							     'EPOCROOT': self.__epocroot,
							     'VARIANT_HRH': self.variant_hrh,
							     'SYSTEMINCLUDE' : str(self.variant_hrh.Dir()),
							     'id': 1,
							     'key': '1111111111111111',
							     'key_md5': '1111111111111111',
							     'ISFEATUREVARIANT' : False,
							     'PLATMACROS' : self.__platmacros_armv7,
								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
								 'METADEPS' : [] 
							   }
		self.ARMV7SMP         = { 'PLATFORM': 'ARMV7SMP',
							     'EPOCROOT': self.__epocroot,
							     'VARIANT_HRH': self.variant_hrh,
							     'SYSTEMINCLUDE' : str(self.variant_hrh.Dir()),
							     'id': 1,
							     'key': '1111111111111111',
							     'key_md5': '1111111111111111',
							     'ISFEATUREVARIANT' : False,
							     'PLATMACROS' : self.__platmacros_armv7,
								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
								 'METADEPS' : [] 
							   }
		self.WINSCW          = { 'PLATFORM': 'WINSCW',
							     'EPOCROOT': self.__epocroot,
							     'VARIANT_HRH': self.variant_hrh,
							     'SYSTEMINCLUDE' : '',
							     'id': 2,
							     'key': '2222222222222222',
							     'key_md5': '2222222222222222',
							     'ISFEATUREVARIANT' : False,
							     'PLATMACROS' : self.__platmacros_winscw,
								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
								 'METADEPS' : [] 
							   }

		self.X86GCC          = { 'PLATFORM': 'X86',
							     'EPOCROOT': self.__epocroot,
							     'VARIANT_HRH': self.variant_hrh,
							     'SYSTEMINCLUDE' : '',
							     'id': 2,
							     'key': '2222222222222222',
							     'key_md5': '2222222222222222',
							     'ISFEATUREVARIANT' : False,
							     'PLATMACROS' : self.__platmacros_x86gcc,
								 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
								 'METADEPS' : [] 
							   }
				
		self.testPlats = [self.ARMV5, self.ARMV5SMP, self.ARMV6, self.ARMV7, self.ARMV7SMP, self.WINSCW, self.X86GCC]
		
		# Get the version of CPP that we are using and hope it's correct
		# since there is no tool check.
		if os.environ.has_key('SBS_GNUCPP'):
			self.__gnucpp = os.environ['SBS_GNUCPP']
		else: 
			self.__gnucpp = "cpp" 
Beispiel #2
0
	def DefaultSetUp(self, home = None):
		"revert to the default set-up state"
		self.errorCode = 0
		self.skipAll = False
		self.summary = True
		self.out = sys.stdout # Just until filters get started.

		# Create a bootstrap output system.
		self.out = filter_list.FilterList()

		if home == None:
			try:
				home = os.environ[env]
			except KeyError:
				home = os.getcwd()

		# make sure the home directory exists
		self.home = generic_path.Path(home).Absolute()

		if not self.home.isDir():
			self.Error("%s '%s' is not a directory", env, self.home)
			return

		# the set-up file location.
		# use the override "env2/xml2" if it exists
		# else use the primary "env/xml" if it exists
		# else keep the hard-coded defaults.
		self.raptorXML = self.home.Append(xml)

		if env2 in os.environ:
			sbs_init = generic_path.Join(os.environ[env2], xml2)
			if sbs_init.isFile():
				self.raptorXML = sbs_init

		# things that can be overridden by the set-up file
		for key, value in defaults.items():
			self.__dict__[key] = value

		# things to initialise
		self.args = []

		self.layers = []
		self.orderLayers = False
		self.commandlineComponents = []

		self.systemModel = None
		self.systemDefinitionFile = None
		self.systemDefinitionRequestedLayers = []
		self.systemDefinitionOrderLayers = False

		self.specGroups = {}

		self.configNames = []
		self.configsToBuild = set()
		self.makeOptions = []
		self.maker = None
		self.debugOutput = False
		self.doExportOnly = False
		self.doExport = True
		self.noBuild = False
		self.noDependInclude = False
		self.noDependGenerate = False
		self.projects = set()
		self.queries = []
		
		self.cache = raptor_cache.Cache(self)
		self.override = {env: str(self.home)}
		self.targets = []
		self.defaultTargets = []

		self.doCheck = False
		self.doWhat = False
		self.doParallelParsing = False
		self.mission = Raptor.M_BUILD

		# what platform and filesystem are we running on?
		self.filesystem = raptor_utilities.getOSFileSystem()

		self.timing = True # Needed by filters such as copy_file to monitor progress
		self.toolset = None

		self.starttime = time.time()
		self.timestring = time.strftime("%Y-%m-%d-%H-%M-%S")

		self.fatalErrorState = False