On 15 Mar 2023, at 08:00, Zoltan Boszormenyi via lists.openembedded.org <[email protected]> wrote: > diff --git a/meta/classes-recipe/meson.bbclass > b/meta/classes-recipe/meson.bbclass > index 48688bed75..f1273aa1c0 100644 > --- a/meta/classes-recipe/meson.bbclass > +++ b/meta/classes-recipe/meson.bbclass > @@ -4,141 +4,7 @@ > # SPDX-License-Identifier: MIT > # > > -inherit python3native meson-routines qemu > - > -DEPENDS:append = " meson-native ninja-native" > - > -EXEWRAPPER_ENABLED:class-native = "False" > -EXEWRAPPER_ENABLED:class-nativesdk = "False" > -EXEWRAPPER_ENABLED ?= "${@bb.utils.contains('MACHINE_FEATURES', > 'qemu-usermode', 'True', 'False', d)}" > -DEPENDS:append = "${@' qemu-native' if d.getVar('EXEWRAPPER_ENABLED') == > 'True' else ''}" > - > -# As Meson enforces out-of-tree builds we can just use cleandirs > -B = "${WORKDIR}/build" > -do_configure[cleandirs] = "${B}" > - > -# Where the meson.build build configuration is > -MESON_SOURCEPATH = "${S}" > - > -def noprefix(var, d): > - return d.getVar(var).replace(d.getVar('prefix') + '/', '', 1) > - > -MESON_BUILDTYPE ?= "${@oe.utils.vartrue('DEBUG_BUILD', 'debug', 'plain', d)}" > -MESON_BUILDTYPE[vardeps] += "DEBUG_BUILD" > -MESONOPTS = " --prefix ${prefix} \ > - --buildtype ${MESON_BUILDTYPE} \ > - --bindir ${@noprefix('bindir', d)} \ > - --sbindir ${@noprefix('sbindir', d)} \ > - --datadir ${@noprefix('datadir', d)} \ > - --libdir ${@noprefix('libdir', d)} \ > - --libexecdir ${@noprefix('libexecdir', d)} \ > - --includedir ${@noprefix('includedir', d)} \ > - --mandir ${@noprefix('mandir', d)} \ > - --infodir ${@noprefix('infodir', d)} \ > - --sysconfdir ${sysconfdir} \ > - --localstatedir ${localstatedir} \ > - --sharedstatedir ${sharedstatedir} \ > - --wrap-mode nodownload \ > - --native-file ${WORKDIR}/meson.native" > - > -EXTRA_OEMESON:append = " ${PACKAGECONFIG_CONFARGS}" > - > -MESON_CROSS_FILE = "" > -MESON_CROSS_FILE:class-target = "--cross-file ${WORKDIR}/meson.cross" > -MESON_CROSS_FILE:class-nativesdk = "--cross-file ${WORKDIR}/meson.cross" > - > -# Needed to set up qemu wrapper below > -export STAGING_DIR_HOST > - > -def rust_tool(d, target_var): > - rustc = d.getVar('RUSTC') > - if not rustc: > - return "" > - cmd = [rustc, "--target", d.getVar(target_var)] + > d.getVar("RUSTFLAGS").split() > - return "rust = %s" % repr(cmd) > - > -addtask write_config before do_configure > -do_write_config[vardeps] += "CC CXX LD AR NM STRIP READELF CFLAGS CXXFLAGS > LDFLAGS RUSTC RUSTFLAGS" > -do_write_config() { > - # This needs to be Py to split the args into single-element lists > - cat >${WORKDIR}/meson.cross <<EOF > -[binaries] > -c = ${@meson_array('CC', d)} > -cpp = ${@meson_array('CXX', d)} > -cython = 'cython3' > -ar = ${@meson_array('AR', d)} > -nm = ${@meson_array('NM', d)} > -strip = ${@meson_array('STRIP', d)} > -readelf = ${@meson_array('READELF', d)} > -objcopy = ${@meson_array('OBJCOPY', d)} > -pkgconfig = 'pkg-config' > -llvm-config = 'llvm-config' > -cups-config = 'cups-config' > -g-ir-scanner = '${STAGING_BINDIR}/g-ir-scanner-wrapper' > -g-ir-compiler = '${STAGING_BINDIR}/g-ir-compiler-wrapper' > -${@rust_tool(d, "HOST_SYS")} > -${@"exe_wrapper = '${WORKDIR}/meson-qemuwrapper'" if > d.getVar('EXEWRAPPER_ENABLED') == 'True' else ""} > - > -[built-in options] > -c_args = ${@meson_array('CFLAGS', d)} > -c_link_args = ${@meson_array('LDFLAGS', d)} > -cpp_args = ${@meson_array('CXXFLAGS', d)} > -cpp_link_args = ${@meson_array('LDFLAGS', d)} > - > -[properties] > -needs_exe_wrapper = true > - > -[host_machine] > -system = '${@meson_operating_system('HOST_OS', d)}' > -cpu_family = '${@meson_cpu_family('HOST_ARCH', d)}' > -cpu = '${HOST_ARCH}' > -endian = '${@meson_endian('HOST', d)}' > - > -[target_machine] > -system = '${@meson_operating_system('TARGET_OS', d)}' > -cpu_family = '${@meson_cpu_family('TARGET_ARCH', d)}' > -cpu = '${TARGET_ARCH}' > -endian = '${@meson_endian('TARGET', d)}' > -EOF > - > - cat >${WORKDIR}/meson.native <<EOF > -[binaries] > -c = ${@meson_array('BUILD_CC', d)} > -cpp = ${@meson_array('BUILD_CXX', d)} > -cython = 'cython3' > -ar = ${@meson_array('BUILD_AR', d)} > -nm = ${@meson_array('BUILD_NM', d)} > -strip = ${@meson_array('BUILD_STRIP', d)} > -readelf = ${@meson_array('BUILD_READELF', d)} > -objcopy = ${@meson_array('BUILD_OBJCOPY', d)} > -pkgconfig = 'pkg-config-native' > -${@rust_tool(d, "BUILD_SYS")} > - > -[built-in options] > -c_args = ${@meson_array('BUILD_CFLAGS', d)} > -c_link_args = ${@meson_array('BUILD_LDFLAGS', d)} > -cpp_args = ${@meson_array('BUILD_CXXFLAGS', d)} > -cpp_link_args = ${@meson_array('BUILD_LDFLAGS', d)} > -EOF > -} > - > -do_write_config:append:class-target() { > - # Write out a qemu wrapper that will be used as exe_wrapper so that meson > - # can run target helper binaries through that. > - qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', > ['$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}" > - cat > ${WORKDIR}/meson-qemuwrapper << EOF > -#!/bin/sh > -# Use a modules directory which doesn't exist so we don't load random things > -# which may then get deleted (or their dependencies) and potentially segfault > -export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy > - > -# meson sets this wrongly (only to libs in build-dir), > qemu_wrapper_cmdline() and GIR_EXTRA_LIBS_PATH take care of it properly > -unset LD_LIBRARY_PATH > - > -$qemu_binary "\$@" > -EOF > - chmod +x ${WORKDIR}/meson-qemuwrapper > -} > +inherit meson-common > > # Tell externalsrc that changes to this file require a reconfigure > CONFIGURE_FILES = “meson.build”
This patch appears to move every line from meson.bbclass to meson-common.bbclass, apart from the CONFIGURE_FILES line which would still be needed in the python-meson case anyway. I can’t see what is gained here, just inherit meson. Ross
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#178651): https://lists.openembedded.org/g/openembedded-core/message/178651 Mute This Topic: https://lists.openembedded.org/mt/97622973/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
