]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/Cpptasks/net/sf/antcontrib/cpptasks/userdefine/UserDefineCompiler.java
Change to new XML Schema.
[mirror_edk2.git] / Tools / Source / Cpptasks / net / sf / antcontrib / cpptasks / userdefine / UserDefineCompiler.java
index 382975abb084f6ea37f3e1d9c189e561cdf71ffd..616e9cbbf5178f71c54dab4ce96408cac0a68728 100644 (file)
  */\r
 package net.sf.antcontrib.cpptasks.userdefine;\r
 \r
-import org.apache.tools.ant.Project;\r
-\r
 import net.sf.antcontrib.cpptasks.CCTask;\r
-import org.tianocore.build.toolchain.*;\r
 \r
 public class UserDefineCompiler extends CommandLineUserDefine {\r
 \r
     public UserDefineCompiler(CCTask cctask, UserDefineDef userdefineDef) {\r
-        String arch = null;\r
-        String os = null;\r
-        String vendor = null;\r
-        String commandType = null;\r
-        Project project = cctask.getProject();\r
-        // get command string\r
-        if (cctask.getArch() == null) {\r
-            arch = project.getProperty("ARCH");\r
-            if (arch == null) {\r
-                arch = System.getProperty("os.arch");\r
-            }\r
-        } else {\r
-            arch = cctask.getArch();\r
-        }\r
-        arch = arch.toUpperCase();\r
-        if (cctask.getOs() == null) {\r
-            os = project.getProperty("OS");\r
-            if (os == null) {\r
-                os = System.getProperty("os.name");\r
-            }\r
+        String cmdType = userdefineDef.getType();\r
+        String toolchainFamily = userdefineDef.getFamily();\r
+        UserDefineMapping mapping = new UserDefineMapping();\r
+        \r
+        if (userdefineDef.getIncludepathDelimiter() == null) {\r
+            includePathDelimiter = mapping.getIncludePathDelimiter(toolchainFamily, cmdType); \r
         } else {\r
-            os = cctask.getOs();\r
-        }\r
-\r
-        commandType = userdefineDef.getType();\r
-\r
-        if (commandType != null) {\r
-            if (ToolChainFactory.getValue(arch + "_" + commandType + "_VENDOR") != null\r
-                    && ToolChainFactory.getValue(\r
-                            arch + "_" + commandType + "_VENDOR").trim()\r
-                            .length() > 0) {\r
-                vendor = ToolChainFactory.getValue(arch + "_" + commandType\r
-                        + "_VENDOR");\r
-            } else if (ToolChainFactory.getValue(arch + "_VENDOR") != null) {\r
-                vendor = ToolChainFactory.getValue(arch + "_VENDOR");\r
-            }\r
-        }\r
-\r
-        // look if ARCH_VENDOR_OS_COMMANDTYPE is existed\r
-        if (arch != null && vendor != null && os != null && commandType != null) {\r
-            command = project.getProperty(arch + "_" + vendor + "_" + os + "_"\r
-                    + commandType);\r
-        }\r
-        // look if ARCH_VENDOR_COMMANDTYPE is existed\r
-        if (command == null) {\r
-            if (arch != null && vendor != null && commandType != null) {\r
-                command = project.getProperty(arch + "_" + vendor + "_"\r
-                        + commandType);\r
-            }\r
-        }\r
-        // look if ARCH_COMMANDTYPE is existed\r
-        if (command == null) {\r
-            if (arch != null && commandType != null) {\r
-                command = project.getProperty(arch + "_" + commandType);\r
-            }\r
-        }\r
-        // look if COMMANDTYPE is existed\r
-        if (command == null) {\r
-            if (commandType != null) {\r
-                command = project.getProperty(commandType);\r
-            }\r
-        }\r
-        // using the default value from VENDOR_OS_COMMANDTYPE or\r
-        // VENDOR_COMMANDTYPE\r
-        if (command == null) {\r
-            if (vendor != null && os != null && commandType != null) {\r
-                String str = vendor + "_" + os + "_" + commandType;\r
-                command = UserDefineMapping.getDefaultCommand(str);\r
-            }\r
-        }\r
-        // VENDOR_COMMANDTYPE\r
-        if (command == null) {\r
-            if (vendor != null && commandType != null) {\r
-                String str = vendor + "_" + commandType;\r
-                command = UserDefineMapping.getDefaultCommand(str);\r
-            }\r
-        }\r
-        // just give the name whatever\r
-        if (command == null) {\r
-            command = "cl";\r
-        }\r
-\r
-        // initialize the includePathDelimiter\r
-        if (userdefineDef.getIncludepathDelimiter() != null) {\r
             includePathDelimiter = userdefineDef.getIncludepathDelimiter();\r
         }\r
-        // else find VENDOR\r
-        else {\r
-            if (vendor != null) {\r
-                includePathDelimiter = UserDefineMapping\r
-                        .getIncludePathDelimiter(vendor, commandType);\r
-            }\r
-        }\r
-        if (includePathDelimiter == null) {\r
-            includePathDelimiter = "-I";\r
-        }\r
-        /*\r
-         * Set libSet.\r
-         */\r
-        if (userdefineDef.getLibSet() != null\r
-                && userdefineDef.getLibSet().size() > 0) {\r
-            String[] libList;\r
-            if (vendor.equalsIgnoreCase("GCC")) {\r
-                libSetList.add("-(");\r
-                for (int i = 0; i < userdefineDef.getLibSet().size(); i++) {\r
-                    libList = userdefineDef.getLibSet().get(i).getLibs();\r
-                    for (int j = 0; j < libList.length; j++) {\r
-                        libSetList.add(libList[j]);\r
-                    }\r
-                }\r
-                libSetList.add("-)");\r
-            } else {\r
-                for (int i = 0; i < userdefineDef.getLibSet().size(); i++) {\r
-                    libList = userdefineDef.getLibSet().get(i).getLibs();\r
-                    for (int j = 0; j < libList.length; j++) {\r
-                        libSetList.add(libList[j]);\r
-                    }\r
-                }\r
-            }\r
-        }\r
-        /*\r
-         * set includeFileFlag\r
-         */\r
-        if (userdefineDef.getIncludeFile() != null) {\r
-            if (userdefineDef.getIncludeFileFlag() != null) {\r
-                includeFileFlag = userdefineDef.getIncludeFileFlag();\r
-            } else {\r
-                includeFileFlag = UserDefineMapping.getCompellingIncFileFlag(\r
-                        vendor, commandType);\r
-            }\r
-        }\r
-        /*\r
-         * set entryPointFlag\r
-         */\r
-        if (userdefineDef.getEntryPointvalue() != null) {\r
-            if (userdefineDef.getEntryPointFlag() != null) {\r
-                entryPointFlag = userdefineDef.getEntryPointFlag();\r
-            } else {\r
-                entryPointFlag = UserDefineMapping.getEntryPointFlag(vendor,\r
-                        commandType);\r
-            }\r
-        }\r
-        /*\r
-         * set subSystemFlag\r
-         */\r
-        if (userdefineDef.getSubSystemvalue() != null) {\r
-            if (userdefineDef.getSubSystemFlag() != null) {\r
-                subSystemFlag = userdefineDef.getSubSystemFlag();\r
-            } else {\r
-                subSystemFlag = UserDefineMapping.getSubSystemFlag(vendor,\r
-                        commandType);\r
-            }\r
-        }\r
-        /*\r
-         * set mapFlag\r
-         */\r
-        if (userdefineDef.getMapvalue() != null) {\r
-            if (userdefineDef.getMapFlag() != null) {\r
-                mapFlag = userdefineDef.getMapFlag();\r
-            } else {\r
-                mapFlag = UserDefineMapping.getMapFlag(vendor, commandType);\r
-            }\r
-        }\r
-        /*\r
-         * set pdbFlag\r
-         */\r
-        if (userdefineDef.getPdbvalue() != null) {\r
-            if (userdefineDef.getPdbFlag() != null) {\r
-                pdbFlag = userdefineDef.getPdbFlag();\r
-            } else {\r
-                pdbFlag = UserDefineMapping.getPdbFlag(vendor, commandType);\r
-            }\r
-        }\r
-        /*\r
-         * set outputFileFlag\r
-         */\r
-        if (userdefineDef.getOutputFile() != null) {\r
-            if (userdefineDef.getOutPutFlag() != null) {\r
-                outputFileFlag = userdefineDef.getOutPutFlag();\r
-            } else {\r
-                outputFileFlag = UserDefineMapping.getOutputFileFlag(vendor,\r
-                        arch, commandType);\r
-            }\r
-        }\r
-\r
-        /*\r
-         * set fileList\r
-         */\r
-        if (userdefineDef.getFileList() != null) {\r
-            fileList = userdefineDef.getFileList();\r
+        \r
+        if (userdefineDef.getOutputDelimiter() == null) {\r
+            outputDelimiter = mapping.getOutputFileFlag(toolchainFamily, cmdType);\r
+        } else {\r
+            outputDelimiter = userdefineDef.getOutputDelimiter();\r
         }\r
+        \r
     }\r
 }\r