diff --git a/ruby.c b/ruby.c index 0a130a3e02..ce0a96abd8 100644 --- a/ruby.c +++ b/ruby.c @@ -945,7 +945,12 @@ feature_option(const char *str, int len, void *arg, const unsigned int enable) if (NAME_MATCH_P(#bit, str, len)) {set |= mask = FEATURE_BIT(bit); FEATURE_FOUND;} EACH_FEATURES(SET_FEATURE, ;); if (NAME_MATCH_P("all", str, len)) { + // YJIT and MJIT cannot be enabled at the same time. We enable only YJIT for --enable=all. +#ifdef MJIT_FORCE_ENABLE + mask &= ~(FEATURE_BIT(yjit)); +#else mask &= ~(FEATURE_BIT(jit)); +#endif goto found; } #if AMBIGUOUS_FEATURE_NAMES