Unverified Commit d6d5e9a7 authored by John Ericson's avatar John Ericson Committed by GitHub
Browse files

gccNGPackages_15: fix gfortran & libstdcxx (#424411)

parents 8c3f0435 6b03c567
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -726,6 +726,15 @@ stdenvNoCC.mkDerivation {
      echo "-isystem ${getDev libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags
      echo "-stdlib=libc++" >> $out/nix-support/libcxx-ldflags
    ''
    # GCC NG friendly libc++
    + optionalString (libcxx != null && libcxx.isGNU or false) ''
      for dir in ${getDev libcxx}/include/c++/*; do
        echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags
      done
      for dir in ${getDev libcxx}/include/c++/*/${targetPlatform.config}; do
        echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags
      done
    ''

    ##
    ## Initial CFLAGS
+16 −1
Original line number Diff line number Diff line
@@ -121,6 +121,21 @@ makeScopeWithSplicing' {
      };

      gfortran = wrapCCWith rec {
        cc = gccPackages.gfortran-unwrapped;
        libcxx = targetGccPackages.libstdcxx;
        bintools = binutils;
        extraPackages = [
          targetGccPackages.libgcc
        ];
        nixSupport.cc-cflags = [
          "-B${targetGccPackages.libgcc}/lib"
          "-B${targetGccPackages.libssp}/lib"
          "-B${targetGccPackages.libatomic}/lib"
          "-B${targetGccPackages.libgfortran}/lib/"
        ];
      };

      gfortranNoLibgfortran = wrapCCWith rec {
        cc = gccPackages.gfortran-unwrapped;
        libcxx = targetGccPackages.libstdcxx;
        bintools = binutils;
@@ -211,7 +226,7 @@ makeScopeWithSplicing' {

      libgfortran = callPackage ./libgfortran {
        stdenv = overrideCC stdenv buildGccPackages.gcc;
        inherit (buildGccPackages) gfortran;
        gfortran = buildGccPackages.gfortranNoLibgfortran;
      };

      libstdcxx = callPackage ./libstdcxx {