From: Jason Gunthorpe <jgg@xxxxxxxxxxxx> Now that we have bionic this is fairly simple to get a cross compile environment, use the same approach as for ARM64. Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx> --- buildlib/azure-pipelines.yml | 8 ++++++++ buildlib/cbuild | 16 +++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/buildlib/azure-pipelines.yml b/buildlib/azure-pipelines.yml index f6f71ac0adfa42..1d4e1f317bbe0f 100644 --- a/buildlib/azure-pipelines.yml +++ b/buildlib/azure-pipelines.yml @@ -90,6 +90,14 @@ stages: ninja displayName: gcc 8.3 ARM64 Compile + - bash: | + set -e + mkdir build-ppc64el + cd build-ppc64el + CC=powerpc64le-linux-gnu-gcc-8 CFLAGS="-Werror" cmake -GNinja .. -DIOCTL_MODE=both -DNO_PYVERBS=1 + ninja + displayName: gcc 8.3 PPC64EL Compile + # When running cmake through debian/rules it is hard to set -Werror, # instead force it on by changing the CMakeLists.txt - bash: | diff --git a/buildlib/cbuild b/buildlib/cbuild index 0be5d498bc1ae8..6e9a9cec9cd6cd 100755 --- a/buildlib/cbuild +++ b/buildlib/cbuild @@ -457,6 +457,15 @@ class azure_pipelines(bionic): "libnl-route-3-dev:arm64", "libsystemd-dev:arm64", "libudev-dev:arm64", + } | { + # PPC 64 cross compiler + "gcc-8-powerpc64le-linux-gnu", + "libgcc-8-dev:ppc64el", + "libc6-dev:ppc64el", + "libnl-3-dev:ppc64el", + "libnl-route-3-dev:ppc64el", + "libsystemd-dev:ppc64el", + "libudev-dev:ppc64el", } to_azp = True; name = "azure_pipelines"; @@ -471,12 +480,13 @@ class azure_pipelines(bionic): "deb [arch=amd64] http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main", "15CF4D18AF4F7421"); self.add_source_list(tmpdir,"arm64.list", - """deb [arch=arm64] http://ports.ubuntu.com/ bionic main universe -deb [arch=arm64] http://ports.ubuntu.com/ bionic-security main universe -deb [arch=arm64] http://ports.ubuntu.com/ bionic-updates main universe"""); + """deb [arch=arm64,ppc64el] http://ports.ubuntu.com/ bionic main universe +deb [arch=arm64,ppc64el] http://ports.ubuntu.com/ bionic-security main universe +deb [arch=arm64,ppc64el] http://ports.ubuntu.com/ bionic-updates main universe"""); res.lines.insert(1,"ADD etc/ /etc/"); res.lines.insert(1,"RUN dpkg --add-architecture i386 &&" + "dpkg --add-architecture ppc64el &&" "dpkg --add-architecture arm64 &&" "sed -i -e 's/^deb /deb [arch=amd64,i386] /g' /etc/apt/sources.list"); return res; -- 2.22.0