kumquat-buildroot/support/misc/cross-compilation.conf.in

41 lines
1.2 KiB
Plaintext
Raw Normal View History

# Note: Buildroot's and Meson's terminologies differ about the meaning
# of 'build', 'host' and 'target':
# - Buildroot's 'host' is Meson's 'build'
# - Buildroot's 'target' is Meson's 'host'
[binaries]
c = '@TARGET_CC@'
cpp = '@TARGET_CXX@'
ar = '@TARGET_AR@'
strip = '@TARGET_STRIP@'
cmake = '@BR2_CMAKE@'
fortran = '@TARGET_FC@'
package/meson: bump version to 1.3.1 The meson upgrade from 1.1.1 to 1.2.0 have been reverted because host-qemu (version v8.0.3) was searching libraries in the build machine instead of buildroot host directory [1]. $ grep -r LINK_ARGS * | grep "\-L/usr" build.ninja: LINK_ARGS = -L/usr/lib/gcc/x86_64-linux-gnu/10 \ -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu \ -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib -L/usr/lib \ -L/lib/x86_64-linux-gnu \ -L/lib/../lib \ -L/usr/lib/../lib \ -L/usr/lib/gcc/x86_64-linux-gnu/10/../../.. \ -L/lib \ -I/[...]/host/include \ -L/[...]/host/lib \ -I/[...]/host/include/libfdt \ ... Upgrading qemu to version v8.1.0 solves the problem: $ grep -r LINK_ARGS * | grep "\-L/usr" build.ninja: LINK_ARGS = -I/[...]/host/include \ -L/[...]/host/lib \ -I/[...]/host/include/libfdt \ ... Those two tests were done with the same buildroot version (2023.08) on the same machine were the bug appeared. Using, git bisect, in this environment, it was found that the problem was fixed in qemu by the commit [2]. Thus, it is possible that the problem was introduced by improper use of meson by qemu <= v8.0.3. Also, meson has been updated to version 1.2.1 and 1.3.0 in yocto and it doesn't seem to create any issue. [3] The original problem is no longer present and some projects require meson > 1.1.1 (e.g. rusticl requires meson 1.2.0 since mesa 23.3.0 and meson 1.3.1 since mesa 24.0.0). "pkgconfig" field is deprecated by meson 1.3.0 and replaced by "pkg-config". See: [4] The patch that adds the pkg_config_static property has been rebased. [1] https://gitlab.com/buildroot.org/buildroot/-/commit/acfdf21f0b752e844a33c70a0fd2f82f4534a5a0 [2] https://gitlab.com/qemu-project/qemu/-/commit/Fc9a809e0d28417fa1e7f7efc19f845bda4c1be9 [3] https://github.com/yoctoproject/poky/commits/master/meta/recipes-devtools/meson [4] https://mesonbuild.com/Release-notes-for-1-3-0.html#machine-files-pkgconfig-field-deprecated-and-replaced-by-pkgconfig Signed-off-by: Antoine Coutant <antoine.coutant@smile.fr> [yann.morin.1998@free.fr: - keep our formatting in the patch - reflow commit log (to keep busy while test-building!) ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2024-02-02 10:36:19 +01:00
pkg-config = '@PKGCONF_HOST_BINARY@'
g-ir-compiler = '@STAGING_DIR@/usr/bin/g-ir-compiler'
g-ir-scanner = '@STAGING_DIR@/usr/bin/g-ir-scanner'
[built-in options]
c_args = [@TARGET_CFLAGS@]
c_link_args = [@TARGET_LDFLAGS@]
cpp_args = [@TARGET_CXXFLAGS@]
cpp_link_args = [@TARGET_LDFLAGS@]
fortran_args = [@TARGET_FCFLAGS@]
fortran_link_args = [@TARGET_LDFLAGS@]
wrap_mode = 'nodownload'
cmake_prefix_path = '@STAGING_DIR@/usr/lib/cmake'
[properties]
needs_exe_wrapper = true
sys_root = '@STAGING_DIR@'
pkg_config_libdir = '@STAGING_DIR@/usr/lib/pkgconfig:@STAGING_DIR@/usr/share/pkgconfig'
pkg_config_static = '@STATIC@'
# enable meson build to pass a toolchain file to cmake
cmake_toolchain_file = '@HOST_DIR@/share/buildroot/toolchainfile.cmake'
cmake_defaults = false
[host_machine]
system = 'linux'
cpu_family = '@TARGET_ARCH@'
cpu = '@TARGET_CPU@'
endian = '@TARGET_ENDIAN@'