@@ -108,6 +108,7 @@ jobs:
108
108
cxxstd : " 11,14,17,2a"
109
109
os : ubuntu-20.04
110
110
install : clang-11
111
+ # Note: clang-12 through 15 do not fully support C++23, so it is not compatible with libstdc++-13 in this mode
111
112
- toolset : clang
112
113
compiler : clang++-12
113
114
cxxstd : " 11,14,17,2a"
@@ -117,17 +118,26 @@ jobs:
117
118
compiler : clang++-13
118
119
cxxstd : " 11,14,17,20,2b"
119
120
os : ubuntu-22.04
120
- install : clang-13
121
+ install :
122
+ - clang-13
123
+ - g++-11
124
+ gcc_toolchain : 11
121
125
- toolset : clang
122
126
compiler : clang++-14
123
127
cxxstd : " 11,14,17,20,2b"
124
128
os : ubuntu-22.04
125
- install : clang-14
129
+ install :
130
+ - clang-14
131
+ - g++-11
132
+ gcc_toolchain : 11
126
133
- toolset : clang
127
134
compiler : clang++-15
128
135
cxxstd : " 11,14,17,20,2b"
129
136
os : ubuntu-22.04
130
- install : clang-15
137
+ install :
138
+ - clang-15
139
+ - g++-11
140
+ gcc_toolchain : 11
131
141
- toolset : clang
132
142
compiler : clang++-16
133
143
cxxstd : " 11,14,17,20,2b"
@@ -164,7 +174,19 @@ jobs:
164
174
if : matrix.install
165
175
run : |
166
176
sudo apt-get update
167
- sudo apt-get -y install ${{matrix.install}}
177
+ sudo apt-get -y install ${{join(matrix.install, ' ')}}
178
+
179
+ - name : Setup GCC Toolchain
180
+ if : matrix.gcc_toolchain
181
+ run : |
182
+ GCC_TOOLCHAIN_ROOT="$HOME/gcc-toolchain"
183
+ echo "GCC_TOOLCHAIN_ROOT=\"$GCC_TOOLCHAIN_ROOT\"" >> $GITHUB_ENV
184
+ MULTIARCH_TRIPLET="$(dpkg-architecture -qDEB_HOST_MULTIARCH)"
185
+ mkdir -p "$GCC_TOOLCHAIN_ROOT"
186
+ ln -s /usr/include "$GCC_TOOLCHAIN_ROOT/include"
187
+ ln -s /usr/bin "$GCC_TOOLCHAIN_ROOT/bin"
188
+ mkdir -p "$GCC_TOOLCHAIN_ROOT/lib/gcc/$MULTIARCH_TRIPLET"
189
+ ln -s "/usr/lib/gcc/$MULTIARCH_TRIPLET/${{matrix.gcc_toolchain}}" "$GCC_TOOLCHAIN_ROOT/lib/gcc/$MULTIARCH_TRIPLET/${{matrix.gcc_toolchain}}"
168
190
169
191
- name : Setup Boost
170
192
run : |
@@ -191,7 +213,15 @@ jobs:
191
213
- name : Create user-config.jam
192
214
if : matrix.compiler
193
215
run : |
194
- echo "using ${{matrix.toolset}} : : ${{matrix.compiler}} ;" > ~/user-config.jam
216
+ if [ -n "${{matrix.compiler}}" -o -n "$GCC_TOOLCHAIN_ROOT" ]
217
+ then
218
+ echo -n "using ${{matrix.toolset}} : : ${{matrix.compiler}}" > ~/user-config.jam
219
+ if [ -n "$GCC_TOOLCHAIN_ROOT" ]
220
+ then
221
+ echo -n " : <compileflags>\"--gcc-toolchain=$GCC_TOOLCHAIN_ROOT\" <linkflags>\"--gcc-toolchain=$GCC_TOOLCHAIN_ROOT\"" >> ~/user-config.jam
222
+ fi
223
+ echo " ;" >> ~/user-config.jam
224
+ fi
195
225
196
226
- name : Run tests
197
227
run : |
0 commit comments