Skip to content

-mmacosx-version-min breaks arch detection for compiler-rt #88780

Open
@jfgoog

Description

@jfgoog

I'm filing this bug as requested by @cjappl in #74394.

As noted in rust-lang/rust#122504 (comment), passing -mmacosx-version-min as a command line seems to break arch detection for compiler-rt.

In compiler-rt/cmake/config-ix.cmake we have:

  set(DARWIN_osx_MIN_VER_FLAG "-mmacosx-version-min")

  string(REGEX MATCH "${DARWIN_osx_MIN_VER_FLAG}=([.0-9]+)"
         MACOSX_VERSION_MIN_FLAG "${CMAKE_CXX_FLAGS}")

and then, later:

  if(NOT MACOSX_VERSION_MIN_FLAG)
    darwin_test_archs(osx
      DARWIN_osx_ARCHS
      ${toolchain_arches})
    message(STATUS "OSX supported arches: ${DARWIN_osx_ARCHS}")

So, specifying -mmacosx-version-min on Darwin results in no architectures being detected for compiler-rt, and the build therefore fails.

This seems incorrect, and is currently preventing the Rust compiler from updating a key dependency -- the cc crate for compiling C and C++ code.

@yln @vitalybuka and @petrhosek: can any of you shed some light here on whether this is expected behavior?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions