diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-06-04 10:19:13 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-06-04 22:45:31 +0000 |
commit | da8562f302a145605a3270114ea7063daa82a173 (patch) | |
tree | b27c6d509bad0ee5449f1fcf261a7ec3210df495 /nixpkgs/pkgs/build-support/cc-wrapper | |
parent | 17df60ef482ef52b2088e1913de9cd436320612a (diff) | |
parent | 467ce5a9f45aaf96110b41eb863a56866e1c2c3c (diff) | |
download | nixlib-da8562f302a145605a3270114ea7063daa82a173.tar nixlib-da8562f302a145605a3270114ea7063daa82a173.tar.gz nixlib-da8562f302a145605a3270114ea7063daa82a173.tar.bz2 nixlib-da8562f302a145605a3270114ea7063daa82a173.tar.lz nixlib-da8562f302a145605a3270114ea7063daa82a173.tar.xz nixlib-da8562f302a145605a3270114ea7063daa82a173.tar.zst nixlib-da8562f302a145605a3270114ea7063daa82a173.zip |
Merge commit '467ce5a9f45aaf96110b41eb863a56866e1c2c3c'
Diffstat (limited to 'nixpkgs/pkgs/build-support/cc-wrapper')
-rw-r--r-- | nixpkgs/pkgs/build-support/cc-wrapper/default.nix | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/nixpkgs/pkgs/build-support/cc-wrapper/default.nix b/nixpkgs/pkgs/build-support/cc-wrapper/default.nix index 1b7c5750727a..36177ec2e358 100644 --- a/nixpkgs/pkgs/build-support/cc-wrapper/default.nix +++ b/nixpkgs/pkgs/build-support/cc-wrapper/default.nix @@ -8,6 +8,7 @@ { name ? "" , stdenvNoCC , cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell +, zlib ? null , nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" , propagateDoc ? cc != null && cc ? man , extraTools ? [], extraPackages ? [], extraBuildCommands ? "" @@ -205,6 +206,10 @@ stdenv.mkDerivation { wrap ${targetPrefix}gnatlink ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatlink '' + + optionalString cc.langD or false '' + wrap ${targetPrefix}gdc $wrapper $ccPath/${targetPrefix}gdc + '' + + optionalString cc.langFortran or false '' wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77 @@ -220,7 +225,7 @@ stdenv.mkDerivation { ''; strictDeps = true; - propagatedBuildInputs = [ bintools ] ++ extraTools; + propagatedBuildInputs = [ bintools ] ++ extraTools ++ optionals cc.langD or false [ zlib ]; depsTargetTargetPropagated = extraPackages; wrapperName = "CC_WRAPPER"; @@ -262,8 +267,9 @@ stdenv.mkDerivation { # limits.h file in ../includes-fixed. To remedy the problem, # another -idirafter is necessary to add that directory again. echo "-B${libc_lib}${libc.libdir or "/lib/"}" >> $out/nix-support/libc-cflags + '' + optionalString (!(cc.langD or false)) '' echo "-idirafter ${libc_dev}${libc.incdir or "/include"}" >> $out/nix-support/libc-cflags - '' + optionalString isGNU '' + '' + optionalString (isGNU && (!(cc.langD or false))) '' for dir in "${cc}"/lib/gcc/*/*/include-fixed; do echo '-idirafter' ''${dir} >> $out/nix-support/libc-cflags done @@ -307,6 +313,8 @@ stdenv.mkDerivation { ln -s ${cc.man} $man ln -s ${cc.info} $info + '' + optionalString (cc.langD or false) '' + echo "-B${zlib}${zlib.libdir or "/lib/"}" >> $out/nix-support/libc-cflags '' + '' @@ -366,9 +374,9 @@ stdenv.mkDerivation { hardening_unsupported_flags+=" stackprotector fortify" '' + optionalString cc.langAda or false '' hardening_unsupported_flags+=" stackprotector strictoverflow" - '' - - + optionalString targetPlatform.isWasm '' + '' + optionalString cc.langD or false '' + hardening_unsupported_flags+=" format" + '' + optionalString targetPlatform.isWasm '' hardening_unsupported_flags+=" stackprotector fortify pie pic" '' |