mirror of
https://github.com/python/cpython
synced 2024-09-16 00:07:33 +00:00
bpo-43568: Drop support for MACOSX_DEPLOYMENT_TARGET < 10.3 (GH-25827)
Only complain if the config target is >= 10.3 and the current target is < 10.3. The check was originally added to ensure that incompatible LDSHARED flags are not used, because -undefined dynamic_lookup is used when building for 10.3 and later, and is not supported on older OS versions. Apart from that, there should be no problem in general with using an older target. Authored-by: Joshua Root <jmr@macports.org>
This commit is contained in:
parent
33ec88ac81
commit
8703178258
|
@ -525,10 +525,10 @@ def get_platform_osx(_config_vars, osname, release, machine):
|
||||||
try:
|
try:
|
||||||
macrelease = tuple(int(i) for i in macrelease.split('.')[0:2])
|
macrelease = tuple(int(i) for i in macrelease.split('.')[0:2])
|
||||||
except ValueError:
|
except ValueError:
|
||||||
macrelease = (10, 0)
|
macrelease = (10, 3)
|
||||||
else:
|
else:
|
||||||
# assume no universal support
|
# assume no universal support
|
||||||
macrelease = (10, 0)
|
macrelease = (10, 3)
|
||||||
|
|
||||||
if (macrelease >= (10, 4)) and '-arch' in cflags.strip():
|
if (macrelease >= (10, 4)) and '-arch' in cflags.strip():
|
||||||
# The universal build will build fat binaries, but not on
|
# The universal build will build fat binaries, but not on
|
||||||
|
|
|
@ -59,13 +59,17 @@ def spawn(cmd, search_path=1, verbose=0, dry_run=0):
|
||||||
if _cfg_target:
|
if _cfg_target:
|
||||||
_cfg_target_split = [int(x) for x in _cfg_target.split('.')]
|
_cfg_target_split = [int(x) for x in _cfg_target.split('.')]
|
||||||
if _cfg_target:
|
if _cfg_target:
|
||||||
# ensure that the deployment target of build process is not less
|
# Ensure that the deployment target of the build process is not
|
||||||
# than that used when the interpreter was built. This ensures
|
# less than 10.3 if the interpreter was built for 10.3 or later.
|
||||||
# extension modules are built with correct compatibility values
|
# This ensures extension modules are built with correct
|
||||||
|
# compatibility values, specifically LDSHARED which can use
|
||||||
|
# '-undefined dynamic_lookup' which only works on >= 10.3.
|
||||||
cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
|
cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
|
||||||
if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
|
cur_target_split = [int(x) for x in cur_target.split('.')]
|
||||||
|
if _cfg_target_split[:2] >= [10, 3] and cur_target_split[:2] < [10, 3]:
|
||||||
my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
|
my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
|
||||||
'now "%s" but "%s" during configure'
|
'now "%s" but "%s" during configure;'
|
||||||
|
'must use 10.3 or later'
|
||||||
% (cur_target, _cfg_target))
|
% (cur_target, _cfg_target))
|
||||||
raise DistutilsPlatformError(my_msg)
|
raise DistutilsPlatformError(my_msg)
|
||||||
env = dict(os.environ,
|
env = dict(os.environ,
|
||||||
|
|
|
@ -1070,7 +1070,7 @@ def test_getgroups(self):
|
||||||
# Issues 16698: OS X ABIs prior to 10.6 have limits on getgroups()
|
# Issues 16698: OS X ABIs prior to 10.6 have limits on getgroups()
|
||||||
if sys.platform == 'darwin':
|
if sys.platform == 'darwin':
|
||||||
import sysconfig
|
import sysconfig
|
||||||
dt = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET') or '10.0'
|
dt = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET') or '10.3'
|
||||||
if tuple(int(n) for n in dt.split('.')[0:2]) < (10, 6):
|
if tuple(int(n) for n in dt.split('.')[0:2]) < (10, 6):
|
||||||
raise unittest.SkipTest("getgroups(2) is broken prior to 10.6")
|
raise unittest.SkipTest("getgroups(2) is broken prior to 10.6")
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Drop support for MACOSX_DEPLOYMENT_TARGET < 10.3
|
14
configure
vendored
14
configure
vendored
|
@ -9656,19 +9656,7 @@ then
|
||||||
test ${dep_target_minor} -le 2
|
test ${dep_target_minor} -le 2
|
||||||
then
|
then
|
||||||
# building for OS X 10.0 through 10.2
|
# building for OS X 10.0 through 10.2
|
||||||
LDSHARED='$(CC) -bundle'
|
as_fn_error $? "MACOSX_DEPLOYMENT_TARGET too old ($MACOSX_DEPLOYMENT_TARGET), only 10.3 or later is supported" "$LINENO" 5
|
||||||
LDCXXSHARED='$(CXX) -bundle'
|
|
||||||
if test "$enable_framework" ; then
|
|
||||||
# Link against the framework. All externals should be defined.
|
|
||||||
BLDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
|
|
||||||
LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
|
|
||||||
LDCXXSHARED="$LDCXXSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
|
|
||||||
else
|
|
||||||
# No framework, use the Python app as bundle-loader
|
|
||||||
BLDSHARED="$LDSHARED "'-bundle_loader $(BUILDPYTHON)'
|
|
||||||
LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
|
|
||||||
LDCXXSHARED="$LDCXXSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
# building for OS X 10.3 and later
|
# building for OS X 10.3 and later
|
||||||
LDSHARED='$(CC) -bundle -undefined dynamic_lookup'
|
LDSHARED='$(CC) -bundle -undefined dynamic_lookup'
|
||||||
|
|
14
configure.ac
14
configure.ac
|
@ -2651,19 +2651,7 @@ then
|
||||||
test ${dep_target_minor} -le 2
|
test ${dep_target_minor} -le 2
|
||||||
then
|
then
|
||||||
# building for OS X 10.0 through 10.2
|
# building for OS X 10.0 through 10.2
|
||||||
LDSHARED='$(CC) -bundle'
|
AC_MSG_ERROR([MACOSX_DEPLOYMENT_TARGET too old ($MACOSX_DEPLOYMENT_TARGET), only 10.3 or later is supported])
|
||||||
LDCXXSHARED='$(CXX) -bundle'
|
|
||||||
if test "$enable_framework" ; then
|
|
||||||
# Link against the framework. All externals should be defined.
|
|
||||||
BLDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
|
|
||||||
LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
|
|
||||||
LDCXXSHARED="$LDCXXSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
|
|
||||||
else
|
|
||||||
# No framework, use the Python app as bundle-loader
|
|
||||||
BLDSHARED="$LDSHARED "'-bundle_loader $(BUILDPYTHON)'
|
|
||||||
LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
|
|
||||||
LDCXXSHARED="$LDCXXSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
# building for OS X 10.3 and later
|
# building for OS X 10.3 and later
|
||||||
LDSHARED='$(CC) -bundle -undefined dynamic_lookup'
|
LDSHARED='$(CC) -bundle -undefined dynamic_lookup'
|
||||||
|
|
Loading…
Reference in a new issue