Skip to content

Commit

Permalink
dpdk: predefined instruction set, build in parallel, use external deps
Browse files Browse the repository at this point in the history
  • Loading branch information
domenkozar committed May 19, 2016
1 parent 9c0ed7f commit c4622d5
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions pkgs/os-specific/linux/dpdk/default.nix
@@ -1,4 +1,4 @@
{ stdenv, lib, kernel, fetchurl }:
{ stdenv, lib, kernel, fetchurl, libvirt }:

assert lib.versionAtLeast kernel.version "3.18";

Expand All @@ -11,16 +11,25 @@ stdenv.mkDerivation rec {
sha256 = "0yrz3nnhv65v2jzz726bjswkn8ffqc1sr699qypc9m78qrdljcfn";
};

buildInputs = [ libvirt ];

RTE_KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
RTE_TARGET = "x86_64-native-linuxapp-gcc";

enableParallelBuilding = true;
outputs = [ "out" "examples" ];

# we need ssse3 instructions to build
NIX_CFLAGS_COMPILE = [ "-march=core2" ];

patchPhase = ''
sed -i 's/CONFIG_RTE_BUILD_COMBINE_LIBS=n/CONFIG_RTE_BUILD_COMBINE_LIBS=y/' config/common_linuxapp
'';

buildPhase = ''
make T=x86_64-native-linuxapp-gcc config
make T=x86_64-native-linuxapp-gcc install
make T=x86_64-native-linuxapp-gcc examples
make T=x86_64-native-linuxapp-gcc -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES config
make T=x86_64-native-linuxapp-gcc -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES install
make T=x86_64-native-linuxapp-gcc -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES examples
'';

installPhase = ''
Expand Down

0 comments on commit c4622d5

Please sign in to comment.