Skip to content

platform_triplet.c uses possibly undefined TARGET_OS_* macros #117886

Closed
@jmroot

Description

@jmroot

Bug report

Bug description:

The symptom is:

configure:6892: checking for the platform triplet based on compiler characteristics
configure:6900: result: none

which of course leads to all kinds of problems later in the build. The problem is that platform_triplet.c uses TARGET_OS_IOS, TARGET_OS_SIMULATOR and TARGET_OS_OSX without checking if they are defined. While this is valid according to the C standard with undefined macros evaluating to 0, it's a problem for two reasons: Older macOS SDKs don't define these, and the code assumes that TARGET_OS_OSX being false means it's not building for macOS, and secondly some clang versions will error if you use any macro starting with TARGET_OS_ without checking if it is defined.

CPython versions tested on:

3.13

Operating systems tested on:

macOS

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    OS-macbuildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions