File: ocaml-variants.opam

package info (click to toggle)
ocaml 5.3.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 43,124 kB
  • sloc: ml: 355,439; ansic: 51,636; sh: 25,098; asm: 5,413; makefile: 3,673; python: 919; javascript: 273; awk: 253; perl: 59; fortran: 21; cs: 9
file content (120 lines) | stat: -rw-r--r-- 5,420 bytes parent folder | download
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"
]