summary refs log tree commit diff
path: root/pkgs/os-specific/linux/dpdk/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/dpdk/default.nix')
-rw-r--r--pkgs/os-specific/linux/dpdk/default.nix11
1 files changed, 8 insertions, 3 deletions
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix
index 78b11c7b18f1..b4c4af8c2e21 100644
--- a/pkgs/os-specific/linux/dpdk/default.nix
+++ b/pkgs/os-specific/linux/dpdk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, kernel, fetchurl, pkgconfig, numactl }:
+{ stdenv, lib, kernel, fetchurl, pkgconfig, numactl, shared ? false }:
 
 let
 
@@ -25,9 +25,14 @@ in stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = [ "-msse3" ];
   hardeningDisable = [ "pic" ];
 
-  postPatch = lib.optionalString (!mod) ''
-    # Do not build kernel modules.
+  postPatch = ''
     cat >>config/defconfig_$RTE_TARGET <<EOF
+# Build static or shared libraries.
+CONFIG_RTE_BUILD_SHARED_LIB=${if shared then "y" else "n"}
+EOF
+  '' + lib.optionalString (!mod) ''
+    cat >>config/defconfig_$RTE_TARGET <<EOF
+# Do not build kernel modules.
 CONFIG_RTE_EAL_IGB_UIO=n
 CONFIG_RTE_KNI_KMOD=n
 EOF