+ if (arch)
+ {
+ int i;
+
+ /* convert arch to known policy */
+ for (i = 0; archpolicies[i]; i += 2)
+ if (!strcmp(archpolicies[i], arch))
+ break;
+ if (archpolicies[i])
+ arch = archpolicies[i + 1];
+ else
+ arch = "";
+ }
+ pool_setarchpolicy(pool, arch);
+}
+
+/*
+ * we support three relations:
+ *
+ * a = b both architectures a and b are treated as equivalent
+ * a > b a is considered a "better" architecture, the solver
+ * should change from a to b, but must not change from b to a
+ * a : b a is considered a "better" architecture, the solver
+ * must not change the architecture from a to b or b to a
+ */
+void
+pool_setarchpolicy(Pool *pool, const char *arch)
+{