1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
opam-version: "2.0"
version: "5.3.0"
license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
synopsis: "Official release of OCaml 5.3.0"
maintainer: "caml-list@inria.fr"
authors: [
"Xavier Leroy"
"Damien Doligez"
"Alain Frisch"
"Jacques Garrigue"
"Didier Rémy"
"Jérôme Vouillon"
]
homepage: "https://github.com/ocaml/ocaml/"
bug-reports: "https://github.com/ocaml/ocaml/issues"
depends: [
# This is OCaml 5.3.0
"ocaml" {= "5.3.0" & post}
# General base- packages
"base-unix" {post}
"base-bigarray" {post}
"base-threads" {post}
"base-domains" {post}
"base-nnp" {post}
"base-effects" {post}
# Architecture (non-Windows)
# opam-repository at present requires that ocaml-base-compiler is installed
# using an architecture which matches the machine's, since arch is used in
# available fields. Cross-compilation at this stage is an unstable accident.
"host-arch-arm32" {arch = "arm32" & post}
"host-arch-arm64" {arch = "arm64" & post}
"host-arch-ppc64" {arch = "ppc64" & post}
"host-arch-riscv64" {arch = "riscv64" & post}
"host-arch-s390x" {arch = "s390x" & post}
# The Windows ports explicitly select the architecture (see below) this
# facility is not yet available for other platforms.
"host-arch-x86_32" {os != "win32" & arch = "x86_32" & post}
("host-arch-x86_64" {os != "win32" & arch = "x86_64" & post} |
("host-arch-x86_32" {os != "win32" & arch = "x86_64" & post} & "ocaml-option-32bit" {os != "win32" & arch = "x86_64"}))
"host-arch-unknown" {os != "win32" & arch != "arm32" & arch != "arm64" & arch != "ppc64" & arch != "riscv64" & arch != "s390x" & arch != "x86_32" & arch != "x86_64" & post}
# Port selection (Windows)
# amd64 mingw-w64 / MSVC
(("arch-x86_64" {os = "win32" & arch = "x86_64"} &
(("system-mingw" & "mingw-w64-shims" {os-distribution = "cygwin" & build}) |
("system-msvc" & "winpthreads" & "ocaml-option-no-compression" {os = "win32"}))) |
# i686 mingw-w64 / MSVC
("arch-x86_32" {os = "win32"} & "ocaml-option-bytecode-only" {os = "win32"} &
(("system-mingw" & "mingw-w64-shims" {os-distribution = "cygwin" & build}) |
("system-msvc" & "winpthreads" & "ocaml-option-no-compression" {os = "win32"}))) |
# Non-Windows systems
"host-system-other" {os != "win32" & post})
# All the 32-bit architectures are bytecode-only
"ocaml-option-bytecode-only" {arch != "arm64" & arch != "x86_64" & arch != "s390x" & arch != "riscv64" & arch != "ppc64"}
# Support Packages
"flexdll" {>= "0.42" & os = "win32"}
]
conflict-class: "ocaml-core-compiler"
flags: compiler
build-env: [
[MSYS2_ARG_CONV_EXCL = "*"]
[LSAN_OPTIONS = "detect_leaks=0,exitcode=0"]
[ASAN_OPTIONS = "detect_leaks=0,exitcode=0"]
]
build: [
[
"./configure"
"--host=x86_64-pc-windows" {system-msvc:installed & arch-x86_64:installed}
"--host=x86_64-w64-mingw32" {os-distribution = "cygwin" & system-mingw:installed & arch-x86_64:installed}
"--host=i686-pc-windows" {system-msvc:installed & arch-x86_32:installed}
"--host=i686-w64-mingw32" {os-distribution = "cygwin" & system-mingw:installed & arch-x86_32:installed}
"--prefix=%{prefix}%"
"--docdir=%{doc}%/ocaml"
"--with-flexdll=%{flexdll:share}%" {os = "win32" & flexdll:installed}
"--with-winpthreads-msvc=%{winpthreads:share}%" {system-msvc:installed}
"-C"
"--with-afl" {ocaml-option-afl:installed}
"--disable-native-compiler" {ocaml-option-bytecode-only: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}
"--without-zstd" {ocaml-option-no-compression:installed}
"--enable-tsan" {ocaml-option-tsan:installed}
"CC=cc" {!ocaml-option-32bit:installed & !ocaml-option-musl:installed & (os="openbsd"|os="macos")}
"CC=clang" {ocaml-option-tsan:installed & (os="macos")}
"CC=musl-gcc" {ocaml-option-musl:installed & os-distribution!="alpine"}
"CFLAGS=-Os" {ocaml-option-musl:installed}
"LDFLAGS=-Wl,--no-as-needed,-ldl" {ocaml-option-leak-sanitizer:installed | (ocaml-option-address-sanitizer:installed & os!="macos")}
"CC=gcc -ldl -fsanitize=leak -fno-omit-frame-pointer -O1 -g" {ocaml-option-leak-sanitizer:installed}
"CC=gcc -ldl -fsanitize=address -fno-omit-frame-pointer -O1 -g" {ocaml-option-address-sanitizer:installed & os!="macos"}
"CC=clang -fsanitize=address -fno-omit-frame-pointer -O1 -g" {ocaml-option-address-sanitizer:installed & os="macos"}
"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=musl-gcc -c" {ocaml-option-musl:installed & os-distribution!="alpine"}
"--host=i386-linux" {ocaml-option-32bit:installed & os="linux"}
"--host=i386-apple-darwin13.2.0" {ocaml-option-32bit:installed & os="macos"}
"LIBS=-static" {ocaml-option-static:installed}
"--disable-warn-error"
]
[make "-j%{jobs}%"]
]
install: [make "install"]
depopts: [
"ocaml-option-32bit"
"ocaml-option-afl"
"ocaml-option-bytecode-only"
"ocaml-option-no-flat-float-array"
"ocaml-option-flambda"
"ocaml-option-fp"
"ocaml-option-no-compression"
"ocaml-option-musl"
"ocaml-option-leak-sanitizer"
"ocaml-option-address-sanitizer"
"ocaml-option-static"
"ocaml-option-tsan"
]
|