Skip to content

Commit

Permalink
Edits, mostly tweaks, to README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
chaudhuri committed Feb 4, 2011
1 parent 9262b01 commit a2b686c
Showing 1 changed file with 49 additions and 37 deletions.
86 changes: 49 additions & 37 deletions README.md
@@ -1,62 +1,69 @@
Welcome to Batteries Included
================================
OCaml Batteries Included: the community-maintained foundation library
for your OCaml projects.
Welcome to OCaml Batteries Included
===================================

***OCaml Batteries Included***, or just ***Batteries***, is a
community-maintained foundation library for your OCaml projects.
Batteries

Batteries Included serves the following purposes:
* defines a standard set of libraries which may be expected on every
compliant installation of OCaml;

* define a standard set of libraries which may be
expected on every compliant installation of OCaml
* organize these libraries into a hierarchy of modules,
with one source of documentation
* provide a consistent API for otherwise independent
libraries.
* organizes these libraries into a hierarchy of modules, with a single
source of documentation; and

Building Batteries Included
==============================
* provides a consistent API for otherwise independent libraries.


Building Batteries
------------------

### Requirements

Requirements
------------------------------
You will need the following libraries:

* OCaml >= 3.11
* [Findlib](http://projects.camlcity.org/projects/findlib.html/) >= 1.2.5
* GNU make (optional; aids build and installation)
* [Camomile](http://camomile.sourceforge.net/) >= 0.7
* [OUnit](http://ounit.forge.ocamlcore.org/) to build and run the tests
* [OCaml][] >= 3.11
* [Findlib][] >= 1.2.5
* [Camomile][] >= 0.7
* GNU make
* [OUnit][] to build and run the tests

Configuration and installation
------------------------------
[Findlib]: http://projects.camlcity.org/projects/findlib.html/
[OCaml]: http://caml.inria.fr/ocaml/release.en.html
[Camomile]: http://camomile.sourceforge.net/
[OUnit]: http://ounit.forge.ocamlcore.org/

To install the full version of OCaml Batteries Included, execute
### Configuration and Installation

To install the full version of Batteries, execute

$ make all
$ make test qtest [ optional ]
$ sudo make install
$ make test test [ optional ]
$ sudo make install

$ make doc [ optional ]
$ make doc [ optional ]
$ sudo make install-doc [ optional ]

If you want the documentation installed elsewhere, set this *before*
starting the build process (it becomes part of `batteries_config.ml`).
starting the build process because this location is stored in the
`Batteries_config` module generated during compilation.

$ export DOCROOT=/path/to/new/docroot/

If you want findlib to use a `-destdir` argument to [ocamlfind install], set
If you want findlib to use a `-destdir` argument to `ocamlfind install`, set

$ export DESTDIR=/path/to/findlib/dest

To disable native compilation:

$ export BATTERIES_NATIVE=false

To disable building of native shared libraries:

$ export BATTERIES_NATIVE_SHLIB=false


Using Batteries
==============================
---------------

To get started using Batteries at the toplevel, copy the `ocamlinit`
file to `~/.ocamlinit`:
Expand All @@ -66,22 +73,27 @@ file to `~/.ocamlinit`:
If you already have findlib in your `~/.ocamlinit`, you only need the
last line in our ocamlinit to load batteries.

More usage help available on the [batteries-included wiki]
(http://wiki.github.com/ocaml-batteries-team/batteries-included/)
More usage help available on the [batteries-included wiki][batwiki].


ExtLib Compatibility
==============================
--------------------

If your project currently uses ExtLib, most likely you can just change
If your project currently uses [ExtLib][], most likely you can just change
`-package extlib` to `-package batteries` and add `open Extlibcompat`
to the top of any extlib-using modules. Batteries' modules are all
named BatFoo to differentiate them from extlib's modules, so one can
use Batteries and ExtLib in the same project.

[ExtLib]: http://code.google.com/p/ocaml-extlib/

COMPATIBILITY NOTE: If you're using ExtLib's Unzip module, it does not
have a corresponding module in batteries at the moment.

Extending Batteries Included
==============================

See doc/batteries/GUIDELINES and the [guidelines wiki page](https://github.com/ocaml-batteries-team/batteries-included/wiki/Developers-guidelines)
Extending Batteries
-------------------

See doc/batteries/GUIDELINES and the [guidelines wiki page][batwiki].

[batwiki]: https://github.com/ocaml-batteries-team/batteries-included/wiki/Developers-guidelines

0 comments on commit a2b686c

Please sign in to comment.