title: Building a python module and linking it against a MacOSX framework
body: <p>I'm trying to build a Python extension on MacOSX 10.6 and to link it against several frameworks (i386 only). I made a setup.py file, using distutils and the Extension object.</p>
  
  <p>I order to link against my frameworks, my <strong>LDFLAGS</strong> env var should look like :</p>
  
  <pre><code>LDFLAGS = -lc -arch i386 -framework fwk1 -framework fwk2
  </code></pre>
  
  <p>As I did not find any 'framework' keyword in the Extension module documentation, I used the <strong>extra_link_args</strong> keyword instead.</p>
  
  <pre><code>Extension('test',
  define_macros = [('MAJOR_VERSION', '1'), ,('MINOR_VERSION', '0')],
  include_dirs = ['/usr/local/include', 'include/', 'include/vitale'],
  extra_link_args = ['-arch i386',
                     '-framework fwk1',
                     '-framework fwk2'],
  sources = "testmodule.cpp",
  language = 'c++' )
  </code></pre>
  
  <p>Everything is compiling and linking fine. If I remove the -framework line from the extra_link_args, my linker fails, as expected. Here is the last two lines produced by a python setup.py build :</p>
  
  <pre><code>/usr/bin/g++-4.2 -arch x86_64 -arch i386 -isysroot /
  -L/opt/local/lib -arch x86_64 -arch i386 -bundle
  -undefined dynamic_lookup build/temp.macosx-10.6-intel-2.6/testmodule.o
  -o build/lib.macosx-10.6-intel-2.6/test.so
  -arch i386 -framework fwk1 -framework fwk2
  </code></pre>
  
  <p>Unfortunately, the .so that I just produced is unable to find several symbols provided by this framework. I tried to check the linked framework with otool. None of them is appearing.</p>
  
  <pre><code>$ otool -L test.so
  test.so:
      /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
      /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.0.1)
  </code></pre>
  
  <p>There is the output of otool run on a test binary, made with g++ and ldd using the LDFLAGS described at the top of my post. On this example, the -framework did work.</p>
  
  <pre><code>$ otool -L vitaosx 
  vitaosx:
      /Library/Frameworks/fwk1.framework/Versions/A/fwk1 (compatibility version 1.0.0, current version 1.0.0)
      /Library/Frameworks/fwk2.framework/Versions/A/fwk2 (compatibility version 1.0.0, current version 1.0.0)
      /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
      /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.0.1)
  </code></pre>
  
  <p>May this issue be linked to the "-undefined dynamic_lookup" flag on the linking step ? I'm a little bit confused by the few lines of documentation that I'm finding on Google.</p>
  
  <p>Cheers,</p>