opam-version: "2.0"
synopsis: "Latest 4.12 development"
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#4.12"
depends: [
  "ocaml" {= "4.12.1" & post}
  "base-unix" {post}
  "base-bigarray" {post}
  "base-threads" {post}
  "ocaml-beta" {opam-version < "2.1"}
]
conflict-class: "ocaml-core-compiler"
flags: [ compiler avoid-version hidden-version ]
setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs"
build: [
  [
    "./configure"
    "--prefix=%{prefix}%"
    "-C"
    "--with-afl" {ocaml-option-afl:installed}
    "--disable-native-compiler" {ocaml-option-bytecode-only:installed}
    "--disable-force-safe-string" {ocaml-option-default-unsafe-string:installed}
    "DEFAULT_STRING=unsafe" {ocaml-option-default-unsafe-string:installed}
    "--disable-flat-float-array" {ocaml-option-no-flat-float-array:installed}
    "--enable-flambda" {ocaml-option-flambda:installed}
    "--enable-frame-pointers" {ocaml-option-fp:installed}
    "--enable-spacetime" {ocaml-option-spacetime:installed}
    "--disable-naked-pointers" {ocaml-option-nnp:installed}
    "--enable-naked-pointers-checker" {ocaml-option-nnpchecker:installed}
    "CC=cc" {!ocaml-option-32bit:installed & !ocaml-option-musl:installed & (os="openbsd"|os="macos")}
    "CC=musl-gcc" {ocaml-option-musl:installed & os-distribution!="alpine"}
    "CFLAGS=-Os" {ocaml-option-musl:installed}
    "CC=gcc -m32" {ocaml-option-32bit:installed & os="linux"}
    "CC=gcc -Wl,-read_only_relocs,suppress -arch i386 -m32" {ocaml-option-32bit:installed & os="macos"}
    "ASPP=cc -c" {!ocaml-option-32bit:installed & !ocaml-option-musl:installed & (os="openbsd"|os="macos")}
    "ASPP=musl-gcc -c" {ocaml-option-musl:installed & os-distribution!="alpine"}
    "ASPP=gcc -m32 -c" {ocaml-option-32bit:installed & os="linux"}
    "ASPP=gcc -arch i386 -m32 -c" {ocaml-option-32bit:installed & os="macos"}
    "AS=as --32" {ocaml-option-32bit:installed & os="linux"}
    "AS=as -arch i386" {ocaml-option-32bit:installed & os="macos"}
    "--host=i386-linux" {ocaml-option-32bit:installed & os="linux"}
    "--host=i386-apple-darwin13.2.0" {ocaml-option-32bit:installed & os="macos"}
    "PARTIALLD=ld -r -melf_i386" {ocaml-option-32bit:installed & os="linux"}
    "LIBS=-static" {ocaml-option-static:installed}
    "--disable-warn-error"
  ]
  [make "-j%{jobs}%"]
]
install: [make "install"]
url {
  src: "https://github.com/ocaml/ocaml/archive/4.12.tar.gz"
}
post-messages: [
  "A failure in the middle of the build may be caused by build parallelism
   (enabled by default).
   See https://github.com/ocaml/opam-repository/pull/14257 for more info."
  {failure & jobs > 1}
  "You can try installing again including --jobs=1
   to force a sequential build instead."
  {failure & jobs > 1 & opam-version >= "2.0.5"}
]
depopts: [
  "ocaml-option-32bit"
  "ocaml-option-afl"
  "ocaml-option-bytecode-only"
  "ocaml-option-default-unsafe-string"
  "ocaml-option-no-flat-float-array"
  "ocaml-option-flambda"
  "ocaml-option-fp"
  "ocaml-option-musl"
  "ocaml-option-static"
  "ocaml-option-spacetime"
  "ocaml-option-nnp"
  "ocaml-option-nnpchecker"
]
