- msaheader.setCopyright("Copyright (c) 2006, Intel Corporation");\r
- msaheader.setVersion("1.0");\r
- msaheader.setAbstract("Component name for module " + mi.modulename);\r
- msaheader.setDescription("FIX ME!");\r
- msaheader.addNewLicense().setStringValue("All rights reserved.\n" +\r
- " This software and associated documentation (if any) is furnished\n" +\r
- " under a license and may only be used or copied in accordance\n" +\r
- " with the terms of the license. Except as permitted by such\n" +\r
- " license, no part of this software or documentation may be\n" +\r
- " reproduced, stored in a retrieval system, or transmitted in any\n" +\r
- " form or by any means without the express written consent of\n" +\r
- " Intel Corporation.");\r
- msaheader.setSpecification("FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052");\r
- \r
- List<Enum> arch = new ArrayList<Enum>();\r
- arch.add(SupportedArchitectures.IA_32);\r
- arch.add(SupportedArchitectures.X_64);\r
- arch.add(SupportedArchitectures.IPF);\r
- arch.add(SupportedArchitectures.EBC);\r
- md.setSupportedArchitectures(arch);\r
- md.setBinaryModule(false);\r
- md.setOutputFileBasename(mi.modulename);\r
- \r
- pd.addNewPackage().setPackageGuid("5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec");\r
- externs.addNewSpecification().setStringValue("EFI_SPECIFICATION_VERSION 0x00020000");\r
- externs.addNewSpecification().setStringValue("EDK_RELEASE_VERSION 0x00020000");\r
- externs.addNewExtern().setModuleEntryPoint(mi.entrypoint);\r
- \r
- it = mi.localmodulesources.iterator();\r
- while (it.hasNext()) {\r
- addSourceFiles(it.next());\r
- }\r
- if (!mi.protocol.isEmpty()) {\r
- protocols = msa.addNewProtocols();\r
- it = mi.protocol.iterator();\r
- while (it.hasNext()) {\r
- if ((temp = it.next()) != null) {\r
- ProtocolsDocument.Protocols.Protocol pr = protocols.addNewProtocol();\r
- pr.setProtocolCName(temp);\r
- pr.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
- }\r
- }\r
- }\r
- if (!mi.ppi.isEmpty()) {\r
- ppis = msa.addNewPPIs();\r
- it = mi.ppi.iterator();\r
- while (it.hasNext()) {\r
- if ((temp = it.next()) != null) {\r
- PPIsDocument.PPIs.Ppi pp = ppis.addNewPpi();\r
- pp.setPpiCName(temp);\r
- pp.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
- }\r
- }\r
- }\r
- if (!mi.guid.isEmpty()) {\r
- guids = msa.addNewGuids();\r
- it = mi.guid.iterator();\r
- while (it.hasNext()) {\r
- if ((temp = it.next()) != null) {\r
- GuidsDocument.Guids.GuidCNames gcn = guids.addNewGuidCNames();\r
- gcn.setGuidCName(temp);\r
- gcn.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
- }\r
- }\r
- }\r
- it = mi.hashrequiredr9libs.iterator();\r
- while (it.hasNext()) {\r
- if ((temp = it.next()) != null && !temp.matches("%")) {\r
- LibraryClassDocument.LibraryClass lc = libclassdefs.addNewLibraryClass();\r
- lc.setKeyword(temp);\r
- lc.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
- }\r
- }\r
- \r
- return msadoc;\r
- }\r
- \r
- public void flush() throws Exception {\r
+ msaheader.setCopyright("Copyright (c) 2006, Intel Corporation");\r
+ msaheader.setVersion("1.0");\r
+ msaheader.setAbstract("Component name for module " + mi.modulename);\r
+ msaheader.setDescription("FIX ME!");\r
+ msaheader.addNewLicense().setStringValue("All rights reserved.\n" +\r
+ " This software and associated documentation (if any) is furnished\n" +\r
+ " under a license and may only be used or copied in accordance\n" +\r
+ " with the terms of the license. Except as permitted by such\n" +\r
+ " license, no part of this software or documentation may be\n" +\r
+ " reproduced, stored in a retrieval system, or transmitted in any\n" +\r
+ " form or by any means without the express written consent of\n" +\r
+ " Intel Corporation.");\r
+ msaheader.setSpecification("FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052");\r
+ \r
+ List<Enum> arch = new ArrayList<Enum>();\r
+ arch.add(SupportedArchitectures.IA_32);\r
+ arch.add(SupportedArchitectures.X_64);\r
+ arch.add(SupportedArchitectures.IPF);\r
+ arch.add(SupportedArchitectures.EBC);\r
+ md.setSupportedArchitectures(arch);\r
+ md.setBinaryModule(false);\r
+ md.setOutputFileBasename(mi.modulename);\r
+ \r
+ pd.addNewPackage().setPackageGuid("5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec");\r
+ pd.addNewPackage().setPackageGuid("68169ab0-d41b-4009-9060-292c253ac43d");\r
+ externs.addNewSpecification().setStringValue("EFI_SPECIFICATION_VERSION 0x00020000");\r
+ externs.addNewSpecification().setStringValue("EDK_RELEASE_VERSION 0x00020000");\r
+ if (mi.entrypoint != null) {\r
+ externs.addNewExtern().setModuleEntryPoint(mi.entrypoint);\r
+ org.tianocore.ModuleTypeDef.Enum moduleType = msaheader.getModuleType();\r
+ if (moduleType == ModuleTypeDef.PEIM) {\r
+ mi.hashrequiredr9libs.add("PeimEntryPoint");\r
+ } else {\r
+ mi.hashrequiredr9libs.add("UefiDriverEntryPoint");\r
+ }\r
+ }\r
+ \r
+ it = mi.localmodulesources.iterator();\r
+ while (it.hasNext()) {\r
+ addSourceFiles(it.next());\r
+ }\r
+ if (!mi.protocol.isEmpty()) {\r
+ protocols = msa.addNewProtocols();\r
+ it = mi.protocol.iterator();\r
+ while (it.hasNext()) {\r
+ if ((temp = it.next()) != null) {\r
+ ProtocolsDocument.Protocols.Protocol pr = protocols.addNewProtocol();\r
+ pr.setProtocolCName(temp);\r
+ pr.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
+ }\r
+ }\r
+ }\r
+ if (!mi.ppi.isEmpty()) {\r
+ ppis = msa.addNewPPIs();\r
+ it = mi.ppi.iterator();\r
+ while (it.hasNext()) {\r
+ if ((temp = it.next()) != null) {\r
+ PPIsDocument.PPIs.Ppi pp = ppis.addNewPpi();\r
+ pp.setPpiCName(temp);\r
+ pp.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
+ }\r
+ }\r
+ }\r
+ if (!mi.guid.isEmpty()) {\r
+ guids = msa.addNewGuids();\r
+ it = mi.guid.iterator();\r
+ while (it.hasNext()) {\r
+ if ((temp = it.next()) != null) {\r
+ GuidsDocument.Guids.GuidCNames gcn = guids.addNewGuidCNames();\r
+ gcn.setGuidCName(temp);\r
+ gcn.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
+ }\r
+ }\r
+ }\r
+ it = mi.hashrequiredr9libs.iterator();\r
+ while (it.hasNext()) {\r
+ if ((temp = it.next()) != null && !temp.matches("%") && !temp.matches("n/a")) {\r
+ LibraryClassDocument.LibraryClass lc = libclassdefs.addNewLibraryClass();\r
+ lc.setKeyword(temp);\r
+ lc.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
+ }\r
+ }\r
+ \r
+ return msadoc;\r
+ }\r
+ \r
+ public void flush() throws Exception {\r