diff options
author | jwang36 <jwang36@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-01-11 09:00:36 +0000 |
---|---|---|
committer | jwang36 <jwang36@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-01-11 09:00:36 +0000 |
commit | d919bb8cf91225ad4df49bdf50cd37795aadc7e6 (patch) | |
tree | ff1c21397c19e309659eb243365e599037f346d5 /Tools | |
parent | 957407060b0b7f78a5303699e237ab1dbcc3cacd (diff) | |
download | edk2-d919bb8cf91225ad4df49bdf50cd37795aadc7e6.zip edk2-d919bb8cf91225ad4df49bdf50cd37795aadc7e6.tar.gz edk2-d919bb8cf91225ad4df49bdf50cd37795aadc7e6.tar.bz2 |
Added a workaround to fix the library instance constructor sequence issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2221 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Tools')
-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 11469a6..8fb1be5 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;
|