summary refs log tree commit diff
path: root/pkgs/build-support/cc-wrapper
diff options
context:
space:
mode:
authorFrederik Rietdijk <freddyrietdijk@fridh.nl>2020-08-15 08:55:57 +0200
committerGitHub <noreply@github.com>2020-08-15 08:55:57 +0200
commitd59c57f8a68c322fe09671015363c255c8445b7a (patch)
treeb7ac2cbcf65e9f32629d22bb03c8cf9095fca257 /pkgs/build-support/cc-wrapper
parent1b54b2aa0d670ac98c3d5529a19f67bd2a219e1e (diff)
parent8a525d6a2b936b2a6a0471d29028784c688c801b (diff)
downloadnixpkgs-d59c57f8a68c322fe09671015363c255c8445b7a.tar
nixpkgs-d59c57f8a68c322fe09671015363c255c8445b7a.tar.gz
nixpkgs-d59c57f8a68c322fe09671015363c255c8445b7a.tar.bz2
nixpkgs-d59c57f8a68c322fe09671015363c255c8445b7a.tar.lz
nixpkgs-d59c57f8a68c322fe09671015363c255c8445b7a.tar.xz
nixpkgs-d59c57f8a68c322fe09671015363c255c8445b7a.tar.zst
nixpkgs-d59c57f8a68c322fe09671015363c255c8445b7a.zip
Merge pull request #92412 from matthewbauer/blas-cross
Blas/Lapack cross fixes
Diffstat (limited to 'pkgs/build-support/cc-wrapper')
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix5
-rw-r--r--pkgs/build-support/cc-wrapper/fortran-hook.sh11
2 files changed, 14 insertions, 2 deletions
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 4f3680f2197..6ee287e287b 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -209,6 +209,7 @@ stdenv.mkDerivation {
       wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran
       ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77
       ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77
+      export named_fc=${targetPrefix}gfortran
     ''
 
     + optionalString cc.langJava or false ''
@@ -227,8 +228,8 @@ stdenv.mkDerivation {
 
   setupHooks = [
     ../setup-hooks/role.bash
-    ./setup-hook.sh
-  ];
+  ] ++ stdenv.lib.optional (cc.langC or true) ./setup-hook.sh
+    ++ stdenv.lib.optional (cc.langFortran or false) ./fortran-hook.sh;
 
   postFixup =
     # Ensure flags files exists, as some other programs cat them. (That these
diff --git a/pkgs/build-support/cc-wrapper/fortran-hook.sh b/pkgs/build-support/cc-wrapper/fortran-hook.sh
new file mode 100644
index 00000000000..d72f314c01c
--- /dev/null
+++ b/pkgs/build-support/cc-wrapper/fortran-hook.sh
@@ -0,0 +1,11 @@
+getTargetRole
+getTargetRoleWrapper
+
+export FC${role_post}=@named_fc@
+
+# If unset, assume the default hardening flags.
+# These are different for fortran.
+: ${NIX_HARDENING_ENABLE="stackprotector pic strictoverflow relro bindnow"}
+export NIX_HARDENING_ENABLE
+
+unset -v role_post