| 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 |