package ocamlbuild

  1. Overview
  2. Docs
OCamlbuild is a build system with builtin rules to easily build most OCaml projects

Install

dune-project
 Dependency

Authors

Maintainers

Sources

0.16.1.tar.gz
sha512=e918b9a0081f271e507c7a4f4d5d5a7cdf818ca51c52acec1bac85ddad5f6cad078cb3c568252fbcf5401c2d75323ed8f50fdd881bda1c9632840320408393ae

Description

Published: 27 Feb 2025

README

OCamlbuild

build

OCamlbuild is a generic build tool, that has built-in rules for building OCaml library and programs.

In recent years, the OCaml community has converged towards a more recent and faster build tool: Dune. If you are choosing a build system, you should probably use Dune instead. (Between January and June 2019, 77 new OCaml packages using ocamlbuild were publicly released, versus 544 packages using dune.)

Your should refer to the OCambuild manual for more informations on how to use ocamlbuild.

Automatic Installation

With opam:

opam install ocamlbuild

If you are testing a not yet released version of OCaml, you may need to use the development version of OCamlbuild. With opam:

opam pin add ocamlbuild --kind=git "https://github.com/ocaml/ocamlbuild.git#master"

Compilation from source

We assume GNU make, which may be named gmake on your system.

  1. Configure.
make configure

The installation location is determined by the installation location of the ocaml compiler. You can set the following configuration variables (make configure VAR=foo):

  • OCAMLBUILD_{PREFIX,BINDIR,LIBDIR} will use opam or ocaml/ocamlfind's settings by default; see configure.make for the precise initialization logic.
  • OCAML_NATIVE: should be true if native compilation is available on your machine, false otherwise
  1. Compile the sources.
make
  1. Install.
make install

You can also clean the compilation results with make clean, and uninstall a manually-installed OCamlbuild with make uninstall.

Dependencies (1)

  1. ocaml >= "4.08"

