Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
4b48c612
Commit
4b48c612
authored
Dec 28, 2008
by
Ronald Oussoren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Issue4064: architecture string for universal builds on OSX
parent
dae1a6a4
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
4 deletions
+27
-4
Doc/distutils/apiref.rst
Doc/distutils/apiref.rst
+17
-0
Lib/distutils/util.py
Lib/distutils/util.py
+10
-4
No files found.
Doc/distutils/apiref.rst
View file @
4b48c612
...
...
@@ -1100,6 +1100,23 @@ other utility module.
For non-POSIX platforms, currently just returns ``sys.platform``.
For MacOS X systems the OS version reflects the minimal version on which
binaries will run (that is, the value of ``MACOSX_DEPLOYMENT_TARGET``
during the build of Python), not the OS version of the current system.
For universal binary builds on MacOS X the architecture value reflects
the univeral binary status instead of the architecture of the current
processor. For 32-bit universal binaries the architecture is ``fat``,
for 4-way universal binaries the architecture is ``universal``.
Examples of returned values on MacOS X:
* ``macosx-10.3-ppc``
* ``macosx-10.3-fat``
* ``macosx-10.5-universal``
.. % XXX isn't this also provided by some other non-distutils module?
...
...
Lib/distutils/util.py
View file @
4b48c612
...
...
@@ -100,7 +100,11 @@ def get_platform ():
if
not
macver
:
macver
=
cfgvars
.
get
(
'MACOSX_DEPLOYMENT_TARGET'
)
if
not
macver
:
if
1
:
# Always calculate the release of the running machine,
# needed to determine if we can build fat binaries or not.
macrelease
=
macver
# Get the system version. Reading this plist is a documented
# way to get the system version (see the documentation for
# the Gestalt Manager)
...
...
@@ -116,16 +120,18 @@ def get_platform ():
r'
<
string
>
(.
*
?
)
</
string
>
', f.read())
f.close()
if m is not None:
mac
ver
= '
.
'.join(m.group(1).split('
.
')[:2])
mac
release
= '
.
'.join(m.group(1).split('
.
')[:2])
# else: fall back to the default behaviour
if not macver:
macver = macrelease
if macver:
from distutils.sysconfig import get_config_vars
release = macver
osname = "macosx"
if (release + '
.
') >= '
10.4
.
' and
\
if (macrelease + '
.
') >= '
10.4
.
' and
\
'
-
arch
' in get_config_vars().get('
CFLAGS
', '').strip():
# The universal build will build fat binaries, but not on
# systems before 10.4
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment