class_docstr: Check for availability of headers and libraries of FFTW and MPI.
  
  :param compiler:
  
      Distutils.ccompiler; The compiler should be the compiler that
      is used for actual compilation to ensure that include
      directories, linker flags etc. are identical.
docstr: Check for existence and usability of header files by compiling a test file.
docstr_tok: ["Check","for","existence","and","usability","of","header","files","by","compiling","a","test","file","."]
code: def has_header(self, headers, include_dirs=None):
      """Check for existence and usability of header files by compiling a test file."""
      return self.has_function(
          None, includes=headers, include_dirs=include_dirs
      )
  
imports: from setuptools import setup, Command
  from setuptools.command.build_ext import build_ext
  from sysconfig import get_platform
  from contextlib import redirect_stderr, redirect_stdout
  import os
  import logging
  import platform
  import sys
  import versioneer
label_desc: Use image node_id 9 for calling the EnvironmentSniffer obj's underlying member method code with example usage: obj.has_header(headers, include_dirs) and returns: self