From: Luca Boccassi Date: Thu, 3 Aug 2017 15:50:07 +0000 (+0100) Subject: Use arch-dependent include directory in DKMS confs X-Git-Url: https://gerrit.fd.io/r/gitweb?p=deb_dpdk.git;a=commitdiff_plain;h=ea1a9bc7d8af4e18b7615923c70d0be06764c311 Use arch-dependent include directory in DKMS confs Generate them at build time to substitute the right directory per architecture to fix the build. Change-Id: Ib6ba0820a27a4cc38d5e11dc94d35f1adece1453 Signed-off-by: Luca Boccassi --- diff --git a/debian/dpdk-igb-uio-dkms.dkms b/debian/dpdk-igb-uio-dkms.dkms.in similarity index 59% rename from debian/dpdk-igb-uio-dkms.dkms rename to debian/dpdk-igb-uio-dkms.dkms.in index 5141ff61..29ce2425 100644 --- a/debian/dpdk-igb-uio-dkms.dkms +++ b/debian/dpdk-igb-uio-dkms.dkms.in @@ -1,7 +1,7 @@ PACKAGE_NAME="dpdk-igb-uio" PACKAGE_VERSION="#MODULE_VERSION#" BUILT_MODULE_NAME[0]="igb_uio" -MAKE="source /usr/share/dpdk/dpdk-sdk-env.sh; make MODULE_CFLAGS='-I/usr/include/dpdk -include /usr/include/dpdk/rte_config.h -fno-PIE' RTE_KERNELDIR=/lib/modules/${kernelver}/build" +MAKE="source /usr/share/dpdk/dpdk-sdk-env.sh; make MODULE_CFLAGS='-I/usr/include/@@DEB_HOST_MULTIARCH@@/dpdk -include /usr/include/@@DEB_HOST_MULTIARCH@@/dpdk/rte_config.h -I/usr/include/dpdk -fno-PIE' RTE_KERNELDIR=/lib/modules/${kernelver}/build" CLEAN="source /usr/share/dpdk/dpdk-sdk-env.sh; make clean" DEST_MODULE_LOCATION[0]="/updates/dkms" AUTOINSTALL="YES" diff --git a/debian/dpdk-rte-kni-dkms.dkms b/debian/dpdk-rte-kni-dkms.dkms deleted file mode 100644 index 26de0ee3..00000000 --- a/debian/dpdk-rte-kni-dkms.dkms +++ /dev/null @@ -1,7 +0,0 @@ -PACKAGE_NAME="dpdk-rte-kni" -PACKAGE_VERSION="#MODULE_VERSION#" -BUILT_MODULE_NAME[0]="rte_kni" -MAKE="source /usr/share/dpdk/dpdk-sdk-env.sh; make MODULE_CFLAGS='-I/usr/include/dpdk -include /usr/include/dpdk/rte_config.h -I$source_tree/dpdk-rte-kni-#MODULE_VERSION#/ethtool/ixgbe -I$source_tree/dpdk-rte-kni-#MODULE_VERSION#/ethtool/igb -fno-PIE' RTE_KERNELDIR=/lib/modules/${kernelver}/build" -CLEAN="source /usr/share/dpdk/dpdk-sdk-env.sh; make clean" -DEST_MODULE_LOCATION[0]="/updates/dkms" -AUTOINSTALL="YES" diff --git a/debian/dpdk-rte-kni-dkms.dkms.in b/debian/dpdk-rte-kni-dkms.dkms.in new file mode 100644 index 00000000..24d7a61f --- /dev/null +++ b/debian/dpdk-rte-kni-dkms.dkms.in @@ -0,0 +1,7 @@ +PACKAGE_NAME="dpdk-rte-kni" +PACKAGE_VERSION="#MODULE_VERSION#" +BUILT_MODULE_NAME[0]="rte_kni" +MAKE="source /usr/share/dpdk/dpdk-sdk-env.sh; make MODULE_CFLAGS='-I/usr/include/@@DEB_HOST_MULTIARCH@@/dpdk -include /usr/include/@@DEB_HOST_MULTIARCH@@/dpdk/rte_config.h -I/usr/include/dpdk -I$source_tree/dpdk-rte-kni-#MODULE_VERSION#/ethtool/ixgbe -I$source_tree/dpdk-rte-kni-#MODULE_VERSION#/ethtool/igb -fno-PIE' RTE_KERNELDIR=/lib/modules/${kernelver}/build" +CLEAN="source /usr/share/dpdk/dpdk-sdk-env.sh; make clean" +DEST_MODULE_LOCATION[0]="/updates/dkms" +AUTOINSTALL="YES" diff --git a/debian/rules b/debian/rules index 25d77e08..b1357b24 100755 --- a/debian/rules +++ b/debian/rules @@ -166,6 +166,7 @@ override_dh_auto_clean: debian/control.modules debian/VERSION sed -i '/Package: dpdk-modules-/,/`tail -n1 debian/control.modules.in`/d' debian/control test -L config/defconfig_$(DPDK_CONFIG) && rm -f config/defconfig_$(DPDK_CONFIG) || true + rm -f debian/dpdk-igb-uio-dkms.dkms debian/dpdk-rte-kni-dkms.dkms override_dh_auto_configure: # Add support for a custom defconfig file in the debian directory. @@ -283,6 +284,9 @@ ifeq (x86_64-linux-gnu,$(DEB_HOST_MULTIARCH)) ln -rs debian/libdpdk-dev/usr/include/$(DEB_HOST_MULTIARCH)/dpdk/*.h \ debian/libdpdk-dev/usr/include/dpdk endif + # have the DKMS build include the correct per-arch directory + sed "s/@@DEB_HOST_MULTIARCH@@/$(DEB_HOST_MULTIARCH)/g" debian/dpdk-igb-uio-dkms.dkms.in > debian/dpdk-igb-uio-dkms.dkms + sed "s/@@DEB_HOST_MULTIARCH@@/$(DEB_HOST_MULTIARCH)/g" debian/dpdk-rte-kni-dkms.dkms.in > debian/dpdk-rte-kni-dkms.dkms # all static libs are in the dev package ifeq (y,$(BUILD_STATIC_LIB)) mv debian/dpdk/$(LIBDIR)/lib*.a debian/libdpdk-dev/$(LIBDIR)/