title: Set default compiler when using Cython and setuptools to compile multiple extensions
body: <p>
  I currently have a project, where we make heavy use of Cython to speed up all of our submodules / classes and I wish to compile them with <code>clang</code> instead of <code>gcc</code> on a Linux system. To this end I currently have a function that gathers all the extensions in the following way:</p>
  
  <pre><code>def extensions():
      try:
          from Cython.Build import cythonize
      except ImportError:
          def cythonize(*args, **kwargs):
              print("Hint: Wrapping import of cythonize in extensions()")
              from Cython.Build import cythonize
              return cythonize(*args, **kwargs)
  
      try:
          import numpy
          lstIncludes = [numpy.get_include()]
      except ImportError:
          lstIncludes = []
  
      extensionArguments = {
          'include_dirs':
          lstIncludes + ['package/core', 'package/inspect', 'util'],
          'extra_compile_args': compilerArguments,
          'extra_link_args': linkerArguments,
          'define_macros': defineMacros
      }
  
      return cythonize(
          [Extension("*", ["package/*.pyx"], **extensionArguments),
           Extension("*", ["package/algs/*.pyx"], **extensionArguments),
           Extension("*", ["package/core/*.pyx"], **extensionArguments)],
          compiler_directives=cythonDirectives)
  </code></pre>
  
  <p>Moreover, I set </p>
  
  <pre><code>os.environ["CC"] = "clang"
  os.environ["CXX"] = "clang"
  </code></pre>
  
  <p>in <code>setup.py</code> and when I call <code>python setup.py build_ext --inplace</code>, the first Cython extension is built using <code>clang</code> but the second one is built with <code>gcc</code>. This behaviour does not change, if I invoke</p>
  
  <pre><code>export CC=clang; python setup.py build_ext --inplace
  </code></pre>
  
  <p>Then again, the first uncompiled of the cythonized extensions is built using <code>clang</code> but the second one and all following are built using <code>gcc</code> again.</p>
  
  <p>How can I set and fix the compiler for all Cython modules during compilation?</p>
  
  <p>Edit: After some weeks of consideration I still do not have a solution to above problem and it also occurs across multiple machines, so it is not a result of my specific setup.</p>