nixpkgs/pkgs/development/compilers/bs-platform/ocaml.nix
Sergei Trofimovich ce6f0bee59 bs-platform: workaround -fno-common build failure on aarch64
Without the change -fno-common toolchain like llvm-11 fails as:

    ld: libcamlrun.a(minor_gc.o):/build/ocaml/byterun/caml/major_gc.h:67: multiple definition of
      `caml_major_ring'; libcamlrun.a(stacks.o):/build/ocaml/byterun/caml/major_gc.h:67: first defined here
2022-06-26 22:29:26 +01:00

24 lines
648 B
Nix

{ lib, stdenv, src, version }:
stdenv.mkDerivation rec {
inherit src version;
pname = "ocaml-bs";
configurePhase = ''
./configure -prefix $out
'';
# Workaround ocaml-4.06 limitation of duplicate definitions.
# ld: libcamlrun.a(minor_gc.o):/build/ocaml/byterun/caml/major_gc.h:67: multiple definition of
# `caml_major_ring'; libcamlrun.a(stacks.o):/build/ocaml/byterun/caml/major_gc.h:67: first defined here
# Match -fcommon workaround in ocaml-4.06 itself.
NIX_CFLAGS_COMPILE = "-fcommon";
buildPhase = ''
make -j9 world.opt
'';
meta = with lib; {
branch = "4.06";
platforms = platforms.all;
};
}