README

Mon, 27 Feb 2017 11:45:31 +0100

author
Mike Becker <universe@uap-core.de>
date
Mon, 27 Feb 2017 11:45:31 +0100
changeset 238
27b31c2c959c
parent 225
a1a068c2c4ef
child 250
b7d1317b138e
permissions
-rw-r--r--

fixes major bug in construction of KMP prefix table for strstr()


-------------------------------------------------------------------------------
                     UAP Common eXtensions - UCX
-------------------------------------------------------------------------------

0. Table of Contents:

  1. Introduction  ........................................................ 15
  2. Build  ............................................................... 26
  3. Install  ............................................................. 58
  4. Documentation  ....................................................... 71
  5. Contact  ............................................................. 80
  6. License  ............................................................. 89


1. Introduction
---------------

UAP Common eXtensions provide useful data structures and algorithms for common
programmatic tasks in C language. By design the features are divided into
modules to minimize the library footprint. Using the build files you can create
a static and a shared lib containing all modules, but you might also want use
the UCX sources in your project and compile specific modules to further minimize
the footprint. Feel free to do so.


2. Build
--------

Untar the source archive and run

  make CONF=<yourconfig>

If you are going to use gcc, then simply run

  make

The available configurations are clang, gcc, mingw, osx and suncc. 

The build files are placed into a build subdirectory, which is created if it
does not exists.

The default target builds optimized binaries. Use the debug target by running

  make debug CONF=<yourconfig>

to disable optimization and enable debug symbols.

If you want to test your build either run

  make run CONF=<yourconfig>

or

  make run-debug CONF=<yourconfig>

Again, you can omit the CONF parameter, when using the gcc.

3. Install
----------

Build the binaries as described in chapter two. Then install UCX, by running

  make install

or

  make install PREFIX=<install_dir>

The default prefix is /usr/local.

4. Documentation
----------------

The code uses doxygen source code documentation. A html version of the
documentation is also available here:

  http://develop.uap-core.de/ucx/api/current/index.html


5. Contact
----------

  Mike "UniversE" Becker        (universe@uap-core.de)
  Olaf "Prometheus" Wintermann  (prometheus@uap-core.de)

6. License
----------

Copyright 2016 Olaf Wintermann. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

mercurial