diff options
author | Russell Keith-Magee <russell@keith-magee.com> | 2024-02-12 23:10:24 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-12 23:10:24 (GMT) |
commit | 2f0778675ad0eaf346924ef6a2f60529b92ffcfa (patch) | |
tree | 2832f00ab7892108103685b9359da18728eb1f4f /Objects/exceptions.c | |
parent | 10756b10ff8e47ece33f7fbf62c9a06f8a866fed (diff) | |
download | cpython-2f0778675ad0eaf346924ef6a2f60529b92ffcfa.zip cpython-2f0778675ad0eaf346924ef6a2f60529b92ffcfa.tar.gz cpython-2f0778675ad0eaf346924ef6a2f60529b92ffcfa.tar.bz2 |
gh-114099: Refactor configure and Makefile to accomodate non-macOS frameworks (#115120)
Part of the PEP 730 work to add iOS support.
This change lays the groundwork for introducing iOS/tvOS/watchOS
frameworks; it includes the structural refactoring needed so that iOS
branches can be added into in a subsequent PR.
Summary of changes:
* Updates config.sub to the 2024-01-01 release. This is the "as
released" version of config.sub.
* Adds a RESSRCDIR variable to allow sharing of macOS and iOS Makefile
steps.
* Adds an INSTALLTARGETS variable so platforms can customise which
targets are actually installed. This will be used to exclude certain
targets (e.g., binaries, manfiles) from iOS framework installs.
* Adds a PYTHONFRAMEWORKINSTALLNAMEPREFIX variable; this is used as
the install name for the library. This is needed to allow for iOS
frameworks to specify an @rpath-based install name.
* Evaluates MACHDEP earlier in the configure process so that
ac_sys_system is available.
* Modifies _PYTHON_HOST_PLATFORM evaluation for cross-platform builds
so that the CPU architecture is differentiated from the host
identifier. This will be used to generate a _PYTHON_HOST_PLATFORM
definition that includes ABI information, not just CPU architecture.
* Differentiates between SOABI_PLATFORM and PLATFORM_TRIPLET.
SOABI_PLATFORM is used in binary module names, and includes the ABI,
but not the OS or CPU architecture (e.g.,
math.cpython-313-iphonesimulator.dylib). PLATFORM_TRIPLET is used
as the sys._multiarch value, and on iOS will contains the ABI and
architecture (e.g., iphoneos-arm64). This differentiation hasn't
historically been needed because while macOS is a multiarch platform,
it uses a bare darwin as PLATFORM_TRIPLE.
* Removes the use of the deprecated -Wl,-single_module flag when
compiling macOS frameworks.
* Some whitespace normalisation where there was a mix of spaces and tabs
in a single block.
Diffstat (limited to 'Objects/exceptions.c')
0 files changed, 0 insertions, 0 deletions