[Buildroot] [PATCH v1 1/2] package/pkg-meson: change to use <PKG>_BUILDDIR
Peter Seiderer
ps.report at gmx.net
Fri May 3 18:10:11 UTC 2019
Hello Arnout,
On Fri, 3 May 2019 10:34:47 +0200, Arnout Vandecappelle <arnout at mind.be> wrote:
> On 02/05/2019 22:14, Peter Seiderer wrote:
> > Change to use <PKG>_BUILDDIR (and change from <PKG>_SRCDIR/build
> > to <PKG>_SRCDIR/buildroot-build as in package/pkg-cmake.mk).
>
> Could you do a build-test of BR2_PACKAGE_SYSTEMD_BOOT=y ? I believe it will fail...
Thanks for the hint (one more time libdrm only is not sufficient for meson changes
test), it fails because of the build vs. buildroot-build change, will add an
additional change on the next patch iteration...
>
> There may be others as well. You should check all meson packages if they refer
> to the build directory.
Checked, systemd is the only package affected...
>
>
> > Signed-off-by: Peter Seiderer <ps.report at gmx.net>
> > ---
> > Notes:
> > - suggested change by Arnout Vandecappelle
> > - <PKG>_SRCDIR seems to contain already an trailing '/', so
> > <PKG>_BUILDDIR gets an double '//' path seperator
>
> $(2)_SRCDIR = $$($(2)_DIR)/$$($(2)_SUBDIR)
>
> _SUBDIR is usually empty.
>
> You can't simply remove the / for the case where _SUBDIR is not empty.
>
> If we really want to avoid it, we could change that into
>
>
> $(2)_SRCDIR = $$($(2)_DIR)$$(if $$($(2)_SUBDIR),/$$($(2)_SUBDIR))
>
> but I don't think it's worth it.
Will test it (and suggest an patch in case it works, it always catches my attention
when a // traverses the console)...
Regards,
Peter
>
> Regards,
> Arnout
>
> > ---
> > package/pkg-meson.mk | 28 +++++++++++++++-------------
> > 1 file changed, 15 insertions(+), 13 deletions(-)
> >
> > diff --git a/package/pkg-meson.mk b/package/pkg-meson.mk
> > index 886fcf7205..597c48b90a 100644
> > --- a/package/pkg-meson.mk
> > +++ b/package/pkg-meson.mk
> > @@ -49,6 +49,8 @@ $(2)_CONF_ENV ?=
> > $(2)_CONF_OPTS ?=
> > $(2)_NINJA_ENV ?=
> >
> > +$(2)_BUILDDIR ?= $$($(2)_SRCDIR)/buildroot-build
> > +
> > #
> > # Configure step. Only define it if not already defined by the package
> > # .mk file. And take care of the differences between host and target
> > @@ -61,8 +63,8 @@ ifeq ($(4),target)
> > #
> > #
> > define $(2)_CONFIGURE_CMDS
> > - rm -rf $$($$(PKG)_SRCDIR)/build
> > - mkdir -p $$($$(PKG)_SRCDIR)/build
> > + rm -rf $$($$(PKG)_BUILDDIR)
> > + mkdir -p $$($$(PKG)_BUILDDIR)
> > sed -e "s%@TARGET_CROSS@%$$(TARGET_CROSS)%g" \
> > -e "s%@TARGET_ARCH@%$$(HOST_MESON_TARGET_CPU_FAMILY)%g" \
> > -e "s%@TARGET_CPU@%$$(GCC_TARGET_CPU)%g" \
> > @@ -72,22 +74,22 @@ define $(2)_CONFIGURE_CMDS
> > -e "s%@TARGET_CXXFLAGS@%$$(HOST_MESON_SED_CXXFLAGS)%g" \
> > -e "s%@HOST_DIR@%$$(HOST_DIR)%g" \
> > package/meson/cross-compilation.conf.in \
> > - > $$($$(PKG)_SRCDIR)/build/cross-compilation.conf
> > + > $$($$(PKG)_BUILDDIR)/cross-compilation.conf
> > PATH=$$(BR_PATH) $$($$(PKG)_CONF_ENV) $$(MESON) \
> > --prefix=/usr \
> > --libdir=lib \
> > --default-library=$(if $(BR2_STATIC_LIBS),static,shared) \
> > --buildtype=$(if $(BR2_ENABLE_DEBUG),debug,release) \
> > - --cross-file=$$($$(PKG)_SRCDIR)/build/cross-compilation.conf \
> > + --cross-file=$$($$(PKG)_BUILDDIR)/cross-compilation.conf \
> > $$($$(PKG)_CONF_OPTS) \
> > - $$($$(PKG)_SRCDIR) $$($$(PKG)_SRCDIR)/build
> > + $$($$(PKG)_SRCDIR) $$($$(PKG)_BUILDDIR)
> > endef
> > else
> >
> > # Configure package for host
> > define $(2)_CONFIGURE_CMDS
> > - rm -rf $$($$(PKG)_SRCDIR)/build
> > - mkdir -p $$($$(PKG)_SRCDIR)/build
> > + rm -rf $$($$(PKG)_BUILDDIR)
> > + mkdir -p $$($$(PKG)_BUILDDIR)
> > $$(HOST_CONFIGURE_OPTS) \
> > $$($$(PKG)_CONF_ENV) $$(MESON) \
> > --prefix=$$(HOST_DIR) \
> > @@ -97,7 +99,7 @@ define $(2)_CONFIGURE_CMDS
> > --default-library=shared \
> > --buildtype=release \
> > $$($$(PKG)_CONF_OPTS) \
> > - $$($$(PKG)_SRCDIR) $$($$(PKG)_SRCDIR)/build
> > + $$($$(PKG)_SRCDIR) $$($$(PKG)_BUILDDIR)
> > endef
> > endif
> > endif
> > @@ -112,12 +114,12 @@ ifndef $(2)_BUILD_CMDS
> > ifeq ($(4),target)
> > define $(2)_BUILD_CMDS
> > $$(TARGET_MAKE_ENV) $$($$(PKG)_NINJA_ENV) \
> > - $$(NINJA) $$(NINJA_OPTS) $$($$(PKG)_NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build
> > + $$(NINJA) $$(NINJA_OPTS) $$($$(PKG)_NINJA_OPTS) -C $$($$(PKG)_BUILDDIR)
> > endef
> > else
> > define $(2)_BUILD_CMDS
> > $$(HOST_MAKE_ENV) $$($$(PKG)_NINJA_ENV) \
> > - $$(NINJA) $$(NINJA_OPTS) $$($$(PKG)_NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build
> > + $$(NINJA) $$(NINJA_OPTS) $$($$(PKG)_NINJA_OPTS) -C $$($$(PKG)_BUILDDIR)
> > endef
> > endif
> > endif
> > @@ -129,7 +131,7 @@ endif
> > ifndef $(2)_INSTALL_CMDS
> > define $(2)_INSTALL_CMDS
> > $$(HOST_MAKE_ENV) $$($$(PKG)_NINJA_ENV) \
> > - $$(NINJA) $$(NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build install
> > + $$(NINJA) $$(NINJA_OPTS) -C $$($$(PKG)_BUILDDIR) install
> > endef
> > endif
> >
> > @@ -140,7 +142,7 @@ endif
> > ifndef $(2)_INSTALL_STAGING_CMDS
> > define $(2)_INSTALL_STAGING_CMDS
> > $$(TARGET_MAKE_ENV) $$($$(PKG)_NINJA_ENV) DESTDIR=$$(STAGING_DIR) \
> > - $$(NINJA) $$(NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build install
> > + $$(NINJA) $$(NINJA_OPTS) -C $$($$(PKG)_BUILDDIR) install
> > endef
> > endif
> >
> > @@ -151,7 +153,7 @@ endif
> > ifndef $(2)_INSTALL_TARGET_CMDS
> > define $(2)_INSTALL_TARGET_CMDS
> > $$(TARGET_MAKE_ENV) $$($$(PKG)_NINJA_ENV) DESTDIR=$$(TARGET_DIR) \
> > - $$(NINJA) $$(NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build install
> > + $$(NINJA) $$(NINJA_OPTS) -C $$($$(PKG)_BUILDDIR) install
> > endef
> > endif
> >
> > --
> > 2.21.0
> >
More information about the buildroot
mailing list