|
| 1 | +opam-version: "2.0" |
| 2 | +license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" |
| 3 | +synopsis: "OCaml 5.1.0, with ThreadSanitizer support" |
| 4 | + |
| 5 | +authors: [ |
| 6 | + "Xavier Leroy" |
| 7 | + "Damien Doligez" |
| 8 | + "Alain Frisch" |
| 9 | + "Jacques Garrigue" |
| 10 | + "Didier Rémy" |
| 11 | + "Jérôme Vouillon" |
| 12 | +] |
| 13 | +homepage: "https://github.com/ocaml/ocaml" |
| 14 | +bug-reports: "https://github.com/ocaml/ocaml/issues" |
| 15 | +dev-repo: "git+https://github.com/ocaml-multicore/ocaml-tsan.git#5.1.0+tsan" |
| 16 | +depends: [ |
| 17 | + "ocaml" {= "5.1.0" & post} |
| 18 | + "base-unix" {post} |
| 19 | + "base-bigarray" {post} |
| 20 | + "base-threads" {post} |
| 21 | + "base-domains" {post} |
| 22 | + "base-nnp" {post} |
| 23 | + "ocaml-beta" {opam-version < "2.1.0"} |
| 24 | + "conf-unwind" |
| 25 | +] |
| 26 | +conflict-class: "ocaml-core-compiler" |
| 27 | +flags: [ compiler avoid-version ] |
| 28 | +setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs" |
| 29 | +build-env: [ |
| 30 | + [LSAN_OPTIONS = "detect_leaks=0,exitcode=0"] |
| 31 | + [ASAN_OPTIONS = "detect_leaks=0,exitcode=0"] |
| 32 | +] |
| 33 | +build: [ |
| 34 | + [ |
| 35 | + "./configure" |
| 36 | + "--prefix=%{prefix}%" |
| 37 | + "--docdir=%{doc}%/ocaml" |
| 38 | + "-C" |
| 39 | + "--disable-flat-float-array" {ocaml-option-no-flat-float-array:installed} |
| 40 | + "--enable-flambda" {ocaml-option-flambda:installed} |
| 41 | + "--enable-frame-pointers" {ocaml-option-fp:installed} |
| 42 | + "CC=cc" {!ocaml-option-32bit:installed & !ocaml-option-musl:installed & (os="openbsd"|os="macos")} |
| 43 | + "CC=musl-gcc" {ocaml-option-musl:installed & os-distribution!="alpine"} |
| 44 | + "CFLAGS=-Os" {ocaml-option-musl:installed} |
| 45 | + "--enable-tsan" |
| 46 | + "ASPP=musl-gcc -c" {ocaml-option-musl:installed & os-distribution!="alpine"} |
| 47 | + "LIBS=-static" {ocaml-option-static:installed} |
| 48 | + "--disable-warn-error" |
| 49 | + ] |
| 50 | + [make "-j%{jobs}%"] |
| 51 | +] |
| 52 | +install: [make "install"] |
| 53 | +url { |
| 54 | + src: "https://github.com/ocaml-multicore/ocaml-tsan/archive/5.1.0+tsan.tar.gz" |
| 55 | + checksum: "sha256=e69f411d14abae7663db46f09b9242c666a1a51dd94b02ec7304f283b5b9e9b0" |
| 56 | +} |
| 57 | +extra-files: ["ocaml-variants.install" "md5=3e969b841df1f51ca448e6e6295cb451"] |
| 58 | +conflicts: [ |
| 59 | + "ocaml-option-afl" |
| 60 | + "ocaml-option-bytecode-only" |
| 61 | + "ocaml-option-32bit" |
| 62 | + "ocaml-option-leak-sanitizer" |
| 63 | + "ocaml-option-address-sanitizer" |
| 64 | +] |
| 65 | +depopts: [ |
| 66 | + "ocaml-option-32bit" |
| 67 | + "ocaml-option-afl" |
| 68 | + "ocaml-option-bytecode-only" |
| 69 | + "ocaml-option-no-flat-float-array" |
| 70 | + "ocaml-option-flambda" |
| 71 | + "ocaml-option-musl" |
| 72 | + "ocaml-option-leak-sanitizer" |
| 73 | + "ocaml-option-address-sanitizer" |
| 74 | + "ocaml-option-static" |
| 75 | +] |
0 commit comments