Skip to content

Add shims for iOS C++ compilation #123620

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 4, 2024
Merged

Conversation

freakboy3742
Copy link
Contributor

The iOS directory contains shims that can be used as a proxy for invoking the iOS compilers. These shims are required because tools often assume that the first word on a command line is the compiler; but iOS compiler invocation requires multiple words. Setting CC="xcrun --sdk iphoneos -target arm64-apple-ios" can cause problems with some build tooling (including, but not limited to distutils).

This PR adds shims for the C++ compiler. It is technically possible to use clang as a C++ compiler; however, invoking clang++ implies the -lstdc++ argument, and most C++ build systems don't explicitly list -lstdc++ as a required argument.

CPython itself doesn't use these shims itself for compilation, but CXX is captured as part of sysconfig, and is that configuration is used extensively by packages in the third-party packaging ecosystem. Providing these shims is an entirely a convenience for compiling those packages.

@freakboy3742 freakboy3742 merged commit 135dad9 into python:main Sep 4, 2024
39 checks passed
@miss-islington-app
Copy link

Thanks @freakboy3742 for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13.
🐍🍒⛏🤖

@freakboy3742 freakboy3742 deleted the ios-cxx-shims branch September 4, 2024 00:28
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Sep 4, 2024
Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
@bedevere-app
Copy link

bedevere-app bot commented Sep 4, 2024

GH-123656 is a backport of this pull request to the 3.13 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.13 bugs and security fixes label Sep 4, 2024
freakboy3742 added a commit that referenced this pull request Sep 4, 2024
Add shims for iOS C++ compilation (GH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Sep 6, 2024
…3656)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Sep 6, 2024
…3656)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Sep 6, 2024
…3656)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Sep 6, 2024
)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Sep 9, 2024
…3656)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Sep 9, 2024
…3656)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Sep 9, 2024
…3656)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Sep 9, 2024
)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Oct 9, 2024
…3656)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Dec 13, 2024
)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Dec 13, 2024
…3656)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Dec 13, 2024
…3656)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
freakboy3742 added a commit to freakboy3742/cpython that referenced this pull request Dec 13, 2024
…3656)

Add shims for iOS C++ compilation (pythonGH-123620)

Add shims for iOS C++ compilation.
(cherry picked from commit 135dad9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants