* [dpdk-dev] [PATCH v1] build: ccache support for cross build @ 2022-06-02 9:23 jerinj 2022-06-02 9:41 ` Bruce Richardson 2022-06-08 17:13 ` [dpdk-dev] [PATCH v2] " jerinj 0 siblings, 2 replies; 15+ messages in thread From: jerinj @ 2022-06-02 9:23 UTC (permalink / raw) To: dev, Ruifeng Wang, Jan Viktorin, Bruce Richardson, David Christensen, Konstantin Ananyev Cc: thomas, david.marchand, juraj.linkes, fengchengwen, Jerin Jacob From: Jerin Jacob <jerinj@marvell.com> By default, ccache is not used for cross build[1]. Update all cross files to use ccache if it is available in build machine. [1] https://mesonbuild.com/Machine-files.html Signed-off-by: Jerin Jacob <jerinj@marvell.com> --- config/arm/arm32_armv8_linux_gcc | 4 ++-- config/arm/arm64_armada_linux_gcc | 4 ++-- config/arm/arm64_armv8_linux_clang_ubuntu | 4 ++-- config/arm/arm64_armv8_linux_gcc | 4 ++-- config/arm/arm64_bluefield_linux_gcc | 4 ++-- config/arm/arm64_centriq2400_linux_gcc | 4 ++-- config/arm/arm64_cn10k_linux_gcc | 4 ++-- config/arm/arm64_cn9k_linux_gcc | 4 ++-- config/arm/arm64_dpaa_linux_gcc | 4 ++-- config/arm/arm64_emag_linux_gcc | 4 ++-- config/arm/arm64_graviton2_linux_gcc | 4 ++-- config/arm/arm64_kunpeng920_linux_gcc | 4 ++-- config/arm/arm64_kunpeng930_linux_gcc | 4 ++-- config/arm/arm64_n1sdp_linux_gcc | 4 ++-- config/arm/arm64_n2_linux_gcc | 4 ++-- config/arm/arm64_stingray_linux_gcc | 4 ++-- config/arm/arm64_thunderx2_linux_gcc | 4 ++-- config/arm/arm64_thunderxt83_linux_gcc | 4 ++-- config/arm/arm64_thunderxt88_linux_gcc | 4 ++-- config/ppc/ppc64le-power8-linux-gcc | 4 ++-- config/ppc/ppc64le-power8-linux-gcc-ubuntu | 4 ++-- config/x86/cross-mingw | 4 ++-- 22 files changed, 44 insertions(+), 44 deletions(-) diff --git a/config/arm/arm32_armv8_linux_gcc b/config/arm/arm32_armv8_linux_gcc index 89f8a12881..7f2977e49d 100644 --- a/config/arm/arm32_armv8_linux_gcc +++ b/config/arm/arm32_armv8_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'arm-linux-gnueabihf-gcc' -cpp = 'arm-linux-gnueabihf-cpp' +c = ['ccache', 'arm-linux-gnueabihf-gcc'] +cpp = ['ccache', 'arm-linux-gnueabihf-cpp'] 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 301418949b..1566999101 100644 --- a/config/arm/arm64_armada_linux_gcc +++ b/config/arm/arm64_armada_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] ar = 'aarch64-linux-gnu-ar' as = 'aarch64-linux-gnu-as' strip = 'aarch64-linux-gnu-strip' diff --git a/config/arm/arm64_armv8_linux_clang_ubuntu b/config/arm/arm64_armv8_linux_clang_ubuntu index db488d75f4..86ae43937b 100644 --- a/config/arm/arm64_armv8_linux_clang_ubuntu +++ b/config/arm/arm64_armv8_linux_clang_ubuntu @@ -1,6 +1,6 @@ [binaries] -c = 'clang' -cpp = 'clang++' +c = ['ccache', 'clang'] +cpp = ['ccache', 'clang++'] ar = 'llvm-ar' strip = 'llvm-strip' llvm-config = 'llvm-config' diff --git a/config/arm/arm64_armv8_linux_gcc b/config/arm/arm64_armv8_linux_gcc index 5391d35389..048c2d9f29 100644 --- a/config/arm/arm64_armv8_linux_gcc +++ b/config/arm/arm64_armv8_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 248a9f031a..38df3c198b 100644 --- a/config/arm/arm64_bluefield_linux_gcc +++ b/config/arm/arm64_bluefield_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 dfe9110331..0966eef2c5 100644 --- a/config/arm/arm64_centriq2400_linux_gcc +++ b/config/arm/arm64_centriq2400_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 a3578c03a1..201e0ccd59 100644 --- a/config/arm/arm64_cn10k_linux_gcc +++ b/config/arm/arm64_cn10k_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 a94b44a551..a9b4d51958 100644 --- a/config/arm/arm64_cn9k_linux_gcc +++ b/config/arm/arm64_cn9k_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 e9d5fd31fc..0d5761bd72 100644 --- a/config/arm/arm64_dpaa_linux_gcc +++ b/config/arm/arm64_dpaa_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 9cdd931180..16ec49fc32 100644 --- a/config/arm/arm64_emag_linux_gcc +++ b/config/arm/arm64_emag_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 8016fd236c..094c540f50 100644 --- a/config/arm/arm64_graviton2_linux_gcc +++ b/config/arm/arm64_graviton2_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 c4685b2458..fc057c9063 100644 --- a/config/arm/arm64_kunpeng920_linux_gcc +++ b/config/arm/arm64_kunpeng920_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 fb85d2d710..5f43941fae 100644 --- a/config/arm/arm64_kunpeng930_linux_gcc +++ b/config/arm/arm64_kunpeng930_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 0df283e2f4..fc123ab53f 100644 --- a/config/arm/arm64_n1sdp_linux_gcc +++ b/config/arm/arm64_n1sdp_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 036aee2b0a..930bd5c236 100644 --- a/config/arm/arm64_n2_linux_gcc +++ b/config/arm/arm64_n2_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 319a4a151d..5dfcd974fd 100644 --- a/config/arm/arm64_stingray_linux_gcc +++ b/config/arm/arm64_stingray_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 69c71cbc82..c1f5995d93 100644 --- a/config/arm/arm64_thunderx2_linux_gcc +++ b/config/arm/arm64_thunderx2_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 47102c900b..52746e2e59 100644 --- a/config/arm/arm64_thunderxt83_linux_gcc +++ b/config/arm/arm64_thunderxt83_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 372097ba01..fed7eb791e 100644 --- a/config/arm/arm64_thunderxt88_linux_gcc +++ b/config/arm/arm64_thunderxt88_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 51f7ceebf3..465044e427 100644 --- a/config/ppc/ppc64le-power8-linux-gcc +++ b/config/ppc/ppc64le-power8-linux-gcc @@ -1,6 +1,6 @@ [binaries] -c = 'powerpc64le-linux-gcc' -cpp = 'powerpc64le-linux-cpp' +c = ['ccache', 'powerpc64le-linux-gcc'] +cpp = ['ccache', 'powerpc64le-linux-cpp'] 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 803c612cbc..44d7e0100a 100644 --- a/config/ppc/ppc64le-power8-linux-gcc-ubuntu +++ b/config/ppc/ppc64le-power8-linux-gcc-ubuntu @@ -1,6 +1,6 @@ [binaries] -c = 'powerpc64le-linux-gnu-gcc' -cpp = 'powerpc64le-linux-gnu-cpp' +c = ['ccache', 'powerpc64le-linux-gnu-gcc'] +cpp = ['ccache', 'powerpc64le-linux-gnu-cpp'] ar = 'powerpc64le-linux-gnu-ar' strip = 'powerpc64le-linux-gnu-strip' diff --git a/config/x86/cross-mingw b/config/x86/cross-mingw index 09f7af0928..cddebda5b5 100644 --- a/config/x86/cross-mingw +++ b/config/x86/cross-mingw @@ -1,6 +1,6 @@ [binaries] -c = 'x86_64-w64-mingw32-gcc' -cpp = 'x86_64-w64-mingw32-g++' +c = ['ccache', 'x86_64-w64-mingw32-gcc'] +cpp = ['ccache', 'x86_64-w64-mingw32-g++'] ld = 'x86_64-w64-mingw32-ld' ar = 'x86_64-w64-mingw32-ar' strip = 'x86_64-w64-mingw32-strip' -- 2.36.1 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v1] build: ccache support for cross build 2022-06-02 9:23 [dpdk-dev] [PATCH v1] build: ccache support for cross build jerinj @ 2022-06-02 9:41 ` Bruce Richardson 2022-06-02 9:43 ` Jerin Jacob 2022-06-08 17:13 ` [dpdk-dev] [PATCH v2] " jerinj 1 sibling, 1 reply; 15+ messages in thread From: Bruce Richardson @ 2022-06-02 9:41 UTC (permalink / raw) To: jerinj Cc: dev, Ruifeng Wang, Jan Viktorin, David Christensen, Konstantin Ananyev, thomas, david.marchand, juraj.linkes, fengchengwen On Thu, Jun 02, 2022 at 02:53:55PM +0530, jerinj@marvell.com wrote: > From: Jerin Jacob <jerinj@marvell.com> > > By default, ccache is not used for cross build[1]. > Update all cross files to use ccache if it is available > in build machine. > > [1] > https://mesonbuild.com/Machine-files.html > > Signed-off-by: Jerin Jacob <jerinj@marvell.com> Does this still work even if ccache is not available? That's not fully clear from the docs, but it seems to be that if an array is passed the whole array is used as the command, rather than just one element of the array. That would imply that cross-builds now require ccache. Is that acceptable? /Bruce ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v1] build: ccache support for cross build 2022-06-02 9:41 ` Bruce Richardson @ 2022-06-02 9:43 ` Jerin Jacob 2022-06-02 10:55 ` Thomas Monjalon 0 siblings, 1 reply; 15+ messages in thread From: Jerin Jacob @ 2022-06-02 9:43 UTC (permalink / raw) To: Bruce Richardson Cc: Jerin Jacob, dpdk-dev, Ruifeng Wang, Jan Viktorin, David Christensen, Konstantin Ananyev, Thomas Monjalon, David Marchand, Juraj Linkeš, fengchengwen On Thu, Jun 2, 2022 at 3:11 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > On Thu, Jun 02, 2022 at 02:53:55PM +0530, jerinj@marvell.com wrote: > > From: Jerin Jacob <jerinj@marvell.com> > > > > By default, ccache is not used for cross build[1]. > > Update all cross files to use ccache if it is available > > in build machine. > > > > [1] > > https://mesonbuild.com/Machine-files.html > > > > Signed-off-by: Jerin Jacob <jerinj@marvell.com> > > Does this still work even if ccache is not available? That's not fully Yes. > clear from the docs, but it seems to be that if an array is passed the > whole array is used as the command, rather than just one element of the > array. That would imply that cross-builds now require ccache. Is that > acceptable? I have removed ccache from the build machine still it works. > > /Bruce > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v1] build: ccache support for cross build 2022-06-02 9:43 ` Jerin Jacob @ 2022-06-02 10:55 ` Thomas Monjalon 2022-06-02 12:00 ` Jerin Jacob 0 siblings, 1 reply; 15+ messages in thread From: Thomas Monjalon @ 2022-06-02 10:55 UTC (permalink / raw) To: Bruce Richardson, Jerin Jacob Cc: Jerin Jacob, dpdk-dev, Ruifeng Wang, Jan Viktorin, David Christensen, Konstantin Ananyev, David Marchand, Juraj Linkeš, fengchengwen 02/06/2022 11:43, Jerin Jacob: > On Thu, Jun 2, 2022 at 3:11 PM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > > On Thu, Jun 02, 2022 at 02:53:55PM +0530, jerinj@marvell.com wrote: > > > From: Jerin Jacob <jerinj@marvell.com> > > > > > > By default, ccache is not used for cross build[1]. > > > Update all cross files to use ccache if it is available > > > in build machine. > > > > > > [1] > > > https://mesonbuild.com/Machine-files.html > > > > > > Signed-off-by: Jerin Jacob <jerinj@marvell.com> > > > > Does this still work even if ccache is not available? That's not fully > > Yes. > > > clear from the docs, but it seems to be that if an array is passed the > > whole array is used as the command, rather than just one element of the > > array. That would imply that cross-builds now require ccache. Is that > > acceptable? > > I have removed ccache from the build machine still it works. I don't understand why it works without ccache. In general, I would prefer we have a mechanism to update the cross file on the fly, depending on the setup. We have this for toolchain prefix name. The prefix depends on where the toochain comes from. In a "normal" build system, we set the prefix with an environment variable, not by writing a file. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v1] build: ccache support for cross build 2022-06-02 10:55 ` Thomas Monjalon @ 2022-06-02 12:00 ` Jerin Jacob 2022-06-02 13:33 ` Bruce Richardson 2022-06-08 8:22 ` Jerin Jacob 0 siblings, 2 replies; 15+ messages in thread From: Jerin Jacob @ 2022-06-02 12:00 UTC (permalink / raw) To: Thomas Monjalon Cc: Bruce Richardson, Jerin Jacob, dpdk-dev, Ruifeng Wang, Jan Viktorin, David Christensen, Konstantin Ananyev, David Marchand, Juraj Linkeš, fengchengwen On Thu, Jun 2, 2022 at 4:25 PM Thomas Monjalon <thomas@monjalon.net> wrote: > > 02/06/2022 11:43, Jerin Jacob: > > On Thu, Jun 2, 2022 at 3:11 PM Bruce Richardson > > <bruce.richardson@intel.com> wrote: > > > > > > On Thu, Jun 02, 2022 at 02:53:55PM +0530, jerinj@marvell.com wrote: > > > > From: Jerin Jacob <jerinj@marvell.com> > > > > > > > > By default, ccache is not used for cross build[1]. > > > > Update all cross files to use ccache if it is available > > > > in build machine. > > > > > > > > [1] > > > > https://mesonbuild.com/Machine-files.html > > > > > > > > Signed-off-by: Jerin Jacob <jerinj@marvell.com> > > > > > > Does this still work even if ccache is not available? That's not fully > > > > Yes. > > > > > clear from the docs, but it seems to be that if an array is passed the > > > whole array is used as the command, rather than just one element of the > > > array. That would imply that cross-builds now require ccache. Is that > > > acceptable? > > > > I have removed ccache from the build machine still it works. > > I don't understand why it works without ccache. Meson is detecting valid compiler prefix. ccache is one of them. See https://github.com/fabio-porcedda/meson/commit/44db495f5ece43645ca3994dc95895c76a828530 https://github.com/mesonbuild/meson/issues/1392 > > In general, I would prefer we have a mechanism to update the cross file > on the fly, depending on the setup. I believe, It would be a departure from the meson cross-file concept. > We have this for toolchain prefix name. > The prefix depends on where the toochain comes from. > In a "normal" build system, we set the prefix with an environment variable, > not by writing a file. > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v1] build: ccache support for cross build 2022-06-02 12:00 ` Jerin Jacob @ 2022-06-02 13:33 ` Bruce Richardson 2022-06-08 8:22 ` Jerin Jacob 1 sibling, 0 replies; 15+ messages in thread From: Bruce Richardson @ 2022-06-02 13:33 UTC (permalink / raw) To: Jerin Jacob Cc: Thomas Monjalon, Jerin Jacob, dpdk-dev, Ruifeng Wang, Jan Viktorin, David Christensen, Konstantin Ananyev, David Marchand, Juraj Linkeš, fengchengwen On Thu, Jun 02, 2022 at 05:30:36PM +0530, Jerin Jacob wrote: > On Thu, Jun 2, 2022 at 4:25 PM Thomas Monjalon <thomas@monjalon.net> wrote: > > > > 02/06/2022 11:43, Jerin Jacob: > > > On Thu, Jun 2, 2022 at 3:11 PM Bruce Richardson > > > <bruce.richardson@intel.com> wrote: > > > > > > > > On Thu, Jun 02, 2022 at 02:53:55PM +0530, jerinj@marvell.com wrote: > > > > > From: Jerin Jacob <jerinj@marvell.com> > > > > > > > > > > By default, ccache is not used for cross build[1]. > > > > > Update all cross files to use ccache if it is available > > > > > in build machine. > > > > > > > > > > [1] > > > > > https://mesonbuild.com/Machine-files.html > > > > > > > > > > Signed-off-by: Jerin Jacob <jerinj@marvell.com> > > > > > > > > Does this still work even if ccache is not available? That's not fully > > > > > > Yes. > > > > > > > clear from the docs, but it seems to be that if an array is passed the > > > > whole array is used as the command, rather than just one element of the > > > > array. That would imply that cross-builds now require ccache. Is that > > > > acceptable? > > > > > > I have removed ccache from the build machine still it works. > > > > I don't understand why it works without ccache. > > Meson is detecting valid compiler prefix. ccache is one of them. > > See > https://github.com/fabio-porcedda/meson/commit/44db495f5ece43645ca3994dc95895c76a828530 > https://github.com/mesonbuild/meson/issues/1392 > > > > > > > In general, I would prefer we have a mechanism to update the cross file > > on the fly, depending on the setup. > > I believe, It would be a departure from the meson cross-file concept. > I don't see why we could script it and use it if people wanted. The cross-file used should be stored in the build directory, so it's associated with the build. /Bruce ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v1] build: ccache support for cross build 2022-06-02 12:00 ` Jerin Jacob 2022-06-02 13:33 ` Bruce Richardson @ 2022-06-08 8:22 ` Jerin Jacob 2022-06-08 8:30 ` Thomas Monjalon 1 sibling, 1 reply; 15+ messages in thread From: Jerin Jacob @ 2022-06-08 8:22 UTC (permalink / raw) To: Thomas Monjalon Cc: Bruce Richardson, Jerin Jacob, dpdk-dev, Ruifeng Wang, Jan Viktorin, David Christensen, Konstantin Ananyev, David Marchand, Juraj Linkeš, fengchengwen On Thu, Jun 2, 2022 at 5:30 PM Jerin Jacob <jerinjacobk@gmail.com> wrote: > > On Thu, Jun 2, 2022 at 4:25 PM Thomas Monjalon <thomas@monjalon.net> wrote: > > > > 02/06/2022 11:43, Jerin Jacob: > > > On Thu, Jun 2, 2022 at 3:11 PM Bruce Richardson > > > <bruce.richardson@intel.com> wrote: > > > > > > > > On Thu, Jun 02, 2022 at 02:53:55PM +0530, jerinj@marvell.com wrote: > > > > > From: Jerin Jacob <jerinj@marvell.com> > > > > > > > > > > By default, ccache is not used for cross build[1]. > > > > > Update all cross files to use ccache if it is available > > > > > in build machine. > > > > > > > > > > [1] > > > > > https://mesonbuild.com/Machine-files.html > > > > > > > > > > Signed-off-by: Jerin Jacob <jerinj@marvell.com> > > > > > > > > Does this still work even if ccache is not available? That's not fully > > > > > > Yes. > > > > > > > clear from the docs, but it seems to be that if an array is passed the > > > > whole array is used as the command, rather than just one element of the > > > > array. That would imply that cross-builds now require ccache. Is that > > > > acceptable? > > > > > > I have removed ccache from the build machine still it works. > > > > I don't understand why it works without ccache. > > Meson is detecting valid compiler prefix. ccache is one of them. > > See > https://github.com/fabio-porcedda/meson/commit/44db495f5ece43645ca3994dc95895c76a828530 > https://github.com/mesonbuild/meson/issues/1392 I hope there are no other review comments to fix it for this patch. Since it is improving the build time for cross-build. If there is no objection to this patch, Please merge it. > > > > > > > In general, I would prefer we have a mechanism to update the cross file > > on the fly, depending on the setup. > > I believe, It would be a departure from the meson cross-file concept. > > > We have this for toolchain prefix name. > > The prefix depends on where the toochain comes from. > > In a "normal" build system, we set the prefix with an environment variable, > > not by writing a file. > > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v1] build: ccache support for cross build 2022-06-08 8:22 ` Jerin Jacob @ 2022-06-08 8:30 ` Thomas Monjalon 2022-06-08 17:16 ` Jerin Jacob 0 siblings, 1 reply; 15+ messages in thread From: Thomas Monjalon @ 2022-06-08 8:30 UTC (permalink / raw) To: Jerin Jacob Cc: Bruce Richardson, Jerin Jacob, dpdk-dev, Ruifeng Wang, Jan Viktorin, David Christensen, Konstantin Ananyev, David Marchand, Juraj Linkeš, fengchengwen 08/06/2022 10:22, Jerin Jacob: > On Thu, Jun 2, 2022 at 5:30 PM Jerin Jacob <jerinjacobk@gmail.com> wrote: > > > > On Thu, Jun 2, 2022 at 4:25 PM Thomas Monjalon <thomas@monjalon.net> wrote: > > > > > > 02/06/2022 11:43, Jerin Jacob: > > > > On Thu, Jun 2, 2022 at 3:11 PM Bruce Richardson > > > > <bruce.richardson@intel.com> wrote: > > > > > > > > > > On Thu, Jun 02, 2022 at 02:53:55PM +0530, jerinj@marvell.com wrote: > > > > > > From: Jerin Jacob <jerinj@marvell.com> > > > > > > > > > > > > By default, ccache is not used for cross build[1]. > > > > > > Update all cross files to use ccache if it is available > > > > > > in build machine. > > > > > > > > > > > > [1] > > > > > > https://mesonbuild.com/Machine-files.html > > > > > > > > > > > > Signed-off-by: Jerin Jacob <jerinj@marvell.com> > > > > > > > > > > Does this still work even if ccache is not available? That's not fully > > > > > > > > Yes. > > > > > > > > > clear from the docs, but it seems to be that if an array is passed the > > > > > whole array is used as the command, rather than just one element of the > > > > > array. That would imply that cross-builds now require ccache. Is that > > > > > acceptable? > > > > > > > > I have removed ccache from the build machine still it works. > > > > > > I don't understand why it works without ccache. > > > > Meson is detecting valid compiler prefix. ccache is one of them. > > > > See > > https://github.com/fabio-porcedda/meson/commit/44db495f5ece43645ca3994dc95895c76a828530 > > https://github.com/mesonbuild/meson/issues/1392 > > I hope there are no other review comments to fix it for this patch. > Since it is improving the build time for cross-build. If there is no > objection to this patch, Please merge it. I've tested it now and I see a big blocker. This patch is breaking the use of devtools/test-meson-builds.sh so I cannot merge it as-is, sorry. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v1] build: ccache support for cross build 2022-06-08 8:30 ` Thomas Monjalon @ 2022-06-08 17:16 ` Jerin Jacob 2022-06-08 18:30 ` Stanisław Kardach 0 siblings, 1 reply; 15+ messages in thread From: Jerin Jacob @ 2022-06-08 17:16 UTC (permalink / raw) To: Thomas Monjalon Cc: Bruce Richardson, Jerin Jacob, dpdk-dev, Ruifeng Wang, Jan Viktorin, David Christensen, Konstantin Ananyev, David Marchand, Juraj Linkeš, fengchengwen On Wed, Jun 8, 2022 at 2:00 PM Thomas Monjalon <thomas@monjalon.net> wrote: > > 08/06/2022 10:22, Jerin Jacob: > > On Thu, Jun 2, 2022 at 5:30 PM Jerin Jacob <jerinjacobk@gmail.com> wrote: > > > > > > On Thu, Jun 2, 2022 at 4:25 PM Thomas Monjalon <thomas@monjalon.net> wrote: > > > > > > > > 02/06/2022 11:43, Jerin Jacob: > > > > > On Thu, Jun 2, 2022 at 3:11 PM Bruce Richardson > > > > > <bruce.richardson@intel.com> wrote: > > > > > > > > > > > > On Thu, Jun 02, 2022 at 02:53:55PM +0530, jerinj@marvell.com wrote: > > > > > > > From: Jerin Jacob <jerinj@marvell.com> > > > > > > > > > > > > > > By default, ccache is not used for cross build[1]. > > > > > > > Update all cross files to use ccache if it is available > > > > > > > in build machine. > > > > > > > > > > > > > > [1] > > > > > > > https://mesonbuild.com/Machine-files.html > > > > > > > > > > > > > > Signed-off-by: Jerin Jacob <jerinj@marvell.com> > > > > > > > > > > > > Does this still work even if ccache is not available? That's not fully > > > > > > > > > > Yes. > > > > > > > > > > > clear from the docs, but it seems to be that if an array is passed the > > > > > > whole array is used as the command, rather than just one element of the > > > > > > array. That would imply that cross-builds now require ccache. Is that > > > > > > acceptable? > > > > > > > > > > I have removed ccache from the build machine still it works. > > > > > > > > I don't understand why it works without ccache. > > > > > > Meson is detecting valid compiler prefix. ccache is one of them. > > > > > > See > > > https://github.com/fabio-porcedda/meson/commit/44db495f5ece43645ca3994dc95895c76a828530 > > > https://github.com/mesonbuild/meson/issues/1392 > > > > I hope there are no other review comments to fix it for this patch. > > Since it is improving the build time for cross-build. If there is no > > objection to this patch, Please merge it. > > I've tested it now and I see a big blocker. > This patch is breaking the use of devtools/test-meson-builds.sh > so I cannot merge it as-is, sorry. I assume you are referring to fixing the DPDK_TARGET update due to the cross-file update. If so, it is fixed in v2 at http://patches.dpdk.org/project/dpdk/patch/20220608171304.945454-1-jerinj@marvell.com/ Thanks > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v1] build: ccache support for cross build 2022-06-08 17:16 ` Jerin Jacob @ 2022-06-08 18:30 ` Stanisław Kardach 0 siblings, 0 replies; 15+ messages in thread From: Stanisław Kardach @ 2022-06-08 18:30 UTC (permalink / raw) To: Jerin Jacob Cc: Thomas Monjalon, Bruce Richardson, Jerin Jacob, dpdk-dev, Ruifeng Wang, Jan Viktorin, David Christensen, Konstantin Ananyev, David Marchand, Juraj Linkeš, fengchengwen On Wed, Jun 8, 2022 at 7:17 PM Jerin Jacob <jerinjacobk@gmail.com> wrote: > > On Wed, Jun 8, 2022 at 2:00 PM Thomas Monjalon <thomas@monjalon.net> wrote: > > > > 08/06/2022 10:22, Jerin Jacob: > > > On Thu, Jun 2, 2022 at 5:30 PM Jerin Jacob <jerinjacobk@gmail.com> wrote: > > > > > > > > On Thu, Jun 2, 2022 at 4:25 PM Thomas Monjalon <thomas@monjalon.net> wrote: > > > > > > > > > > 02/06/2022 11:43, Jerin Jacob: > > > > > > On Thu, Jun 2, 2022 at 3:11 PM Bruce Richardson > > > > > > <bruce.richardson@intel.com> wrote: > > > > > > > > > > > > > > On Thu, Jun 02, 2022 at 02:53:55PM +0530, jerinj@marvell.com wrote: > > > > > > > > From: Jerin Jacob <jerinj@marvell.com> > > > > > > > > > > > > > > > > By default, ccache is not used for cross build[1]. > > > > > > > > Update all cross files to use ccache if it is available > > > > > > > > in build machine. > > > > > > > > > > > > > > > > [1] > > > > > > > > https://mesonbuild.com/Machine-files.html > > > > > > > > > > > > > > > > Signed-off-by: Jerin Jacob <jerinj@marvell.com> > > > > > > > > > > > > > > Does this still work even if ccache is not available? That's not fully > > > > > > > > > > > > Yes. > > > > > > > > > > > > > clear from the docs, but it seems to be that if an array is passed the > > > > > > > whole array is used as the command, rather than just one element of the > > > > > > > array. That would imply that cross-builds now require ccache. Is that > > > > > > > acceptable? > > > > > > > > > > > > I have removed ccache from the build machine still it works. > > > > > > > > > > I don't understand why it works without ccache. > > > > > > > > Meson is detecting valid compiler prefix. ccache is one of them. > > > > > > > > See > > > > https://github.com/fabio-porcedda/meson/commit/44db495f5ece43645ca3994dc95895c76a828530 > > > > https://github.com/mesonbuild/meson/issues/1392 > > > > > > I hope there are no other review comments to fix it for this patch. > > > Since it is improving the build time for cross-build. If there is no > > > objection to this patch, Please merge it. > > > > I've tested it now and I see a big blocker. > > This patch is breaking the use of devtools/test-meson-builds.sh > > so I cannot merge it as-is, sorry. > > I assume you are referring to fixing the DPDK_TARGET update due to the > cross-file update. > If so, it is fixed in v2 at > http://patches.dpdk.org/project/dpdk/patch/20220608171304.945454-1-jerinj@marvell.com/ I've just tested it on a clean Ubuntu 20.04 docker with only RISC-V toolchain, no ccache and indeed compilation works. Both directly with meson and via test-meson-builds.sh. Seems like ccache is parsed in special way by meson as using any other unknown command just fails meson configuration. Also setting CC/CXX env variable makes meson bail (even if I use the cross-file value), so I'm not sure if there is a better way to do it. Acked-by: Stanislaw Kardach <kda@semihalf.com> ^ permalink raw reply [flat|nested] 15+ messages in thread
* [dpdk-dev] [PATCH v2] build: ccache support for cross build 2022-06-02 9:23 [dpdk-dev] [PATCH v1] build: ccache support for cross build jerinj 2022-06-02 9:41 ` Bruce Richardson @ 2022-06-08 17:13 ` jerinj 2022-06-09 1:44 ` fengchengwen ` (2 more replies) 1 sibling, 3 replies; 15+ messages in thread From: jerinj @ 2022-06-08 17:13 UTC (permalink / raw) To: dev, Jan Viktorin, Ruifeng Wang, Bruce Richardson, David Christensen, Stanislaw Kardach, Konstantin Ananyev Cc: thomas, david.marchand, juraj.linkes, fengchengwen, Jerin Jacob From: Jerin Jacob <jerinj@marvell.com> By default, ccache is not used for cross build[1]. Update all cross files to use ccache if it is available in build machine. Also, updated devtools/test-meson-builds.sh script to find the correct DPDK_TARGET due to change in cross file syntax. [1] https://mesonbuild.com/Machine-files.html Signed-off-by: Jerin Jacob <jerinj@marvell.com> --- v2: - Rebased with master, therefore added update riscv64 cross files - Fixed DPDK_TARGET detection with devtools/test-meson-builds.sh due to cross file synatx update. config/arm/arm32_armv8_linux_gcc | 4 ++-- config/arm/arm64_armada_linux_gcc | 4 ++-- config/arm/arm64_armv8_linux_clang_ubuntu | 4 ++-- config/arm/arm64_armv8_linux_gcc | 4 ++-- config/arm/arm64_bluefield_linux_gcc | 4 ++-- config/arm/arm64_centriq2400_linux_gcc | 4 ++-- config/arm/arm64_cn10k_linux_gcc | 4 ++-- config/arm/arm64_cn9k_linux_gcc | 4 ++-- config/arm/arm64_dpaa_linux_gcc | 4 ++-- config/arm/arm64_emag_linux_gcc | 4 ++-- config/arm/arm64_graviton2_linux_gcc | 4 ++-- config/arm/arm64_kunpeng920_linux_gcc | 4 ++-- config/arm/arm64_kunpeng930_linux_gcc | 4 ++-- config/arm/arm64_n1sdp_linux_gcc | 4 ++-- config/arm/arm64_n2_linux_gcc | 4 ++-- config/arm/arm64_stingray_linux_gcc | 4 ++-- config/arm/arm64_thunderx2_linux_gcc | 4 ++-- config/arm/arm64_thunderxt83_linux_gcc | 4 ++-- config/arm/arm64_thunderxt88_linux_gcc | 4 ++-- config/ppc/ppc64le-power8-linux-gcc | 4 ++-- config/ppc/ppc64le-power8-linux-gcc-ubuntu | 4 ++-- config/riscv/riscv64_linux_gcc | 4 ++-- config/riscv/riscv64_sifive_u740_linux_gcc | 4 ++-- config/x86/cross-mingw | 4 ++-- devtools/test-meson-builds.sh | 3 ++- 25 files changed, 50 insertions(+), 49 deletions(-) diff --git a/config/arm/arm32_armv8_linux_gcc b/config/arm/arm32_armv8_linux_gcc index 89f8a12881..7f2977e49d 100644 --- a/config/arm/arm32_armv8_linux_gcc +++ b/config/arm/arm32_armv8_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'arm-linux-gnueabihf-gcc' -cpp = 'arm-linux-gnueabihf-cpp' +c = ['ccache', 'arm-linux-gnueabihf-gcc'] +cpp = ['ccache', 'arm-linux-gnueabihf-cpp'] 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 301418949b..1566999101 100644 --- a/config/arm/arm64_armada_linux_gcc +++ b/config/arm/arm64_armada_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] ar = 'aarch64-linux-gnu-ar' as = 'aarch64-linux-gnu-as' strip = 'aarch64-linux-gnu-strip' diff --git a/config/arm/arm64_armv8_linux_clang_ubuntu b/config/arm/arm64_armv8_linux_clang_ubuntu index db488d75f4..86ae43937b 100644 --- a/config/arm/arm64_armv8_linux_clang_ubuntu +++ b/config/arm/arm64_armv8_linux_clang_ubuntu @@ -1,6 +1,6 @@ [binaries] -c = 'clang' -cpp = 'clang++' +c = ['ccache', 'clang'] +cpp = ['ccache', 'clang++'] ar = 'llvm-ar' strip = 'llvm-strip' llvm-config = 'llvm-config' diff --git a/config/arm/arm64_armv8_linux_gcc b/config/arm/arm64_armv8_linux_gcc index 5391d35389..048c2d9f29 100644 --- a/config/arm/arm64_armv8_linux_gcc +++ b/config/arm/arm64_armv8_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 248a9f031a..38df3c198b 100644 --- a/config/arm/arm64_bluefield_linux_gcc +++ b/config/arm/arm64_bluefield_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 dfe9110331..0966eef2c5 100644 --- a/config/arm/arm64_centriq2400_linux_gcc +++ b/config/arm/arm64_centriq2400_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 a3578c03a1..201e0ccd59 100644 --- a/config/arm/arm64_cn10k_linux_gcc +++ b/config/arm/arm64_cn10k_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 a94b44a551..a9b4d51958 100644 --- a/config/arm/arm64_cn9k_linux_gcc +++ b/config/arm/arm64_cn9k_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 e9d5fd31fc..0d5761bd72 100644 --- a/config/arm/arm64_dpaa_linux_gcc +++ b/config/arm/arm64_dpaa_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 9cdd931180..16ec49fc32 100644 --- a/config/arm/arm64_emag_linux_gcc +++ b/config/arm/arm64_emag_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 8016fd236c..094c540f50 100644 --- a/config/arm/arm64_graviton2_linux_gcc +++ b/config/arm/arm64_graviton2_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 c4685b2458..fc057c9063 100644 --- a/config/arm/arm64_kunpeng920_linux_gcc +++ b/config/arm/arm64_kunpeng920_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 fb85d2d710..5f43941fae 100644 --- a/config/arm/arm64_kunpeng930_linux_gcc +++ b/config/arm/arm64_kunpeng930_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 0df283e2f4..fc123ab53f 100644 --- a/config/arm/arm64_n1sdp_linux_gcc +++ b/config/arm/arm64_n1sdp_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 036aee2b0a..930bd5c236 100644 --- a/config/arm/arm64_n2_linux_gcc +++ b/config/arm/arm64_n2_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 319a4a151d..5dfcd974fd 100644 --- a/config/arm/arm64_stingray_linux_gcc +++ b/config/arm/arm64_stingray_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 69c71cbc82..c1f5995d93 100644 --- a/config/arm/arm64_thunderx2_linux_gcc +++ b/config/arm/arm64_thunderx2_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 47102c900b..52746e2e59 100644 --- a/config/arm/arm64_thunderxt83_linux_gcc +++ b/config/arm/arm64_thunderxt83_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 372097ba01..fed7eb791e 100644 --- a/config/arm/arm64_thunderxt88_linux_gcc +++ b/config/arm/arm64_thunderxt88_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'aarch64-linux-gnu-gcc' -cpp = 'aarch64-linux-gnu-cpp' +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-cpp'] 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 51f7ceebf3..465044e427 100644 --- a/config/ppc/ppc64le-power8-linux-gcc +++ b/config/ppc/ppc64le-power8-linux-gcc @@ -1,6 +1,6 @@ [binaries] -c = 'powerpc64le-linux-gcc' -cpp = 'powerpc64le-linux-cpp' +c = ['ccache', 'powerpc64le-linux-gcc'] +cpp = ['ccache', 'powerpc64le-linux-cpp'] 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 803c612cbc..44d7e0100a 100644 --- a/config/ppc/ppc64le-power8-linux-gcc-ubuntu +++ b/config/ppc/ppc64le-power8-linux-gcc-ubuntu @@ -1,6 +1,6 @@ [binaries] -c = 'powerpc64le-linux-gnu-gcc' -cpp = 'powerpc64le-linux-gnu-cpp' +c = ['ccache', 'powerpc64le-linux-gnu-gcc'] +cpp = ['ccache', 'powerpc64le-linux-gnu-cpp'] ar = 'powerpc64le-linux-gnu-ar' strip = 'powerpc64le-linux-gnu-strip' diff --git a/config/riscv/riscv64_linux_gcc b/config/riscv/riscv64_linux_gcc index ed4d3ce7fb..5e58781193 100644 --- a/config/riscv/riscv64_linux_gcc +++ b/config/riscv/riscv64_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'riscv64-linux-gnu-gcc' -cpp = 'riscv64-linux-gnu-g++' +c = ['ccache', 'riscv64-linux-gnu-gcc'] +cpp = ['ccache', 'riscv64-linux-gnu-g++'] ar = 'riscv64-linux-gnu-ar' strip = 'riscv64-linux-gnu-strip' pcap-config = '' diff --git a/config/riscv/riscv64_sifive_u740_linux_gcc b/config/riscv/riscv64_sifive_u740_linux_gcc index 3d1905c434..58d2c92f8c 100644 --- a/config/riscv/riscv64_sifive_u740_linux_gcc +++ b/config/riscv/riscv64_sifive_u740_linux_gcc @@ -1,6 +1,6 @@ [binaries] -c = 'riscv64-unknown-linux-gnu-gcc' -cpp = 'riscv64-unknown-linux-gnu-g++' +c = ['ccache', 'riscv64-unknown-linux-gnu-gcc'] +cpp = ['ccache', 'riscv64-unknown-linux-gnu-g++'] ar = 'riscv64-unknown-linux-gnu-ar' strip = 'riscv64-unknown-linux-gnu-strip' pcap-config = '' diff --git a/config/x86/cross-mingw b/config/x86/cross-mingw index 09f7af0928..cddebda5b5 100644 --- a/config/x86/cross-mingw +++ b/config/x86/cross-mingw @@ -1,6 +1,6 @@ [binaries] -c = 'x86_64-w64-mingw32-gcc' -cpp = 'x86_64-w64-mingw32-g++' +c = ['ccache', 'x86_64-w64-mingw32-gcc'] +cpp = ['ccache', 'x86_64-w64-mingw32-g++'] ld = 'x86_64-w64-mingw32-ld' ar = 'x86_64-w64-mingw32-ar' strip = 'x86_64-w64-mingw32-strip' diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh index f732dccf6c..e44a2b1995 100755 --- a/devtools/test-meson-builds.sh +++ b/devtools/test-meson-builds.sh @@ -160,7 +160,8 @@ build () # <directory> <target cc | cross file> <ABI check> [meson options] if [ -n "$crossfile" ] ; then cross="--cross-file $crossfile" targetcc=$(sed -n 's,^c[[:space:]]*=[[:space:]]*,,p' \ - $crossfile | tr -d "'" | tr -d '"') + $crossfile | cut -d ',' -f 2 | \ + tr -d "'" | tr -d '"' | tr -d ']' | tr -d ' ') else cross= fi -- 2.36.1 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v2] build: ccache support for cross build 2022-06-08 17:13 ` [dpdk-dev] [PATCH v2] " jerinj @ 2022-06-09 1:44 ` fengchengwen 2022-06-10 7:30 ` Ruifeng Wang 2022-06-14 16:01 ` Thomas Monjalon 2 siblings, 0 replies; 15+ messages in thread From: fengchengwen @ 2022-06-09 1:44 UTC (permalink / raw) To: jerinj, dev, Jan Viktorin, Ruifeng Wang, Bruce Richardson, David Christensen, Stanislaw Kardach, Konstantin Ananyev Cc: thomas, david.marchand, juraj.linkes Test with: arm64_kunpeng920/930 and gcc-7/10, also with ccache or no, all pass Acked-by: Chengwen Feng <fengchengwen@huawei.com> On 2022/6/9 1:13, jerinj@marvell.com wrote: > From: Jerin Jacob <jerinj@marvell.com> > > By default, ccache is not used for cross build[1]. > Update all cross files to use ccache if it is available > in build machine. > > Also, updated devtools/test-meson-builds.sh > script to find the correct DPDK_TARGET due to > change in cross file syntax. > > [1] > https://mesonbuild.com/Machine-files.html > > Signed-off-by: Jerin Jacob <jerinj@marvell.com> > --- > > v2: > - Rebased with master, therefore added update riscv64 cross files > - Fixed DPDK_TARGET detection with devtools/test-meson-builds.sh > due to cross file synatx update. > > config/arm/arm32_armv8_linux_gcc | 4 ++-- > config/arm/arm64_armada_linux_gcc | 4 ++-- > config/arm/arm64_armv8_linux_clang_ubuntu | 4 ++-- > config/arm/arm64_armv8_linux_gcc | 4 ++-- > config/arm/arm64_bluefield_linux_gcc | 4 ++-- > config/arm/arm64_centriq2400_linux_gcc | 4 ++-- > config/arm/arm64_cn10k_linux_gcc | 4 ++-- > config/arm/arm64_cn9k_linux_gcc | 4 ++-- > config/arm/arm64_dpaa_linux_gcc | 4 ++-- > config/arm/arm64_emag_linux_gcc | 4 ++-- > config/arm/arm64_graviton2_linux_gcc | 4 ++-- > config/arm/arm64_kunpeng920_linux_gcc | 4 ++-- > config/arm/arm64_kunpeng930_linux_gcc | 4 ++-- [snip] > ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [dpdk-dev] [PATCH v2] build: ccache support for cross build 2022-06-08 17:13 ` [dpdk-dev] [PATCH v2] " jerinj 2022-06-09 1:44 ` fengchengwen @ 2022-06-10 7:30 ` Ruifeng Wang 2022-06-14 16:09 ` Thomas Monjalon 2022-06-14 16:01 ` Thomas Monjalon 2 siblings, 1 reply; 15+ messages in thread From: Ruifeng Wang @ 2022-06-10 7:30 UTC (permalink / raw) To: jerinj, dev, Jan Viktorin, Bruce Richardson, David Christensen, Stanislaw Kardach, Konstantin Ananyev Cc: thomas, david.marchand, juraj.linkes, fengchengwen, jerinj, nd > -----Original Message----- > From: jerinj@marvell.com <jerinj@marvell.com> > Sent: Thursday, June 9, 2022 1:13 AM > To: dev@dpdk.org; Jan Viktorin <viktorin@rehivetech.com>; Ruifeng Wang > <Ruifeng.Wang@arm.com>; Bruce Richardson > <bruce.richardson@intel.com>; David Christensen > <drc@linux.vnet.ibm.com>; Stanislaw Kardach <kda@semihalf.com>; > Konstantin Ananyev <konstantin.v.ananyev@yandex.ru> > Cc: thomas@monjalon.net; david.marchand@redhat.com; > juraj.linkes@pantheon.tech; fengchengwen@huawei.com; > jerinj@marvell.com > Subject: [dpdk-dev] [PATCH v2] build: ccache support for cross build > > From: Jerin Jacob <jerinj@marvell.com> > > By default, ccache is not used for cross build[1]. > Update all cross files to use ccache if it is available in build machine. > > Also, updated devtools/test-meson-builds.sh script to find the correct > DPDK_TARGET due to change in cross file syntax. > > [1] > https://mesonbuild.com/Machine-files.html > > Signed-off-by: Jerin Jacob <jerinj@marvell.com> > --- > Verified that cross-build works fine with/without ccache. Acked-by: Ruifeng Wang <ruifeng.wang@arm.com> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v2] build: ccache support for cross build 2022-06-10 7:30 ` Ruifeng Wang @ 2022-06-14 16:09 ` Thomas Monjalon 0 siblings, 0 replies; 15+ messages in thread From: Thomas Monjalon @ 2022-06-14 16:09 UTC (permalink / raw) To: jerinj, dev, Jan Viktorin, Bruce Richardson, David Christensen, Stanislaw Kardach, Konstantin Ananyev Cc: david.marchand, juraj.linkes, fengchengwen, jerinj, nd, Ruifeng Wang > > By default, ccache is not used for cross build[1]. > > Update all cross files to use ccache if it is available in build machine. > > > > Also, updated devtools/test-meson-builds.sh script to find the correct > > DPDK_TARGET due to change in cross file syntax. > > > > [1] > > https://mesonbuild.com/Machine-files.html > > > > Signed-off-by: Jerin Jacob <jerinj@marvell.com> > > --- > > > > Verified that cross-build works fine with/without ccache. > Acked-by: Ruifeng Wang <ruifeng.wang@arm.com> Applied with minor change, thanks. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [dpdk-dev] [PATCH v2] build: ccache support for cross build 2022-06-08 17:13 ` [dpdk-dev] [PATCH v2] " jerinj 2022-06-09 1:44 ` fengchengwen 2022-06-10 7:30 ` Ruifeng Wang @ 2022-06-14 16:01 ` Thomas Monjalon 2 siblings, 0 replies; 15+ messages in thread From: Thomas Monjalon @ 2022-06-14 16:01 UTC (permalink / raw) To: Jerin Jacob Cc: dev, Jan Viktorin, Ruifeng Wang, Bruce Richardson, David Christensen, Stanislaw Kardach, Konstantin Ananyev, david.marchand, juraj.linkes, fengchengwen 08/06/2022 19:13, jerinj@marvell.com: > --- a/devtools/test-meson-builds.sh > +++ b/devtools/test-meson-builds.sh > @@ -160,7 +160,8 @@ build () # <directory> <target cc | cross file> <ABI check> [meson options] > if [ -n "$crossfile" ] ; then > cross="--cross-file $crossfile" > targetcc=$(sed -n 's,^c[[:space:]]*=[[:space:]]*,,p' \ > - $crossfile | tr -d "'" | tr -d '"') > + $crossfile | cut -d ',' -f 2 | \ > + tr -d "'" | tr -d '"' | tr -d ']' | tr -d ' ') The last line can be shortened to tr -d "'"'"] ' I'll change while merging. ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2022-06-14 16:09 UTC | newest] Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-06-02 9:23 [dpdk-dev] [PATCH v1] build: ccache support for cross build jerinj 2022-06-02 9:41 ` Bruce Richardson 2022-06-02 9:43 ` Jerin Jacob 2022-06-02 10:55 ` Thomas Monjalon 2022-06-02 12:00 ` Jerin Jacob 2022-06-02 13:33 ` Bruce Richardson 2022-06-08 8:22 ` Jerin Jacob 2022-06-08 8:30 ` Thomas Monjalon 2022-06-08 17:16 ` Jerin Jacob 2022-06-08 18:30 ` Stanisław Kardach 2022-06-08 17:13 ` [dpdk-dev] [PATCH v2] " jerinj 2022-06-09 1:44 ` fengchengwen 2022-06-10 7:30 ` Ruifeng Wang 2022-06-14 16:09 ` Thomas Monjalon 2022-06-14 16:01 ` Thomas Monjalon
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).