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.