diff options
author | Stefan Frijters <sfrijters@gmail.com> | 2019-09-20 12:05:57 +0200 |
---|---|---|
committer | Stefan Frijters <sfrijters@gmail.com> | 2020-05-19 23:06:52 +0200 |
commit | fc9b93d2fc59dbd2bcf0777164db51c5dbf996f4 (patch) | |
tree | 2d4074b11e3448d410c4f54ab0707ede00a6477b /pkgs/build-support/cc-wrapper | |
parent | 2c37314aaf04283636a36abd52d4091edc817851 (diff) | |
download | nixlib-fc9b93d2fc59dbd2bcf0777164db51c5dbf996f4.tar nixlib-fc9b93d2fc59dbd2bcf0777164db51c5dbf996f4.tar.gz nixlib-fc9b93d2fc59dbd2bcf0777164db51c5dbf996f4.tar.bz2 nixlib-fc9b93d2fc59dbd2bcf0777164db51c5dbf996f4.tar.lz nixlib-fc9b93d2fc59dbd2bcf0777164db51c5dbf996f4.tar.xz nixlib-fc9b93d2fc59dbd2bcf0777164db51c5dbf996f4.tar.zst nixlib-fc9b93d2fc59dbd2bcf0777164db51c5dbf996f4.zip |
gdc: init at 9.3.0
Diffstat (limited to 'pkgs/build-support/cc-wrapper')
-rw-r--r-- | pkgs/build-support/cc-wrapper/default.nix | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 1b7c5750727a..36177ec2e358 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/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" '' |