git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@417 7335b...
[people/mcb30/basetools.git] / Source / Python / Common / String.py
index 8f033c4..536fe93 100644 (file)
@@ -217,13 +217,23 @@ def SplitModuleType(Key):
     return ReturnValue\r
     \r
 #\r
-# Replace '\\', '\' with '/'\r
+# Create a normal path\r
+# And replace DFEINE in the path\r
 #\r
-def NormPath(path):\r
-    if path != '':\r
-        return os.path.normpath(path)\r
-    else:\r
-        return path\r
+def NormPath(Path, Defines = {}):\r
+    if Path != '':\r
+        # Replace with Define\r
+        for Key in Defines.keys():\r
+            Path = Path.replace(Key, Defines[Key])\r
+\r
+        # Replace '\\', '\' with '/'\r
+        Path = Path.replace('\\', '/')\r
+        Path = Path.replace('//', '/')\r
+        \r
+        # Remove ${WORKSPACE}\r
+        Path = Path.replace(DataType.TAB_WORKSPACE, '')\r
+\r
+    return Path\r
 \r
 #\r
 # Remove comments in a string\r
@@ -264,8 +274,8 @@ def GetSingleValueOfKeyFromLines(Lines, Dictionary, CommentCharacter, KeySplitCh
     Lines = Lines.split('\n')\r
     Keys = []\r
     Value = ''\r
-    DefineValues = []\r
-    SpecValues = []\r
+    DefineValues = ['']\r
+    SpecValues = ['']\r
     \r
     for Line in Lines:\r
         #\r