Commit Graph

111 Commits

Author SHA1 Message Date
Ned Deily
9be578990e Issue #21923: Prevent AttributeError in distutils.sysconfig.customize_compiler
due to possible uninitialized _config_vars.  Original patch by Alex Gaynor.
2014-07-06 16:11:44 -07:00
Ned Deily
1ab29e78f9 Issue #18080: When building a C extension module on OS X, if the compiler
is overriden with the CC environment variable, use the new compiler as
the default for linking if LDSHARED is not also overriden.  This restores
Distutils behavior introduced in 2.7.3 and inadvertently dropped in 2.7.4.
2013-05-28 16:31:45 -07:00
doko@ubuntu.com
6cb4343d0d - Issue #13150, #17512: sysconfig no longer parses the Makefile and config.h
files when imported, instead doing it at build time.  This makes importing
  sysconfig faster and reduces Python startup time by 20%.
2013-04-08 21:20:09 +02:00
Benjamin Peterson
469ee9d84c backout 66e30c4870bb for breaking OSX (#13150) 2013-03-22 09:37:13 -05:00
doko@ubuntu.com
28b7c05131 - Issue #13150: sysconfig no longer parses the Makefile and config.h files
when imported, instead doing it at build time.  This makes importing
  sysconfig faster and reduces Python startup time by 20%.
2013-03-21 15:02:16 -07:00
doko@python.org
d65e2bab3b - Issue #17086: Backport the patches from the 3.3 branch to cross-build
the package.
2013-01-31 23:52:03 +01:00
Ned Deily
18fae3f954 Issue #13590: OS X Xcode 4 - improve support for universal extension modules
In particular, fix extension module build failures when trying to use
    32-bit-only installer Pythons on systems with Xcode 4 (currently
    OS X 10.8, 10.7, and optionally 10.6).
    * Backport 3.3.0 fixes to 2.7 branch (for release in 2.7.4)
    * Since Xcode 4 removes ppc support, extension module builds now
      check for ppc compiler support and by default remove ppc and
      ppc64 archs when they are not available.
    * Extension module builds now revert to using system installed
      headers and libs (/usr and /System/Library) if the SDK used
      to build the interpreter is not installed or has moved.
    * Try to avoid building extension modules with deprecated
      and problematic Apple llvm-gcc compiler.  If original compiler
      is not available, use clang instead by default.
2013-01-31 01:24:55 -08:00
Ned Deily
c47a459251 Issue #13994: Earler partial revert of Distutils enhancements in 2.7
has left two versions of customize_compiler, the original in
distutils.sysconfig and another copy in distutils.ccompiler, with some
parts of distutils calling one and others using the other.
Complete the revert back to only having one in distutils.sysconfig as
is the case in 3.x.
2012-02-11 20:40:24 +01:00
Ned Deily
0d0ea48709 Issue #13590: On OS X 10.7 and 10.6 with Xcode 4.2, building
Distutils-based packages with C extension modules may fail because
Apple has removed gcc-4.2, the version used to build python.org
64-bit/32-bit Pythons.  If the user does not explicitly override
the default C compiler by setting the CC environment variable,
Distutils will now attempt to compile extension modules with clang
if gcc-4.2 is required but not found. Also as a convenience, if
the user does explicitly set CC, substitute its value as the default
compiler in the Distutils LDSHARED configuration variable for OS X.
(Note, the python.org 32-bit-only Pythons use gcc-4.0 and the 10.4u
SDK, neither of which are available in Xcode 4.  This change does not
attempt to override settings to support their use with Xcode 4.)
2012-02-10 12:59:06 +01:00
Ned Deily
041645a8cb Issue #9516: Change distutils to no longer globally attempt to check and
set the MACOSX_DEPLOYMENT_TARGET env variable for the interpreter process
on OS X.  This could cause failures in non-distutils subprocesses and was
unreliable since tests or user programs could modify the interpreter
environment after distutils set it.  Instead, have distutils set the
the deployment target only in the environment of each build subprocess.

Continue to use the previous algorithm for deriving the deployment target
value:
    if MACOSX_DEPLOYMENT_TARGET is not set in the interpreter's env:
        use the interpreter build configure MACOSX_DEPLOYMENT_TARGET
    elif the MACOSX_DEPLOYMENT_TARGET env value >= configure value:
        use the env MACOSX_DEPLOYMENT_TARGET
    else: # env value less than interpreter build configure value
        raise exception
This allows building extensions that can only run on newer versions of
the OS than the version python was built for, for example with a python
built for 10.3 or later and an extension that needs to be built for 10.5.
2011-06-28 19:40:39 -07:00
Ronald Oussoren
a70286b71d Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
Without this patch python will fail to start properly when the environment
variable MACOSX_DEPLOYMENT_TARGET is set on MacOSX and has a value that is
not compatible with the value during Python's build. This is caused by code
in sysconfig that was only meant to be used in disutils.
2011-05-15 16:44:27 +02:00
Éric Araujo
db553be7fb Remove one trace of Mac OS 9 support (#7908 follow-up)
This was overlooked in r80804.  This change is not really a bug fix,
but the release manager agreed to it.  There is no NEWS entry, like
in the original commit.
2010-11-06 14:16:30 +00:00
Antoine Pitrou
58dab67f2d Merged revisions 85353 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85353 | antoine.pitrou | 2010-10-10 11:37:12 +0200 (dim., 10 oct. 2010) | 3 lines

  Issue #9437: Fix building C extensions with non-default LDFLAGS.
........
2010-10-10 09:54:59 +00:00
Ronald Oussoren
9545a23c7f In a number of places code still revers
to "sys.platform == 'mac'" and that is
dead code because it refers to a platform
that is no longer supported (and hasn't been
supported for several releases).

Fixes issue #7908 for the trunk.
2010-05-05 19:09:31 +00:00
Tarek Ziadé
a5cd18275e Fixed #8577. distutils.sysconfig.get_python_inc() now differenciates buildir and srcdir 2010-04-30 12:15:12 +00:00
Tarek Ziadé
dd7bef9bf5 reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged 2010-03-05 00:16:02 +00:00
Tarek Ziadé
bece7f2d36 fixed a typo on distutils.sysconfig. thanks arfever 2010-02-02 22:55:00 +00:00
Tarek Ziadé
0276c7ad0b reintroduced the names in Distutils for APIs that were relocated 2010-01-26 21:21:54 +00:00
Tarek Ziadé
5633a8048f taking sysconfig out of distutils 2010-01-23 09:23:15 +00:00
Ronald Oussoren
9fa9a0d635 Fix an issue with the detection of a non-existing SDK
on OSX. Without this patch it wasn't possible after all
to compile extensions on OSX 10.6 with the binary
installer unless the user had installed the (non-default)
10.4u SDK.
2009-12-10 10:27:09 +00:00
Ronald Oussoren
68776dbd3c Half of the fix for issue 6957: ensure that distutils
ignores the '-isysroot' option on OSX when the
corresponding SDK is not installed.

This ensures that the user can compile extensions
on OSX 10.6 using the Python.org installer and a
default installation of Xcode.
2009-09-22 19:27:44 +00:00
Tarek Ziadé
2d36afd15e removed the last string.split() call 2009-06-11 08:43:26 +00:00
Tarek Ziadé
25d2bae1c9 Fixed #5201: now distutils.sysconfig.parse_makefile() understands '53264' in Makefiles 2009-06-11 08:12:20 +00:00
Tarek Ziadé
99f660af3f Fixed #5941: added ARFLAGS for the archiver command. 2009-05-07 21:20:34 +00:00
Tarek Ziadé
74fbf60e8c Fixed #3386: the optional prefix argument was ignored under OS2 and NT in distutils.sysconfig.get_python_lib 2009-02-10 12:31:09 +00:00