|
| 1 | +opam-version: "2.0" |
| 2 | +license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" |
| 3 | +synopsis: "OCaml 5.0.0, with ThreadSanitizer instrumentation" |
| 4 | + |
| 5 | +authors: ["Xavier Leroy" "Damien Doligez" "Alain Frisch" "Jacques Garrigue" "Didier Rémy" "Jérôme Vouillon" "Anmol Sahoo" "Olivier Nicole" "Fabrice Buoro"] |
| 6 | +homepage: "https://github.com/ocaml-multicore/ocaml-tsan" |
| 7 | +bug-reports: "https://github.com/ocaml-multicore/ocaml-tsan/issues" |
| 8 | +dev-repo: "git+https://github.com/ocaml-multicore/ocaml-tsan.git#5.0.0+tsan" |
| 9 | +depends: [ |
| 10 | + "ocaml" {= "5.0.0" & post} |
| 11 | + "base-unix" {post} |
| 12 | + "base-bigarray" {post} |
| 13 | + "base-threads" {post} |
| 14 | + "base-domains" {post} |
| 15 | + "base-nnp" {post} |
| 16 | + "ocaml-beta" {opam-version < "2.1.0"} |
| 17 | +] |
| 18 | +conflict-class: "ocaml-core-compiler" |
| 19 | +flags: [ compiler avoid-version ] |
| 20 | +setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs" |
| 21 | +build-env: [ |
| 22 | + [LSAN_OPTIONS = "detect_leaks=0,exitcode=0"] |
| 23 | + [ASAN_OPTIONS = "detect_leaks=0,exitcode=0"] |
| 24 | +] |
| 25 | +build: [ |
| 26 | + [ |
| 27 | + "./configure" |
| 28 | + "--prefix=%{prefix}%" |
| 29 | + "--docdir=%{doc}%/ocaml" |
| 30 | + "-C" |
| 31 | + "--disable-flat-float-array" {ocaml-option-no-flat-float-array:installed} |
| 32 | + "--enable-flambda" {ocaml-option-flambda:installed} |
| 33 | + "--enable-frame-pointers" {ocaml-option-fp:installed} |
| 34 | + "CC=cc" {!ocaml-option-32bit:installed & !ocaml-option-musl:installed & (os="openbsd"|os="macos")} |
| 35 | + "CC=musl-gcc" {ocaml-option-musl:installed & os-distribution!="alpine"} |
| 36 | + "CFLAGS=-Os" {ocaml-option-musl:installed} |
| 37 | + "--enable-tsan" |
| 38 | + "ASPP=musl-gcc -c" {ocaml-option-musl:installed & os-distribution!="alpine"} |
| 39 | + "LIBS=-static" {ocaml-option-static:installed} |
| 40 | + "--disable-warn-error" |
| 41 | + ] |
| 42 | + [make "-j%{jobs}%"] |
| 43 | +] |
| 44 | +install: [make "install"] |
| 45 | +url { |
| 46 | + src: "https://github.com/ocaml-multicore/ocaml-tsan/archive/5.0.0+tsan.tar.gz" |
| 47 | +} |
| 48 | +extra-files: ["ocaml-variants.install" "md5=3e969b841df1f51ca448e6e6295cb451"] |
| 49 | +post-messages: [ |
| 50 | + "A failure in the middle of the build may be caused by build parallelism |
| 51 | + (enabled by default). |
| 52 | + Please file a bug report at https://github.com/ocaml/opam-repository/issues" |
| 53 | + {failure & jobs > 1} |
| 54 | + "You can try installing again including --jobs=1 |
| 55 | + to force a sequential build instead." |
| 56 | + {failure & jobs > 1 & opam-version >= "2.0.5"} |
| 57 | +] |
| 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