Skip to content

Cross compiling from macOS to Emscripten fails because of automatically added -stdlib=libc++ #7339

@sascha

Description

@sascha

Environment Details

  • Operating System+version: macOS 10.15.5
  • Compiler+version: Apple clang version 11.0.3 and Emscripten 1.39.19
  • Conan version: 1.27.0
  • Python version: 3.7.7

Problem description

I'm not quite sure if this is a bug, a missing feature or a configuration error, but the issue is somewhat related to issue #2856. Just like Android, the Emscripten compiler does not need -stdlib=libc++. I could probably get around this issue by specifying compiler.libcxx=c++_static in the host profile in which case the conan_set_libcxx macro in the generated CMake file would not add the -stdlib=libc++ flag, however this is only a valid option when setting the compiler to clang. On the other hand I can't set the compiler to clang, because the highest available version number is 10 while the latest version number of apple-clang is 11. This mismatch will throw an error when installing packages, because Emscripten's toolchain file automatically sets the compiler version to that of the system clang.

Ideally I'd need a way to remove the compiler.libcxx setting when the host os is Emscripten. Is there a way to do this?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions