Index: src/flag-definitions.h |
diff --git a/src/flag-definitions.h b/src/flag-definitions.h |
index 6ede84322aecd19984007b721729c993b6401fa3..5cdad437e92a9bae41c26b0288f25a596ecd87d1 100644 |
--- a/src/flag-definitions.h |
+++ b/src/flag-definitions.h |
@@ -16,6 +16,9 @@ |
#define DEFINE_NEG_IMPLICATION(whenflag, thenflag) \ |
DEFINE_VALUE_IMPLICATION(whenflag, thenflag, false) |
+#define DEFINE_NEG_NEG_IMPLICATION(whenflag, thenflag) \ |
+ DEFINE_NEG_VALUE_IMPLICATION(whenflag, thenflag, false) |
+ |
// We want to declare the names of the variables for the header file. Normally |
// this will just be an extern declaration, but for a readonly flag we let the |
// compiler make better optimizations by giving it the value. |
@@ -54,6 +57,9 @@ |
#define DEFINE_VALUE_IMPLICATION(whenflag, thenflag, value) \ |
if (FLAG_##whenflag) FLAG_##thenflag = value; |
+#define DEFINE_NEG_VALUE_IMPLICATION(whenflag, thenflag, value) \ |
+ if (!FLAG_##whenflag) FLAG_##thenflag = value; |
+ |
#else |
#error No mode supplied when including flags.defs |
#endif |
@@ -75,6 +81,10 @@ |
#define DEFINE_VALUE_IMPLICATION(whenflag, thenflag, value) |
#endif |
+#ifndef DEFINE_NEG_VALUE_IMPLICATION |
+#define DEFINE_NEG_VALUE_IMPLICATION(whenflag, thenflag, value) |
+#endif |
+ |
#define COMMA , |
#ifdef FLAG_MODE_DECLARE |
@@ -202,9 +212,9 @@ HARMONY_INPROGRESS(FLAG_INPROGRESS_FEATURES) |
HARMONY_STAGED(FLAG_STAGED_FEATURES) |
#undef FLAG_STAGED_FEATURES |
-#define FLAG_SHIPPING_FEATURES(id, description) \ |
- DEFINE_BOOL(id, false, "enable " #description) \ |
- DEFINE_IMPLICATION(harmony_shipping, id) |
+#define FLAG_SHIPPING_FEATURES(id, description) \ |
+ DEFINE_BOOL(id, true, "enable " #description) \ |
+ DEFINE_NEG_NEG_IMPLICATION(harmony_shipping, id) |
HARMONY_SHIPPING(FLAG_SHIPPING_FEATURES) |
#undef FLAG_SHIPPING_FEATURES |
@@ -985,6 +995,7 @@ DEFINE_IMPLICATION(unbox_double_fields, track_double_fields) |
#undef DEFINE_ARGS |
#undef DEFINE_IMPLICATION |
#undef DEFINE_NEG_IMPLICATION |
+#undef DEFINE_NEG_VALUE_IMPLICATION |
#undef DEFINE_VALUE_IMPLICATION |
#undef DEFINE_ALIAS_BOOL |
#undef DEFINE_ALIAS_INT |