summary refs log tree commit diff
path: root/pkgs/os-specific/linux/dpdk/default.nix
diff options
context:
space:
mode:
authorOrivej Desh <orivej@gmx.fr>2018-05-21 02:32:18 +0000
committerOrivej Desh <orivej@gmx.fr>2018-05-21 02:32:18 +0000
commitf1a202396195009461bb59552bc90a03055c3ff0 (patch)
tree6ef4220c634e362e11e05f7de127a310374399aa /pkgs/os-specific/linux/dpdk/default.nix
parent66002a0e07ac9a05bd2ae518310797819bba29fd (diff)
downloadnixpkgs-f1a202396195009461bb59552bc90a03055c3ff0.tar
nixpkgs-f1a202396195009461bb59552bc90a03055c3ff0.tar.gz
nixpkgs-f1a202396195009461bb59552bc90a03055c3ff0.tar.bz2
nixpkgs-f1a202396195009461bb59552bc90a03055c3ff0.tar.lz
nixpkgs-f1a202396195009461bb59552bc90a03055c3ff0.tar.xz
nixpkgs-f1a202396195009461bb59552bc90a03055c3ff0.tar.zst
nixpkgs-f1a202396195009461bb59552bc90a03055c3ff0.zip
dpdk: support static/shared build mode switch
The default is false because upstream default is false (for performance).
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 78b11c7b18f..b4c4af8c2e2 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