From de925288bffc705b382f54c8c9e62b485ba3c636 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 1 May 2026 18:06:02 +0200 Subject: Add DEFAULT_SUPPORT option and improve DEPENDENCIES MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- DEPENDENCIES | 42 ++++++++++++++++++++++++++++++++++++++++-- argon2/prefix.mk | 2 +- config.mk | 4 ++++ 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 9b6d40d..2501a5c 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -1,13 +1,14 @@ -Unconditional dependencies: +Unconditional runtime dependencies: libc -For Argon2 support: +For Argon2 support (runtime, build, and check dependencies): libar2simplified libar2 libblake (indirect) pthread (indirect) Build dependencies: + libc make sh echo @@ -16,6 +17,11 @@ Build dependencies: c99 ar +Check dependencies: + libc + make + sh + Install dependencies: make sh @@ -31,3 +37,35 @@ Notes: 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. diff --git a/argon2/prefix.mk b/argon2/prefix.mk index ff5c01d..8348a4d 100644 --- a/argon2/prefix.mk +++ b/argon2/prefix.mk @@ -1,4 +1,4 @@ -SUPPORT_ARGON2 = true +SUPPORT_ARGON2 = $(DEFAULT_SUPPORT) SUPPORT_ARGON2I = $(SUPPORT_ARGON2) SUPPORT_ARGON2D = $(SUPPORT_ARGON2) diff --git a/config.mk b/config.mk index f4adf12..14bd38d 100644 --- a/config.mk +++ b/config.mk @@ -6,3 +6,7 @@ CC = c99 CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_GNU_SOURCE CFLAGS = LDFLAGS = + +DEFAULT_SUPPORT = true +# Set to "true" to enable all algorithms that are not explicitly disabled. +# Set to "false" to disable all algorithms that are not explicitly enabled. -- cgit v1.2.3-70-g09d2