]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/Prototype/Component.java
4e4e3a178c6ef5b8a942028498653de002892740
[mirror_edk2.git] / Tools / Source / Prototype / Component.java
1 import java.util.*;
2
3 public class Component extends Module
4 {
5 Component()
6 {
7 }
8 Component(String n)
9 {
10 name=n;
11 }
12 String name;
13
14 // These are the libs we want to build with.
15 public Set<LibInst> buildLibs;
16
17 public String name() { return name; }
18
19 public boolean autoBuild()
20 {
21 // buildLibs must contain a list of libInstances. We need to check that
22 // These libs meet certain criterea.
23 if(!duplicateLibClasses(buildLibs).isEmpty())
24 {
25 // Error: The lib instance implement the same lib twice.
26 return false;
27 }
28 if(! libClassesProduced(buildLibs).containsAll(consumesLibClasses))
29 {
30 // We can not cover the libclasses consumed with these instances.
31 return false;
32 }
33 getConstructorOrder(buildLibs);
34 getDestructorOrder(buildLibs);
35
36 // Get PPI, Protocol, GUID, PCDs from the lib instances. These are all simple unions of
37 // the corresponding sets in the modules. There is no ordering needed.
38 // TODO
39
40 return true;
41 }
42
43 }