Commit Graph

12 Commits

Author SHA1 Message Date
Russell Keith-Magee bee7bb3310
gh-114099: Add configure and Makefile targets to support iOS compilation. (GH-115390) 2024-02-25 20:21:10 -05:00
Russell Keith-Magee 2f0778675a
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.
2024-02-13 00:10:24 +01:00
Christian Heimes dfcc6ff36f
bpo-33393: Update config.guess and config.sub (GH-29781) 2021-11-25 20:55:29 +01:00
Pablo Galindo 2fc857a572
Update CI files to account for the master -> main rename (GH-25860) 2021-05-03 23:36:55 +01:00
Matthias Klose 7e3545c70c
bpo-33393: Update config.guess and config.sub files (#6658) 2018-04-30 20:07:35 +02:00
Matthias Klose 6f46683a62 trivial: update config.{guess,sub} from gnu.org. (GH-1987)
* Update config.{guess,sub} from gnu.org.
2017-06-07 20:20:19 +02:00
Steve Dower 01a057aff4 Revert unintended merge 2016-12-03 12:12:23 -08:00
doko@ubuntu.com 1177696b6b - Import latest config.sub config.guess files 2016-12-01 21:42:56 +01:00
doko@ubuntu.com b4b3575e31 - update config.guess and config.sub to support openrisc. 2014-08-01 17:48:34 +02:00
doko@ubuntu.com ecf4193573 - Update config.{guess,sub} for new ports. 2013-11-19 08:54:38 +01:00
doko@ubuntu.com 41b977c453 - update config.guess and config.sub 2013-03-19 15:03:26 -07:00
Matthias Klose ca2f6ecfc9 - Issue #14327: Call AC_CANONICAL_HOST in configure.ac and check in
config.{guess,sub}.
2012-03-15 21:30:11 +01:00