opam-version: "2.0"
synopsis: "Official 3.12.0 release"
maintainer: "platform@lists.ocaml.org"
authors: ["Xavier Leroy" "Damien Doligez" "Alain Frisch" "Jacques Garrigue" "Didier Rémy" "Jérôme Vouillon"]
homepage: "https://ocaml.org"
bug-reports: "https://github.com/ocaml/opam-repository/issues"
dev-repo: "git+https://github.com/ocaml/ocaml.git#3.12"
depends: [
  "ocaml" {= "3.12.0" & post}
  "base-unix" {post}
  "base-bigarray" {post}
  "base-threads" {post}
  "base-ocamlbuild" {post}
]
conflict-class: "ocaml-core-compiler"
flags: compiler
setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs"
build: [
  [
    "sed"
    "-ib"
    "-e"
    "s/opts=\"\"/opts=\"-Wno-implicit-function-declaration\"/"
    "config/auto-aux/hasgot"
  ] {os = "macos"}
  ["./configure" "-prefix" prefix]
    {os != "openbsd" & os != "freebsd" & os != "macos"}
  ["./configure" "-prefix" prefix "-cc" "cc" "-aspp" "cc -c"]
    {os = "openbsd" | os = "freebsd" | os = "macos"}
  [make "world"]
  [make "world.opt"]
]
install: [
  [make "install"]
  ["mkdir" "-p" "%{prefix}%/lib/ocaml/compiler-libs"]
  ["cp" "-r" "typing" "parsing" "utils" "%{prefix}%/lib/ocaml/compiler-libs/"]
]
patches: "fix-binutils.patch" {os != "win32"}
url {
  src: "http://caml.inria.fr/pub/distrib/ocaml-3.12/ocaml-3.12.0.tar.gz"
  checksum: "md5=3ba7cc65123c3579f14e7c726d3ee782"
}
extra-source "fix-binutils.patch" {
  src: "https://gist.githubusercontent.com/vicuna/864c7c8a5c03917ca1482d8fbba12d36/raw/fa7664cecc98d7d5d97ee6d8fb035c2e229bff57/0007-Fix-ocamlopt-w.r.t.-binutils-2.21.patch"
  checksum: "md5=8c664a0a346424ea2ec6fc6f713170c6"
}
available: arch != "arm64" & arch != "arm32" & arch != "ppc64"
