package ocamlbuild

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

Install

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

Conflicts (2)

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

Innovation. Community. Security.