| James E. King, III | b28160b | 2017-02-15 14:23:44 -0500 | [diff] [blame] | 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 |