|  | Thrift OCaml Development | 
|  | ======================== | 
|  |  | 
|  | Prerequisites | 
|  | ------------- | 
|  |  | 
|  | In order to build this library, you must have the following installed: | 
|  |  | 
|  | * The OCaml compiler, preferably >4.00 | 
|  | * The Oasis build tool | 
|  |  | 
|  | In addition you may want to install OPAM, which will allow you to setup an | 
|  | OCaml development environment that's isolated from your system installation, | 
|  | much like virutalenv for Python or the myriad systems available for Ruby. If | 
|  | you have OPAM installed, then installing Oasis is as simple as running: | 
|  |  | 
|  | $ opam install oasis | 
|  |  | 
|  | Building | 
|  | -------- | 
|  |  | 
|  | Once all the prerequisites have been installed, run the following commands: | 
|  |  | 
|  | $ oasis setup | 
|  | $ ./configure | 
|  | $ make | 
|  |  | 
|  | The `oasis setup` command will generate the configure script and Makefile, | 
|  | along with other files that opam will use to create an installable library. | 
|  | The cofigure script will ensure that all build dependencies are installed, and | 
|  | make will actually build the library. | 
|  |  | 
|  | To remove files that the compiler geneates, run: | 
|  |  | 
|  | $ make clean | 
|  |  | 
|  | To remove those files _as well as_ files that the setup and configure process | 
|  | generates, run: | 
|  |  | 
|  | $ rm `cat .gitignore` | 
|  |  | 
|  | Installing | 
|  | ---------- | 
|  |  | 
|  | If you're using opam, simply run the following command: | 
|  |  | 
|  | $ make install | 
|  |  | 
|  | While development, you may want to install your latest build on the system to | 
|  | test against other libraries or programs. To do this, use: | 
|  |  | 
|  | $ make reinstall | 
|  |  | 
|  | Distribution | 
|  | ------------ | 
|  |  | 
|  | The de facto preferred method for distributing OCaml libraries is through the | 
|  | OPAM package repository. To publish the latest package, issue a pull request | 
|  | against the following github repository: | 
|  |  | 
|  | https://github.com/ocaml/opam-repository | 
|  |  | 
|  | The pull requestion should add the following directory structure and files: | 
|  |  | 
|  | package | 
|  | |__thrift | 
|  | |__thrift.<VERSION> | 
|  | |__ descr | 
|  | |__ opam | 
|  | |__ url | 
|  |  | 
|  | Templates for the following files can be found in the opam/ subdirectory of | 
|  | this library's root, with XXX(...) indicating fields that need to be filled | 
|  | out. You can find further documentation here: | 
|  |  | 
|  | http://opam.ocaml.org/doc/Packaging.html |