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