title: How to tell distutils to use gcc?
body: <p>I want to wrap a test project containing C++ and OpenMP code with Cython, and build it with distutils via a <code>setup.py</code> file. The content of my file looks like this:</p>
  
  <pre><code>from distutils.core import setup
  from distutils.extension import Extension
  from Cython.Build import cythonize
  from Cython.Distutils import build_ext
  
  
  modules = [Extension("Interface",
                       ["Interface.pyx", "Parallel.cpp"],
                       language = "c++",
                       extra_compile_args=["-fopenmp"],
                       extra_link_args=["-fopenmp"])]
  
  for e in modules:
      e.cython_directives = {"embedsignature" : True}
  
  setup(name="Interface",
       cmdclass={"build_ext": build_ext},
       ext_modules=modules)
  </code></pre>
  
  <p>The <code>-fopenmp</code> flag is used with gcc to compile and link against OpenMP. However, if I just invoke</p>
  
  <pre><code>cls ~/workspace/CythonOpenMP/src $ python3 setup.py build
  </code></pre>
  
  <p>this flag is not recognized, because the compiler is clang:</p>
  
  <pre><code>running build
  running build_ext
  skipping 'Interface.cpp' Cython extension (up-to-date)
  building 'Interface' extension
  cc -Wno-unused-result -fno-common -dynamic -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python3/3.3.0/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c Interface.cpp -o build/temp.macosx-10.8-x86_64-3.3/Interface.o -fopenmp
  clang: warning: argument unused during compilation: '-fopenmp'
  cc -Wno-unused-result -fno-common -dynamic -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python3/3.3.0/Frameworks/Python.framework/Versions/3.3/include/python3.3m -c Parallel.cpp -o build/temp.macosx-10.8-x86_64-3.3/Parallel.o -fopenmp
  clang: warning: argument unused during compilation: '-fopenmp'
  Parallel.cpp:24:10: warning: unknown pragma ignored [-Wunknown-pragmas]
          #pragma omp parallel for
                  ^
  1 warning generated.
  c++ -bundle -undefined dynamic_lookup -L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-3.3/Interface.o build/temp.macosx-10.8-x86_64-3.3/Parallel.o -o build/lib.macosx-10.8-x86_64-3.3/Interface.so -fopenmp
  ld: library not found for -lgomp
  clang: error: linker command failed with exit code 1 (use -v to see invocation)
  error: command 'c++' failed with exit status 1
  </code></pre>
  
  <p>I've unsucessfully tried to specify gcc:</p>
  
  <pre><code>cls ~/workspace/CythonOpenMP/src $ python3 setup.py build --compiler=g++-4.7
  running build
  running build_ext
  error: don't know how to compile C/C++ code on platform 'posix' with 'g++-4.7' compiler
  </code></pre>
  
  <p>How can I tell distutils to use gcc?</p>