[dpdk-dev] [PATCH v2] build: add support for vendor specific ARM cross builds

Pavan Nikhilesh pbhagavatula at caviumnetworks.com
Mon Jan 22 14:14:50 CET 2018


Add various vendor specific cross build targets.
This can be verified by using linaro toolchain and running

	meson build --cross-file config/arm/arch64_armv8_<cpu>_cross

In future more cross build targets can be added.

Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
---

 v2 Changes:
 - rename cross file names.
 - redo machine args selection logic.

 config/arm/arm64_armv8_linuxapp_gcc    | 10 ++++++++++
 config/arm/arm64_thunderx_linuxapp_gcc | 13 +++++++++++++
 config/arm/meson.build                 |  3 +++
 3 files changed, 26 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 000000000..3b4d3c469
--- /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 000000000..7ff34af74
--- /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/config/arm/meson.build b/config/arm/meson.build
index 212b94499..a5bfb9610 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -59,6 +59,9 @@ else
 		endif
 		# Set to generic if variable is not found
 		machine = get_variable('impl_' + cmd_output[0], 'generic')
+	else
+		impl_id = meson.get_cross_property('implementor_id', 'generic')
+		machine = get_variable('impl_' + impl_id)
 	endif

 	if machine == 'generic'
--
2.16.0



More information about the dev mailing list