docs: def prepare_spec(self, spec, **kwargs):
          """
          Prepare a spec for usage with the generic ToolchainRuntime.
  
          Subclasses should avoid overriding this; override create_spec
          instead.
          """
  
          self.prepare_spec_debug_flag(spec, **kwargs)
          self.prepare_spec_export_target_checks(spec, **kwargs)
          # defer the setup till the actual toolchain invocation
          spec.advise(SETUP, self.prepare_spec_advice_packages, spec, **kwargs)