****************************************************************************** INSTALL - Equeue, event queues for O'Caml ****************************************************************************** ============================================================================== The "equeue" package ============================================================================== ------------------------------------------------------------------------------ Prerequisites ------------------------------------------------------------------------------ Equeue does not need any other packages besides the O'Caml core. Equeue is known to work with O'Caml 3.07. The installation procedure defined in the Makefile requires findlib [1] to work [2]. If you want to have the TCL queue extension, you need labltk. ------------------------------------------------------------------------------ Configuration ------------------------------------------------------------------------------ There is a configuration script: ./configure By default, only the core modules are configured. If you are going to use the TCL queue extension, you must pass the argument -with-equeue-tcl to the configuration script, and maybe -equeue-tcl-defs and -equeue-tcl-libs, e.g. ./configure -with-equeue-tcl -equeue-tcl-defs -I/usr/include/tcl8.3 \ -equeue-tcl-libs -ltcl8.3 It is absolutely required that equeue and labltk are linked against the same TCL library. You can usually find out the library labltk uses by invoking ldd /stublibs/dlllabltk.so The option -with-equeue-gtk1 enables the lablgtk GUI integration. It is required that lablgtk is installed in a findlib-compatible way, i.e. there is a findlib package "lablgtk". The option -with-equeue-gtk2 enables the lablgtk2 GUI integration. It is required that lablgtk2 is installed in a findlib-compatible way, i.e. there is a findlib package "lablgtk2". Only recent versions of lablgtk2 work, you need at least lablgtk2.4.0 where this patch [3] is applied (or a better version, likely without needing a patch). ------------------------------------------------------------------------------ Compilation ------------------------------------------------------------------------------ The Makefile defines the following goals: - make all compiles with the bytecode compiler and creates equeue.cma (the standard version), and equeue_mt.cma (version prepared for multi-threading) - make opt compiles with the native compiler and creates equeue.cmxa (the standard version), and equeue_mt.cmxa (version prepared for multi-threading) ------------------------------------------------------------------------------ Installation ------------------------------------------------------------------------------ The Makefile defines the following goals: - make install installs the bytecode archives, the interface definitions, and if present, the native archives in the default location of findlib - make uninstall removes the package ============================================================================== The examples ============================================================================== In the "examples" directory you find several code examples how to use Equeue. They require that Equeue has been installed using findlib. See the Makefiles in the directories for descriptions of "make" goals. -------------------------- [1] see http://www.ocaml-programming.de/packages/documentation/findlib/ [2] Findlib is a package manager, see the file ABOUT-FINDLIB. [3] see https://gps.dynxs.de/wwwsvn/trunk/godi/godi-lablgtk2/patches/patch-ab-ml_glib.c?view=auto&rev=652