[issue18257] Two copies of python-config

Ronald Oussoren report at bugs.python.org
Sun Jul 7 16:29:33 CEST 2013


Ronald Oussoren added the comment:

Matthias: sorry, I completely missed the message where you explained why the script is now a shell script. 

The customization is performed by _osx_xsupport.customize_config_vars.

What this is used for:

* We ship binaries build with a specific compiler configuration
  (IIRC Xcode 3 on OSX 10.5 for the 32-bit installers)

* That configuration does not work on all supported platforms:

  - OSX 10.3 (which is more less supported on a "we'll try to fix
    if you scream basis") does not support "-arch" flags or
    "-isysroot" at all.
 
  - On OSX 10.4 you must use an SDK to build fat binaries (such as 
    for the 32-bit binary installers).

  - Xcode 4, which must be used on more recent systems (at least 10.7
    and 10.7, possibly 10.6 as well), is different. A particular worry
    is that the "gcc" command for Xcode 4 is a gcc frontend for the 
    LLVM system and that miscompiles parts of Python 3.3. Therefore we
    use clang instead of gcc when detecting that compiler. In future
    versions of Xcode there will likely not be a gcc compiler at all.

  - We cannot use the same SDK on all platforms, because Xcode ships
    with a limited number of SDK (basicly just the SDK for the current
    and previous releases). We therefore automaticly select the most
    appropriate SDK at runtime.

    (Different SDKs isn't as problematic as it sounds, you can build
    with the OSX 10.8 SDK and deploy to OSX 10.4; except for PPC you
    must use Xcode 3 for PPC support because Xcode 4 does not contain
    a compiler that does that).

  - OSX 10.9 (currently in beta) also contains changes that affect 
    compiler support. I won't comment on those changes right now because
    I haven't fully investigated them yet, and because 10.9 is 
    in a closed SDK.

I may have missed some details because I haven't looked at the code while
writing this, but this should at least explain why I was upset with a change to a shell script.  

The customization can be written as shell scripts, but it is more code to maintain in an inelegant scripting system.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue18257>
_______________________________________


More information about the Python-bugs-list mailing list