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 |
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] > -=-=-=-=-=-=-=-=-=-=-=- >
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 --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'))]}"
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(+)