docs/src/install.md

Sun, 15 Dec 2024 14:32:39 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 15 Dec 2024 14:32:39 +0100
changeset 1014
56eb7da4f3e1
parent 807
c8d692131b1e
permissions
-rw-r--r--

fix number parser not detecting integers out of range

Note: for doubles the same approach does not work, because
it takes a lot to push a double out of range (for strtod)
and long before that happens, the value gets insanely
imprecise.

relates to #431

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

mercurial