Skip to content
This repository has been archived by the owner on Jan 4, 2021. It is now read-only.

Return to standard settings.compiler.libcxx naming #7

Closed
wants to merge 2 commits into from

Conversation

vok1980
Copy link

@vok1980 vok1980 commented Jan 17, 2020

No description provided.

@vok1980 vok1980 changed the title Return standard compiler.libcxx naming Return to standard settings.compiler.libcxx naming Jan 17, 2020
@Croydon Croydon removed their request for review January 17, 2020 15:29
@vok1980 vok1980 mentioned this pull request Jan 18, 2020
@SSE4
Copy link
Member

SSE4 commented Jan 19, 2020

@vok1980 right now valid compiler.libcxx values for clang are:

libcxx: [libstdc++, libstdc++11, libc++, c++_shared, c++_static]

c++_shared and c++_static were added by conan-io/conan#4538, and they both refer to libc++ (which might be confusing), and were added to match Android NDK values:

The shared library for libc++ is libc++_shared.so, and the static library is libc++_static.a.

so I believe code should be:

if not str(self.settings.compiler.libcxx) in ["c++_shared", "c++_static", "libc++"]:

and libcxx_shared option is not needed (as compiler.libcxx setting already models that).
I'd also prefer build.py building for both c++_shared and c++_static if possible (as they are used).
libc++ was used in recipe before, due to the settings.yml had no c++_shared/c++_static. right now, libc++ is used mainly for Linux/Mac, while Android has "c++_shared", "c++_static".
I understand it might be confusing, but let's not add new option to cause even more confusion.

@vok1980
Copy link
Author

vok1980 commented Jan 20, 2020

@vok1980 right now valid compiler.libcxx values for clang are:

libcxx: [libstdc++, libstdc++11, libc++, c++_shared, c++_static]

c++_shared and c++_static were added by conan-io/conan#4538, and they both refer to libc++ (which might be confusing), and were added to match Android NDK values:

The shared library for libc++ is libc++_shared.so, and the static library is libc++_static.a.

so I believe code should be:

if not str(self.settings.compiler.libcxx) in ["c++_shared", "c++_static", "libc++"]:

and libcxx_shared option is not needed (as compiler.libcxx setting already models that).
I'd also prefer build.py building for both c++_shared and c++_static if possible (as they are used).
libc++ was used in recipe before, due to the settings.yml had no c++_shared/c++_static. right now, libc++ is used mainly for Linux/Mac, while Android has "c++_shared", "c++_static".
I understand it might be confusing, but let's not add new option to cause even more confusion.

ok.
See #9

@vok1980 vok1980 closed this Jan 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants