universe@151: ------------------------------------------------------------------------------- universe@256: UAP Common Extensions - UCX universe@151: ------------------------------------------------------------------------------- universe@103: universe@151: 0. Table of Contents: universe@103: universe@155: 1. Introduction ........................................................ 15 universe@390: 2. Build ............................................................... 25 universe@390: 3. Documentation ....................................................... 44 universe@390: 4. Contact ............................................................. 57 universe@390: 5. License ............................................................. 64 universe@103: universe@103: universe@151: 1. Introduction universe@159: --------------- universe@103: universe@259: With this library we provide useful data structures and algorithms for common universe@259: programmatic tasks in the C language. By design the features are divided into universe@151: modules to minimize the library footprint. Using the build files you can create universe@259: a static and a shared lib containing all modules, but you may also use the UCX universe@259: sources in your project and compile specific modules by yourself to further universe@760: minimize the footprint, e.g. when you need lists, but do not need hash maps. universe@151: universe@151: universe@155: 2. Build universe@159: -------- universe@151: universe@760: The build processes requires executing a simple configure script and calling universe@760: make. You can clone the repository or download the sources from SourceForge. universe@151: universe@750: wget https://sourceforge.net/projects/ucx/files/ucx-latest.tar.gz universe@750: tar -xzf ucx-latest.tar.gz universe@750: cd ucx-latest universe@151: universe@760: Then execute ./configure with the options you like. You can get a list of universe@760: all available options with ./configure --help. The recommended configuration universe@760: for production builds is ./configure --release. universe@390: universe@760: ./configure --release universe@760: make universe@760: make check # only available when built with tests universe@760: sudo make install universe@155: universe@390: 3. Documentation universe@159: ---------------- universe@151: universe@250: Documentation is available at: universe@250: universe@250: https://develop.uap-core.de/ucx/index.html universe@250: universe@151: The code uses doxygen source code documentation. A html version of the universe@151: documentation is also available here: universe@151: universe@250: https://develop.uap-core.de/ucx/api/index.html universe@151: universe@151: universe@390: 4. Contact universe@159: ---------- universe@151: universe@250: Olaf Wintermann (olaf.wintermann@gmail.com) universe@250: Mike Becker (universe@uap-core.de) universe@159: universe@390: universe@390: 5. License universe@159: ---------- universe@159: universe@750: Copyright 2023 Mike Becker, Olaf Wintermann All rights reserved. universe@159: universe@159: Redistribution and use in source and binary forms, with or without universe@159: modification, are permitted provided that the following conditions are met: universe@159: universe@159: 1. Redistributions of source code must retain the above copyright universe@159: notice, this list of conditions and the following disclaimer. universe@159: universe@159: 2. Redistributions in binary form must reproduce the above copyright universe@159: notice, this list of conditions and the following disclaimer in the universe@159: documentation and/or other materials provided with the distribution. universe@159: universe@159: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" universe@159: AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE universe@159: IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE universe@159: ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE universe@159: LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR universe@159: CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF universe@159: SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS universe@159: INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN universe@159: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) universe@159: ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE universe@159: POSSIBILITY OF SUCH DAMAGE.