1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2025-11-11 02:58:02 -06:00

Linux: Fix build issue after addition of Argon2 on Windows.

Argon2 support for Linux will come later
This commit is contained in:
Mounir IDRASSI
2025-06-26 10:15:01 +09:00
parent 6949417181
commit 04606da5ee
4 changed files with 34 additions and 5 deletions

View File

@@ -14,7 +14,7 @@ $(NAME): $(NAME).a
clean: clean:
@echo Cleaning $(NAME) @echo Cleaning $(NAME)
rm -f $(APPNAME) $(NAME).a $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJSHANI) $(OBJAESNI) $(OBJSSSE41) $(OBJSSSSE3) $(OBJARMV8CRYPTO) $(OBJS:.o=.d) $(OBJSEX:.oo=.d) $(OBJSNOOPT:.o0=.d) $(OBJSHANI:.oshani=.d) $(OBJAESNI:.oaesni=.d) $(OBJSSSE41:.osse41=.d) $(OBJSSSSE3:.ossse3=.d) $(OBJARMV8CRYPTO:.oarmv8crypto=.d) *.gch rm -f $(APPNAME) $(NAME).a $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJSHANI) $(OBJAESNI) $(OBJSSSE41) $(OBJSSSSE3) $(OBJSAVX2) $(OBJARMV8CRYPTO) $(OBJS:.o=.d) $(OBJSEX:.oo=.d) $(OBJSNOOPT:.o0=.d) $(OBJSHANI:.oshani=.d) $(OBJAESNI:.oaesni=.d) $(OBJSSSE41:.osse41=.d) $(OBJSSSSE3:.ossse3=.d) $(OBJSAVX2:.oavx2=.d) $(OBJARMV8CRYPTO:.oarmv8crypto=.d) *.gch
%.o: %.c %.o: %.c
@echo Compiling $(<F) @echo Compiling $(<F)
@@ -40,6 +40,10 @@ clean:
@echo Compiling $(<F) @echo Compiling $(<F)
$(CC) $(CFLAGS) -mssse3 -c $< -o $@ $(CC) $(CFLAGS) -mssse3 -c $< -o $@
%.oavx2: %.c
@echo Compiling $(<F)
$(CC) $(CFLAGS) -mavx2 -c $< -o $@
%.oarmv8crypto: %.c %.oarmv8crypto: %.c
@echo Compiling $(<F) @echo Compiling $(<F)
$(CC) $(CFLAGS) -march=armv8-a+crypto -c $< -o $@ $(CC) $(CFLAGS) -march=armv8-a+crypto -c $< -o $@
@@ -64,6 +68,10 @@ clean:
@echo Compiling $(<F) @echo Compiling $(<F)
$(CXX) $(CXXFLAGS) -mssse3 -c $< -o $@ $(CXX) $(CXXFLAGS) -mssse3 -c $< -o $@
%.oavx2: %.cpp
@echo Compiling $(<F)
$(CXX) $(CXXFLAGS) -mavx2 -c $< -o $@
%.o: %.S %.o: %.S
@echo Compiling $(<F) @echo Compiling $(<F)
$(CC) $(CFLAGS) -c $< -o $@ $(CC) $(CFLAGS) -c $< -o $@
@@ -108,10 +116,10 @@ TR_SED_BIN := tr '\n' ' ' | tr -s ' ' ',' | sed -e 's/^,//g' -e 's/,$$/n/' | tr
# Dependencies # Dependencies
-include $(OBJS:.o=.d) $(OBJSEX:.oo=.d) $(OBJSNOOPT:.o0=.d) $(OBJSHANI:.oshani=.d) $(OBJAESNI:.oaesni=.d) $(OBJSSSE41:.osse41=.d) $(OBJSSSSE3:.ossse3=.d) $(OBJARMV8CRYPTO:.oarmv8crypto=.d) -include $(OBJS:.o=.d) $(OBJSEX:.oo=.d) $(OBJSNOOPT:.o0=.d) $(OBJSHANI:.oshani=.d) $(OBJAESNI:.oaesni=.d) $(OBJSSSE41:.osse41=.d) $(OBJSSSSE3:.ossse3=.d) $(OBJSAVX2:.oavx2=.d) $(OBJARMV8CRYPTO:.oarmv8crypto=.d)
$(NAME).a: $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJSHANI) $(OBJAESNI) $(OBJSSSE41) $(OBJSSSSE3) $(OBJARMV8CRYPTO) $(NAME).a: $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJSHANI) $(OBJAESNI) $(OBJSSSE41) $(OBJSSSSE3) $(OBJSAVX2) $(OBJARMV8CRYPTO)
@echo Updating library $@ @echo Updating library $@
$(AR) $(AFLAGS) -rc $@ $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJSHANI) $(OBJAESNI) $(OBJSSSE41) $(OBJSSSSE3) $(OBJARMV8CRYPTO) $(AR) $(AFLAGS) -rc $@ $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJSHANI) $(OBJAESNI) $(OBJSSSE41) $(OBJSSSSE3) $(OBJSAVX2) $(OBJARMV8CRYPTO)
$(RANLIB) $@ $(RANLIB) $@

View File

@@ -20,6 +20,10 @@
#include "argon2.h" #include "argon2.h"
#include "core.h" #include "core.h"
#if !defined(_UEFI) && !defined(TC_WINDOWS_DRIVER)
#include <memory.h>
#include <stdlib.h>
#endif
const char *argon2_type2string(argon2_type type, int uppercase) { const char *argon2_type2string(argon2_type type, int uppercase) {
switch (type) { switch (type) {

View File

@@ -46,7 +46,7 @@ export RANLIB ?= ranlib
export CFLAGS := -Wall export CFLAGS := -Wall
export CXXFLAGS := -Wall -Wno-unused-parameter export CXXFLAGS := -Wall -Wno-unused-parameter
C_CXX_FLAGS := -MMD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -I$(BASE_DIR) -I$(BASE_DIR)/Crypto C_CXX_FLAGS := -MMD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -I$(BASE_DIR) -I$(BASE_DIR)/Crypto -DARGON2_NO_THREADS -I$(BASE_DIR)/Crypto/Argon2/include
export ASFLAGS := -D __GNUC__ -D __YASM__ export ASFLAGS := -D __GNUC__ -D __YASM__
export LFLAGS := export LFLAGS :=
@@ -148,6 +148,7 @@ export ENABLE_WOLFCRYPT ?= 0
export GCC_GTEQ_440 := 0 export GCC_GTEQ_440 := 0
export GCC_GTEQ_430 := 0 export GCC_GTEQ_430 := 0
export GCC_GTEQ_470 := 0
export GCC_GTEQ_500 := 0 export GCC_GTEQ_500 := 0
export GTK_VERSION := 0 export GTK_VERSION := 0
@@ -237,6 +238,7 @@ ifeq "$(shell uname -s)" "Linux"
GCC_GTEQ_440 := $(shell expr `$(CC) -dumpversion | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/' -e 's/^[0-9]\{1,2\}$$/&0000/'` \>= 40400) GCC_GTEQ_440 := $(shell expr `$(CC) -dumpversion | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/' -e 's/^[0-9]\{1,2\}$$/&0000/'` \>= 40400)
GCC_GTEQ_430 := $(shell expr `$(CC) -dumpversion | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/' -e 's/^[0-9]\{1,2\}$$/&0000/'` \>= 40300) GCC_GTEQ_430 := $(shell expr `$(CC) -dumpversion | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/' -e 's/^[0-9]\{1,2\}$$/&0000/'` \>= 40300)
GCC_GTEQ_470 := $(shell expr `$(CC) -dumpversion | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/' -e 's/^[0-9]\{1,2\}$$/&0000/'` \>= 40700)
GCC_GTEQ_500 := $(shell expr `$(CC) -dumpversion | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/' -e 's/^[0-9]\{1,2\}$$/&0000/'` \>= 50000) GCC_GTEQ_500 := $(shell expr `$(CC) -dumpversion | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/' -e 's/^[0-9]\{1,2\}$$/&0000/'` \>= 50000)
ifeq "$(DISABLE_AESNI)" "1" ifeq "$(DISABLE_AESNI)" "1"
@@ -322,6 +324,7 @@ $(error Specified SDK version was not found, ensure your active developer direct
GCC_GTEQ_440 := 1 GCC_GTEQ_440 := 1
GCC_GTEQ_430 := 1 GCC_GTEQ_430 := 1
GCC_GTEQ_470 := 1
GCC_GTEQ_500 := 1 GCC_GTEQ_500 := 1
CXXFLAGS += -std=c++11 CXXFLAGS += -std=c++11
@@ -432,6 +435,7 @@ ifeq "$(shell uname -s)" "FreeBSD"
GCC_GTEQ_440 := 1 GCC_GTEQ_440 := 1
GCC_GTEQ_430 := 1 GCC_GTEQ_430 := 1
GCC_GTEQ_470 := 1
GCC_GTEQ_500 := 1 GCC_GTEQ_500 := 1
ifeq "$(TC_BUILD_CONFIG)" "Release" ifeq "$(TC_BUILD_CONFIG)" "Release"
@@ -496,6 +500,7 @@ ifeq "$(shell uname -s)" "OpenBSD"
GCC_GTEQ_440 := 1 GCC_GTEQ_440 := 1
GCC_GTEQ_430 := 1 GCC_GTEQ_430 := 1
GCC_GTEQ_470 := 1
GCC_GTEQ_500 := 1 GCC_GTEQ_500 := 1
ifeq "$(TC_BUILD_CONFIG)" "Release" ifeq "$(TC_BUILD_CONFIG)" "Release"

View File

@@ -101,6 +101,11 @@ ifeq "$(GCC_GTEQ_500)" "1"
else else
OBJS += ../Crypto/Sha2Intel.o OBJS += ../Crypto/Sha2Intel.o
endif endif
ifeq "$(GCC_GTEQ_470)" "1"
OBJSAVX2 += ../Crypto/Argon2/src/opt_avx2.oavx2
else
OBJS += ../Crypto/Argon2/src/opt_avx2.o
endif
else else
OBJS += ../Crypto/wolfCrypt.o OBJS += ../Crypto/wolfCrypt.o
endif endif
@@ -119,6 +124,13 @@ OBJS += ../Crypto/Camellia.o
OBJS += ../Crypto/Streebog.o OBJS += ../Crypto/Streebog.o
OBJS += ../Crypto/kuznyechik.o OBJS += ../Crypto/kuznyechik.o
OBJS += ../Crypto/kuznyechik_simd.o OBJS += ../Crypto/kuznyechik_simd.o
OBJS += ../Crypto/Argon2/src/blake2/blake2b.o
OBJS += ../Crypto/Argon2/src/argon2.o
OBJS += ../Crypto/Argon2/src/core.o
OBJS += ../Crypto/Argon2/src/argon2.o
OBJS += ../Crypto/Argon2/src/opt_sse2.o
OBJS += ../Crypto/Argon2/src/ref.o
OBJS += ../Crypto/Argon2/src/selftest.o
OBJS += ../Common/Pkcs5.o OBJS += ../Common/Pkcs5.o
endif endif