diff mbox series

[v3] bitbake.conf: Define TC_CXX_RUNTIME

Message ID 20220909165204.12656-1-raj.khem@gmail.com
State Accepted, archived
Commit a32f4309aec277cac01c1fd8c78e28d0fd63b064
Headers show
Series [v3] bitbake.conf: Define TC_CXX_RUNTIME | expand

Commit Message

Khem Raj Sept. 9, 2022, 4:52 p.m. UTC
This variable is used to denote the C/C++ compiler runtime to use.
Right now there are few alternatives out of the core which could
use this variable to define this property, the values it can take
are 'gnu' for gcc runtime. 'llvm' for using compiler-rt+libc++ and
'android' to use android runtime. Default settings is to use gnu
which is current silent default also.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
v2: Document the variable
v3: Rename to TC_CXX_RUNTIME

 documentation/ref-manual/variables.rst | 6 ++++++
 meta/conf/bitbake.conf                 | 1 +
 2 files changed, 7 insertions(+)

Comments

Andre McCurdy Sept. 9, 2022, 7:51 p.m. UTC | #1
On Fri, Sep 9, 2022 at 9:52 AM Khem Raj <raj.khem@gmail.com> wrote:
>
> This variable is used to denote the C/C++ compiler runtime to use.
> Right now there are few alternatives out of the core which could
> use this variable to define this property, the values it can take
> are 'gnu' for gcc runtime. 'llvm' for using compiler-rt+libc++ and
> 'android' to use android runtime. Default settings is to use gnu
> which is current silent default also.

Seems like you made a conscious decision to refer to the gcc runtime
library as "gnu" instead of "gcc". What was the reasoning? Using "gcc"
would seem to be clearer unless it clashes with some gcc upstream
naming convention.

> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> v2: Document the variable
> v3: Rename to TC_CXX_RUNTIME
>
>  documentation/ref-manual/variables.rst | 6 ++++++
>  meta/conf/bitbake.conf                 | 1 +
>  2 files changed, 7 insertions(+)
>
> diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
> index cf817e9540..2d28c3d2f7 100644
> --- a/documentation/ref-manual/variables.rst
> +++ b/documentation/ref-manual/variables.rst
> @@ -7973,6 +7973,12 @@ system and gives an overview of their function and contents.
>        toolchain. You can use ``meta-sourcery`` as a template for adding
>        support for other external toolchains.
>
> +   :term:`TC_CXX_RUNTIME`
> +      Specifies the C/C++ STL and runtime variant to use during
> +      the build process. Default value is 'gnu'
> +
> +      You can select "gnu", "llvm", or "android".
> +
>     :term:`TEMPLATECONF`
>        Specifies the directory used by the build system to find templates
>        from which to build the ``bblayers.conf`` and ``local.conf`` files.
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 52a36d788b..62cdd9aa9c 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -389,6 +389,7 @@ FILESYSTEM_PERMS_TABLES ?= "${@'files/fs-perms.txt' if oe.types.boolean(d.getVar
>
>  TCMODE ??= "default"
>  TCLIBC ??= "glibc"
> +TC_CXX_RUNTIME ??= "gnu"
>  TMPDIR ?= "${TOPDIR}/tmp"
>
>  CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('MACHINE'))]}${@['', '/' + str(d.getVar('SDKMACHINE'))][bool(d.getVar('SDKMACHINE'))]}"
> --
> 2.37.3
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#170499): https://lists.openembedded.org/g/openembedded-core/message/170499
> Mute This Topic: https://lists.openembedded.org/mt/93577585/3619030
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [armccurdy@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Khem Raj Sept. 9, 2022, 11:19 p.m. UTC | #2
On Fri, Sep 9, 2022 at 12:51 PM Andre McCurdy <armccurdy@gmail.com> wrote:

> On Fri, Sep 9, 2022 at 9:52 AM Khem Raj <raj.khem@gmail.com> wrote:
> >
> > This variable is used to denote the C/C++ compiler runtime to use.
> > Right now there are few alternatives out of the core which could
> > use this variable to define this property, the values it can take
> > are 'gnu' for gcc runtime. 'llvm' for using compiler-rt+libc++ and
> > 'android' to use android runtime. Default settings is to use gnu
> > which is current silent default also.
>
> Seems like you made a conscious decision to refer to the gcc runtime
> library as "gnu" instead of "gcc". What was the reasoning? Using "gcc"
> would seem to be clearer unless it clashes with some gcc upstream
> naming convention.


Good question. Historically to avoid confusion with recipe with same name
when llvm was not a recipe and runtime in clang world is outside the
compiler



>
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ---
> > v2: Document the variable
> > v3: Rename to TC_CXX_RUNTIME
> >
> >  documentation/ref-manual/variables.rst | 6 ++++++
> >  meta/conf/bitbake.conf                 | 1 +
> >  2 files changed, 7 insertions(+)
> >
> > diff --git a/documentation/ref-manual/variables.rst
> b/documentation/ref-manual/variables.rst
> > index cf817e9540..2d28c3d2f7 100644
> > --- a/documentation/ref-manual/variables.rst
> > +++ b/documentation/ref-manual/variables.rst
> > @@ -7973,6 +7973,12 @@ system and gives an overview of their function
> and contents.
> >        toolchain. You can use ``meta-sourcery`` as a template for adding
> >        support for other external toolchains.
> >
> > +   :term:`TC_CXX_RUNTIME`
> > +      Specifies the C/C++ STL and runtime variant to use during
> > +      the build process. Default value is 'gnu'
> > +
> > +      You can select "gnu", "llvm", or "android".
> > +
> >     :term:`TEMPLATECONF`
> >        Specifies the directory used by the build system to find templates
> >        from which to build the ``bblayers.conf`` and ``local.conf``
> files.
> > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> > index 52a36d788b..62cdd9aa9c 100644
> > --- a/meta/conf/bitbake.conf
> > +++ b/meta/conf/bitbake.conf
> > @@ -389,6 +389,7 @@ FILESYSTEM_PERMS_TABLES ?= "${@'files/fs-perms.txt'
> if oe.types.boolean(d.getVar
> >
> >  TCMODE ??= "default"
> >  TCLIBC ??= "glibc"
> > +TC_CXX_RUNTIME ??= "gnu"
> >  TMPDIR ?= "${TOPDIR}/tmp"
> >
> >  CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' +
> str(d.getVar('MACHINE'))][bool(d.getVar('MACHINE'))]}${@['', '/' +
> str(d.getVar('SDKMACHINE'))][bool(d.getVar('SDKMACHINE'))]}"
> > --
> > 2.37.3
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#170499):
> https://lists.openembedded.org/g/openembedded-core/message/170499
> > Mute This Topic: https://lists.openembedded.org/mt/93577585/3619030
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> armccurdy@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
diff mbox series

Patch

diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index cf817e9540..2d28c3d2f7 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -7973,6 +7973,12 @@  system and gives an overview of their function and contents.
       toolchain. You can use ``meta-sourcery`` as a template for adding
       support for other external toolchains.
 
+   :term:`TC_CXX_RUNTIME`
+      Specifies the C/C++ STL and runtime variant to use during
+      the build process. Default value is 'gnu'
+
+      You can select "gnu", "llvm", or "android".
+
    :term:`TEMPLATECONF`
       Specifies the directory used by the build system to find templates
       from which to build the ``bblayers.conf`` and ``local.conf`` files.
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 52a36d788b..62cdd9aa9c 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -389,6 +389,7 @@  FILESYSTEM_PERMS_TABLES ?= "${@'files/fs-perms.txt' if oe.types.boolean(d.getVar
 
 TCMODE ??= "default"
 TCLIBC ??= "glibc"
+TC_CXX_RUNTIME ??= "gnu"
 TMPDIR ?= "${TOPDIR}/tmp"
 
 CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('MACHINE'))]}${@['', '/' + str(d.getVar('SDKMACHINE'))][bool(d.getVar('SDKMACHINE'))]}"