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 -
prev parent 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