macOS
When doing % make -C depends qt_configured
the native build is expected:
0Configure summary:
1
2Build type: macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3 sse4.1)
3Compiler: clang (Apple) 12.0.0
4Configuration: sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl f16c largefile precompile_header rdrnd shani silent x86SimdAlways release c++11 c++14 c++1z reduce_exports static stl
5Build options:
6 Mode ................................... release
7...
Actually, a cross-compile build is configured:
0Configure summary:
1
2Building on: macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3 sse4.1)
3Building for: macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3 sse4.1)
4Target compiler: clang (Apple) 12.0.0
5Configuration: cross_compile sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl f16c largefile precompile_header rdrnd shani silent x86SimdAlways release c++11 c++14 c++1z reduce_exports static stl
6Build options:
7 Mode ................................... release
8...
The reason for this behavior is the line which was added in #21376: https://github.com/bitcoin/bitcoin/blob/e08f3193b543017702d000c2263bccbefa981c14/depends/packages/qt.mk#L116 as the -device-option
is a cross-compile option, and it triggers cross-compiling.
It is worth to mention that before #21376 native builds with depends on macOS were broken (#14648, #19785).
Linux x86
Again, no native build when it is expected:
0$ make -C depends qt_configured
1...
2Configure summary:
3
4Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
5Building for: linux-g++-64 (x86_64, CPU features: mmx sse sse2)
6Target compiler: gcc 9.3.0
7Configuration: cross_compile sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl enable_new_dtags f16c largefile precompile_header rdrnd shani silent x86SimdAlways release c++11 c++14 c++1z dbus reduce_exports static stl
8Build options:
9 Mode ................................... release
10...
The reason for this behavior is the line which was added in #12971: https://github.com/bitcoin/bitcoin/blob/e08f3193b543017702d000c2263bccbefa981c14/depends/packages/qt.mk#L141 with a comment:
This should fix the gitian build issue
ARM
Just broken.