+ \r
+ #\r
+ # Check EFI_SOURCE (Edk build convention). EDK_SOURCE will always point to ECP\r
+ #\r
+ WorkspaceDir = os.path.normcase(os.path.normpath(os.environ["WORKSPACE"]))\r
+ os.environ["WORKSPACE"] = WorkspaceDir\r
+ if "ECP_SOURCE" not in os.environ:\r
+ os.environ["ECP_SOURCE"] = os.path.join(WorkspaceDir, GlobalData.gEdkCompatibilityPkg)\r
+ if "EFI_SOURCE" not in os.environ:\r
+ os.environ["EFI_SOURCE"] = os.environ["ECP_SOURCE"]\r
+ if "EDK_SOURCE" not in os.environ:\r
+ os.environ["EDK_SOURCE"] = os.environ["ECP_SOURCE"]\r
+\r
+ #\r
+ # Unify case of characters on case-insensitive systems\r
+ #\r
+ EfiSourceDir = os.path.normcase(os.path.normpath(os.environ["EFI_SOURCE"]))\r
+ EdkSourceDir = os.path.normcase(os.path.normpath(os.environ["EDK_SOURCE"]))\r
+ EcpSourceDir = os.path.normcase(os.path.normpath(os.environ["ECP_SOURCE"]))\r
+ \r
+ os.environ["EFI_SOURCE"] = EfiSourceDir\r
+ os.environ["EDK_SOURCE"] = EdkSourceDir\r
+ os.environ["ECP_SOURCE"] = EcpSourceDir\r
+ \r
+ GlobalData.gWorkspace = WorkspaceDir\r
+ GlobalData.gEfiSource = EfiSourceDir\r
+ GlobalData.gEdkSource = EdkSourceDir\r
+ GlobalData.gEcpSource = EcpSourceDir\r
+\r
+ GlobalData.gGlobalDefines["WORKSPACE"] = WorkspaceDir\r
+ GlobalData.gGlobalDefines["EFI_SOURCE"] = EfiSourceDir\r
+ GlobalData.gGlobalDefines["EDK_SOURCE"] = EdkSourceDir\r
+ GlobalData.gGlobalDefines["ECP_SOURCE"] = EcpSourceDir\r
+ \r
+ \r