All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3,1/1] bdwgc: add optional cplusplus support
@ 2018-10-24 21:01 Fabrice Fontaine
  2018-10-25  3:57 ` [Buildroot] [PATCH v3, 1/1] " Baruch Siach
  0 siblings, 1 reply; 4+ messages in thread
From: Fabrice Fontaine @ 2018-10-24 21:01 UTC (permalink / raw)
  To: buildroot

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)
 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)"
+
 # 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))
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v3, 1/1] bdwgc: add optional cplusplus support
  2018-10-24 21:01 [Buildroot] [PATCH v3,1/1] bdwgc: add optional cplusplus support Fabrice Fontaine
@ 2018-10-25  3:57 ` Baruch Siach
  2018-10-25 17:27   ` Fabrice Fontaine
  0 siblings, 1 reply; 4+ messages in thread
From: Baruch Siach @ 2018-10-25  3:57 UTC (permalink / raw)
  To: buildroot

Hi Fabrice,

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 ...

>  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.

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 -

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v3, 1/1] bdwgc: add optional cplusplus support
  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
  0 siblings, 1 reply; 4+ messages in thread
From: Fabrice Fontaine @ 2018-10-25 17:27 UTC (permalink / raw)
  To: buildroot

Dear Baruch,
Le jeu. 25 oct. 2018 ? 05:57, Baruch Siach <baruch@tkos.co.il> a ?crit :
>
> Hi Fabrice,
>
> 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?
>
> >  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?
Should we set BDWGC_CONF_OPTS = CFLAGS_EXTRA="$(BDWGC_CFLAGS_EXTRA)"
before putting any value in BDWGC_CFLAGS_EXTRA?
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?
>
> 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 -
Best Regards,

Fabrice

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v3, 1/1] bdwgc: add optional cplusplus support
  2018-10-25 17:27   ` Fabrice Fontaine
@ 2018-10-25 18:46     ` Baruch Siach
  0 siblings, 0 replies; 4+ messages in thread
From: Baruch Siach @ 2018-10-25 18:46 UTC (permalink / raw)
  To: buildroot

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 -

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-10-25 18:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.