* [PATCH 0/2] fix C++ include checks in cross-compilation @ 2022-06-21 12:28 Stanislaw Kardach 2022-06-21 12:28 ` [PATCH 1/2] config: Use G++ as C++ compiler Stanislaw Kardach ` (2 more replies) 0 siblings, 3 replies; 10+ messages in thread From: Stanislaw Kardach @ 2022-06-21 12:28 UTC (permalink / raw) To: dev; +Cc: Stanislaw Kardach, upstream Meson detects the C++ cross-compiler during configuration and based on that reports whether C++ language is available or not. The C++ include check target (buildtools/chkincs/chkincs-cpp) is only built when C++ language is available. There are 2 issues that currently prevent those checks to be run in cross-compiled environments: * PowerPC and ARM cross-files define cpp instead of g++ as C++ compiler. That's wrong because cpp is a C Preprocessor binary. * The CI workflow file does not install a g++ cross-compiler. This patchset fixes both issues. Stanislaw Kardach (2): config: Use G++ as C++ compiler ci: use crossbuild-essential packages .github/workflows/build.yml | 6 ++---- config/arm/arm32_armv8_linux_gcc | 2 +- config/arm/arm64_armada_linux_gcc | 2 +- config/arm/arm64_armv8_linux_gcc | 2 +- config/arm/arm64_bluefield_linux_gcc | 2 +- config/arm/arm64_centriq2400_linux_gcc | 2 +- config/arm/arm64_cn10k_linux_gcc | 2 +- config/arm/arm64_cn9k_linux_gcc | 2 +- config/arm/arm64_dpaa_linux_gcc | 2 +- config/arm/arm64_emag_linux_gcc | 2 +- config/arm/arm64_graviton2_linux_gcc | 2 +- config/arm/arm64_kunpeng920_linux_gcc | 2 +- config/arm/arm64_kunpeng930_linux_gcc | 2 +- config/arm/arm64_n1sdp_linux_gcc | 2 +- config/arm/arm64_n2_linux_gcc | 2 +- config/arm/arm64_stingray_linux_gcc | 2 +- config/arm/arm64_thunderx2_linux_gcc | 2 +- config/arm/arm64_thunderxt83_linux_gcc | 2 +- config/arm/arm64_thunderxt88_linux_gcc | 2 +- config/ppc/ppc64le-power8-linux-gcc | 2 +- config/ppc/ppc64le-power8-linux-gcc-ubuntu | 2 +- 21 files changed, 22 insertions(+), 24 deletions(-) -- 2.30.2 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] config: Use G++ as C++ compiler 2022-06-21 12:28 [PATCH 0/2] fix C++ include checks in cross-compilation Stanislaw Kardach @ 2022-06-21 12:28 ` Stanislaw Kardach 2022-06-21 14:25 ` Bruce Richardson 2022-06-21 19:53 ` Tyler Retzlaff 2022-06-21 12:28 ` [PATCH 2/2] ci: use crossbuild-essential packages Stanislaw Kardach 2022-06-23 8:04 ` [PATCH 0/2] fix C++ include checks in cross-compilation David Marchand 2 siblings, 2 replies; 10+ messages in thread From: Stanislaw Kardach @ 2022-06-21 12:28 UTC (permalink / raw) To: Ruifeng Wang, David Christensen; +Cc: Stanislaw Kardach, dev, upstream Through some mixup all cross-files for PowerPC and ARM platforms were using C Preprocessor (cpp) instead of GCC (g++). This caused meson to fail detecting the C++ compiler presence and therefore disabling some targets (i.e. C++ include file checks). Signed-off-by: Stanislaw Kardach <kda@semihalf.com> --- config/arm/arm32_armv8_linux_gcc | 2 +- config/arm/arm64_armada_linux_gcc | 2 +- config/arm/arm64_armv8_linux_gcc | 2 +- config/arm/arm64_bluefield_linux_gcc | 2 +- config/arm/arm64_centriq2400_linux_gcc | 2 +- config/arm/arm64_cn10k_linux_gcc | 2 +- config/arm/arm64_cn9k_linux_gcc | 2 +- config/arm/arm64_dpaa_linux_gcc | 2 +- config/arm/arm64_emag_linux_gcc | 2 +- config/arm/arm64_graviton2_linux_gcc | 2 +- config/arm/arm64_kunpeng920_linux_gcc | 2 +- config/arm/arm64_kunpeng930_linux_gcc | 2 +- config/arm/arm64_n1sdp_linux_gcc | 2 +- config/arm/arm64_n2_linux_gcc | 2 +- config/arm/arm64_stingray_linux_gcc | 2 +- config/arm/arm64_thunderx2_linux_gcc | 2 +- config/arm/arm64_thunderxt83_linux_gcc | 2 +- config/arm/arm64_thunderxt88_linux_gcc | 2 +- config/ppc/ppc64le-power8-linux-gcc | 2 +- config/ppc/ppc64le-power8-linux-gcc-ubuntu | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/config/arm/arm32_armv8_linux_gcc b/config/arm/arm32_armv8_linux_gcc index 7f2977e49d..269a60ba19 100644 --- a/config/arm/arm32_armv8_linux_gcc +++ b/config/arm/arm32_armv8_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'arm-linux-gnueabihf-gcc'] -cpp = ['ccache', 'arm-linux-gnueabihf-cpp'] +cpp = ['ccache', 'arm-linux-gnueabihf-g++'] ar = 'arm-linux-gnueabihf-gcc-ar' strip = 'arm-linux-gnueabihf-strip' pkgconfig = 'arm-linux-gnueabihf-pkg-config' diff --git a/config/arm/arm64_armada_linux_gcc b/config/arm/arm64_armada_linux_gcc index 1566999101..635b4946a3 100644 --- a/config/arm/arm64_armada_linux_gcc +++ b/config/arm/arm64_armada_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-ar' as = 'aarch64-linux-gnu-as' strip = 'aarch64-linux-gnu-strip' diff --git a/config/arm/arm64_armv8_linux_gcc b/config/arm/arm64_armv8_linux_gcc index 048c2d9f29..529694b49d 100644 --- a/config/arm/arm64_armv8_linux_gcc +++ b/config/arm/arm64_armv8_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_bluefield_linux_gcc b/config/arm/arm64_bluefield_linux_gcc index 38df3c198b..1286227915 100644 --- a/config/arm/arm64_bluefield_linux_gcc +++ b/config/arm/arm64_bluefield_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_centriq2400_linux_gcc b/config/arm/arm64_centriq2400_linux_gcc index 0966eef2c5..bc8737e072 100644 --- a/config/arm/arm64_centriq2400_linux_gcc +++ b/config/arm/arm64_centriq2400_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_cn10k_linux_gcc b/config/arm/arm64_cn10k_linux_gcc index 201e0ccd59..05d2d64cf2 100644 --- a/config/arm/arm64_cn10k_linux_gcc +++ b/config/arm/arm64_cn10k_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_cn9k_linux_gcc b/config/arm/arm64_cn9k_linux_gcc index a9b4d51958..7416454de0 100644 --- a/config/arm/arm64_cn9k_linux_gcc +++ b/config/arm/arm64_cn9k_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_dpaa_linux_gcc b/config/arm/arm64_dpaa_linux_gcc index 0d5761bd72..8465b5097b 100644 --- a/config/arm/arm64_dpaa_linux_gcc +++ b/config/arm/arm64_dpaa_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-ar' as = 'aarch64-linux-gnu-as' strip = 'aarch64-linux-gnu-strip' diff --git a/config/arm/arm64_emag_linux_gcc b/config/arm/arm64_emag_linux_gcc index 16ec49fc32..248169ed68 100644 --- a/config/arm/arm64_emag_linux_gcc +++ b/config/arm/arm64_emag_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_graviton2_linux_gcc b/config/arm/arm64_graviton2_linux_gcc index 094c540f50..fdb298bb11 100644 --- a/config/arm/arm64_graviton2_linux_gcc +++ b/config/arm/arm64_graviton2_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_kunpeng920_linux_gcc b/config/arm/arm64_kunpeng920_linux_gcc index fc057c9063..193fb48a61 100644 --- a/config/arm/arm64_kunpeng920_linux_gcc +++ b/config/arm/arm64_kunpeng920_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_kunpeng930_linux_gcc b/config/arm/arm64_kunpeng930_linux_gcc index 5f43941fae..e4281ceb4f 100644 --- a/config/arm/arm64_kunpeng930_linux_gcc +++ b/config/arm/arm64_kunpeng930_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_n1sdp_linux_gcc b/config/arm/arm64_n1sdp_linux_gcc index fc123ab53f..2806a4241b 100644 --- a/config/arm/arm64_n1sdp_linux_gcc +++ b/config/arm/arm64_n1sdp_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_n2_linux_gcc b/config/arm/arm64_n2_linux_gcc index 930bd5c236..7404bd197b 100644 --- a/config/arm/arm64_n2_linux_gcc +++ b/config/arm/arm64_n2_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_stingray_linux_gcc b/config/arm/arm64_stingray_linux_gcc index 5dfcd974fd..08148b5c3d 100644 --- a/config/arm/arm64_stingray_linux_gcc +++ b/config/arm/arm64_stingray_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_thunderx2_linux_gcc b/config/arm/arm64_thunderx2_linux_gcc index c1f5995d93..32ae938e95 100644 --- a/config/arm/arm64_thunderx2_linux_gcc +++ b/config/arm/arm64_thunderx2_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_thunderxt83_linux_gcc b/config/arm/arm64_thunderxt83_linux_gcc index 52746e2e59..e9d9e62d44 100644 --- a/config/arm/arm64_thunderxt83_linux_gcc +++ b/config/arm/arm64_thunderxt83_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/arm/arm64_thunderxt88_linux_gcc b/config/arm/arm64_thunderxt88_linux_gcc index fed7eb791e..c6e5a5656a 100644 --- a/config/arm/arm64_thunderxt88_linux_gcc +++ b/config/arm/arm64_thunderxt88_linux_gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'aarch64-linux-gnu-gcc'] -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' pkgconfig = 'aarch64-linux-gnu-pkg-config' diff --git a/config/ppc/ppc64le-power8-linux-gcc b/config/ppc/ppc64le-power8-linux-gcc index 465044e427..8c2db89382 100644 --- a/config/ppc/ppc64le-power8-linux-gcc +++ b/config/ppc/ppc64le-power8-linux-gcc @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'powerpc64le-linux-gcc'] -cpp = ['ccache', 'powerpc64le-linux-cpp'] +cpp = ['ccache', 'powerpc64le-linux-g++'] ar = 'powerpc64le-linux-gcc-ar' strip = 'powerpc64le-linux-strip' diff --git a/config/ppc/ppc64le-power8-linux-gcc-ubuntu b/config/ppc/ppc64le-power8-linux-gcc-ubuntu index 44d7e0100a..3027d66f8d 100644 --- a/config/ppc/ppc64le-power8-linux-gcc-ubuntu +++ b/config/ppc/ppc64le-power8-linux-gcc-ubuntu @@ -1,6 +1,6 @@ [binaries] c = ['ccache', 'powerpc64le-linux-gnu-gcc'] -cpp = ['ccache', 'powerpc64le-linux-gnu-cpp'] +cpp = ['ccache', 'powerpc64le-linux-gnu-g++'] ar = 'powerpc64le-linux-gnu-ar' strip = 'powerpc64le-linux-gnu-strip' -- 2.30.2 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/2] config: Use G++ as C++ compiler 2022-06-21 12:28 ` [PATCH 1/2] config: Use G++ as C++ compiler Stanislaw Kardach @ 2022-06-21 14:25 ` Bruce Richardson 2022-06-21 19:53 ` Tyler Retzlaff 1 sibling, 0 replies; 10+ messages in thread From: Bruce Richardson @ 2022-06-21 14:25 UTC (permalink / raw) To: Stanislaw Kardach; +Cc: Ruifeng Wang, David Christensen, dev, upstream On Tue, Jun 21, 2022 at 02:28:23PM +0200, Stanislaw Kardach wrote: > Through some mixup all cross-files for PowerPC and ARM platforms were > using C Preprocessor (cpp) instead of GCC (g++). > This caused meson to fail detecting the C++ compiler presence and > therefore disabling some targets (i.e. C++ include file checks). > > Signed-off-by: Stanislaw Kardach <kda@semihalf.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/2] config: Use G++ as C++ compiler 2022-06-21 12:28 ` [PATCH 1/2] config: Use G++ as C++ compiler Stanislaw Kardach 2022-06-21 14:25 ` Bruce Richardson @ 2022-06-21 19:53 ` Tyler Retzlaff 2022-06-22 5:07 ` Stanisław Kardach 1 sibling, 1 reply; 10+ messages in thread From: Tyler Retzlaff @ 2022-06-21 19:53 UTC (permalink / raw) To: Stanislaw Kardach; +Cc: Ruifeng Wang, David Christensen, dev, upstream On Tue, Jun 21, 2022 at 02:28:23PM +0200, Stanislaw Kardach wrote: > Through some mixup all cross-files for PowerPC and ARM platforms were > using C Preprocessor (cpp) instead of GCC (g++). > This caused meson to fail detecting the C++ compiler presence and > therefore disabling some targets (i.e. C++ include file checks). > > Signed-off-by: Stanislaw Kardach <kda@semihalf.com> > --- > config/arm/arm32_armv8_linux_gcc | 2 +- > config/arm/arm64_armada_linux_gcc | 2 +- > config/arm/arm64_armv8_linux_gcc | 2 +- > config/arm/arm64_bluefield_linux_gcc | 2 +- > config/arm/arm64_centriq2400_linux_gcc | 2 +- > config/arm/arm64_cn10k_linux_gcc | 2 +- > config/arm/arm64_cn9k_linux_gcc | 2 +- > config/arm/arm64_dpaa_linux_gcc | 2 +- > config/arm/arm64_emag_linux_gcc | 2 +- > config/arm/arm64_graviton2_linux_gcc | 2 +- > config/arm/arm64_kunpeng920_linux_gcc | 2 +- > config/arm/arm64_kunpeng930_linux_gcc | 2 +- > config/arm/arm64_n1sdp_linux_gcc | 2 +- > config/arm/arm64_n2_linux_gcc | 2 +- > config/arm/arm64_stingray_linux_gcc | 2 +- > config/arm/arm64_thunderx2_linux_gcc | 2 +- > config/arm/arm64_thunderxt83_linux_gcc | 2 +- > config/arm/arm64_thunderxt88_linux_gcc | 2 +- > config/ppc/ppc64le-power8-linux-gcc | 2 +- > config/ppc/ppc64le-power8-linux-gcc-ubuntu | 2 +- > 20 files changed, 20 insertions(+), 20 deletions(-) > > diff --git a/config/arm/arm32_armv8_linux_gcc b/config/arm/arm32_armv8_linux_gcc > index 7f2977e49d..269a60ba19 100644 > --- a/config/arm/arm32_armv8_linux_gcc > +++ b/config/arm/arm32_armv8_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'arm-linux-gnueabihf-gcc'] > -cpp = ['ccache', 'arm-linux-gnueabihf-cpp'] > +cpp = ['ccache', 'arm-linux-gnueabihf-g++'] suggest the variable should be 'cxx' not 'cpp' (to be consistent with other build systems in the linux world) > ar = 'arm-linux-gnueabihf-gcc-ar' > strip = 'arm-linux-gnueabihf-strip' > pkgconfig = 'arm-linux-gnueabihf-pkg-config' > diff --git a/config/arm/arm64_armada_linux_gcc b/config/arm/arm64_armada_linux_gcc > index 1566999101..635b4946a3 100644 > --- a/config/arm/arm64_armada_linux_gcc > +++ b/config/arm/arm64_armada_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-ar' > as = 'aarch64-linux-gnu-as' > strip = 'aarch64-linux-gnu-strip' > diff --git a/config/arm/arm64_armv8_linux_gcc b/config/arm/arm64_armv8_linux_gcc > index 048c2d9f29..529694b49d 100644 > --- a/config/arm/arm64_armv8_linux_gcc > +++ b/config/arm/arm64_armv8_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_bluefield_linux_gcc b/config/arm/arm64_bluefield_linux_gcc > index 38df3c198b..1286227915 100644 > --- a/config/arm/arm64_bluefield_linux_gcc > +++ b/config/arm/arm64_bluefield_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_centriq2400_linux_gcc b/config/arm/arm64_centriq2400_linux_gcc > index 0966eef2c5..bc8737e072 100644 > --- a/config/arm/arm64_centriq2400_linux_gcc > +++ b/config/arm/arm64_centriq2400_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_cn10k_linux_gcc b/config/arm/arm64_cn10k_linux_gcc > index 201e0ccd59..05d2d64cf2 100644 > --- a/config/arm/arm64_cn10k_linux_gcc > +++ b/config/arm/arm64_cn10k_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_cn9k_linux_gcc b/config/arm/arm64_cn9k_linux_gcc > index a9b4d51958..7416454de0 100644 > --- a/config/arm/arm64_cn9k_linux_gcc > +++ b/config/arm/arm64_cn9k_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_dpaa_linux_gcc b/config/arm/arm64_dpaa_linux_gcc > index 0d5761bd72..8465b5097b 100644 > --- a/config/arm/arm64_dpaa_linux_gcc > +++ b/config/arm/arm64_dpaa_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-ar' > as = 'aarch64-linux-gnu-as' > strip = 'aarch64-linux-gnu-strip' > diff --git a/config/arm/arm64_emag_linux_gcc b/config/arm/arm64_emag_linux_gcc > index 16ec49fc32..248169ed68 100644 > --- a/config/arm/arm64_emag_linux_gcc > +++ b/config/arm/arm64_emag_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_graviton2_linux_gcc b/config/arm/arm64_graviton2_linux_gcc > index 094c540f50..fdb298bb11 100644 > --- a/config/arm/arm64_graviton2_linux_gcc > +++ b/config/arm/arm64_graviton2_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_kunpeng920_linux_gcc b/config/arm/arm64_kunpeng920_linux_gcc > index fc057c9063..193fb48a61 100644 > --- a/config/arm/arm64_kunpeng920_linux_gcc > +++ b/config/arm/arm64_kunpeng920_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_kunpeng930_linux_gcc b/config/arm/arm64_kunpeng930_linux_gcc > index 5f43941fae..e4281ceb4f 100644 > --- a/config/arm/arm64_kunpeng930_linux_gcc > +++ b/config/arm/arm64_kunpeng930_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_n1sdp_linux_gcc b/config/arm/arm64_n1sdp_linux_gcc > index fc123ab53f..2806a4241b 100644 > --- a/config/arm/arm64_n1sdp_linux_gcc > +++ b/config/arm/arm64_n1sdp_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_n2_linux_gcc b/config/arm/arm64_n2_linux_gcc > index 930bd5c236..7404bd197b 100644 > --- a/config/arm/arm64_n2_linux_gcc > +++ b/config/arm/arm64_n2_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_stingray_linux_gcc b/config/arm/arm64_stingray_linux_gcc > index 5dfcd974fd..08148b5c3d 100644 > --- a/config/arm/arm64_stingray_linux_gcc > +++ b/config/arm/arm64_stingray_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_thunderx2_linux_gcc b/config/arm/arm64_thunderx2_linux_gcc > index c1f5995d93..32ae938e95 100644 > --- a/config/arm/arm64_thunderx2_linux_gcc > +++ b/config/arm/arm64_thunderx2_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_thunderxt83_linux_gcc b/config/arm/arm64_thunderxt83_linux_gcc > index 52746e2e59..e9d9e62d44 100644 > --- a/config/arm/arm64_thunderxt83_linux_gcc > +++ b/config/arm/arm64_thunderxt83_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/arm/arm64_thunderxt88_linux_gcc b/config/arm/arm64_thunderxt88_linux_gcc > index fed7eb791e..c6e5a5656a 100644 > --- a/config/arm/arm64_thunderxt88_linux_gcc > +++ b/config/arm/arm64_thunderxt88_linux_gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'aarch64-linux-gnu-gcc'] > -cpp = ['ccache', 'aarch64-linux-gnu-cpp'] > +cpp = ['ccache', 'aarch64-linux-gnu-g++'] > ar = 'aarch64-linux-gnu-gcc-ar' > strip = 'aarch64-linux-gnu-strip' > pkgconfig = 'aarch64-linux-gnu-pkg-config' > diff --git a/config/ppc/ppc64le-power8-linux-gcc b/config/ppc/ppc64le-power8-linux-gcc > index 465044e427..8c2db89382 100644 > --- a/config/ppc/ppc64le-power8-linux-gcc > +++ b/config/ppc/ppc64le-power8-linux-gcc > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'powerpc64le-linux-gcc'] > -cpp = ['ccache', 'powerpc64le-linux-cpp'] > +cpp = ['ccache', 'powerpc64le-linux-g++'] > ar = 'powerpc64le-linux-gcc-ar' > strip = 'powerpc64le-linux-strip' > > diff --git a/config/ppc/ppc64le-power8-linux-gcc-ubuntu b/config/ppc/ppc64le-power8-linux-gcc-ubuntu > index 44d7e0100a..3027d66f8d 100644 > --- a/config/ppc/ppc64le-power8-linux-gcc-ubuntu > +++ b/config/ppc/ppc64le-power8-linux-gcc-ubuntu > @@ -1,6 +1,6 @@ > [binaries] > c = ['ccache', 'powerpc64le-linux-gnu-gcc'] > -cpp = ['ccache', 'powerpc64le-linux-gnu-cpp'] > +cpp = ['ccache', 'powerpc64le-linux-gnu-g++'] > ar = 'powerpc64le-linux-gnu-ar' > strip = 'powerpc64le-linux-gnu-strip' > > -- > 2.30.2 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/2] config: Use G++ as C++ compiler 2022-06-21 19:53 ` Tyler Retzlaff @ 2022-06-22 5:07 ` Stanisław Kardach 2022-06-22 16:05 ` Tyler Retzlaff 0 siblings, 1 reply; 10+ messages in thread From: Stanisław Kardach @ 2022-06-22 5:07 UTC (permalink / raw) To: Tyler Retzlaff; +Cc: Ruifeng Wang, David Christensen, dev, upstream On Tue, Jun 21, 2022 at 9:53 PM Tyler Retzlaff <roretzla@linux.microsoft.com> wrote: > <snip> > > -cpp = ['ccache', 'arm-linux-gnueabihf-cpp'] > > +cpp = ['ccache', 'arm-linux-gnueabihf-g++'] > > suggest the variable should be 'cxx' not 'cpp' (to be consistent with > other build systems in the linux world) The variable name is mandated by meson as it names C++ language "cpp" in other places: https://mesonbuild.com/Reference-tables.html#language-arguments-parameter-names -- Best Regards, Stanisław Kardach ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/2] config: Use G++ as C++ compiler 2022-06-22 5:07 ` Stanisław Kardach @ 2022-06-22 16:05 ` Tyler Retzlaff 2022-06-22 16:24 ` Morten Brørup 0 siblings, 1 reply; 10+ messages in thread From: Tyler Retzlaff @ 2022-06-22 16:05 UTC (permalink / raw) To: Stanisław Kardach; +Cc: Ruifeng Wang, David Christensen, dev, upstream On Wed, Jun 22, 2022 at 07:07:12AM +0200, Stanisław Kardach wrote: > On Tue, Jun 21, 2022 at 9:53 PM Tyler Retzlaff > <roretzla@linux.microsoft.com> wrote: > > <snip> > > > -cpp = ['ccache', 'arm-linux-gnueabihf-cpp'] > > > +cpp = ['ccache', 'arm-linux-gnueabihf-g++'] > > > > suggest the variable should be 'cxx' not 'cpp' (to be consistent with > > other build systems in the linux world) > The variable name is mandated by meson as it names C++ language "cpp" > in other places: > https://mesonbuild.com/Reference-tables.html#language-arguments-parameter-names unfortunate the meson folks didn't do their research. thanks for clarifying, you can disregard my suggestion then. > -- > Best Regards, > Stanisław Kardach ^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH 1/2] config: Use G++ as C++ compiler 2022-06-22 16:05 ` Tyler Retzlaff @ 2022-06-22 16:24 ` Morten Brørup 0 siblings, 0 replies; 10+ messages in thread From: Morten Brørup @ 2022-06-22 16:24 UTC (permalink / raw) To: Tyler Retzlaff, Stanisław Kardach Cc: Ruifeng Wang, David Christensen, dev, upstream > From: Tyler Retzlaff [mailto:roretzla@linux.microsoft.com] > Sent: Wednesday, 22 June 2022 18.06 > > On Wed, Jun 22, 2022 at 07:07:12AM +0200, Stanisław Kardach wrote: > > On Tue, Jun 21, 2022 at 9:53 PM Tyler Retzlaff > > <roretzla@linux.microsoft.com> wrote: > > > <snip> > > > > -cpp = ['ccache', 'arm-linux-gnueabihf-cpp'] > > > > +cpp = ['ccache', 'arm-linux-gnueabihf-g++'] > > > > > > suggest the variable should be 'cxx' not 'cpp' (to be consistent > with > > > other build systems in the linux world) > > The variable name is mandated by meson as it names C++ language "cpp" > > in other places: > > https://mesonbuild.com/Reference-tables.html#language-arguments- > parameter-names > > unfortunate the meson folks didn't do their research. Yes. But they seem to try to correct it... e.g. OBJCPP_LD was renamed to OBJCXX_LD. Not sure how much it means, but CPP usually refers to the C Pre Processor. Just my 2 cents. Whatever is fine. > > thanks for clarifying, you can disregard my suggestion then. > > > -- > > Best Regards, > > Stanisław Kardach ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/2] ci: use crossbuild-essential packages 2022-06-21 12:28 [PATCH 0/2] fix C++ include checks in cross-compilation Stanislaw Kardach 2022-06-21 12:28 ` [PATCH 1/2] config: Use G++ as C++ compiler Stanislaw Kardach @ 2022-06-21 12:28 ` Stanislaw Kardach 2022-06-23 8:04 ` David Marchand 2022-06-23 8:04 ` [PATCH 0/2] fix C++ include checks in cross-compilation David Marchand 2 siblings, 1 reply; 10+ messages in thread From: Stanislaw Kardach @ 2022-06-21 12:28 UTC (permalink / raw) To: Ruifeng Wang, David Christensen; +Cc: Stanislaw Kardach, dev, upstream The crossbuild-essential-<arch> packages contain all necessary dependencies to cross-compile binaries for a given architecture including C and C++ compilers. Therefore use those instead of listing packages directly. This way C++ compiler is also installed and C++ include checks will be checked in CI for PowerPC and ARM. Signed-off-by: Stanislaw Kardach <kda@semihalf.com> --- .github/workflows/build.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c0d2829d0e..1106256539 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -128,15 +128,13 @@ jobs: run: sudo apt install -y gcc-multilib g++-multilib - name: Install aarch64 cross compiling packages if: env.AARCH64 == 'true' - run: sudo apt install -y gcc-aarch64-linux-gnu libc6-dev-arm64-cross - pkg-config-aarch64-linux-gnu + run: sudo apt install -y crossbuild-essential-arm64 - name: Install mingw cross compiling packages if: env.MINGW == 'true' run: sudo apt install -y mingw-w64 mingw-w64-tools - name: Install ppc64le cross compiling packages if: env.PPC64LE == 'true' - run: sudo apt install -y gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross - pkg-config-powerpc-linux-gnu + run: sudo apt install -y crossbuild-essential-ppc64el - name: Install riscv64 cross compiling packages if: env.RISCV64 == 'true' run: sudo apt install -y crossbuild-essential-riscv64 -- 2.30.2 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] ci: use crossbuild-essential packages 2022-06-21 12:28 ` [PATCH 2/2] ci: use crossbuild-essential packages Stanislaw Kardach @ 2022-06-23 8:04 ` David Marchand 0 siblings, 0 replies; 10+ messages in thread From: David Marchand @ 2022-06-23 8:04 UTC (permalink / raw) To: Stanislaw Kardach; +Cc: Ruifeng Wang, David Christensen, dev, upstream On Tue, Jun 21, 2022 at 2:28 PM Stanislaw Kardach <kda@semihalf.com> wrote: > > The crossbuild-essential-<arch> packages contain all necessary > dependencies to cross-compile binaries for a given architecture > including C and C++ compilers. Therefore use those instead of listing > packages directly. This way C++ compiler is also installed and C++ > include checks will be checked in CI for PowerPC and ARM. > > Signed-off-by: Stanislaw Kardach <kda@semihalf.com> Reviewed-by: David Marchand <david.marchand@redhat.com> -- David Marchand ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] fix C++ include checks in cross-compilation 2022-06-21 12:28 [PATCH 0/2] fix C++ include checks in cross-compilation Stanislaw Kardach 2022-06-21 12:28 ` [PATCH 1/2] config: Use G++ as C++ compiler Stanislaw Kardach 2022-06-21 12:28 ` [PATCH 2/2] ci: use crossbuild-essential packages Stanislaw Kardach @ 2022-06-23 8:04 ` David Marchand 2 siblings, 0 replies; 10+ messages in thread From: David Marchand @ 2022-06-23 8:04 UTC (permalink / raw) To: Stanislaw Kardach; +Cc: dev, upstream On Tue, Jun 21, 2022 at 2:28 PM Stanislaw Kardach <kda@semihalf.com> wrote: > > Meson detects the C++ cross-compiler during configuration and based on > that reports whether C++ language is available or not. > The C++ include check target (buildtools/chkincs/chkincs-cpp) is only > built when C++ language is available. > > There are 2 issues that currently prevent those checks to be run in > cross-compiled environments: > > * PowerPC and ARM cross-files define cpp instead of g++ as C++ compiler. > That's wrong because cpp is a C Preprocessor binary. > * The CI workflow file does not install a g++ cross-compiler. > > This patchset fixes both issues. > > Stanislaw Kardach (2): > config: Use G++ as C++ compiler > ci: use crossbuild-essential packages Series applied, thanks Stanislaw. -- David Marchand ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-06-23 8:05 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-06-21 12:28 [PATCH 0/2] fix C++ include checks in cross-compilation Stanislaw Kardach 2022-06-21 12:28 ` [PATCH 1/2] config: Use G++ as C++ compiler Stanislaw Kardach 2022-06-21 14:25 ` Bruce Richardson 2022-06-21 19:53 ` Tyler Retzlaff 2022-06-22 5:07 ` Stanisław Kardach 2022-06-22 16:05 ` Tyler Retzlaff 2022-06-22 16:24 ` Morten Brørup 2022-06-21 12:28 ` [PATCH 2/2] ci: use crossbuild-essential packages Stanislaw Kardach 2022-06-23 8:04 ` David Marchand 2022-06-23 8:04 ` [PATCH 0/2] fix C++ include checks in cross-compilation David Marchand
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).