Dev Dependencies (2)

  1. menhirLib with-test
  2. ocamlfind with-test

  1. ANSITerminal < "0.8"
  2. abella < "2.0.8"
  3. afl-persistent < "1.1"
  4. ago < "0.4"
  5. alba < "0.4.1"
  6. aliases
  7. anycache < "0.7.4"
  8. apron >= "20160108"
  9. archimedes
  10. ascii85 < "0.4"
  11. asetmap
  12. asl < "0.11"
  13. asli < "0.2.0"
  14. asn1-combinators < "0.2.5"
  15. assertions
  16. astring
  17. atd2cconv
  18. BetterErrors
  19. b0
  20. bap-build
  21. base58
  22. base64 < "2.2.0"
  23. batteries < "3.7.1"
  24. bear
  25. beluga < "1.0"
  26. benchmark < "1.5"
  27. bencode < "2.0"
  28. bindlib >= "4.0.4" & < "6.0.0"
  29. bisect
  30. bisect_ppx < "1.3.3"
  31. bisect_ppx-ocamlbuild >= "1.0.1"
  32. bitcoin < "3.0"
  33. bolt
  34. bookaml
  35. bos
  36. bpf
  37. bracetax
  38. brr
  39. bytesrw
  40. cairo2 < "0.6"
  41. callipyge < "0.2"
  42. camllib
  43. camlp4 != "4.11+system" & != "4.12+system" & != "4.13+system"
  44. camltc < "0.9.8"
  45. caper
  46. captureio
  47. cbor < "0.3"
  48. cconv < "0.5"
  49. certify < "0.3.0"
  50. cgroups
  51. choice < "0.4"
  52. clangml < "4.0.1"
  53. cmark
  54. cmarkit
  55. cmdliner < "1.0.4"
  56. cmdtui < "0.4.3"
  57. combine
  58. conex < "0.10.0"
  59. corecount
  60. cow < "2.3.0"
  61. cppo_ocamlbuild
  62. cpuid < "0.1.2"
  63. crc < "2.0.0"
  64. crdt-ml
  65. crypt < "1.3"
  66. cryptokit < "1.16.1"
  67. csv < "2.0"
  68. ctypes-build
  69. cudf < "0.10"
  70. DAGaml
  71. datalog < "0.6"
  72. debian-formats < "0.1.2"
  73. dedukti < "2.7"
  74. devkit < "1.0"
  75. diffast-misc = "0.3.5.1"
  76. digestif < "0.6.1"
  77. dispatch < "0.4.0"
  78. diy
  79. docker-api < "0.2"
  80. dolmen < "0.4"
  81. dolog < "4.0.0"
  82. dose3 < "6.1"
  83. down
  84. dtoa < "0.3.0"
  85. dyntype
  86. earley < "3.0.0"
  87. efl
  88. eigen < "0.1.0"
  89. elasticsearch-cli < "0.5"
  90. emoji < "2.0.0"
  91. enumerators
  92. exenum < "0.82.0"
  93. expect < "0.1.0"
  94. extunix < "0.3.1"
  95. ezsqlite < "0.4"
  96. faraday < "0.3.0"
  97. farfadet
  98. fieldslib < "v0.13.0"
  99. fileutils < "0.6.1"
  100. fix < "20181206"
  101. flock
  102. flow_parser < "0.229.1"
  103. fmt
  104. fpath
  105. fstar < "2025.02.17"
  106. fstreams
  107. GuaCaml
  108. gadelac
  109. gammu < "0.9.4"
  110. gdal < "0.10.0"
  111. gedcom
  112. gen < "0.5.3"
  113. gen-bs
  114. genspir < "1.0.0"
  115. geoip
  116. getopt < "20230213"
  117. gg
  118. goblint-cil < "1.8.0"
  119. grain_wasm_spec
  120. grib
  121. gsl < "1.22.0"
  122. hamt
  123. hdfs
  124. heptagon
  125. herdtools7 < "7.54"
  126. hevea
  127. higher >= "0.3.0"
  128. hiredis < "0.8"
  129. hlarp
  130. hmap
  131. htmlit
  132. humane-re
  133. ISO8601 < "0.2.6"
  134. i2c
  135. inferno < "20190924"
  136. inotify < "2.4"
  137. integers < "0.3.0"
  138. inuit < "0.4.1"
  139. io
  140. irc-client < "0.6.0"
  141. itv-tree < "2.2"
  142. jasmin < "2023.06.0"
  143. javascriptcore
  144. jekyll-format < "0.2.0"
  145. jemalloc < "0.2"
  146. joolog
  147. js-build-tools
  148. js_of_ocaml-ocamlbuild
  149. json-rpc
  150. jsonm
  151. jsont
  152. junit < "1.0"
  153. kaputt
  154. karamel
  155. kinetic-client < "0.0.11"
  156. kremlin < "transition"
  157. lacaml < "10.0.1"
  158. lambdasoup < "0.6.2"
  159. launchd < "1.3"
  160. lem
  161. lens < "1.2.4"
  162. libssh
  163. libsvm < "0.9.4"
  164. libudev
  165. linkage
  166. linksem
  167. lipsum
  168. llvm < "3.9"
  169. llvmgraph
  170. logs
  171. lru < "0.3.0"
  172. lua-ml < "0.9.3"
  173. lustre-v6 < "6.103.3"
  174. lutils < "1.51.2"
  175. lutin < "2.71.10"
  176. lwt-binio
  177. lwt-zmq
  178. lwt_glib < "1.1.0"
  179. lymp
  180. lz4 < "1.2.0"
  181. lzo < "0.0.3"
  182. macaque < "0.7.4"
  183. macaroons
  184. magic-mime < "1.0.1"
  185. maildir
  186. mariadb < "1.2.0"
  187. markup < "0.7.6"
  188. maxminddb < "0.4"
  189. memcpy
  190. menhir < "20200123"
  191. mergeable-vector
  192. mesh < "0.8.9"
  193. mindstorm < "0.8"
  194. minima-theme
  195. minisat < "0.2"
  196. mirage < "4.0.0"
  197. mirage-btrees
  198. mirage-channel < "3.1.0"
  199. mirage-kv < "1.1.1"
  200. mirage-kv-lwt < "1.1.0"
  201. mirage-net-macosx < "1.2.0"
  202. mirage-seal
  203. mirage-tc
  204. mirage-types < "3.6.0"
  205. mkaudio < "1.1.0"
  206. mlbdd < "0.6"
  207. mlcuddidl
  208. monadlib
  209. monomorphic < "1.3"
  210. morbig < "0.10.3"
  211. mosquitto
  212. mparser < "1.3"
  213. mpp < "0.3.4"
  214. msat < "0.8"
  215. msgpack
  216. msgpck < "1.3"
  217. mtime
  218. murmur3 < "0.3"
  219. mustache < "3.1.0"
  220. mybuild < "7"
  221. named-pipe
  222. namespaces
  223. netlink < "0.3.4"
  224. nlopt-ocaml < "transition"
  225. nlp
  226. nocrypto
  227. nosetup
  228. note
  229. notty < "0.2.3"
  230. oasis
  231. oasis2debian
  232. oasis2opam
  233. obandit
  234. obelisk < "0.5.0"
  235. objsize
  236. obus < "1.2.1"
  237. obytelib
  238. ocaml-buddy
  239. ocaml-migrate-parsetree-ocamlbuild
  240. ocaml-monadic < "0.4.0"
  241. ocaml-protoc < "2.0.1"
  242. ocaml-protoc-yojson
  243. ocaml-sat-solvers < "0.8"
  244. ocaml-systemd < "1.3"
  245. ocaml-xdg-basedir < "transition"
  246. ocamlbuild-atdgen
  247. ocamlbuild-pkg
  248. ocamlbuild-protoc
  249. ocamlclean
  250. ocamldap < "transition"
  251. ocamlify < "0.1.0"
  252. ocamlmod < "0.1.1"
  253. ocamlnet
  254. ocamlpp
  255. ocapic
  256. ocb-stubblr
  257. ocephes
  258. ocplib-endian < "1.1"
  259. ocsfml
  260. octavius < "1.1.0"
  261. odds < "1.1"
  262. odepack < "0.6.9"
  263. odig
  264. olinq < "0.3"
  265. olmi
  266. omd < "1.3.2"
  267. oml
  268. omod
  269. omonad
  270. oolc
  271. opal < "0.1.1"
  272. ordma < "0.0.5"
  273. orm >= "0.7.1"
  274. orocksdb
  275. osc < "0.2.0"
  276. osdp < "1.1.1"
  277. ostap < "0.6"
  278. osx-acl
  279. osx-attr
  280. osx-membership
  281. osx-mount
  282. osx-plutil
  283. osx-xattr
  284. otfm
  285. ott >= "0.32"
  286. ounit < "2.1.2"
  287. pa_comprehension
  288. pa_qualified < "0.6"
  289. pa_solution != "0.6"
  290. pa_where
  291. papi < "0.1.1"
  292. parany < "9.0.0"
  293. pareto
  294. parmap < "1.1.1"
  295. pcap-format < "0.5.2"
  296. pci
  297. pci-db
  298. pcre < "7.3.0"
  299. pds-reachability < "0.2.3"
  300. pgocaml < "4.0"
  301. pgsolver < "4.4"
  302. pkcs11 < "0.18.0"
  303. plplot < "5.11.0-1"
  304. podge
  305. polyglot
  306. posix-clock
  307. posix-getopt < "2.0.0"
  308. posix-math
  309. posix-mqueue
  310. posix-semaphore
  311. posix-time
  312. posix-types < "2.0.0"
  313. postgresql < "4.1.0"
  314. pprint < "20200226"
  315. ppx_defer < "0.3.0"
  316. ppx_deriving_argparse
  317. ppx_distr_guards < "0.2"
  318. ppx_monoid < "0.3.2"
  319. printbox < "0.2"
  320. process
  321. proj4
  322. proverif < "2.01"
  323. psq < "0.1.1"
  324. ptime
  325. pure-splitmix < "0.3"
  326. py < "1.1"
  327. qbf < "0.3"
  328. qcheck < "0.13"
  329. qcstm
  330. qfs
  331. qrc
  332. qtest < "2.9"
  333. radare2 < "0.0.3"
  334. ranger
  335. raygun4ocaml
  336. rdbg < "1.196.12"
  337. rdr
  338. re < "1.7.2"
  339. react
  340. reactiveData < "0.2"
  341. records < "0.7.0"
  342. res < "5.0.0"
  343. resource-pooling < "1.1"
  344. rfc6287 < "1.0.4"
  345. rfsm < "1.6-alpha-3"
  346. rlp
  347. rml < "1.09.06"
  348. root1d < "0.5"
  349. rresult
  350. Snowflake
  351. safa
  352. safepass < "3.0"
  353. sail < "0.15"
  354. salsa20 < "1.0.0"
  355. salsa20-core < "1.0.0"
  356. sattools
  357. scid
  358. secp256k1 < "0.2.5"
  359. semver < "0.2.1"
  360. sendmsg
  361. sequence
  362. session < "0.4.0"
  363. sessions
  364. setr
  365. shcaml
  366. sid
  367. simple-diff
  368. simple_pam
  369. smart-print < "0.3.0"
  370. smtp
  371. socketcan
  372. sodium
  373. sosa
  374. spelll < "0.3"
  375. spreadsheet
  376. sqlgg < "20200521"
  377. sqlite3 < "4.2.0"
  378. starterkit
  379. statverif
  380. stdint < "0.5.1"
  381. stemming
  382. stringext < "1.5.0"
  383. sturgeon < "0.4.2"
  384. symkat
  385. syndic != "1.5" & < "1.6.0"
  386. syslog-message = "0.0.2"
  387. systemverilog < "0.0.2"
  388. TCSLib
  389. tallgeese
  390. tdk
  391. terminal_size < "0.1.4"
  392. text
  393. textwrap < "0.2.1"
  394. tgls
  395. tip-parser < "0.4"
  396. tls < "0.12.8"
  397. topkg
  398. topkg-care
  399. touist < "3.5.0"
  400. tplib
  401. tptp
  402. tree_layout < "0.2"
  403. tsdl
  404. ttweetnacl
  405. type_conv
  406. typerep < "v0.13.0"
  407. tyre < "0.4"
  408. tyxml = "4.2.0"
  409. uchar
  410. uint < "2.0.1"
  411. ulex
  412. ulex-camlp5
  413. unix-dirent
  414. unix-errno < "0.6.0"
  415. unix-sys-resource
  416. unix-sys-stat
  417. unix-time
  418. unix-type-representations
  419. unix-unistd
  420. usb
  421. user-setup
  422. uucd
  423. uucp
  424. uuidm
  425. uunf
  426. uuseg
  427. uutf
  428. variantslib < "v0.13.0"
  429. vector3 < "1.0.0"
  430. vg
  431. vhdlib
  432. visitors < "20200207"
  433. volt
  434. wamp < "1.2"
  435. wasm < "2.0.2"
  436. webbrowser
  437. webidl
  438. webmachine < "0.5.0"
  439. win-error < "0.3"
  440. win-eventlog < "0.2"
  441. wiringpi
  442. xmlm
  443. xxhash
  444. yajl
  445. yices2_bindings
  446. yurt < "0.6"
  447. zbar
  448. zipc
  449. zlist < "0.4.0"
  450. zmq < "5.0.0"
  451. zstd < "0.3"
  452. zxcvbn < "2.3+2"