Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Baruch Siach <baruch@tkos.co.il>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3, 1/1] bdwgc: add optional cplusplus support
Date: Thu, 25 Oct 2018 21:46:42 +0300	[thread overview]
Message-ID: <875zxp7tkd.fsf@tkos.co.il> (raw)
In-Reply-To: <CAPi7W82rJxNkrhi78e7f_xBs2cEMknWKrizCU1=B9Btr8+LHuw@mail.gmail.com>

Hi Fabrice,

Fabrice Fontaine writes:
> Le jeu. 25 oct. 2018 ? 05:57, Baruch Siach <baruch@tkos.co.il> a ?crit :
>> Fabrice Fontaine writes:
>> > Use CFLAGS_EXTRA to pass C and C++ flags in a single variable
>> >
>> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
>> > ---
>> > Changes v2 -> v3 (after review of Baruch Siach):
>> >  - Replace BDWGC_CFLAGS by BDWGC_CFLAGS_EXTRA
>> >
>> > Changes v1 -> v2 (after review of Arnout Vandecappelle and Baruch
>> > Siach):
>> >  - Use CFLAGS_EXTRA to pass C and C++ flags in a single variable instead
>> >    of using CFLAGS and CPPFLAGS
>> >
>> >  package/bdwgc/bdwgc.mk | 15 +++++++++++----
>> >  1 file changed, 11 insertions(+), 4 deletions(-)
>> >
>> > diff --git a/package/bdwgc/bdwgc.mk b/package/bdwgc/bdwgc.mk
>> > index 5603df8d9d..1c80f47b92 100644
>> > --- a/package/bdwgc/bdwgc.mk
>> > +++ b/package/bdwgc/bdwgc.mk
>> > @@ -19,17 +19,24 @@ HOST_BDWGC_DEPENDENCIES = host-libatomic_ops host-pkgconf
>> >  # solution.
>> >  BDWGC_AUTORECONF = YES
>> >
>> > -BDWGC_CFLAGS = $(TARGET_CFLAGS)
>>
>> This removes TARGET_CLAGS ...
> Yes, TARGET_CFLAGS is already passed in CFLAGS and CXXFLAGS by the
> autotools-package infrastructure.
> Because we don't override CFLAGS anymore, this line can be removed.
> Did I miss something?

No. You are right.

>> >  ifeq ($(BR2_sparc),y)
>> > -BDWGC_CFLAGS += -DAO_NO_SPARC_V9
>> > +BDWGC_CFLAGS_EXTRA += -DAO_NO_SPARC_V9
>> >  endif
>> >  ifeq ($(BR2_STATIC_LIBS),y)
>> > -BDWGC_CFLAGS += -DGC_NO_DLOPEN
>> > +BDWGC_CFLAGS_EXTRA += -DGC_NO_DLOPEN
>> >  endif
>> >
>> > +BDWGC_CONF_OPTS = CFLAGS_EXTRA="$(BDWGC_CFLAGS_EXTRA)"
>>
>> ... so you need to add it back here.
>>
>> Nit: I'd move the BDWGC_CONF_OPTS assignment upper.
> I can send a v4 with this update if you want. What is the best
> practice in buildroot concerning variable assignment?

The common practice is the group unconditional assignment at the top of
the .mk file, and add conditions below.

> Should we set BDWGC_CONF_OPTS = CFLAGS_EXTRA="$(BDWGC_CFLAGS_EXTRA)"
> before putting any value in BDWGC_CFLAGS_EXTRA?

Make evaluates this "recursively expanded" variable value only when
referenced.

  https://www.gnu.org/software/make/manual/html_node/Flavors.html#Flavors

So no problem with BDWGC_CONF_OPTS assignment before BDWGC_CFLAGS_EXTRA
is set.

> Or perhaps the issue is that I used = to make the assignment after
> ifeq statements.
> If I replace = by +=, can I keep this line here?

I didn't think about that. That is a another reason to follow the common
practice of grouping unconditional assignments at the top.

baruch

>> > +
>> >  # Ensure we use the system libatomic_ops, and not the internal one.
>> > -BDWGC_CONF_OPTS = --with-libatomic-ops=yes CFLAGS="$(BDWGC_CFLAGS)"
>> > +BDWGC_CONF_OPTS += --with-libatomic-ops=yes
>> >  HOST_BDWGC_CONF_OPTS = --with-libatomic-ops=yes
>> >
>> > +ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
>> > +BDWGC_CONF_OPTS += --enable-cplusplus
>> > +else
>> > +BDWGC_CONF_OPTS += --disable-cplusplus
>> > +endif
>> > +
>> >  $(eval $(autotools-package))
>> >  $(eval $(host-autotools-package))

--
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

      reply	other threads:[~2018-10-25 18:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-24 21:01 [Buildroot] [PATCH v3,1/1] bdwgc: add optional cplusplus support Fabrice Fontaine
2018-10-25  3:57 ` [Buildroot] [PATCH v3, 1/1] " Baruch Siach
2018-10-25 17:27   ` Fabrice Fontaine
2018-10-25 18:46     ` Baruch Siach [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=875zxp7tkd.fsf@tkos.co.il \
    --to=baruch@tkos.co.il \
    --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