utilize RTE_EAL_PMD_PATH
[deb_dpdk.git] / debian / rules
index 064ffc3..e468492 100755 (executable)
@@ -129,6 +129,7 @@ ifeq (,$(filter dpdk_config=%,$(DEB_BUILD_OPTIONS)))
                -e 's,(CONFIG_RTE_KNI_KMOD=).*,\1$(DPDK_CONFIG_BUILD_KMOD),' \
                -e 's,(LIBRTE_PMD_PCAP=).*,\1y,' \
                -e 's,(LIBRTE_PMD_XENVIRT=).*,\1y,' \
+               -e 's,(CONFIG_RTE_EAL_PMD_PATH=).*,\1"/usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)/dpdk-pmds/",' \
                $(DPDK_STATIC_DIR)/.config
        # xen not available on ppc64el
 ifneq (,$(filter $(DEB_HOST_ARCH), ppc64el))
@@ -206,9 +207,16 @@ override_dh_auto_install-arch:
          else \
            PKG=$${LN}$${VER}; \
          fi; \
+         LIBF="$$(basename $${lib})"; \
+         LIBD="debian/$${PKG}/$(LIBDIR)"; \
          echo "moving $${lib} for library $${PKG}"; \
-         mkdir -p debian/$${PKG}/$(LIBDIR); \
-         mv $${lib} debian/$${PKG}/$(LIBDIR); \
+         mkdir -p $${LIBD}; \
+         mv $${lib} $${LIBD}; \
+         if [ "$${LIBF#librte_pmd_}x" != "$${LIBF}x" ]; then \
+           mkdir -p $${LIBD}/dpdk-pmds; \
+           echo "PMD: linking $${LIBF} into RTE_EAL_PMD_PATH at $${LIBD}/dpdk-pmds/"; \
+           ln -s --relative --target-directory=$${LIBD}/dpdk-pmds/ $${LIBD}/$${LIBF}; \
+         fi; \
        done
        # pkg-config
        mkdir -p debian/libdpdk-dev/$(LIBDIR)/pkgconfig