1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
Unconditional runtime dependencies:
libc
For Argon2 support (runtime, build, and check dependencies):
libar2simplified>=1.1
libar2simplified>=1.1.4 (check only)
libar2>=1.1
libblake [compiled with BLAKE2b support] (indirect)
pthread (indirect)
Running make(1) with WITH_LIBAR2SIMPLIFIED=false removes
dependency on libar2simplified and pthread (for Argon2),
however, it also disables multithreading for Argon2. It
is advisable to use WITH_LIBAR2SIMPLIFIED=false if you
are only going to use p=1 in the Argon2 parameters.
If you need to use the reference implementation of Argon2
instead, you can build with ARGON2_VERSION set to the
release number. Because the reference implementation does
not provide a stable API or ABI it is not guaranteed that
selecting an unsupported version or linking against another
version than compiled against works. Currently, up to and
including version 20190702 is supported. 20161029 or newer
is required for Argon2id. 20160406 or newer is required for
argon2 1.3, and older is required for Argon2ds. libar2 is
used unless ARGON2_VERSION is set; libar2 supports all
variants. If you are using the reference implementation of
Argon2 compiled with ARGON2_NO_THREADS, also set the macro
ARGON2_NO_THREADS when compiling this library.
Build dependencies:
libc
make
sh
echo
true
false
c99
ar
Check dependencies:
libc
make
sh
Install dependencies:
make
sh
echo
true
false
mkdir
cp
ln
Notes:
make(1) must support `+=` and `!=` as defined by
The Open Group Base Specifications Issue 8 (the 2024 edition);
strict The Open Group Base Specifications Issue 7 (the 2018 edition)
compliance is not sufficient.
By default, all supported algorithms are enable, however you
change this to disable all algorithms that are not explicitly
enabled by setting `DEFAULT_SUPPORT` to `false` when running
make(1). You can enable or disable individual algorithms by
setting corresponding make(1) macro to `true` (to enable)
or `false` (to disable). The following macros are available:
SUPPORT_ARGON2I
The Argon2i variant of Argon2.
Defaults to the value of SUPPORT_ARGON2.
SUPPORT_ARGON2D
The Argon2d variant of Argon2.
Defaults to the value of SUPPORT_ARGON2.
SUPPORT_ARGON2ID
The Argon2id variant of Argon2.
Defaults to the value of SUPPORT_ARGON2.
SUPPORT_ARGON2DS
The Argon2ds variant of Argon2.
Defaults to the value of SUPPORT_ARGON2.
SUPPORT_ARGON2
Default value for SUPPORT_ARGON2I,
SUPPORT_ARGON2D, SUPPORT_ARGON2ID, and
SUPPORT_ARGON2DS. Disable individual
algorithms can be used as a security
precaution, but they share dependencies,
so you have to disable all of them to
remove the dependencies listed for Argon2.
|