docs/src/install.md

Mon, 15 Jan 2024 20:59:18 +0100

author
Mike Becker <universe@uap-core.de>
date
Mon, 15 Jan 2024 20:59:18 +0100
changeset 807
c8d692131b1e
parent 806
e06249e09f99
permissions
-rw-r--r--

remove flags to disable SBO in tests - fix #343 fix #358

universe@264 1 ---
universe@264 2 title: Build Instructions
universe@264 3 ---
universe@259 4
universe@760 5 The build processes uses configure and make.
universe@259 6 First, download the source code from [Source Forge][1].
universe@259 7
universe@259 8 wget https://sourceforge.net/projects/ucx/files/ucx-latest.tar.gz
universe@259 9 tar -xzf ucx-latest.tar.gz
universe@259 10 cd ucx-latest
universe@390 11
universe@760 12 Then execute ./configure with the options you like. You can get a list of
universe@760 13 all available options with ./configure --help. The recommended configuration
universe@760 14 for production builds is ./configure --release.
universe@760 15
universe@760 16 ./configure --release
universe@760 17 make
universe@760 18 make check # only available when built with tests
universe@760 19 sudo make install
universe@390 20
universe@737 21 When compiling UCX 3, you can tweak the buffer sizes for small-buffer-optimization.
universe@737 22 You can do this, be pre-defining one or more of the following macros:
universe@737 23
universe@737 24 --------------------------------- --------------------------------------------------------------------- ----------
universe@737 25 Macro Description Default
universe@737 26 --------------------------------- --------------------------------------------------------------------- ----------
universe@737 27 CX_ARRAY_SWAP_SBO_SIZE The maximum item size in an array list that uses SBO. 128
universe@737 28
universe@807 29 CX_LINKED_LIST_SWAP_SBO_SIZE The maximum item size that uses SBO swap instead of relinking. 128
universe@807 30
universe@737 31 CX_LINKED_LIST_SORT_SBO_SIZE The maximum list size that uses SBO during sort. 1024
universe@737 32
universe@737 33 CX_PRINTF_SBO_SIZE The maximum string length printf.h uses stack memory for. 512
universe@737 34
universe@806 35 CX_STRSTR_SBO_SIZE The maximum length of the "needle" in cx_strstr that can use SBO. 512
universe@737 36 --------------------------------- --------------------------------------------------------------------- ----------
universe@737 37
universe@737 38 You can also tweak some other buffer sizes with the same technique:
universe@737 39
universe@737 40 --------------------------------- --------------------------------------------------- ----------
universe@737 41 Macro Description Default
universe@737 42 --------------------------------- --------------------------------------------------- ----------
universe@737 43 CX_STRREPLACE_INDEX_BUFFER_SIZE The number of matches one index buffer can store. 64
universe@737 44
universe@737 45 CX_STREAM_COPY_BUF_SIZE The buffer size on the stack for a stream copy. 1024
universe@737 46
universe@737 47 CX_STREAM_BCOPY_BUF_SIZE The buffer size on the heap for a stream copy. 8192
universe@737 48 --------------------------------- --------------------------------------------------- ----------
universe@737 49
universe@390 50 ---
universe@390 51
universe@390 52 ### UCX 2.1
universe@390 53
universe@390 54 The build procedure for UCX 2.1 uses a configure script.
universe@390 55 For Microsoft Windows, you will need an appropriate port of the linux
universe@390 56 tools (like MinGW or Cygwin).
universe@390 57 First, download the source code from [Source Forge][1].
universe@390 58
universe@390 59 wget https://sourceforge.net/projects/ucx/files/ucx-2.1.0.tar.gz
universe@390 60 tar -xzf ucx-2.1.0.tar.gz
universe@390 61 cd ucx-2.1.0
universe@259 62
universe@259 63 Then issue the `configure` and `make` commands.
universe@259 64
universe@259 65 ./configure && make
universe@259 66
universe@259 67 To verify your installment you can issue `make check`. If everything is fine,
universe@259 68 you can install UCX with
universe@259 69
universe@259 70 make install
universe@259 71
universe@259 72 Note, that you might need administrative privileges for a system wide
universe@259 73 installation.
universe@259 74
universe@259 75 [1]: https://sourceforge.net/projects/ucx/files/
universe@259 76

mercurial