From e53a5299d21936156710dbe69c913a4d6a6694ed Mon Sep 17 00:00:00 2001 From: Pavan Nikhilesh Date: Mon, 22 Jan 2018 20:56:31 +0530 Subject: [PATCH] build: support vendor specific ARM cross builds Add various vendor specific cross build targets. This can be verified by using linaro toolchain and running meson build --cross-file config/arm/arm64___ In future more cross build targets can be added. Signed-off-by: Pavan Nikhilesh Acked-by: Jerin Jacob --- config/arm/arm64_armv8_linuxapp_gcc | 10 ++++++++++ config/arm/arm64_thunderx_linuxapp_gcc | 13 +++++++++++++ doc/build-sdk-meson.txt | 27 ++++++++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 config/arm/arm64_armv8_linuxapp_gcc create mode 100644 config/arm/arm64_thunderx_linuxapp_gcc diff --git a/config/arm/arm64_armv8_linuxapp_gcc b/config/arm/arm64_armv8_linuxapp_gcc new file mode 100644 index 0000000000..3b4d3c4697 --- /dev/null +++ b/config/arm/arm64_armv8_linuxapp_gcc @@ -0,0 +1,10 @@ +[binaries] +c = 'aarch64-linux-gnu-gcc' +cpp = 'aarch64-linux-gnu-cpp' +ar = 'aarch64-linux-gnu-gcc-ar' + +[host_machine] +system = 'linux' +cpu_family = 'aarch64' +cpu = 'armv8-a' +endian = 'little' diff --git a/config/arm/arm64_thunderx_linuxapp_gcc b/config/arm/arm64_thunderx_linuxapp_gcc new file mode 100644 index 0000000000..7ff34af74f --- /dev/null +++ b/config/arm/arm64_thunderx_linuxapp_gcc @@ -0,0 +1,13 @@ +[binaries] +c = 'aarch64-linux-gnu-gcc' +cpp = 'aarch64-linux-gnu-cpp' +ar = 'aarch64-linux-gnu-gcc-ar' + +[host_machine] +system = 'linux' +cpu_family = 'aarch64' +cpu = 'armv8-a' +endian = 'little' + +[properties] +implementor_id = '0x43' diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt index b5573f7a7d..9618e759ea 100644 --- a/doc/build-sdk-meson.txt +++ b/doc/build-sdk-meson.txt @@ -150,6 +150,33 @@ driver install path, so dynamically-linked applications can be run without having to pass in ``-d /path/to/driver`` options for standard drivers. +Cross Compiling DPDK +-------------------- + +To cross-compile DPDK on a desired target machine we can use the following +command:: + + meson cross-build --cross-file + +For example if the target machine is arm64 we can use the following +command:: + meson arm-build --cross-file config/arm/arm64_armv8_linuxapp_gcc + +where config/arm/arm64_armv8_linuxapp_gcc contains the following +parameters:: + + [binaries] + c = 'aarch64-linux-gnu-gcc' + cpp = 'aarch64-linux-gnu-cpp' + ar = 'aarch64-linux-gnu-ar' + + [host_machine] + system = 'linux' + cpu_family = 'aarch64' + cpu = 'armv8-a' + endian = 'little' + + Using the DPDK within an Application ------------------------------------- -- 2.20.1