Merge pull request #92412 from matthewbauer/blas-cross

Blas/Lapack cross fixes
This commit is contained in:
Frederik Rietdijk 2020-08-15 08:55:57 +02:00 committed by GitHub
commit d59c57f8a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 4 deletions

View file

@ -70,7 +70,7 @@ stdenv.mkDerivation {
exit 1 exit 1
fi fi
nm -an "$libblas" | cut -f3 -d' ' > symbols $NM -an "$libblas" | cut -f3 -d' ' > symbols
for symbol in ${toString blasFortranSymbols}; do for symbol in ${toString blasFortranSymbols}; do
grep -q "^$symbol_$" symbols || { echo "$symbol" was not found in "$libblas"; exit 1; } grep -q "^$symbol_$" symbols || { echo "$symbol" was not found in "$libblas"; exit 1; }
done done

View file

@ -209,6 +209,7 @@ stdenv.mkDerivation {
wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran
ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77 ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77
ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77 ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77
export named_fc=${targetPrefix}gfortran
'' ''
+ optionalString cc.langJava or false '' + optionalString cc.langJava or false ''
@ -227,8 +228,8 @@ stdenv.mkDerivation {
setupHooks = [ setupHooks = [
../setup-hooks/role.bash ../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 = postFixup =
# Ensure flags files exists, as some other programs cat them. (That these # Ensure flags files exists, as some other programs cat them. (That these

View file

@ -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

View file

@ -31,7 +31,7 @@ stdenv.mkDerivation {
]; ];
preCheck = if stdenv.isDarwin then '' preCheck = if stdenv.isDarwin then ''
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}`pwd`/lib export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}`pwd`/lib:${blas}/lib:${lapack}/lib
'' else '' '' else ''
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}`pwd`/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}`pwd`/lib
'' + '' '' + ''