build: support vendor specific ARM cross builds
authorPavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Mon, 22 Jan 2018 15:26:31 +0000 (20:56 +0530)
committerBruce Richardson <bruce.richardson@intel.com>
Tue, 30 Jan 2018 20:59:00 +0000 (21:59 +0100)
Add various vendor specific cross build targets.
This can be verified by using linaro toolchain and running

   meson build --cross-file config/arm/arm64_<cpu>_<platform>_<compiler>

In future more cross build targets can be added.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
config/arm/arm64_armv8_linuxapp_gcc [new file with mode: 0644]
config/arm/arm64_thunderx_linuxapp_gcc [new file with mode: 0644]
doc/build-sdk-meson.txt

diff --git a/config/arm/arm64_armv8_linuxapp_gcc b/config/arm/arm64_armv8_linuxapp_gcc
new file mode 100644 (file)
index 0000000..3b4d3c4
--- /dev/null
@@ -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 (file)
index 0000000..7ff34af
--- /dev/null
@@ -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'
index b5573f7..9618e75 100644 (file)
@@ -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 <target_machine_configuration>
+
+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
 -------------------------------------