diff options
Diffstat (limited to 'Tools/Java/Source/GenBuild')
-rw-r--r-- | Tools/Java/Source/GenBuild/org/tianocore/build/autogen/AutogenLibOrder.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Tools/Java/Source/GenBuild/org/tianocore/build/autogen/AutogenLibOrder.java b/Tools/Java/Source/GenBuild/org/tianocore/build/autogen/AutogenLibOrder.java index 11469a6c49..8fb1be5cbe 100644 --- a/Tools/Java/Source/GenBuild/org/tianocore/build/autogen/AutogenLibOrder.java +++ b/Tools/Java/Source/GenBuild/org/tianocore/build/autogen/AutogenLibOrder.java @@ -223,8 +223,18 @@ public class AutogenLibOrder { // Append the remaining library instance to the end of sorted list
//
for (int i = 0; i < libInstanceList.length; ++i) {
+ if (libInstanceConsumedBy.get(libInstanceList[i]).size() > 0 && libInstanceList[i].hasConstructor()) {
+ EdkLog.log(EdkLog.EDK_ERROR, libInstanceList[i].getName()
+ + " with constructor has a circular dependency!");
+ // throw new AutoGenException("Circular dependency in library instances is found!");
+ }
+
if (!orderList.contains(libInstanceList[i])) {
- orderList.add(libInstanceList[i]);
+ if (libInstanceList[i].getName().equals("UefiBootServicesTableLib")) {
+ orderList.addFirst(libInstanceList[i]);
+ } else {
+ orderList.add(libInstanceList[i]);
+ }
}
}
return orderList;
|