Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions Doc/library/sysconfig.rst
Original file line number Diff line number Diff line change
Expand Up @@ -382,22 +382,24 @@ Other functions

Examples of returned values:

Linux
Comment thread
mhsmith marked this conversation as resolved.
Outdated

- linux-i586
- linux-i686
Comment thread
mhsmith marked this conversation as resolved.
Outdated
- linux-alpha (?)
Comment thread
mhsmith marked this conversation as resolved.
Outdated
- solaris-2.6-sun4u

Windows will return one of:
Windows
Comment thread
ivanbelenky marked this conversation as resolved.
Outdated

- win-amd64 (64-bit Windows on AMD64, aka x86_64, Intel64, and EM64T)
- win-arm64 (64-bit Windows on ARM64, aka AArch64)
Comment thread
ivanbelenky marked this conversation as resolved.
- win32 (all others - specifically, sys.platform is returned)
Comment thread
mhsmith marked this conversation as resolved.

macOS can return:
macOS
Comment thread
ivanbelenky marked this conversation as resolved.
Outdated

- macosx-10.13-x86_64
- macosx-11-universal2
- macosx-15.5-arm64

- macosx-10.6-ppc
- macosx-10.4-ppc64
- macosx-10.3-i386
- macosx-10.4-fat

For other non-POSIX platforms, currently just returns :data:`sys.platform`.

Expand Down
27 changes: 19 additions & 8 deletions Lib/sysconfig/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -639,16 +639,27 @@ def get_platform():
isn't particularly important.

Examples of returned values:
linux-i586
linux-alpha (?)
solaris-2.6-sun4u

Windows will return one of:
win-amd64 (64-bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
win-arm64 (64-bit Windows on ARM64 (aka AArch64)
win32 (all others - specifically, sys.platform is returned)
Linux
Comment thread
mhsmith marked this conversation as resolved.
Outdated

For other non-POSIX platforms, currently just returns 'sys.platform'.
- linux-i586
- linux-i686
- linux-alpha (?)
Comment thread
mhsmith marked this conversation as resolved.
Outdated
- solaris-2.6-sun4u

Windows
Comment thread
ivanbelenky marked this conversation as resolved.
Outdated

- win-amd64 (64-bit Windows on AMD64, aka x86_64, Intel64, and EM64T)
- win-arm64 (64-bit Windows on ARM64, aka AArch64)

Comment thread
ivanbelenky marked this conversation as resolved.
macOS
Comment thread
ivanbelenky marked this conversation as resolved.
Outdated

- macosx-10.13-x86_64
- macosx-11-universal2
- macosx-15.5-arm64


For other non-POSIX platforms, currently just returns :data:`sys.platform`.

"""
if os.name == 'nt':
Expand Down
7 changes: 7 additions & 0 deletions Lib/test/test_sysconfig.py
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,13 @@ def test_get_platform(self):

self.assertEqual(get_platform(), 'macosx-10.4-%s' % arch)

for macver in range(11, 16):
_osx_support._remove_original_values(get_config_vars())
get_config_vars()['CFLAGS'] = ('-fno-strict-overflow -Wsign-compare -Wunreachable-code'
'-arch arm64 -fno-common -dynamic -DNDEBUG -g -O3 -Wall')
get_config_vars()['MACOSX_DEPLOYMENT_TARGET'] = f"{macver}.0"
self.assertEqual(get_platform(), 'macosx-%d.0-arm64' % macver)

# linux debian sarge
os.name = 'posix'
sys.version = ('2.3.5 (#1, Jul 4 2007, 17:28:59) '
Expand Down
Loading