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

Conflicts (2)

  1. ocamlfind < "1.6.2"
  2. base-ocamlbuild