5 ms·
Cool! Are you going to accept patches to port this to other operating systems? It would be cool if `clang -stdlib=msvc` joined -stdlib=libc++ and -stdlib=libstd
by bla3 7y ago
Cool! Are you going to accept patches to port this to other operating systems? It would be cool if `clang -stdlib=msvc` joined -stdlib=libc++ and -stdlib=libstdc++.
- jfultz 7y agoI'm at CppCon and attended the talk today where Microsoft announced this to the CppCon attendees. The folks speaking made it clear that they do intend to accept pull requests, and that they're positive about it being used outside of the VC++ environment under the appropriate license (Apache 2 with LLVM Exception).
- lsllc 7y agoWhat's the LLVM Exception? (asking for a friend ...)
- wyldfire 7y agoFrom https://llvm.org/foundation/relicensing/LICENSE.txt https://llvm.org/foundation/relicensing/LICENSE.txt --- LLVM Exceptions to the Apache 2.0 License ---- As an exception, if, as a result of your compiling your source code, portions of this Software are embedded into an Object form of such source code, you may redistribute such embedded portions in such Object form without complying with the conditions of Sections 4(a), 4(b) and 4(d) of the License. In addition, if you combine or link compiled forms of this Software with software that is licensed under the GPLv2 ("Combined Software") and if a court of competent jurisdiction determines that the patent provision (Section 3), the indemnity provision (Section 9) or other Section of the License conflicts with the conditions of the GPLv2, you may retroactively and prospectively choose to deem waived or otherwise exclude such Section(s) of the License, but only in their entirety and only with respect to the Combined Software.
- corysama 7y agoThanks! Now, can anyone ELI5 the high-level goal of this exception? At a glance it looks like GPL2 folks are still not happy with the patent provisions of Apache 2.0 and this is added to appease them.
- jcranmer 7y agoThere's two pieces to the exception. The first piece is standard for compilers, and essentially says "our compiler linking in bits of this code into your code doesn't count." It means the license matters if you're modifying the compiler and support libraries yourself, but not if you're merely using the compiler. The second piece revolves around the concerns of mixing licenses: Apache 2 and *GPLv3 are happy in combination, but that's because of some explicit compatibility text in GPLv3; this extends the compatibility text to GPLv2.
- billyoneal 7y ago>Now, can anyone ELI5 the high-level goal of this exception? I am not a lawyer; this is my extremely limited understanding. 1. Normally the Apache license requires attribution, even in binary forms. We can't say "You said #include <string>, now you must staple this to all your binaries". libstdc++ has a similar exception to the GPL for the same reason: http://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html http://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html 2. Keep GPL folks happy :)
- kelnos 7y agoListed right in the linked README: > Non-goal: Porting to other platforms.
- JoshTriplett 7y agoHowever, it'll still be incredibly useful for cross-compilation.
- ncmncm 7y agoJust to be clear: this means useful for developers who need to build programs to run on Windows, but can scarcely imagine developing on it. They treat it as a huge embedded system. Last I heard, the maintainer of MinGW was one of those: never booted Windows, and tested only on Wine. (That was 20 years ago.) Someday Microsoft will be among their august number.
- JoshTriplett 7y ago> Just to be clear: this means useful for developers who need to build programs to run on Windows, but can scarcely imagine developing on it. They treat it as a huge embedded system. I'm not just talking about people who don't want to run Windows, I'm talking about things like CI infrastructure. Much easier to automate cross-building everything from one platform with one set of tools.
- ncmncm 7y agoCI is probably the more important use. You certainly wouldn't want to host your CI system on Windows, regardless of what it's building code for. That said, apparently Microsoft's still is. For now.
- deleted 7y ago[deleted]