aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Ehrhardt <christian.ehrhardt@canonical.com>2016-09-12 11:53:51 +0200
committerChristian Ehrhardt <christian.ehrhardt@canonical.com>2016-09-12 11:58:27 +0200
commite23cec6cdc0e170cfe9ee0fa10b07b5f1476622c (patch)
tree3f117daeb332d897a44ee4b34a898357ac2d1256
parent41383c91c3b352681dc97aa6c1ad48caaaf23ecb (diff)
build: enable powerpc
Enable ppc64el to build supported packages on that architecture as well. xen dependencies are not available on ppc64el, so disable xen pmd in that case. powerpc currently has several libraries and pmds disabled in its default dpdk config. That defines the range of expected-to-work packages. Follow that and remove ppc64el architecture on those libs and pmds as packages. Change-Id: I7f18962ad9e021c42e80739ddd569db4ecfe65dc Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> Change-Id: Ic0bb0741f4027dd4ed371e3228aa770fb3b698f9 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
-rw-r--r--debian/control100
-rwxr-xr-xdebian/rules10
2 files changed, 60 insertions, 50 deletions
diff --git a/debian/control b/debian/control
index e77cece0..b2a38e4d 100644
--- a/debian/control
+++ b/debian/control
@@ -10,8 +10,8 @@ Build-Depends: debhelper (>= 9),
inkscape,
libcap-dev,
libpcap-dev,
- libxen-dev,
- libxenstore3.0,
+ libxen-dev [amd64 arm64 i386],
+ libxenstore3.0 [amd64 arm64 i386],
python,
python-sphinx,
python-sphinx-rtd-theme,
@@ -25,7 +25,7 @@ Vcs-Browser: https://gerrit.fd.io/r/gitweb?p=deb_dpdk.git
Package: dpdk
Section: admin
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Homepage: http://www.dpdk.org
Depends: libdpdk-dev (= ${binary:Version}),
lsb-base (>= 3.2-14),
@@ -41,7 +41,7 @@ Description: Data Plane Development Kit (runtime)
Package: dpdk-dev
Section: devel
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Homepage: http://www.dpdk.org
Depends: libdpdk-dev (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
Description: Data Plane Development Kit (development files)
@@ -63,7 +63,7 @@ Description: Data Plane Development Kit (documentation)
Package: dpdk-igb-uio-dkms
Section: kernel
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Depends: dkms,
dpdk-dev (= ${binary:Version}),
libdpdk-dev (= ${binary:Version}),
@@ -76,7 +76,7 @@ Description: Data Plane Development Kit (igb uio dkms)
Package: dpdk-rte-kni-dkms
Section: kernel
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Depends: dkms,
dpdk-dev (= ${binary:Version}),
libdpdk-dev (= ${binary:Version}),
@@ -89,14 +89,14 @@ Description: Data Plane Development Kit (rte kni dkms)
Package: libdpdk-dev
Section: libdevel
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Multi-Arch: same
Homepage: http://www.dpdk.org
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
libpcap-dev,
libethdev4 (= ${binary:Version}),
- librte-acl2 (= ${binary:Version}),
+ librte-acl2 (= ${binary:Version}) [amd64 arm64 i386],
librte-cfgfile2 (= ${binary:Version}),
librte-cmdline2 (= ${binary:Version}),
librte-cryptodev1 (= ${binary:Version}),
@@ -107,36 +107,36 @@ Depends: ${misc:Depends},
librte-jobstats1 (= ${binary:Version}),
librte-kni2 (= ${binary:Version}) [amd64 arm64],
librte-kvargs1 (= ${binary:Version}),
- librte-lpm2 (= ${binary:Version}),
+ librte-lpm2 (= ${binary:Version}) [amd64 arm64 i386],
librte-mbuf2 (= ${binary:Version}),
librte-mempool2 (= ${binary:Version}),
librte-meter1 (= ${binary:Version}),
librte-pdump1 (= ${binary:Version}),
- librte-pipeline3 (= ${binary:Version}),
+ librte-pipeline3 (= ${binary:Version}) [amd64 arm64 i386],
librte-pmd-af-packet1 (= ${binary:Version}),
librte-pmd-bnxt1 (= ${binary:Version}),
librte-pmd-bond1 (= ${binary:Version}),
librte-pmd-cxgbe1 (= ${binary:Version}),
librte-pmd-e1000-1 (= ${binary:Version}),
librte-pmd-ena1 (= ${binary:Version}),
- librte-pmd-enic1 (= ${binary:Version}),
+ librte-pmd-enic1 (= ${binary:Version}) [amd64 arm64 i386],
librte-pmd-fm10k1 (= ${binary:Version}) [amd64 i386],
librte-pmd-i40e1 (= ${binary:Version}) [amd64 i386],
- librte-pmd-ixgbe1 (= ${binary:Version}),
+ librte-pmd-ixgbe1 (= ${binary:Version}) [amd64 arm64 i386],
librte-pmd-null-crypto1 (= ${binary:Version}),
librte-pmd-null1 (= ${binary:Version}),
librte-pmd-pcap1 (= ${binary:Version}),
librte-pmd-ring2 (= ${binary:Version}),
librte-pmd-vhost1 (= ${binary:Version}),
- librte-pmd-virtio1 (= ${binary:Version}),
- librte-pmd-vmxnet3-uio1 (= ${binary:Version}),
- librte-pmd-xenvirt1 (= ${binary:Version}),
- librte-port3 (= ${binary:Version}),
+ librte-pmd-virtio1 (= ${binary:Version}) [amd64 arm64 i386],
+ librte-pmd-vmxnet3-uio1 (= ${binary:Version}) [amd64 arm64 i386],
+ librte-pmd-xenvirt1 (= ${binary:Version}) [amd64 arm64 i386],
+ librte-port3 (= ${binary:Version}) [amd64 arm64 i386],
librte-power1 (= ${binary:Version}),
librte-reorder1 (= ${binary:Version}),
librte-ring1 (= ${binary:Version}),
- librte-sched1 (= ${binary:Version}),
- librte-table2 (= ${binary:Version}),
+ librte-sched1 (= ${binary:Version}) [amd64 arm64 i386],
+ librte-table2 (= ${binary:Version}) [amd64 arm64 i386],
librte-timer1 (= ${binary:Version}),
librte-vhost3 (= ${binary:Version})
Description: Data Plane Development Kit (basic development files)
@@ -147,7 +147,7 @@ Description: Data Plane Development Kit (basic development files)
when running.
Package: libethdev4
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__ethdev_8h.html
@@ -173,7 +173,7 @@ Description: Data Plane Development Kit (librte-acl runtime library)
This package contains the runtime libraries for librte_acl
Package: librte-cfgfile2
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__cfgfile_8h.html
@@ -186,7 +186,7 @@ Description: Data Plane Development Kit (librte-cfgfile runtime library)
This package contains the runtime libraries for librte_cfgfile
Package: librte-cmdline2
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
@@ -198,7 +198,7 @@ Description: Data Plane Development Kit (librte-cmdline runtime library)
This package contains the runtime libraries for librte_cmdline
Package: librte-cryptodev1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__cryptodev_8h.html
@@ -211,7 +211,7 @@ Description: Data Plane Development Kit (librte-cryptodev runtime library)
This package contains the runtime libraries for librte_cryptodev
Package: librte-distributor1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__distributor_8h.html
@@ -224,7 +224,7 @@ Description: Data Plane Development Kit (librte-distributor runtime library)
This package contains the runtime libraries for librte_distributor
Package: librte-eal2
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__eal_8h.html
@@ -237,7 +237,7 @@ Description: Data Plane Development Kit (librte-eal runtime library)
This package contains the runtime libraries for librte_eal
Package: librte-hash2
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__hash_8h.html
@@ -250,7 +250,7 @@ Description: Data Plane Development Kit (librte-hash runtime library)
This package contains the runtime libraries for librte_hash
Package: librte-ip-frag1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__ip__frag_8h.html
@@ -263,7 +263,7 @@ Description: Data Plane Development Kit (librte-ip-frag runtime library)
This package contains the runtime libraries for librte_ip_frag
Package: librte-jobstats1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__jobstats_8h_source.html
@@ -276,7 +276,7 @@ Description: Data Plane Development Kit (librte-jobstats runtime library)
This package contains the runtime libraries for librte_jobstats
Package: librte-kni2
-Architecture: amd64 arm64
+Architecture: amd64 arm64 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__kni_8h.html
@@ -289,7 +289,7 @@ Description: Data Plane Development Kit (librte-kni runtime library)
This package contains the runtime libraries for librte_kni
Package: librte-kvargs1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__kvargs_8h.html
@@ -315,7 +315,7 @@ Description: Data Plane Development Kit (librte-lpm runtime library)
This package contains the runtime libraries for librte_lpm
Package: librte-mbuf2
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__mbuf_8h.html
@@ -328,7 +328,7 @@ Description: Data Plane Development Kit (librte-mbuf2 runtime library)
This package contains the runtime libraries for librte_mbuf
Package: librte-mempool2
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__mempool_8h.html
@@ -341,7 +341,7 @@ Description: Data Plane Development Kit (librte-mempool runtime library)
This package contains the runtime libraries for librte_mempool
Package: librte-meter1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__meter_8h.html
@@ -367,7 +367,7 @@ Description: Data Plane Development Kit (librte-pipeline runtime library)
This package contains the runtime libraries for librte_pipeline
Package: librte-pmd-af-packet1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/browse/dpdk/tree/drivers/net/af_packet
@@ -380,7 +380,7 @@ Description: Data Plane Development Kit (librte-pmd-af-packet runtime library)
This package contains the runtime libraries for librte_pmd_af_packet
Package: librte-pmd-bnxt1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
@@ -392,7 +392,7 @@ Description: Data Plane Development Kit (librte-pmd-bnxt runtime library)
This package contains the runtime libraries for librte_pmd_bnxt
Package: librte-pmd-bond1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.html
@@ -405,7 +405,7 @@ Description: Data Plane Development Kit (librte-pmd-bond runtime library)
This package contains the runtime libraries for librte_pmd_bond
Package: librte-pmd-cxgbe1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/guides/nics/cxgbe.html
@@ -418,7 +418,7 @@ Description: Data Plane Development Kit (librte-pmd-cxgbe runtime library)
This package contains the runtime libraries for librte_pmd_cxgbe
Package: librte-pmd-e1000-1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/guides/nics/e1000em.html
@@ -431,7 +431,7 @@ Description: Data Plane Development Kit (librte-pmd-e1000 runtime library)
This package contains the runtime libraries for librte_pmd_e1000
Package: librte-pmd-ena1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/guides/nics/ena.html
@@ -457,7 +457,7 @@ Description: Data Plane Development Kit (librte-pmd-enic runtime library)
This package contains the runtime libraries for librte_pmd_enic
Package: librte-pmd-fm10k1
-Architecture: amd64 i386
+Architecture: amd64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/guides/nics/fm10k.html
@@ -496,7 +496,7 @@ Description: Data Plane Development Kit (librte-pmd-ixgbe runtime library)
This package contains the runtime libraries for librte_pmd_ixgbe
Package: librte-pmd-null-crypto1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/guides/cryptodevs/null.html
@@ -509,7 +509,7 @@ Description: Data Plane Development Kit (librte-pmd-null-crypto runtime library)
This package contains the runtime libraries for librte_pmd_null_crypto
Package: librte-pmd-null1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/browse/dpdk/tree/drivers/net/null
@@ -522,7 +522,7 @@ Description: Data Plane Development Kit (librte-pmd-null runtime library)
This package contains the runtime libraries for librte_pmd_null
Package: librte-pmd-pcap1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/guides/nics/pcap_ring.html#libpcap-based-pmd
@@ -535,7 +535,7 @@ Description: Data Plane Development Kit (librte-pmd-pcap runtime library)
This package contains the runtime libraries for librte_pmd_pcap
Package: librte-pmd-ring2
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/guides/nics/pcap_ring.html#rings-based-pmd
@@ -548,7 +548,7 @@ Description: Data Plane Development Kit (librte-pmd-ring runtime library)
This package contains the runtime libraries for librte_pmd_ring
Package: librte-pmd-vhost1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/guides/nics/vhost.html
@@ -613,7 +613,7 @@ Description: Data Plane Development Kit (librte-port runtime library)
This package contains the runtime libraries for librte_port
Package: librte-power1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__power_8h.html
@@ -626,7 +626,7 @@ Description: Data Plane Development Kit (librte-power runtime library)
This package contains the runtime libraries for librte_power
Package: librte-reorder1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__reorder_8h.html
@@ -639,7 +639,7 @@ Description: Data Plane Development Kit (librte-reorder runtime library)
This package contains the runtime libraries for librte_reorder
Package: librte-ring1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__ring_8h.html
@@ -678,7 +678,7 @@ Description: Data Plane Development Kit (librte_table runtime library)
This package contains the runtime libraries for librte_table
Package: librte-timer1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__timer_8h.html
@@ -691,7 +691,7 @@ Description: Data Plane Development Kit (librte_timer runtime library)
This package contains the runtime libraries for librte_timer
Package: librte-vhost3
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Homepage: http://dpdk.org/doc/api/rte__virtio__net_8h.html
@@ -704,7 +704,7 @@ Description: Data Plane Development Kit (librte_vhost runtime library)
This package contains the runtime libraries for librte_vhost
Package: librte-pdump1
-Architecture: amd64 arm64 i386
+Architecture: amd64 arm64 i386 ppc64el
Section: libs
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
diff --git a/debian/rules b/debian/rules
index d4b09dfe..32673763 100755
--- a/debian/rules
+++ b/debian/rules
@@ -37,10 +37,16 @@ DPDK_CONFIG := "arm64-armv8a-linuxapp-gcc"
RTE_MACHINE := "armv8a"
RTE_TARGET := "arm64-armv8a-linuxapp-gcc"
else
+ifneq (,$(filter $(DEB_HOST_ARCH), ppc64el))
+DPDK_CONFIG := "ppc_64-power8-linuxapp-gcc"
+RTE_MACHINE := "power8"
+RTE_TARGET := "ppc_64-power8-linuxapp-gcc"
+else
DPDK_CONFIG := "$(DEB_HOST_GNU_CPU)-native-linuxapp-gcc"
RTE_MACHINE := "default"
RTE_TARGET := "$(DEB_HOST_GNU_CPU)-default-linuxapp-gcc"
endif
+endif
DPDK_STATIC_DIR = "debian/build/static-root"
DPDK_SHARED_DIR = "debian/build/shared-root"
@@ -106,6 +112,10 @@ override_dh_auto_configure:
-e 's,(LIBRTE_PMD_PCAP=).*,\1y,' \
-e 's,(LIBRTE_PMD_XENVIRT=).*,\1y,' \
$(DPDK_STATIC_DIR)/.config
+ # xen not available on ppc64el
+ifneq (,$(filter $(DEB_HOST_ARCH), ppc64el))
+ sed -ri -e 's,(LIBRTE_PMD_XENVIRT=).*,\1n,' $(DPDK_STATIC_DIR)/.config
+endif
dh_auto_configure
override_dh_auto_build-indep: