]>
Commit | Line | Data |
---|---|---|
f67539c2 TL |
1 | Thrift OCaml Development |
2 | ======================== | |
3 | ||
4 | Prerequisites | |
5 | ------------- | |
6 | ||
7 | In order to build this library, you must have the following installed: | |
8 | ||
9 | * The OCaml compiler, preferably >4.00 | |
10 | * The Oasis build tool | |
11 | ||
12 | In addition you may want to install OPAM, which will allow you to setup an | |
13 | OCaml development environment that's isolated from your system installation, | |
14 | much like virutalenv for Python or the myriad systems available for Ruby. If | |
15 | you have OPAM installed, then installing Oasis is as simple as running: | |
16 | ||
17 | $ opam install oasis | |
18 | ||
19 | Building | |
20 | -------- | |
21 | ||
22 | Once all the prerequisites have been installed, run the following commands: | |
23 | ||
24 | $ oasis setup | |
25 | $ ./configure | |
26 | $ make | |
27 | ||
28 | The `oasis setup` command will generate the configure script and Makefile, | |
29 | along with other files that opam will use to create an installable library. | |
30 | The cofigure script will ensure that all build dependencies are installed, and | |
31 | make will actually build the library. | |
32 | ||
33 | To remove files that the compiler geneates, run: | |
34 | ||
35 | $ make clean | |
36 | ||
37 | To remove those files _as well as_ files that the setup and configure process | |
38 | generates, run: | |
39 | ||
40 | $ rm `cat .gitignore` | |
41 | ||
42 | Installing | |
43 | ---------- | |
44 | ||
45 | If you're using opam, simply run the following command: | |
46 | ||
47 | $ make install | |
48 | ||
49 | While development, you may want to install your latest build on the system to | |
50 | test against other libraries or programs. To do this, use: | |
51 | ||
52 | $ make reinstall | |
53 | ||
54 | Distribution | |
55 | ------------ | |
56 | ||
57 | The de facto preferred method for distributing OCaml libraries is through the | |
58 | OPAM package repository. To publish the latest package, issue a pull request | |
59 | against the following github repository: | |
60 | ||
61 | https://github.com/ocaml/opam-repository | |
62 | ||
63 | The pull requestion should add the following directory structure and files: | |
64 | ||
65 | package | |
66 | |__thrift | |
67 | |__thrift.<VERSION> | |
68 | |__ descr | |
69 | |__ opam | |
70 | |__ url | |
71 | ||
72 | Templates for the following files can be found in the opam/ subdirectory of | |
73 | this library's root, with XXX(...) indicating fields that need to be filled | |
74 | out. You can find further documentation here: | |
75 | ||
76 | http://opam.ocaml.org/doc/Packaging.html |