Skip to content

build, qt: Native Qt builds in depends do not work #21588

@hebasto

Description

@hebasto

macOS

When doing % make -C depends qt_configured the native build is expected:

Configure summary:

Build type: macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3 sse4.1)
Compiler: clang (Apple) 12.0.0
Configuration: 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
Build options:
  Mode ................................... release
...

Actually, a cross-compile build is configured:

Configure summary:

Building on: macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3 sse4.1)
Building for: macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3 sse4.1)
Target compiler: clang (Apple) 12.0.0
Configuration: 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
Build options:
  Mode ................................... release
...

The reason for this behavior is the line which was added in #21376:

$(package)_config_opts_darwin += -device-option QMAKE_MACOSX_DEPLOYMENT_TARGET=$(OSX_MIN_VERSION)
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:

$ make -C depends qt_configured
...
Configure summary:

Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
Building for: linux-g++-64 (x86_64, CPU features: mmx sse sse2)
Target compiler: gcc 9.3.0
Configuration: 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
Build options:
  Mode ................................... release
...

The reason for this behavior is the line which was added in #12971:

$(package)_config_opts_x86_64_linux = -xplatform linux-g++-64
with a comment:

This should fix the gitian build issue

ARM

Just broken.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions