addition to the fix for ECL453357, to support older schemas
diff --git a/src/packages/xdc/cfg/Main.xs b/src/packages/xdc/cfg/Main.xs
index 8a0636f..d477d31 100644
--- a/src/packages/xdc/cfg/Main.xs
+++ b/src/packages/xdc/cfg/Main.xs
@@ -1520,7 +1520,17 @@
var unit = xdc.module(qname, cycles == undefined ? false : cycles);
if (unit.$category == "Interface") {
- if ("$used" in unit) {
+ /* Older schemas sealed '$used' for interfaces by default. We can
+ * remove the check for the build version, when either 3.31.0 packages
+ * are not supported anymore or we increment the red version number up
+ * from 170 and all older schemas are rebuilt.
+ */
+ origVers = Packages.xdc.services.global.Vers.getXdcString(
+ unit.$package.packageBase + "/package/package.defs.h");
+ if (origVers > "xdc-a00" || origVers < "xdc-A66") {
+ unit.$unseal("$used");
+ }
+ if ("$used" in unit) {
unit.$used = true;
}
return (unit);