universe@264: --- universe@264: title: Build Instructions universe@264: --- universe@259: universe@760: The build processes uses configure and make. universe@259: First, download the source code from [Source Forge][1]. universe@259: universe@259: wget https://sourceforge.net/projects/ucx/files/ucx-latest.tar.gz universe@259: tar -xzf ucx-latest.tar.gz universe@259: cd ucx-latest universe@390: 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@760: universe@760: ./configure --release universe@760: make universe@760: make check # only available when built with tests universe@760: sudo make install universe@390: universe@737: When compiling UCX 3, you can tweak the buffer sizes for small-buffer-optimization. universe@737: You can do this, be pre-defining one or more of the following macros: universe@737: universe@737: --------------------------------- --------------------------------------------------------------------- ---------- universe@737: Macro Description Default universe@737: --------------------------------- --------------------------------------------------------------------- ---------- universe@737: CX_ARRAY_SWAP_SBO_SIZE The maximum item size in an array list that uses SBO. 128 universe@737: universe@807: CX_LINKED_LIST_SWAP_SBO_SIZE The maximum item size that uses SBO swap instead of relinking. 128 universe@807: universe@737: CX_LINKED_LIST_SORT_SBO_SIZE The maximum list size that uses SBO during sort. 1024 universe@737: universe@737: CX_PRINTF_SBO_SIZE The maximum string length printf.h uses stack memory for. 512 universe@737: universe@806: CX_STRSTR_SBO_SIZE The maximum length of the "needle" in cx_strstr that can use SBO. 512 universe@737: --------------------------------- --------------------------------------------------------------------- ---------- universe@737: universe@737: You can also tweak some other buffer sizes with the same technique: universe@737: universe@737: --------------------------------- --------------------------------------------------- ---------- universe@737: Macro Description Default universe@737: --------------------------------- --------------------------------------------------- ---------- universe@737: CX_STRREPLACE_INDEX_BUFFER_SIZE The number of matches one index buffer can store. 64 universe@737: universe@737: CX_STREAM_COPY_BUF_SIZE The buffer size on the stack for a stream copy. 1024 universe@737: universe@737: CX_STREAM_BCOPY_BUF_SIZE The buffer size on the heap for a stream copy. 8192 universe@737: --------------------------------- --------------------------------------------------- ---------- universe@737: universe@390: --- universe@390: universe@390: ### UCX 2.1 universe@390: universe@390: The build procedure for UCX 2.1 uses a configure script. universe@390: For Microsoft Windows, you will need an appropriate port of the linux universe@390: tools (like MinGW or Cygwin). universe@390: First, download the source code from [Source Forge][1]. universe@390: universe@390: wget https://sourceforge.net/projects/ucx/files/ucx-2.1.0.tar.gz universe@390: tar -xzf ucx-2.1.0.tar.gz universe@390: cd ucx-2.1.0 universe@259: universe@259: Then issue the `configure` and `make` commands. universe@259: universe@259: ./configure && make universe@259: universe@259: To verify your installment you can issue `make check`. If everything is fine, universe@259: you can install UCX with universe@259: universe@259: make install universe@259: universe@259: Note, that you might need administrative privileges for a system wide universe@259: installation. universe@259: universe@259: [1]: https://sourceforge.net/projects/ucx/files/ universe@259: