Unverified Commit c17ba56f authored by Martin Weinelt's avatar Martin Weinelt Committed by GitHub
Browse files

Merge pull request #266321 from lilyinstarlight/fix/llvm-16-wasi

[staging-next] llvmPackages: 12 -> 16 on wasm
parents 2d73797d f116095a
Loading
Loading
Loading
Loading
+22 −12
Original line number Diff line number Diff line
@@ -266,11 +266,13 @@ in let
        targetLlvmLibraries.compiler-rt
      ];
      extraBuildCommands = mkExtraBuildCommands cc;
      nixSupport.cc-cflags = [
      nixSupport.cc-cflags =
        [
          "-rtlib=compiler-rt"
          "-B${targetLlvmLibraries.compiler-rt}/lib"
          "-nostdlib++"
      ];
        ]
        ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
    };

    clangNoLibc = wrapCCWith rec {
@@ -281,10 +283,12 @@ in let
        targetLlvmLibraries.compiler-rt
      ];
      extraBuildCommands = mkExtraBuildCommands cc;
      nixSupport.cc-cflags = [
      nixSupport.cc-cflags =
        [
          "-rtlib=compiler-rt"
          "-B${targetLlvmLibraries.compiler-rt}/lib"
      ];
        ]
        ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
    };

    clangNoCompilerRt = wrapCCWith rec {
@@ -293,16 +297,22 @@ in let
      bintools = bintoolsNoLibc';
      extraPackages = [ ];
      extraBuildCommands = mkExtraBuildCommands0 cc;
      nixSupport.cc-cflags = [ "-nostartfiles" ];
      nixSupport.cc-cflags =
        [
          "-nostartfiles"
        ]
        ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
    };

    clangNoCompilerRtWithLibc = wrapCCWith rec {
    clangNoCompilerRtWithLibc = wrapCCWith (rec {
      cc = tools.clang-unwrapped;
      libcxx = null;
      bintools = bintools';
      extraPackages = [ ];
      extraBuildCommands = mkExtraBuildCommands0 cc;
    };
    } // lib.optionalAttrs stdenv.targetPlatform.isWasm {
      nixSupport.cc-cflags = [ "-fno-exceptions" ];
    });

  });

+22 −12
Original line number Diff line number Diff line
@@ -271,11 +271,13 @@ in let
        targetLlvmLibraries.compiler-rt
      ];
      extraBuildCommands = mkExtraBuildCommands cc;
      nixSupport.cc-cflags = [
      nixSupport.cc-cflags =
        [
          "-rtlib=compiler-rt"
          "-B${targetLlvmLibraries.compiler-rt}/lib"
          "-nostdlib++"
      ];
        ]
        ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
    };

    clangNoLibc = wrapCCWith rec {
@@ -286,10 +288,12 @@ in let
        targetLlvmLibraries.compiler-rt
      ];
      extraBuildCommands = mkExtraBuildCommands cc;
      nixSupport.cc-cflags = [
      nixSupport.cc-cflags =
        [
          "-rtlib=compiler-rt"
          "-B${targetLlvmLibraries.compiler-rt}/lib"
      ];
        ]
        ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
    };

    clangNoCompilerRt = wrapCCWith rec {
@@ -298,16 +302,22 @@ in let
      bintools = bintoolsNoLibc';
      extraPackages = [ ];
      extraBuildCommands = mkExtraBuildCommands0 cc;
      nixSupport.cc-cflags = [ "-nostartfiles" ];
      nixSupport.cc-cflags =
        [
          "-nostartfiles"
        ]
        ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
    };

    clangNoCompilerRtWithLibc = wrapCCWith rec {
    clangNoCompilerRtWithLibc = wrapCCWith (rec {
      cc = tools.clang-unwrapped;
      libcxx = null;
      bintools = bintools';
      extraPackages = [ ];
      extraBuildCommands = mkExtraBuildCommands0 cc;
    };
    } // lib.optionalAttrs stdenv.targetPlatform.isWasm {
      nixSupport.cc-cflags = [ "-fno-exceptions" ];
    });

    # Has to be in tools despite mostly being a library,
    # because we use a native helper executable from a
+1 −1
Original line number Diff line number Diff line
@@ -16651,7 +16651,7 @@ with pkgs;
      else if platform.isFreeBSD then 12
      else if platform.isAndroid then 12
      else if platform.isLinux then 16
      else if platform.isWasm then 12
      else if platform.isWasm then 16
      else 14;
    # We take the "max of the mins". Why? Since those are lower bounds of the
    # supported version set, this is like intersecting those sets and then