Thu, 28 Dec 2023 19:17:45 +0100
fix accidental generation of cxListIterator() symbol
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@737 | 29 | CX_LINKED_LIST_SORT_SBO_SIZE The maximum list size that uses SBO during sort. 1024 |
universe@737 | 30 | |
universe@737 | 31 | CX_LINKED_LIST_SWAP_SBO_SIZE The maximum item size that uses SBO swap instead of relinking. 128 |
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@737 | 35 | CX_STRSTR_SBO_SIZE The maximum length of the "needle" in 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 |