ocaml: adds an argument to enable flambda

authored by Vincent Laporte and committed by Vincent Laporte efcb3923 76c146c9

+10 -4
+10 -4
pkgs/development/compilers/ocaml/generic.nix
··· 10 10 safeX11 = stdenv: !(stdenv.isArm || stdenv.isMips); 11 11 in 12 12 13 - { stdenv, fetchurl, ncurses, buildEnv, libX11, xproto, useX11 ? safeX11 stdenv }: 13 + { stdenv, fetchurl, ncurses, buildEnv 14 + , libX11, xproto, useX11 ? safeX11 stdenv 15 + , flambdaSupport ? false 16 + }: 14 17 15 18 assert useX11 -> !stdenv.isArm && !stdenv.isMips; 19 + assert flambdaSupport -> stdenv.lib.versionAtLeast version "4.03"; 16 20 17 21 let 18 22 useNativeCompilers = !stdenv.isMips; 19 - inherit (stdenv.lib) optionals optionalString; 20 - name = "ocaml-${version}"; 23 + inherit (stdenv.lib) optional optionals optionalString; 24 + name = "ocaml${optionalString flambdaSupport "+flambda"}-${version}"; 21 25 in 22 26 23 27 stdenv.mkDerivation (args // rec { ··· 36 40 37 41 prefixKey = "-prefix "; 38 42 configureFlags = optionals useX11 [ "-x11lib" x11lib 39 - "-x11include" x11inc ]; 43 + "-x11include" x11inc ] 44 + ++ optional flambdaSupport "-flambda" 45 + ; 40 46 41 47 buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt"; 42 48 buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ];