]> www.infradead.org Git - users/sagi/libnvme.git/commitdiff
build: Add s390x cross build target
authorDaniel Wagner <dwagner@suse.de>
Wed, 16 Nov 2022 17:24:05 +0000 (18:24 +0100)
committerDaniel Wagner <dwagner@suse.de>
Wed, 16 Nov 2022 18:01:10 +0000 (19:01 +0100)
Add s390x arch to the cross builds so that we have a big endian
target.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
.github/cross/ubuntu-s390x.txt [new file with mode: 0644]
.github/workflows/meson.yml

diff --git a/.github/cross/ubuntu-s390x.txt b/.github/cross/ubuntu-s390x.txt
new file mode 100644 (file)
index 0000000..51a3511
--- /dev/null
@@ -0,0 +1,18 @@
+[binaries]
+c = '/usr/bin/s390x-linux-gnu-gcc'
+ar = '/usr/s390x-linux-gnu/bin/ar'
+strip = '/usr/s390x-linux-gnu/bin/strip'
+pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config'
+ld = '/usr/bin/s390x-linux-gnu-ld'
+exe_wrapper = '/usr/bin/qemu-s390x-static'
+
+[properties]
+root = '/usr/s390x-linux-gnu'
+has_function_printf = true
+skip_sanity_check = true
+
+[host_machine]
+system = 'linux'
+cpu_family = 's390x'
+cpu = ''
+endian = 'big'
index dd70de81c4bcb81b5d247cd582a6483b80218ec2..ba2b09a976580af4066636b31cdbba7fcb0b91e4 100644 (file)
@@ -90,6 +90,36 @@ jobs:
           name: Linux_Meson_Testlog
           path: build/meson-logs/testlog.txt
 
+  build-cross-s390x:
+    runs-on: ubuntu-latest
+    steps:
+      - name: set up s390x architecture
+        run: |
+          export release=$(lsb_release -c -s)
+          sudo dpkg --add-architecture s390x
+          sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
+          sudo dd of=/etc/apt/sources.list.d/s390x.list <<EOF
+          deb [arch=s390x] http://ports.ubuntu.com/ $release main universe restricted"
+          deb [arch=s390x] http://ports.ubuntu.com/ $release-updates main universe restricted"
+          EOF
+          sudo apt update
+      - name: install s390x compiler
+        run: sudo apt install gcc-s390x-linux-gnu pkg-config qemu-user-static
+      - name: install libraries
+        run: sudo apt install libjson-c-dev:s390x
+      - uses: actions/checkout@v3
+      - uses: BSFishy/meson-build@v1.0.3
+        with:
+          # suppress python for now; the python headers currently assume native
+          setup-options: --werror --cross-file=.github/cross/ubuntu-s390x.txt --wrap-mode=nofallback -Dpython=false
+          options: --verbose
+          action: test
+      - uses: actions/upload-artifact@v3
+        if: failure()
+        with:
+          name: Linux_Meson_Testlog
+          path: build/meson-logs/testlog.txt
+
   build-fallback:
     runs-on: ubuntu-latest
     steps: