]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/autogen/CommonDefinition.java
Restructuring for better separation of Tool packages.
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / autogen / CommonDefinition.java
diff --git a/Tools/Source/GenBuild/org/tianocore/build/autogen/CommonDefinition.java b/Tools/Source/GenBuild/org/tianocore/build/autogen/CommonDefinition.java
deleted file mode 100644 (file)
index cb750ff..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
-/** @file\r
- CommonDefinition class.\r
-\r
- This class is to define some common marcos and funcions, which used by AutoGen.\r
\r
- Copyright (c) 2006, Intel Corporation\r
- All rights reserved. This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution.  The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
- **/\r
-package org.tianocore.build.autogen;\r
-\r
-import java.util.Iterator;\r
-import java.util.LinkedHashSet;\r
-import java.util.Set;\r
-import org.tianocore.common.definitions.EdkDefinitions;\r
-import org.tianocore.common.definitions.ToolDefinitions;\r
-/**\r
-  CommonDefinition\r
-  \r
-  This class is to define some common marcos, which used by AutoGen.\r
-  \r
-**/\r
-public class CommonDefinition {\r
-\r
-       ///\r
-       ///  final static string\r
-       /// \r
-    public final static String LIBRARY            = "LIBRARY";\r
-\r
-    public final static String AUTOGENHBEGIN      = "extern int __make_me_compile_correctly;"\r
-                                                                                             + ToolDefinitions.LINE_SEPARATOR;\r
-\r
-    public final static String INCLUDE            = "#include";\r
-\r
-    //public final static String DEBUGPROPERYMASK   = "const UINT8  _gDebugPropertyMask "\r
-    //                                              + "= DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED"\r
-    //                                              + "  | DEBUG_PROPERTY_DEBUG_PRINT_ENABLED"\r
-    //                                              + "  | DEBUG_PROPERTY_DEBUG_CODE_ENABLED;" \r
-    //                                                   + ToolDefinitions.LINE_SEPARATOR;\r
-\r
-    //public final static String DEFAULERROLEVEL    = "const UINTN  _gModuleDefaultErrorLevel"\r
-    //                                              + " = EFI_D_ERROR | EFI_D_LOAD;"\r
-       //                                                                                    + ToolDefinitions.LINE_SEPARATOR;\r
-\r
-\r
-    public final static String INCLUDEAUTOGENH    = INCLUDE \r
-                                                         + "    <AutoGen.h>"\r
-                                                                                                 + ToolDefinitions.LINE_SEPARATOR;\r
-\r
-    public final static String DEFINE             = "#define         ";\r
-\r
-    public final static String GEFI               = "gEfi";\r
-\r
-    public final static String PRTOCOLGUID        = "ProtocolGuid";\r
-\r
-    public final static String PPIGUID            = "PpiGuid";\r
-\r
-    public final static String GUID               = "Guid";\r
-\r
-    public final static String TIANOR8PLASHMAPH   = "TianoR8FlashMap.h";\r
-\r
-    public final static String FLASHMAPH          = "FlashMap.h";\r
-\r
-       public final static String IFNDEF             = "#ifndef          ";\r
-\r
-       public final static String AUTOGENH            = "_AUTOGENH_";\r
-\r
-                                                                 \r
-    ///\r
-    /// AutoGen.h and AutoGen.c file's header\r
-    ///\r
-    public final static String AUTOGENHNOTATION   = "/**"\r
-                                                     + ToolDefinitions.LINE_SEPARATOR\r
-                                                     + "  DO NOT EDIT"\r
-                                                  + ToolDefinitions.LINE_SEPARATOR\r
-                                                     + "  FILE auto-generated by GenBuild tasks"\r
-                                                     + ToolDefinitions.LINE_SEPARATOR \r
-                                                     + "  Module name:"\r
-                                                     + ToolDefinitions.LINE_SEPARATOR\r
-                                                     + "       AutoGen.h"\r
-                                                     + ToolDefinitions.LINE_SEPARATOR \r
-                                                     + "  Abstract:" \r
-                                                     + "       Auto-generated AutoGen.h for building module or library."\r
-                                                     + ToolDefinitions.LINE_SEPARATOR\r
-                                                  + "**/"\r
-                                                  + ToolDefinitions.LINE_SEPARATOR \r
-                                                  + ToolDefinitions.LINE_SEPARATOR;\r
-\r
-    public final static String AUTOGENCNOTATION   = "/**"\r
-                                                         + ToolDefinitions.LINE_SEPARATOR\r
-                                                         + "  DO NOT EDIT"\r
-                                                                                                 + ToolDefinitions.LINE_SEPARATOR\r
-                                                         + "  FILE auto-generated by GenBuild tasks"\r
-                                                                                                 + ToolDefinitions.LINE_SEPARATOR \r
-                                                         + "  Module name:"\r
-                                                         + ToolDefinitions.LINE_SEPARATOR \r
-                                                         + "       AutoGen.c"\r
-                                                         + ToolDefinitions.LINE_SEPARATOR \r
-                                                         + "  Abstract:" \r
-                                                         + "       Auto-generated AutoGen.c for building module or library."\r
-                                                                                                 + ToolDefinitions.LINE_SEPARATOR \r
-                                                         + "**/"\r
-                                                         + ToolDefinitions.LINE_SEPARATOR\r
-                                                         + ToolDefinitions.LINE_SEPARATOR;\r
-\r
-    ///\r
-    /// The defintions for identifying current module\r
-    /// is PEI Pcd driver or Dxe Pcd driver.\r
-    /// \r
-    public static enum   PCD_DRIVER_TYPE { NOT_PCD_DRIVER,\r
-                                           PEI_PCD_DRIVER, \r
-                                           DXE_PCD_DRIVER,\r
-                                           UNKNOWN_PCD_DRIVER\r
-                                                };\r
-\r
-\r
-    ///\r
-    /// module type\r
-    ///\r
-    public final static int ModuleTypeBase             = 0;\r
-    public final static int ModuleTypeSec              = 1;\r
-    public final static int ModuleTypePeiCore          = 2;\r
-    public final static int ModuleTypePeim             = 3;\r
-    public final static int ModuleTypeDxeCore          = 4;\r
-    public final static int ModuleTypeDxeDriver        = 5;\r
-    public final static int ModuleTypeDxeRuntimeDriver = 6;\r
-    public final static int ModuleTypeDxeSmmDriver     = 7;\r
-    public final static int ModuleTypeDxeSalDriver     = 8;\r
-    public final static int ModuleTypeUefiDriver       = 9;\r
-    public final static int ModuleTypeUefiApplication  = 10;\r
-    public final static int ModuleTypeUnknown          = 11;\r
-\r
-    ///\r
-    /// Usaged style\r
-    ///\r
-    public final static String ALWAYSCONSUMED = "ALWAYS_CONSUMED";\r
-    public final static String ALWAYSPRODUCED = "ALWAYS_PRODUCED";\r
-\r
-\r
-    public static class MyEnum {\r
-        String moduleTypeStr;\r
-        int   type;\r
-\r
-        MyEnum (String str, int type) {\r
-            this.type    = type;\r
-            this.moduleTypeStr = str;\r
-        }\r
-\r
-        int ForInt(String str) {\r
-            if (str.equals(this.moduleTypeStr)) {\r
-                return this.type;\r
-            } else\r
-                return -1;\r
-        }\r
-    }\r
-\r
-    ///\r
-    /// Module type\r
-    ///\r
-    public static final MyEnum[] moduleEnum = new MyEnum[] {\r
-        new MyEnum(EdkDefinitions.MODULE_TYPE_BASE, ModuleTypeBase),\r
-        new MyEnum(EdkDefinitions.MODULE_TYPE_SEC, ModuleTypeSec),\r
-        new MyEnum(EdkDefinitions.MODULE_TYPE_PEI_CORE, ModuleTypePeiCore),\r
-        new MyEnum(EdkDefinitions.MODULE_TYPE_PEIM, ModuleTypePeim),\r
-        new MyEnum(EdkDefinitions.MODULE_TYPE_DXE_CORE, ModuleTypeDxeCore),\r
-        new MyEnum(EdkDefinitions.MODULE_TYPE_DXE_DRIVER, ModuleTypeDxeDriver),\r
-        new MyEnum(EdkDefinitions.MODULE_TYPE_DXE_RUNTIME_DRIVER, ModuleTypeDxeRuntimeDriver),\r
-        new MyEnum(EdkDefinitions.MODULE_TYPE_DXE_SAL_DRIVER, ModuleTypeDxeSalDriver),\r
-        new MyEnum(EdkDefinitions.MODULE_TYPE_DXE_SMM_DRIVER, ModuleTypeDxeSmmDriver),\r
-        new MyEnum(EdkDefinitions.MODULE_TYPE_UEFI_DRIVER, ModuleTypeUefiDriver),\r
-        new MyEnum(EdkDefinitions.MODULE_TYPE_UEFI_APPLICATION, ModuleTypeUefiApplication)};\r
-\r
-    /**\r
-      getModuleType\r
-      \r
-      This function get the module type value according module type string.\r
-      \r
-      @param  moduleTypeStr     String of modlue type.\r
-      @return                   \r
-    **/\r
-    public static int getModuleType(String moduleTypeStr) {\r
-        int returnValue = -1;\r
-        for (int i = 0; i < CommonDefinition.moduleEnum.length; i++) {\r
-            returnValue = CommonDefinition.moduleEnum[i].ForInt(moduleTypeStr);\r
-            if (returnValue != -1) {\r
-                return returnValue;\r
-            }\r
-        }\r
-        return CommonDefinition.ModuleTypeUnknown;\r
-    }\r
-\r
-    /**\r
-      formateGuidName\r
-      \r
-      This function is to formate GUID to ANSI c form.\r
-      \r
-      @param guidNameCon\r
-                 String of GUID.\r
-      @return Formated GUID.\r
-    **/\r
-    public static String formatGuidName(String guidNameConv) {\r
-        String[] strList;\r
-        String guid = "";\r
-        int index = 0;\r
-        if (guidNameConv\r
-            .matches("[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}")) {\r
-            strList = guidNameConv.split("-");\r
-            guid = "0x" + strList[0] + ", ";\r
-            guid = guid + "0x" + strList[1] + ", ";\r
-            guid = guid + "0x" + strList[2] + ", ";\r
-            guid = guid + "{";\r
-            guid = guid + "0x" + strList[3].substring(0, 2) + ", ";\r
-            guid = guid + "0x" + strList[3].substring(2, 4);\r
-\r
-            while (index < strList[4].length()) {\r
-                guid = guid + ", ";\r
-                guid = guid + "0x" + strList[4].substring(index, index + 2);\r
-                index = index + 2;\r
-            }\r
-            guid = guid + "}";\r
-            return guid;\r
-        } else if (guidNameConv\r
-                   .matches("0x[a-fA-F0-9]{1,8},( )*0x[a-fA-F0-9]{1,4},( )*0x[a-fA-F0-9]{1,4}(,( )*\\{)?(,?( )*0x[a-fA-F0-9]{1,2}){8}( )*(\\})?")) {\r
-            strList = guidNameConv.split(",");\r
-\r
-            //\r
-            // chang Microsoft specific form to ANSI c form\r
-            //\r
-            for (int i = 0; i < 3; i++) {\r
-                guid = guid + strList[i] + ",";\r
-            }\r
-            guid = guid + "{";\r
-\r
-            for (int i = 3; i < strList.length; i++) {\r
-                if (i == strList.length - 1) {\r
-                    guid = guid + strList[i];\r
-                } else {\r
-                    guid = guid + strList[i] + ",";\r
-                }\r
-            }\r
-            guid = guid + "}";\r
-            return guid;\r
-        } else {\r
-            System.out\r
-            .println("Check GUID Value, It doesn't conform to the registry format specified in the schema!!!");\r
-            return "0";\r
-\r
-        }\r
-    }\r
-\r
-    /**\r
-      Remove deuplicat string in list\r
-      \r
-      This function is to duplicat string in list\r
-      \r
-      @param String[]\r
-                 String list.\r
-      @return String[] String list which remove the duplicate string.\r
-    **/\r
-    public static String[] remDupString (String[] orgList){\r
-        Set<String> strList = new LinkedHashSet<String>();\r
-        String[] desList ;\r
-        if (orgList == null) {\r
-            return new String[0];\r
-        }\r
-        for (int i = 0; i < orgList.length; i++) {\r
-            strList.add(orgList[i]);\r
-        }\r
-        desList = new String[strList.size()];\r
-        Iterator item = strList.iterator();\r
-        int index = 0;\r
-        while (item.hasNext()) {\r
-            desList[index] = (String)item.next();\r
-            index++;\r
-        }\r
-        return desList;\r
-    }\r
-\r
-}\r