drop clang and libc++ part

This will just confuse users without any real benefit.
This commit is contained in:
Markus Wick 2020-05-08 12:05:02 +02:00
parent 69940e9505
commit 006c1e051d

View File

@ -29,13 +29,6 @@ All other dependencies will be downloaded by [conan](https://conan.io/downloads.
Note: Depending on your distro, the version of CMake you get may not be what's required to build yuzu. Check with `cmake --version`. Version 3.6 or greater is required for you to be able to build! Note: Depending on your distro, the version of CMake you get may not be what's required to build yuzu. Check with `cmake --version`. Version 3.6 or greater is required for you to be able to build!
* [Clang](https://github.com/llvm-mirror/clang) 3.8 (optional build alternative):
| Distro | Commands
| ------ | ------------------
| Arch | `sudo pacman -S clang`, `libc++` is in the AUR. Use `yay` to install it.
| Debian | `sudo apt-get install clang libc++-dev` (in some distros, clang-3.8)
| Gentoo | `emerge sys-devel/clang sys-libs/libcxx`
### Cloning yuzu with Git ### Cloning yuzu with Git
**Master:** **Master:**
@ -56,8 +49,6 @@ The `--recursive` option automatically clones the required Git submodules.
### Building yuzu in Release Mode (Optimized) ### Building yuzu in Release Mode (Optimized)
#### Using GCC
```bash ```bash
mkdir build && cd build mkdir build && cd build
cmake .. -GNinja cmake .. -GNinja
@ -67,39 +58,6 @@ sudo ninja install # (currently doesn't work, needs to be fixed)
Optionally, you can use `cmake-gui ..` to adjust various options (e.g. disable the Qt GUI). Optionally, you can use `cmake-gui ..` to adjust various options (e.g. disable the Qt GUI).
#### Using clang
Note: It is important you use libc++ vs., otherwise your build will likely fail. libc++ is not 100% complete on GNU/Linux, but works well for this build. The libstdc++ std::string is a different data structure than the libc++ std::string. See: [LLVM.org](https://llvm.org/svn/llvm-project/www-releases/trunk/3.8.0/projects/libcxx/docs/UsingLibcxx.html). If libc++ is not used, some warnings are treated as errors. Using clang is only really recommended for users not using GCC >= 5. Also see [Clang Comparison](https://clang.llvm.org/comparison.html).
```bash
mkdir build && cd build
cmake -GNinja \
-DCMAKE_CXX_COMPILER=clang++-3.8 \
-DCMAKE_C_COMPILER=clang-3.8 \
-DCMAKE_CXX_FLAGS="-O2 -g -stdlib=libc++" \
..
ninja
```
Debian/Ubuntu: Owing to bug [#808086](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=808086) the build might
fail. To have it build, add the following after line 1938 of `/usr/include/c++/v1/string`. (see discussion on
[StackOverflow](https://stackoverflow.com/questions/37096062/get-a-basic-c-program-to-compile-using-clang-on-ubuntu-16)
for more details.)
```cpp
#if _LIBCPP_STD_VER <= 14
_NOEXCEPT_(is_nothrow_copy_constructible<allocator_type>::value)
#else
_NOEXCEPT
#endif
```
Additionally, on Ubuntu, do:
```bash
sudo apt-get install libc++abi-dev && sudo ln -s /usr/include/libcxxabi/__cxxabi_config.h /usr/include/c++/v1/__cxxabi_config.h
```
### Building yuzu in Debug Mode (Slow) ### Building yuzu in Debug Mode (Slow)
```bash ```bash