sbsv2/raptor/python/raptor_meta.py
branchfix
changeset 570 971d2c670e06
parent 558 e902bcdd2eef
child 571 25e377052d9f
equal deleted inserted replaced
569:6656482ba0da 570:971d2c670e06
    33 import zipfile
    33 import zipfile
    34 from xml.sax.saxutils import escape
    34 from xml.sax.saxutils import escape
    35 from mmpparser import *
    35 from mmpparser import *
    36 
    36 
    37 import time
    37 import time
       
    38 import generic_path
    38 
    39 
    39 
    40 
    40 PiggyBackedBuildPlatforms = {'ARMV5':['GCCXML']}
    41 PiggyBackedBuildPlatforms = {'ARMV5':['GCCXML']}
    41 
    42 
    42 PlatformDefaultDefFileDir = {'WINSCW':'bwins',
    43 PlatformDefaultDefFileDir = {'WINSCW':'bwins',
   766 			eiloc="." # Someone building with a relative raptor path
   767 			eiloc="." # Someone building with a relative raptor path
   767 		if biloc is None or biloc == "":
   768 		if biloc is None or biloc == "":
   768 			biloc="." # Someone building with a relative raptor path
   769 			biloc="." # Someone building with a relative raptor path
   769 
   770 
   770 		self.__StandardVariables = {}
   771 		self.__StandardVariables = {}
   771 		# Relative step-down to the root - let's try ignoring this for now, as it
   772 		# Relative step-down to the root. Amount to env variable SRCROOT 
   772 		# should amount to the same thing in a world where absolute paths are king
   773 		# in case SBS_BUILD_DIR is on a different drive 		
   773 		self.__StandardVariables['TO_ROOT'] = ""
   774 		if 'SRCROOT' in os.environ:
       
   775 			self.__StandardVariables['TO_ROOT'] = str(generic_path.Path(os.environ['SRCROOT']))
       
   776 		else:
       
   777 			self.__StandardVariables['TO_ROOT'] = ""
       
   778 		
   774 		# Top-level bld.inf location
   779 		# Top-level bld.inf location
   775 		self.__StandardVariables['TO_BLDINF'] = biloc
   780 		self.__StandardVariables['TO_BLDINF'] = biloc
   776 		self.__StandardVariables['EXTENSION_ROOT'] = eiloc
   781 		self.__StandardVariables['EXTENSION_ROOT'] = eiloc
   777 
   782 
   778 		# Get the directory and filename from the full path containing the extension makefile
   783 		# Get the directory and filename from the full path containing the extension makefile
   836 		eiloc = str(extInfLocation)
   841 		eiloc = str(extInfLocation)
   837 		if eiloc is None or eiloc == "":
   842 		if eiloc is None or eiloc == "":
   838 			eiloc="." # Someone building with a relative raptor path
   843 			eiloc="." # Someone building with a relative raptor path
   839 
   844 
   840 		self.__StandardVariables = {}
   845 		self.__StandardVariables = {}
   841 		# Relative step-down to the root - let's try ignoring this for now, as it
   846 		# Relative step-down to the root. Amount to env variable SRCROOT 
   842 		# should amount to the same thing in a world where absolute paths are king
   847 		# in case SBS_BUILD_DIR is on a different drive 		
   843 		self.__StandardVariables['TO_ROOT'] = ""
   848 		if 'SRCROOT' in os.environ:
       
   849 			self.__StandardVariables['TO_ROOT'] = str(generic_path.Path(os.environ['SRCROOT']))
       
   850 		else:
       
   851 			self.__StandardVariables['TO_ROOT'] = ""
   844 		# Top-level bld.inf location
   852 		# Top-level bld.inf location
   845 		self.__StandardVariables['TO_BLDINF'] = biloc
   853 		self.__StandardVariables['TO_BLDINF'] = biloc
   846 		# Location of bld.inf file containing the current EXTENSION block
   854 		# Location of bld.inf file containing the current EXTENSION block
   847 		self.__StandardVariables['EXTENSION_ROOT'] = eiloc
   855 		self.__StandardVariables['EXTENSION_ROOT'] = eiloc
   848 
   856 
  3080 			for option in options:
  3088 			for option in options:
  3081 				self.__Raptor.Debug("Set %s=%s", option, options[option])
  3089 				self.__Raptor.Debug("Set %s=%s", option, options[option])
  3082 				value = options[option].replace('$(EPOCROOT)', '$(EPOCROOT)/')
  3090 				value = options[option].replace('$(EPOCROOT)', '$(EPOCROOT)/')
  3083 				value = value.replace('$(', '$$$$(')
  3091 				value = value.replace('$(', '$$$$(')
  3084 				value = value.replace('$/', '/').replace('$;', ':')
  3092 				value = value.replace('$/', '/').replace('$;', ':')
  3085 				value = value.replace('$/', '/').replace('$;', ':')
       
  3086 
  3093 
  3087 				if customInterface:
  3094 				if customInterface:
  3088 					var.AddOperation(raptor_data.Set(option, value))
  3095 					var.AddOperation(raptor_data.Set(option, value))
  3089 				else:
  3096 				else:
  3090 					var.AddOperation(raptor_data.Append("O._MEMBERS", option))
  3097 					var.AddOperation(raptor_data.Append("O._MEMBERS", option))