mirror of
https://github.com/yuzu-emu/build-environments.git
synced 2024-12-23 01:25:36 +00:00
linux-fresh: Add Clang 12 from llvm.org
Adds the Clang compiler from apt.llvm.org to linux-fresh. The intention is to run two instances of linux-fresh when checking CI on yuzu, one compiles with GCC and the other with Clang. This includes a workaround in Conan where the default configuration file is not set up to permit using Clang 12. settings.yml is there to allow using Clang 12.
This commit is contained in:
parent
1f77c51c5a
commit
63478434b8
|
@ -1,6 +1,7 @@
|
||||||
FROM ubuntu:18.04
|
FROM ubuntu:18.04
|
||||||
MAINTAINER yuzu
|
MAINTAINER yuzu
|
||||||
|
|
||||||
|
ENV CLANG_VER=12
|
||||||
ENV CMAKE_VER=3.16.3
|
ENV CMAKE_VER=3.16.3
|
||||||
ENV GCC_VER=10
|
ENV GCC_VER=10
|
||||||
ENV QT_PKG_VER=512
|
ENV QT_PKG_VER=512
|
||||||
|
@ -15,6 +16,7 @@ RUN useradd -m -u 1027 -s /bin/bash yuzu && \
|
||||||
ccache \
|
ccache \
|
||||||
file \
|
file \
|
||||||
git \
|
git \
|
||||||
|
gpg-agent \
|
||||||
liblz4-dev \
|
liblz4-dev \
|
||||||
libopus-dev \
|
libopus-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
|
@ -47,8 +49,17 @@ RUN add-apt-repository -y ppa:beineri/opt-qt-${QT_VER}-${UBUNTU_VER} && \
|
||||||
qt${QT_PKG_VER}tools \
|
qt${QT_PKG_VER}tools \
|
||||||
qt${QT_PKG_VER}webengine && \
|
qt${QT_PKG_VER}webengine && \
|
||||||
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_VER} ${GCC_VER} && \
|
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_VER} ${GCC_VER} && \
|
||||||
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-${GCC_VER} ${GCC_VER} && \
|
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-${GCC_VER} ${GCC_VER}
|
||||||
apt-get clean autoclean && \
|
# Install clang from apt.llvm.org
|
||||||
|
RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
|
||||||
|
echo "deb http://apt.llvm.org/${UBUNTU_VER}/ llvm-toolchain-${UBUNTU_VER}-${CLANG_VER} main" >> /etc/apt/sources.list && \
|
||||||
|
apt-get update -y && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
|
||||||
|
clang-${CLANG_VER} && \
|
||||||
|
ln -s $(which clang-${CLANG_VER}) /usr/bin/clang && \
|
||||||
|
ln -s $(which clang++-${CLANG_VER}) /usr/bin/clang++ && \
|
||||||
|
dpkg-reconfigure ccache
|
||||||
|
RUN apt-get clean autoclean && \
|
||||||
apt-get autoremove --yes && \
|
apt-get autoremove --yes && \
|
||||||
rm -rf /var/lib/apt /var/lib/dpkg /var/lib/cache /var/lib/log
|
rm -rf /var/lib/apt /var/lib/dpkg /var/lib/cache /var/lib/log
|
||||||
# Install glslangValidator from upstream
|
# Install glslangValidator from upstream
|
||||||
|
@ -68,6 +79,7 @@ RUN cd /tmp && \
|
||||||
ENV LD_LIBRARY_PATH=/opt/qt${QT_PKG_VER}/lib:${LD_LIBRARY_PATH}
|
ENV LD_LIBRARY_PATH=/opt/qt${QT_PKG_VER}/lib:${LD_LIBRARY_PATH}
|
||||||
ENV PATH=/opt/qt${QT_PKG_VER}/bin:${PATH}
|
ENV PATH=/opt/qt${QT_PKG_VER}/bin:${PATH}
|
||||||
USER 1027
|
USER 1027
|
||||||
|
COPY --chown=yuzu:yuzu settings.yml /home/yuzu/.conan/settings.yml
|
||||||
RUN conan install boost/1.73.0@ -s compiler.libcxx=libstdc++11 --build=missing && \
|
RUN conan install boost/1.73.0@ -s compiler.libcxx=libstdc++11 --build=missing && \
|
||||||
conan install catch2/2.13.0@ -s compiler.libcxx=libstdc++11 --build=missing && \
|
conan install catch2/2.13.0@ -s compiler.libcxx=libstdc++11 --build=missing && \
|
||||||
conan install fmt/7.1.2@ -s compiler.libcxx=libstdc++11 --build=missing && \
|
conan install fmt/7.1.2@ -s compiler.libcxx=libstdc++11 --build=missing && \
|
||||||
|
|
117
linux-fresh/settings.yml
Normal file
117
linux-fresh/settings.yml
Normal file
|
@ -0,0 +1,117 @@
|
||||||
|
# Only for cross building, 'os_build/arch_build' is the system that runs Conan
|
||||||
|
os_build: [Windows, WindowsStore, Linux, Macos, FreeBSD, SunOS, AIX]
|
||||||
|
arch_build: [x86, x86_64, ppc32be, ppc32, ppc64le, ppc64, armv5el, armv5hf, armv6, armv7, armv7hf, armv7s, armv7k, armv8, armv8_32, armv8.3, sparc, sparcv9, mips, mips64, avr, s390, s390x, sh4le, e2k-v2, e2k-v3, e2k-v4, e2k-v5, e2k-v6, e2k-v7]
|
||||||
|
|
||||||
|
# Only for building cross compilation tools, 'os_target/arch_target' is the system for
|
||||||
|
# which the tools generate code
|
||||||
|
os_target: [Windows, Linux, Macos, Android, iOS, watchOS, tvOS, FreeBSD, SunOS, AIX, Arduino, Neutrino]
|
||||||
|
arch_target: [x86, x86_64, ppc32be, ppc32, ppc64le, ppc64, armv5el, armv5hf, armv6, armv7, armv7hf, armv7s, armv7k, armv8, armv8_32, armv8.3, sparc, sparcv9, mips, mips64, avr, s390, s390x, asm.js, wasm, sh4le, e2k-v2, e2k-v3, e2k-v4, e2k-v5, e2k-v6, e2k-v7]
|
||||||
|
|
||||||
|
# Rest of the settings are "host" settings:
|
||||||
|
# - For native building/cross building: Where the library/program will run.
|
||||||
|
# - For building cross compilation tools: Where the cross compiler will run.
|
||||||
|
os:
|
||||||
|
Windows:
|
||||||
|
subsystem: [None, cygwin, msys, msys2, wsl]
|
||||||
|
WindowsStore:
|
||||||
|
version: ["8.1", "10.0"]
|
||||||
|
WindowsCE:
|
||||||
|
platform: ANY
|
||||||
|
version: ["5.0", "6.0", "7.0", "8.0"]
|
||||||
|
Linux:
|
||||||
|
Macos:
|
||||||
|
version: [None, "10.6", "10.7", "10.8", "10.9", "10.10", "10.11", "10.12", "10.13", "10.14", "10.15", "11.0", "13.0"]
|
||||||
|
sdk: [None, "macosx"]
|
||||||
|
subsystem: [None, catalyst]
|
||||||
|
Android:
|
||||||
|
api_level: ANY
|
||||||
|
iOS:
|
||||||
|
version: ["7.0", "7.1", "8.0", "8.1", "8.2", "8.3", "9.0", "9.1", "9.2", "9.3", "10.0", "10.1", "10.2", "10.3", "11.0", "11.1", "11.2", "11.3", "11.4", "12.0", "12.1", "12.2", "12.3", "12.4", "13.0", "13.1", "13.2", "13.3", "13.4", "13.5", "13.6"]
|
||||||
|
sdk: [None, "iphoneos", "iphonesimulator"]
|
||||||
|
watchOS:
|
||||||
|
version: ["4.0", "4.1", "4.2", "4.3", "5.0", "5.1", "5.2", "5.3", "6.0", "6.1"]
|
||||||
|
sdk: [None, "watchos", "watchsimulator"]
|
||||||
|
tvOS:
|
||||||
|
version: ["11.0", "11.1", "11.2", "11.3", "11.4", "12.0", "12.1", "12.2", "12.3", "12.4", "13.0"]
|
||||||
|
sdk: [None, "appletvos", "appletvsimulator"]
|
||||||
|
FreeBSD:
|
||||||
|
SunOS:
|
||||||
|
AIX:
|
||||||
|
Arduino:
|
||||||
|
board: ANY
|
||||||
|
Emscripten:
|
||||||
|
Neutrino:
|
||||||
|
version: ["6.4", "6.5", "6.6", "7.0", "7.1"]
|
||||||
|
arch: [x86, x86_64, ppc32be, ppc32, ppc64le, ppc64, armv4, armv4i, armv5el, armv5hf, armv6, armv7, armv7hf, armv7s, armv7k, armv8, armv8_32, armv8.3, sparc, sparcv9, mips, mips64, avr, s390, s390x, asm.js, wasm, sh4le, e2k-v2, e2k-v3, e2k-v4, e2k-v5, e2k-v6, e2k-v7]
|
||||||
|
compiler:
|
||||||
|
sun-cc:
|
||||||
|
version: ["5.10", "5.11", "5.12", "5.13", "5.14", "5.15"]
|
||||||
|
threads: [None, posix]
|
||||||
|
libcxx: [libCstd, libstdcxx, libstlport, libstdc++]
|
||||||
|
gcc: &gcc
|
||||||
|
version: ["4.1", "4.4", "4.5", "4.6", "4.7", "4.8", "4.9",
|
||||||
|
"5", "5.1", "5.2", "5.3", "5.4", "5.5",
|
||||||
|
"6", "6.1", "6.2", "6.3", "6.4", "6.5",
|
||||||
|
"7", "7.1", "7.2", "7.3", "7.4", "7.5",
|
||||||
|
"8", "8.1", "8.2", "8.3", "8.4",
|
||||||
|
"9", "9.1", "9.2", "9.3",
|
||||||
|
"10", "10.1"]
|
||||||
|
libcxx: [libstdc++, libstdc++11]
|
||||||
|
threads: [None, posix, win32] # Windows MinGW
|
||||||
|
exception: [None, dwarf2, sjlj, seh] # Windows MinGW
|
||||||
|
cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20]
|
||||||
|
Visual Studio: &visual_studio
|
||||||
|
runtime: [MD, MT, MTd, MDd]
|
||||||
|
version: ["8", "9", "10", "11", "12", "14", "15", "16"]
|
||||||
|
toolset: [None, v90, v100, v110, v110_xp, v120, v120_xp,
|
||||||
|
v140, v140_xp, v140_clang_c2, LLVM-vs2012, LLVM-vs2012_xp,
|
||||||
|
LLVM-vs2013, LLVM-vs2013_xp, LLVM-vs2014, LLVM-vs2014_xp,
|
||||||
|
LLVM-vs2017, LLVM-vs2017_xp, v141, v141_xp, v141_clang_c2, v142,
|
||||||
|
llvm, ClangCL]
|
||||||
|
cppstd: [None, 14, 17, 20]
|
||||||
|
msvc:
|
||||||
|
version: ["19.0",
|
||||||
|
"19.1", "19.10", "19.11", "19.12", "19.13", "19.14", "19.15", "19.16",
|
||||||
|
"19.2", "19.20", "19.21", "19.22", "19.23", "19.24", "19.25", "19.26", "19.27", "19.28"]
|
||||||
|
runtime: [static, dynamic]
|
||||||
|
runtime_type: [Debug, Release]
|
||||||
|
cppstd: [14, 17, 20]
|
||||||
|
clang:
|
||||||
|
version: ["3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0",
|
||||||
|
"5.0", "6.0", "7.0", "7.1",
|
||||||
|
"8", "9", "10", "11", "12"]
|
||||||
|
libcxx: [None, libstdc++, libstdc++11, libc++, c++_shared, c++_static]
|
||||||
|
cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20]
|
||||||
|
runtime: [None, MD, MT, MTd, MDd]
|
||||||
|
apple-clang: &apple_clang
|
||||||
|
version: ["5.0", "5.1", "6.0", "6.1", "7.0", "7.3", "8.0", "8.1", "9.0", "9.1", "10.0", "11.0", "12.0"]
|
||||||
|
libcxx: [libstdc++, libc++]
|
||||||
|
cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20]
|
||||||
|
intel:
|
||||||
|
version: ["11", "12", "13", "14", "15", "16", "17", "18", "19", "19.1"]
|
||||||
|
base:
|
||||||
|
gcc:
|
||||||
|
<<: *gcc
|
||||||
|
threads: [None]
|
||||||
|
exception: [None]
|
||||||
|
Visual Studio:
|
||||||
|
<<: *visual_studio
|
||||||
|
apple-clang:
|
||||||
|
<<: *apple_clang
|
||||||
|
qcc:
|
||||||
|
version: ["4.4", "5.4", "8.3"]
|
||||||
|
libcxx: [cxx, gpp, cpp, cpp-ne, accp, acpp-ne, ecpp, ecpp-ne]
|
||||||
|
cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17]
|
||||||
|
mcst-lcc:
|
||||||
|
version: ["1.19", "1.20", "1.21", "1.22", "1.23", "1.24", "1.25"]
|
||||||
|
base:
|
||||||
|
gcc:
|
||||||
|
<<: *gcc
|
||||||
|
threads: [None]
|
||||||
|
exceptions: [None]
|
||||||
|
|
||||||
|
build_type: [None, Debug, Release, RelWithDebInfo, MinSizeRel]
|
||||||
|
|
||||||
|
|
||||||
|
cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20] # Deprecated, use compiler.cppstd
|
||||||
|
|
Loading…
Reference in a new issue