]> git.droids-corp.org - dpdk.git/commitdiff
build: add ccache for cross compilation
authorJerin Jacob <jerinj@marvell.com>
Wed, 8 Jun 2022 17:13:04 +0000 (22:43 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 14 Jun 2022 16:05:35 +0000 (18:05 +0200)
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>
Acked-by: Stanislaw Kardach <kda@semihalf.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
Acked-by: Ruifeng Wang <ruifeng.wang@arm.com>
25 files changed:
config/arm/arm32_armv8_linux_gcc
config/arm/arm64_armada_linux_gcc
config/arm/arm64_armv8_linux_clang_ubuntu
config/arm/arm64_armv8_linux_gcc
config/arm/arm64_bluefield_linux_gcc
config/arm/arm64_centriq2400_linux_gcc
config/arm/arm64_cn10k_linux_gcc
config/arm/arm64_cn9k_linux_gcc
config/arm/arm64_dpaa_linux_gcc
config/arm/arm64_emag_linux_gcc
config/arm/arm64_graviton2_linux_gcc
config/arm/arm64_kunpeng920_linux_gcc
config/arm/arm64_kunpeng930_linux_gcc
config/arm/arm64_n1sdp_linux_gcc
config/arm/arm64_n2_linux_gcc
config/arm/arm64_stingray_linux_gcc
config/arm/arm64_thunderx2_linux_gcc
config/arm/arm64_thunderxt83_linux_gcc
config/arm/arm64_thunderxt88_linux_gcc
config/ppc/ppc64le-power8-linux-gcc
config/ppc/ppc64le-power8-linux-gcc-ubuntu
config/riscv/riscv64_linux_gcc
config/riscv/riscv64_sifive_u740_linux_gcc
config/x86/cross-mingw
devtools/test-meson-builds.sh

index 89f8a12881a20854fea41c4676bf922ccb97871a..7f2977e49da3a1d618b852e8ba1964318975227a 100644 (file)
@@ -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'
index 301418949b00206b94d74aea86ba9ed343fde63a..1566999101e580ac3337a57fee73ff05cc0234ac 100644 (file)
@@ -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'
index db488d75f46b72a6fedb14aaa3b5a54a6a197bea..86ae43937b71585169d62dca0e1d33e2a39133d2 100644 (file)
@@ -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'
index 5391d353890ea54c61cde6160c87846374ccbdf4..048c2d9f29971d2577c4cf0d96df085aa49cc8ca 100644 (file)
@@ -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'
index 248a9f031a8f25116a719e355bec04d3d110d09a..38df3c198bd1f9e9f81068c4f74ae69d7b0bcbb0 100644 (file)
@@ -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'
index dfe911033196468e6c9bb21de0ca78e174ae2446..0966eef2c520a2212315e1664a1572a6c51942d6 100644 (file)
@@ -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'
index a3578c03a1b8cf154d77aa77290b21c62d6754d8..201e0ccd59790ff8a2b4d5bec4dd40ccd24167dc 100644 (file)
@@ -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'
index a94b44a551dd7afc0009ae07df0afff41a81e9f8..a9b4d51958e34e499da3dd594ac634932141b554 100644 (file)
@@ -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'
index e9d5fd31fc229d7f84252884551d3ff3da5238a9..0d5761bd72a64c8d0f67affe0b0942108294f291 100644 (file)
@@ -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'
index 9cdd931180b3dce3be91d6a9ccbe9278826d9afa..16ec49fc3270091c6930fd34477762df3a0e42ee 100644 (file)
@@ -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'
index 8016fd236c65fb8469854975b1d358ec9f03a801..094c540f50e4a1d04f4d2078867d177b7a9ca5cb 100644 (file)
@@ -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'
index c4685b2458103570883b626145a0fbc517ec658d..fc057c9063e9f8deec36de00bfaee025b8836ebb 100644 (file)
@@ -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'
index fb85d2d710867864a411e6de78a42629d0547df3..5f43941faee58e290a9f17ac81afdde70398a740 100644 (file)
@@ -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'
index 0df283e2f48d709e2cf923dfdf2b8155bf2a498a..fc123ab53fde3f8da1bb11826e6e58f2bbf43fe2 100644 (file)
@@ -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'
index 036aee2b0a6682beb28b8020e369b37833ecfa8e..930bd5c236105a68e4c6f569d34893fd470c2960 100644 (file)
@@ -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'
index 319a4a151dded94c570f71e48b091a3aa66f11dc..5dfcd974fd6f75968aa5d6dff49ae6e813ba1f80 100644 (file)
@@ -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'
index 69c71cbc829ca881b6f67881c1e2c9abc8edab88..c1f5995d9343173fd362c8da83e374e14a968f3d 100644 (file)
@@ -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'
index 47102c900bd25fde0cfcdb09f9b122d676dc072d..52746e2e59731100319c2e0cdf097e593cc79078 100644 (file)
@@ -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'
index 372097ba016d2fc731e687c55ff3eb7fe0638151..fed7eb791e480869a79990e0fae2cf337be96da9 100644 (file)
@@ -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'
index 51f7ceebf3309bbf5399a91f636060d1303d80c9..465044e4277fcb5026110d3b2bdaa9c53bfeaa24 100644 (file)
@@ -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'
 
index 803c612cbcbe431234ca0ba24edfbbd75030a968..44d7e0100a3af4a8173566cb3b0361eafcf75ea7 100644 (file)
@@ -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'
 
index ed4d3ce7fbe629f6ef757f83921d6cb333df5689..5e58781193dd42c4e677a6889468e74322113aba 100644 (file)
@@ -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 = ''
index 3d1905c43476f4fb2312b99bf96cddbd92c5a4e2..58d2c92f8c09bbed69dcc18de6fb56e72e4b527d 100644 (file)
@@ -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 = ''
index 09f7af09283419fa4250d8ec8ed0829bd6b19a02..cddebda5b5e64a6ebd81b5ae6500de13e8c541f8 100644 (file)
@@ -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'
index 2cdc2d813d87b1ed8c089a4b35fcbc2b4fa1fcbb..04a85fe9872f9947a04bb1b2614c5130ef43958e 100755 (executable)
@@ -160,7 +160,7 @@ 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 "'"'"] ')
        else
                cross=
        fi