-How to Configure Sherlock
-=========================
+How to Configure Sherlock libraries
+===================================
What can be configured
----------------------
There are two different levels of configuring/customizing program
based on libucw:
- - runtime configuration in configuration files (see doc/config)
-
- - compile-time configuration: config switches set before compiling, selecting
- optional features.
-
- - customization: a set of C declarations and functions, which define word
- types, attributes and the ways to match them. In most cases, you should
- use the "free" customization designed for searching in web pages and similar
- documents. If you want just a simple search engine for indexing databases,
- the "customs/bare" customization can be better. If you want to extend Sherlock
- beyond that, you will probably need to write your own customization -- just
- follow the structure of the "free" customization and the comments there.
+ - runtime configuration in configuration files (see <<config>>)
+ - compile-time configuration of the libraries: config switches set
+ before compiling, selecting optional features.
How to configure
----------------
-To set up compilation for a given customization, possibly overriding its default
-compile-time options, just run
-
- ./configure <customization> [<option> | -<option> | <option>=<value> ...]
-
-The default values of feature options are taken from sherlock/default.cfg and modified
-by <customization>/config. Compiler flags and options dependent on compiler, OS and
-CPU type are set in ucw/autoconf.cfg. Everything can be overriden by options specified
-on the configure's command line, which have the highest priority.
-
-If you want to see the resulting set of options, take a look at obj/config.mk.
-
-Options specifying compiler/linker/debugger options can be also overriden during
-compilation by `make <option>=<value>`. While it's also possible to specify the other
-options in this way, it probably won't have the desired effect, because configure
-also generates C include files containing the options.
-
+To set up compilation for, possibly overriding default compile-time
+options, just run
+
+ ./configure [<option> | -<option> | <option>=<value> ...]
+
+The default values of feature options are taken from `default.cfg`.
+Compiler flags and options dependent on compiler, OS and CPU type
+are set in `ucw/autoconf.cfg`. Everything can be overriden by options
+specified on the configure's command line, which have the highest
+priority.
+
+If you want to see the resulting set of options, take a look at
+`obj/config.mk`.
+
+Options specifying compiler/linker/debugger options can be also overriden
+during compilation by `make <option>=<value>`. While it's also possible
+to specify the other options in this way, it probably won't have the desired
+effect, because configure also generates C include files containing the
+options.
+
+Examples
+--------
+ - `./configure -CONFIG_SHARED` will build the libraries statically.
+ - `./configure -CONFIG_IMAGES` avoids building the image library.
+ - `./configure CONFIG_UCW_ONLY -CONFIG_UCW_UTILS` compiles only the
+ libucw library without its util programs.
Where to build
--------------