Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Korsgaard <peter@korsgaard.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH next v2] package/pkg-meson: support per-package directories
Date: Thu, 17 Jan 2019 22:54:19 +0100	[thread overview]
Message-ID: <87fttr6jck.fsf@dell.be.48ers.dk> (raw)
In-Reply-To: <20181130104003.32337-1-thomas.petazzoni@bootlin.com> (Thomas Petazzoni's message of "Fri, 30 Nov 2018 11:40:03 +0100")

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes:

 > From: Peter Seiderer <ps.report@gmx.net>
 > Currently, package/meson/meson.mk generates a single global
 > cross-compilation.conf file, with the path to the compiler, cflags,
 > ldflags, and various other details. This file is then used when
 > building all meson-based packages.

 > This causes two problems:

 >  - It is not compatible with per-package directories, because with
 >    per-package folders, we need to use a different compiler, and
 >    possibly CFLAGS/LDFLAGS for each package.

 >  - It is not possible to define per package CFLAGS. Indeed, when
 >    cross-compiling, meson doesn't support passing CFLAGS through the
 >    environment, only the CFLAGS from cross-compilation.conf are taken
 >    into account.

 > For this reason, this commit:

 >  - Introduces a per-package cross-compilation.conf, which is generated
 >    by the pkg-meson infrastructure in the "configure" step right
 >    before calling meson. The file is generated in $(@D)/build/, and
 >    because it is generated within a given package "configure" step,
 >    the compiler path is the one of this package.

 >  - Keeps the global cross-compilation.conf in $(HOST_DIR)/etc/meson/,
 >    for the SDK use-case of Buildroot. Since we want the final and
 >    global values of the compiler path, CFLAGS and LDFLAGS, generating
 >    this global cross-compilation.conf is moved to a
 >    TARGET_FINALIZE_HOOKS. If we were keeping this as a
 >    HOST_MESON_POST_INSTALL_HOOKS, it would contain values specific to
 >    the host-meson package.

 > For now, we don't yet support per-package CFLAGS/LDFLAGS, but having
 > such per-package cross-compilation.conf is a necessary preparation to
 > achieve this goal.

 > This commit has been tested by building all Buildroot packages that
 > use meson: json-glib, systemd, enlightenment, at-spi2-core, ncmpc,
 > libmpdclient and ncmpc.

 > Signed-off-by: Peter Seiderer <ps.report@gmx.net>
 > [Thomas:
 >  - add extended commit log
 >  - in pkg-meson.mk, re-use variables defined in meson.mk to do the
 >    replacement of CFLAGS/LDFLAGS/CXXFLAGS
 >  - move the generation of the global cross-compilation.conf to a
 >    TARGET_FINALIZE_HOOKS
 >  - testing with per-package folders]
 > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 > ---
 > Changes since v1:
 >  - Rework commit title and commit log. Indeed, we don't implement
 >    per-package CFLAGS as part of this commit, contrary to what the
 >    previous commit log was saying. However, having a per-package
 >    cross-compilation.conf is a necessary preparation step to implement
 >    per-package CFLAGS in the future.

Committed, thanks.

-- 
Bye, Peter Korsgaard

      parent reply	other threads:[~2019-01-17 21:54 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-30 10:40 [Buildroot] [PATCH next v2] package/pkg-meson: support per-package directories Thomas Petazzoni
2018-12-28 13:28 ` Thomas Petazzoni
2019-01-04 18:35   ` Peter Seiderer
2019-01-17 21:54 ` Peter Korsgaard [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fttr6jck.fsf@dell.be.48ers.dk \
    --to=peter@korsgaard.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox