Fix for enabling external interpreter if we don't have internal interpreter does nothing (#16331)
If you inspect the logic in GHC.Driver.Pipeline
there is this snippet.
-- #16331 - when no "internal interpreter" is available but we
-- need to process some TemplateHaskell or QuasiQuotes, we automatically
-- turn on -fexternal-interpreter.
dflags2 = if not internalInterpreter
then gopt_set dflags1 Opt_ExternalInterpreter
else dflags1
but then if you look at the definition of internalInterpreter
internalInterpreter = not (gopt Opt_ExternalInterpreter lcl_dflags)
So we only enable this extension if it is already set.