From b89f310c7a3347359e66a61a7366db1b70a8b2c3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 28 Jul 2010 13:03:11 +0000 Subject: pkgs/development/libraries/crypto++: fixed build impurity * Don't build with "-march=native", because the generated binaries won't work reliably on systems with a different CPU. Instead, "--march=i686" is used on x86, and "--march=nocona" an x86_64. Otherwise, "--march" remains unset. * Compile with -O3 instead of -O2. This code is performance-critical. * Don't build with '-g'. svn path=/nixpkgs/trunk/; revision=22785 --- pkgs/development/libraries/crypto++/default.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'pkgs/development/libraries/crypto++') diff --git a/pkgs/development/libraries/crypto++/default.nix b/pkgs/development/libraries/crypto++/default.nix index f1c5db1caf1..a609e43b775 100644 --- a/pkgs/development/libraries/crypto++/default.nix +++ b/pkgs/development/libraries/crypto++/default.nix @@ -24,6 +24,17 @@ stdenv.mkDerivation rec { sourceRoot="$PWD/${name}" ''; + cxxflags = if stdenv.isi686 then "-march=i686" else + if stdenv.isx86_64 then "-march=nocona" else + ""; + + configurePhase = '' + sed -i GNUmakefile \ + -e 's|-march=native|${cxxflags}|g' \ + -e 's|-mtune=native||g' \ + -e '/^CXXFLAGS =/s|-g -O2|-O3|' + ''; + # Deal with one of the crappiest build system around there. buildPhase = '' # These guys forgot a file or something. -- cgit 1.4.1